Act on an event
Post back into ACA to act on an event.
Authenticate with your normal Authorization: Bearer aca_… token, in which case the organization comes from the token and organization_id in the body is optional (and must match the token if you send it).
A webhook secret from Settings → Webhooks sent as x-webhook-secret, together with an explicit organization_id, also works. One of the two is required — an organization with no secret configured is not an organization that accepts unauthenticated writes.
Target the contact by contact_id, conversation_id, contact_email or contact_phone — at least one is required. contact_email and contact_phone are resolved against your organization only.
The data payload per action
data is action-specific. Pick your action from the examples dropdown to see the exact shape.
| Action | data fields |
|---|---|
| send_message | content (required), channel |
| add_tag | tag_name or tag_id |
| remove_tag | tag_name or tag_id |
| change_stage | stage_name or stage_id |
| update_score | score_delta (relative) or score (absolute) |
| add_note | content |
| enroll_in_sequence | sequence_id; optional delay_hours, allow_concurrent |
| remove_from_sequence | sequence_id or enrollment_id; optional status (completed, paused, unsubscribed — default completed) |
| set_ai_handling | ai_handling (boolean) |
| assign_to_user | user_id, or null to unassign |
Every failed action — an unknown name, a missing field, a contact that could not be resolved, an enrollment that matched nothing — returns 400 with { "success": false, "message": "…" }. Only a completed action returns 200. Every call is logged either way.
Request
- Base URL: https://api.automatedclientacquisition.com
- URL: https://api.automatedclientacquisition.com/v1/hooks/n8n
- Auth: one of:
- HTTP bearer
- API key in header x-webhook-secret
Request body
Response
Action executed.
Changes
No recorded changes to this operation across all 1 revision of this API.