Agent assigned
Incoming webhook deliveries are authenticated with HMAC signature headers (X-Chatway-Signature and X-Chatway-Timestamp), not your Chatway API key.
An agent was assigned to a conversation.
assigned_by uses the same object shape as tag.assigned: agent, automation (id UUID + name), or system.
Use agent.assigned to record an assignment or notify your routing system. data.agent identifies the agent receiving the assignment; data.assigned_by identifies who or what made it. These can be different. When a rule assigns an agent, data.agent.id identifies the assignee and data.assigned_by.automation.id identifies the rule. Use Get Agent for agent details and Automation triggered if you also need rule-execution activity.
For signature verification and retries, see Webhooks overview.
Headers
Event name for this delivery.
Unique webhook subscription ID.
Unique ID for this HTTP delivery attempt (del_ + 32 hex characters). A new value is sent on each retry.
Attempt number for this event (1 on first try). Sent as a decimal string in the header.
Unix timestamp in seconds when the request was signed. Sent as a decimal string in the header.
sha256= followed by the lowercase hex HMAC SHA256 of {X-Chatway-Timestamp}.{raw request body}, keyed with your webhook secret. The example is computed for the example body serialized as compact JSON, the example timestamp, and the placeholder secret whsec_exampleSecretForDocsOnly00000000.
Payload
Example payload
{
"id": "evt_1234567890abcdef1234567890abcdef",
"event": "agent.assigned",
"data": {
"conversation": {
"id": "0f46c0a1-8938-40e3-b2b5-bb56f569fcab",
"channel": "website",
"status": "open",
"widget_name": "Main site widget",
"identifier": "eouqtiupanm6uvglwshy"
},
"visitor": {
"id": "9b0c5fe6-35ad-459d-b6ba-4288191f84f1",
"name": "John Doe",
"email": "john@example.com",
"phone": "+1XXXXXXXXXX"
},
"agent": {
"id": "26fa75f2-7ac1-47b4-84e1-b943491ba4da",
"name": "Sarah",
"email": "sarah@example.com"
},
"assigned_by": {
"automation": {
"id": "c3d327ab-3ef6-4d19-8ee1-11b06c912cd6",
"name": "Assign Sales Agent"
}
},
"assigned_at": "2026-02-04T10:35:00Z"
},
"occurred_at": "2026-02-04T10:35:00Z",
"version": "2026-09"
}Response
Return any 2xx status to acknowledge receipt.
Changes
Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.