Lesson 4 of 12 Phase 2 · Core Concepts

Triggers & Scheduled Events

Every automation needs a starting gun. In this lesson you will master the three families of N8N triggers: Webhook triggers that respond to external events, Schedule triggers for timed automation, and App triggers that fire when something happens in a connected service.

🔗
Webhooks
Real-time events
Cron Jobs
Scheduled runs
📱
App Triggers
Event-based start
📝
Cron Syntax
5-field expressions
Section 1

The Three Trigger Families

Without a trigger, a workflow never runs. N8N provides three distinct families of triggers — each suited for different automation patterns. Understanding when to use each is fundamental to good workflow design.

🔗
Webhook Trigger
Starts when an external service sends an HTTP POST to your N8N webhook URL. Instant, real-time, and universal — any service that can make HTTP requests can trigger your workflow.
Schedule Trigger
Runs your workflow on a timed schedule — every hour, daily at 9am, every Monday, or any cron pattern. Perfect for reports, cleanups, and recurring tasks.
📱
App Event Trigger
Fires when something happens inside a connected app — a new Gmail email arrives, a Trello card is created, a Typeform submission comes in. Powered by polling or webhooks per-app.
💡
Rule of thumb: Use Webhook for instant reactions to external events. Use Schedule for "run this every X hours." Use App Trigger when an integration has a native event system (like Gmail, Slack, or Typeform).
Section 2

Webhook Trigger — Real-Time Events

The Webhook trigger gives you a unique URL. When something POSTs to that URL, your workflow fires instantly. This is the most flexible trigger because any service that can make HTTP requests can start your workflow.

1
Add a Webhook Trigger Node
Click + on the canvas, search "Webhook". Select it. N8N generates a unique URL like: https://your-n8n.app/webhook/abc123. This URL is what other services will call.
2
Set the HTTP Method
Choose POST for most use cases (form submissions, app events). Choose GET if you need the workflow to respond to browser URL visits. The webhook returns the workflow's last node output as the HTTP response.
3
Test with "Listen for Test Event"
Click "Listen for Test Event" in the node settings. Then send a POST request to your webhook URL (use a tool like Postman, curl, or simply a form). The node will capture the incoming data so you can map it in later nodes.
4
Activate the Workflow
Click the toggle at the top right to Activate the workflow. Only active workflows respond to live webhook calls. Test webhooks work immediately; production webhooks need activation.
⚠️
Test URL vs Production URL: N8N provides two webhook URLs per workflow. The Test URL only works when you click "Listen for Test Event". The Production URL (with /webhook/ instead of /webhook-test/) only works when the workflow is activated. Use test URL during development, production URL in your live integrations.
Section 3

Schedule Trigger — Cron & Intervals

The Schedule trigger runs your workflow automatically on a time-based schedule. N8N offers two modes: simple intervals (every X minutes/hours) and cron expressions for precise scheduling.

Cron expressions use 5 fields separated by spaces. Here are the most useful patterns:

Cron ExpressionMeaning
*/15 * * * *Every 15 minutes
0 * * * *Every hour (at :00)
0 9 * * *Every day at 9:00 AM
0 9 * * 1Every Monday at 9:00 AM
0 9 1 * *First day of every month at 9:00 AM
0 8,17 * * 1-5Weekdays at 8 AM and 5 PM
Cron Field Reference
┌───────── minute (0-59)
│ ┌───────── hour (0-23)
│ │ ┌───────── day of month (1-31)
│ │ │ ┌───────── month (1-12)
│ │ │ │ ┌───────── day of week (0-7, 0 and 7 = Sunday)
│ │ │ │ │
* * * * *

Special characters:
  *   = any value
  ,   = value list separator  (1,3,5 = Mon, Wed, Fri)
  -   = range of values       (1-5 = Mon to Fri)
  /   = step values           (*/15 = every 15 minutes)
Timezone matters: N8N's Schedule trigger uses the timezone set in your N8N instance settings. Make sure your instance timezone matches your intended schedule, especially when scheduling for business hours.
Section 4

App Event Triggers — Native Integrations

Many N8N nodes have built-in trigger variants. Instead of polling with a schedule, these listen for specific events inside connected apps and fire immediately when that event happens.

📧
Gmail Trigger
Fires when a new email arrives matching your filter criteria — by label, sender, or subject. Polls every minute by default.
💬
Slack Trigger
Fires when a message is posted, a channel is created, or a bot is mentioned. Uses Slack's Event API via webhook for instant delivery.
📋
Typeform Trigger
Fires when someone submits your form. The entire form response (all field answers) is passed into the workflow automatically.
🔄
Polling vs Webhooks: Some app triggers (like Gmail) work by polling — checking for new items every 1–60 minutes. Others (like Typeform, Slack) use webhooks for instant triggering. The node description will tell you which type it uses. Webhook-based triggers are always faster.

🧠 Triggers Knowledge Check

1. You want your workflow to run every weekday at 8 AM. Which trigger should you use?
2. What is the difference between the Test Webhook URL and the Production Webhook URL?
3. What does the cron expression */30 * * * * mean?
Finished Lesson 4?

You now know all three trigger types. Set one up and build a real scheduled automation!