# Trigger (/cli/trigger)



Triggers are what start a workflow. There are three kinds:

* **webhook** — a manual or HTTP POST trigger. Built in; every workflow can use it.

* **cron** — a scheduled trigger using cron syntax. Built in.

* **poll** — periodic checks on an external source (Gmail, Reddit, RSS, Sheets, Stripe, ...).

* [`geni trigger list`](/cli/trigger/list) — list and search trigger providers.

Declare a trigger in `workflow.json`. Poll triggers carry a copyable `triggerId`; webhook and cron take none. After declaring a poll trigger, wire its credential and inputs with [`geni resource config set`](/cli/resource/config/set) and preview its payload with [`geni workflow trigger-sample`](/cli/resource/workflow/trigger-sample).
