Triggers

Markdown

When events occur in apps — a new Slack message, a GitHub commit, an incoming email — triggers send event data to your application as structured payloads.

Triggers flow: connected apps send events to Composio, which delivers them to your webhook subscription URL via HTTP POST
How triggers deliver events from apps to your application

Two trigger types

TypeWhat happensExamples
WebhookThe provider pushes events to a Composio-issued ingress URL in real time. Composio verifies the provider's signature, processes the payload, and fans the event out to matching trigger instances.Slack, Asana, Notion, Outlook
PollingComposio polls the provider on a schedule. Composio managed auth has a 15-minute minimum interval; expect that as the worst-case delay between source event and delivery.Gmail, Google Calendar

Composio handles ingress setup on most webhook triggers. For some webhook triggers — typically when you bring your own OAuth app — providers only deliver webhooks to URLs you've registered on the OAuth app, so you'll need to register the Composio-issued ingress URL there once for events to start flowing into Composio. See Configuring the webhook endpoint.

Working with triggers

  1. Subscribe to events so Composio knows which URL to deliver to. One-time per project.
  2. Discover available trigger types for a toolkit (e.g., GITHUB_COMMIT_EVENT).
  3. Create an active trigger scoped to a user's connected account — see Creating triggers, which also covers Configuring the webhook endpoint for triggers that need it.
  4. Receive events at your subscription URL and route on metadata.trigger_slug.
  5. Manage triggers — enable, disable, or delete as needed.

Triggers are scoped to a connected account. If you haven't set up authentication yet, see Authentication.

Next steps