Triggers
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
2xxstatus 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 toACTIVE.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:

-
Error message and reproduction steps
Getting help
- Email: support@composio.dev
- Discord: #support-form