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. Some triggers are disabled automatically by Composio when the connected account expires, a provider webhook subscription refresh fails, or polling repeatedly fails.
  • Logs: Check the trigger logs in the dashboard for delivery attempts and errors.

If you need to react immediately when Composio pauses a trigger, subscribe to composio.trigger.disabled on your V3 webhook subscription. Check data.disabled_reason to distinguish between:

  • connection_expired: Re-authenticate the connected account. The trigger is auto-re-enabled when the account returns to ACTIVE.
  • subscription_auth_failure: Re-authenticate the connected account so Composio can refresh the provider webhook subscription again.
  • subscription_refresh_failure: Retry once the provider is healthy, then re-enable the trigger.
  • polling_failure_in_composio_infra: Re-enable the trigger after the underlying polling issue is resolved.

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