Overview
The Webhook API allows external systems to trigger EasyAlert workflows via HTTP POST requests. Use it to integrate with CI/CD pipelines, monitoring tools, custom scripts, or any system that can make HTTP calls. Common use cases:- Trigger a deployment rollback workflow from your CI/CD pipeline
- Start an incident response workflow from a custom monitoring tool
- Execute a maintenance workflow from a cron job or scheduler
- Chain automation workflows across different platforms
Endpoint
Authentication
Webhook requests require a Bearer token for authentication. The token (secret) is generated alongside the webhook key.1
Enable Webhook Trigger
In the workflow designer, set the trigger type to Webhook in the Trigger node inspector.
2
Generate Webhook Key
Click Generate Webhook Key. This creates:
- Webhook Key — Part of the URL (visible, not sensitive)
- Webhook Secret — Bearer token for authentication (sensitive)
3
Copy the Secret
Copy the webhook secret immediately. It is displayed only once and cannot be retrieved later.
4
Include in Requests
Add the secret as a Bearer token in the
Authorization header of your HTTP requests.Request Format
Body (optional):
The request body is optional. Sending an empty body or
{} triggers the workflow without custom variables.
Response Format
Success (200 OK)
Duplicate Request (200 OK, cached)
If the same payload is sent within the 5-minute idempotency window:Error Responses
Error format (RFC 7807):
Rate Limiting & Idempotency
Rate Limit
Each webhook key is limited to 60 requests per minute. Exceeding the limit returns HTTP 429 with aRetry-After header.
Idempotency
Duplicate detection prevents the same event from triggering multiple executions:Code Examples
- cURL
- Python
- Node.js
- Go
Using Variables in Workflows
Variables sent in the webhook payload are available in the workflow as{{webhook.<key>}}:
Nested variables are supported:
{{webhook.config.timeout}} accesses {"variables": {"config": {"timeout": 30}}}.Troubleshooting
404 Webhook Not Found
404 Webhook Not Found
Cause: The webhook key doesn’t exist, or the workflow is not active.Steps:
- Verify the webhook key in the URL matches the one shown in the workflow settings
- Confirm the workflow is published and activated
- Check if the webhook key was regenerated (which changes the URL)
429 Rate Limited
429 Rate Limited
Cause: More than 60 requests sent in one minute.Steps:
- Check the
Retry-Afterheader for when to retry - Add backoff logic to your client
- Batch events or reduce call frequency
- Use
X-Idempotency-Keyto deduplicate retries safely
Variables not available in workflow
Variables not available in workflow
Cause: Variables not included in the
variables field of the payload.Steps:- Verify your payload includes the
"variables": {...}wrapper - Check that variable names match what the workflow expects (case-sensitive)
- Verify the Content-Type header is
application/json - Test with cURL to isolate whether the issue is client-side
Duplicate executions
Duplicate executions
Cause: Retries from your source system without idempotency.Steps:
- Add
X-Idempotency-Keyheader with a unique key per logical event - If using automatic dedup, note that different payloads create different executions even for the same logical event
- The dedup window is 5 minutes — events older than 5 minutes are treated as new

