https://linen.dev logo
Webhook Endpoint Configuration - Dynamic vs Static...
# 🖥│support-forum
r
Hi Composio team! đź‘‹ I'm integrating Composio triggers with my workflow automation system and have a question about webhook endpoint configuration. __Current Setup:__ - My hosted backend:
https://my-app-backend.example.com
- I have triggers set up with webhook URLs configured in Composio settings __Issue:__ I initially designed my webhook endpoint with dynamic path parameters like:
/api/webhooks/trigger/{trigger_id}
However, it seems Composio requires a static webhook URL that doesn't change per trigger. __Questions:__ 1. __Is this correct?__ Does Composio only support static webhook URLs (without dynamic path parameters)? 2. __Best Practice:__ What's the recommended approach for handling multiple triggers with a single static endpoint? Should I: - Use a single endpoint like
/webhook
or
/api/webhooks/composio
- Differentiate triggers based on payload content or headers? - Use query parameters instead of path parameters? 3. __Trigger Identification:__ How can I identify which specific trigger fired when using a static endpoint? Is there a trigger ID or identifier included in the webhook payload/headers? __Current Endpoint I'm Planning:__
Copy code
javascript
https://my-app-backend.example.com/webhook
Any guidance on the proper webhook configuration pattern would be greatly appreciated!
@abhishekpatil4 could you please look into this issue
a
1\. Yes, Composio requires a static webhook URL for trigger delivery; dynamic path parameters (like /trigger/{trigger_id}) are not supported. You should configure a single, static endpoint (e.g., /webhook) in the Composio dashboard or settings. This is confirmed in the documentation and UI examples, which show a single URL field for webhook configuration without support for per-trigger dynamic paths or parameters. See [Composio Docs: Using Triggers](https://docs.composio.dev/docs/using-triggers) 2\. The best practice is to use a single static endpoint (e.g., /webhook or /api/webhooks/composio) and differentiate triggers based on the payload. Each webhook payload includes fields such as triggerId, triggerSlug, toolkitSlug, and userId, allowing you to identify which trigger fired. You do not need to use query parameters or headers for differentiation; simply inspect the JSON payload. See [Composio Docs: Using Triggers](https://docs.composio.dev/docs/using-triggers)
1\. Yes, Composio requires a static webhook URL for trigger delivery; dynamic path parameters (like /trigger/{trigger_id}) are not supported. You should configure a single, static endpoint (e.g., /webhook) in the Composio dashboard or settings. This is confirmed in the documentation and UI examples, which show a single URL field for webhook configuration without support for per-trigger dynamic paths or parameters. See [Composio Docs: Using Triggers](https://docs.composio.dev/docs/using-triggers) 2\. The best practice is to use a single static endpoint (e.g., /webhook or /api/webhooks/composio) and differentiate triggers based on the payload. Each webhook payload includes fields such as triggerId, connected account ID etc allowing you to identify which trigger fired. You do not need to use query parameters or headers for differentiation; simply inspect the JSON payload. See [Composio Docs: Using Triggers](https://docs.composio.dev/docs/using-triggers)
r
But I don’t see a trigger if in the payload ?
Could you provided an example of where I can find the trigger id?
a
Copy code
"trigger_nano_id": "0dLyxiVPNPov",
    "trigger_id": "af0eb1fe-c62d-4529-834c-fd7bc00b99ce",
We provide something like this in payload.