Lesson 5 / 25

Choosing a Trigger

Compare manual, schedule, webhook and app triggers and know the test versus production URL difference.

How a workflow gets started

A Schedule trigger runs on a timer (cron-like). A Webhook trigger waits for an HTTP request from another system. App triggers (for example Gmail or GitHub) fire on events from that app. A Chat trigger starts an AI chat. A Manual trigger is for testing. Pick the one that matches how the real event happens: polling on a timer is simple, but a webhook reacts instantly.

Start, connect, branch

Choose the right trigger, call outside services safely and route items down different paths.

Three steps: trigger, call, route.
Figure 2.1 — Trigger, call and route.

Test vs production webhook URLs

A Webhook node shows two URLs. The test URL only listens while you click "Listen for test event". The production URL works only after the workflow is activated. Using the wrong one is the classic reason a webhook "does nothing".

# while testing in the editor
curl -X POST http://localhost:5678/webhook-test/new-lead \
  -H "Content-Type: application/json" -d '{"name":"Asha","email":"asha@example.com"}'

# after activating the workflow
curl -X POST http://localhost:5678/webhook/new-lead \
  -H "Content-Type: application/json" -d '{"name":"Asha","email":"asha@example.com"}'

Activate to go live

Schedule and webhook triggers only fire in production when the workflow is switched to Active. Forgetting this is the most common reason a finished workflow never runs.

Quick check: Which URL works only after you activate the workflow?

  • The test webhook URL
  • The production webhook URL
  • Both
  • Neither
Answer

The production webhook URL — Production webhooks are registered on activation; test URLs only listen during manual testing.