Every n8n workflow starts with a trigger. It determines when and how your automation runs, so it's worth understanding the differences before you build anything.
- Manual Trigger: you start it yourself with a button in the editor. Ideal for building and testing.
- Schedule Trigger: runs at a specific time. A simple interval (every 15 minutes, every hour, every Monday at 8:00 AM) or a Cron expression for more complex schedules.
- Webhook: n8n exposes a URL, and an external system sends data to it the moment something happens (a form submission, a payment, a support ticket). The response is instant β no waiting for the next cycle.
- App triggers (Gmail, Slack, Google Sheets, Stripe, and others): ready-made nodes that listen for events in a specific service. They work in one of two ways. Some rely on webhooks (instant response), others on polling β meaning n8n periodically checks the service to see if anything new has shown up. With polling, there's always a delay equal to the check interval.
- There are also special triggers: Form Trigger (a ready-made form), Chat Trigger (a chat window for AI agents), Error Trigger (reacts when another workflow fails), and Execute Workflow Trigger (called from another workflow). A single workflow can have multiple triggers.
Rule of thumb: ask yourself whether the event comes to you on its own, or whether you have to go check that it happened. The first case calls for a webhook; the second calls for Schedule or polling.
