Triggers

Markdown

Unable to create trigger

Check the error message — the connected account might not have sufficient permissions or the required OAuth scopes. Ensure the user has authenticated with the necessary scopes for the trigger.

Not receiving payloads

  • Polling triggers (e.g., Gmail): These check for new events on an interval you configure. For Composio managed auth, intervals below 15 minutes are not supported.
  • Webhook URL: Ensure your URL is publicly accessible and returns a 2xx status code.
  • Trigger status: Verify the trigger is enabled, not disabled.
  • Logs: Check the trigger logs in the dashboard for delivery attempts and errors.

V2 webhook endpoint issues (Slack and other V2 toolkits)

  • 400 on every provider request. The signing secret is missing or wrong on the webhook endpoint. PATCH the endpoint with the secret before pointing the provider's dashboard at the URL — Slack auto-disables endpoints after ~36 hours of consecutive failures.
  • 400 on trigger upsert for V2 slugs. The OAuth app's client_id doesn't have a webhook endpoint in this project. Create one via POST /api/v3.1/webhook_endpoints.
  • verified_at is null on the endpoint. The provider hasn't completed the URL verification handshake yet. Re-save the URL in the provider's dashboard; for Slack, click Save Changes on Event Subscriptions.
  • DMs / private channels / reactions don't fire on Slack. The app_token is missing on the endpoint. PATCH the endpoint with an xapp- token that has the authorizations:read scope. See Configuring webhook endpoints for which Slack triggers require this.
  • Replay-window rejections. For providers that sign a timestamp (Slack), requests outside the allowed skew window are rejected. Make sure the system posting the events isn't replaying old payloads.

Type errors with trigger payloads

Use getType() / get_type() to inspect the exact payload schema for a trigger type. This shows you the fields and types you should expect.

Reporting issues

When contacting support, include:

  • Trigger ID and connected account ID — find these under Active Triggers in the dashboard:

    Trigger ID and connected account ID in the dashboard
  • Error message and reproduction steps

Getting help