{
"eventType": "ACTIONS_COMPLETED",
"timestamp": "2024-01-15T10:30:00.000Z",
"data": {
"actionsId": 12345,
"entity": "CONTACT",
"contactId": 789,
"overallStatus": "COMPLETED",
"totalActions": 3,
"statusCounts": {
"pending": 0,
"processing": 0,
"completed": 3,
"failed": 0,
"queued": 0,
"cancelled": 0
},
"progress": 100,
"createdAt": "2025-01-15T10:25:00.000Z",
"completedAt": "2025-01-15T10:30:00.000Z"
}
}Webhooks
Actions completed webhook
This webhook is triggered when an action run completes. You can provide your webhook URL when creating an actions run via the /v1/actions endpoint.
Webhook Requirements:
- The URL must be HTTPS in production
- Your endpoint should respond with a 2xx status code to acknowledge receipt
- The webhook will be sent as a POST request with a JSON payload
- If your endpoint fails to respond or returns an error, Enginy will retry the webhook
When is it sent:
- After all actions in a group have finished processing (completed, failed, or cancelled)
- This is sent for each entity (contact or company) in the actions run
Use cases:
- Trigger follow-up workflows in your system when enrichment completes
- Get notified when verification or scraping actions finish
- Monitor the progress of bulk operations without polling
Example webhook setup:
When creating an actions run, include the webhookUrl parameter:
{
"actions": [{ "type": "VERIFY_LEAD_EMAIL" }],
"contactIds": [123, 456],
"webhookUrl": "https://your-domain.com/webhooks/enginy"
}
Your webhook endpoint will receive a POST request with the payload described below.
WEBHOOK
/
your-webhook-url
{
"eventType": "ACTIONS_COMPLETED",
"timestamp": "2024-01-15T10:30:00.000Z",
"data": {
"actionsId": 12345,
"entity": "CONTACT",
"contactId": 789,
"overallStatus": "COMPLETED",
"totalActions": 3,
"statusCounts": {
"pending": 0,
"processing": 0,
"completed": 3,
"failed": 0,
"queued": 0,
"cancelled": 0
},
"progress": 100,
"createdAt": "2025-01-15T10:25:00.000Z",
"completedAt": "2025-01-15T10:30:00.000Z"
}
}