SparrowDesk

conversation.agent.replied

Fires when a human agent replies in a SparrowDesk conversation

Fires when a human agent replies in a conversation. Together with conversation.user.replied, this lets you compute metrics like first-response time in your own systems.

The payload carries the message that was sent as a conversation_message object.

For the envelope fields, see The webhook request.

Example payload

{
  "id": "evt_019f419ad8657ed38e8cac718ac4b1e0",
  "eventType": "conversation.agent.replied",
  "timestamp": "2026-07-08T12:01:34.857Z",
  "accountId": "1001",
  "payload": {
    "conversation_message": {
      "id": "55179",
      "body_html": "<p>Sure Jordan, we will look into this.</p>",
      "body_text": "Sure Jordan, we will look into this.",
      "attachments": [],
      "author": {
        "id": 8544,
        "name": "Alex Carter",
        "email": "[email protected]",
        "phone": null,
        "type": "agent"
      },
      "sent_at": 1783512094,
      "conversation_id": "18",
      "brand_id": 5182,
      "account_id": 1001
    }
  },
  "webhookMetadata": {
    "webhookTargetId": "35",
    "deliveryAttemptId": "019f419ad88977cf8257a08cc5aad967",
    "deliveryAttemptNumber": 1
  }
}

The conversation_message object

FieldTypeDescription
idstringMessage ID.
body_htmlstringThe message body as HTML.
body_textstringThe message body as plain text.
attachmentsarrayAttachments on the message.
authorobjectWho wrote the message: { id, name, email, phone, type }. For this event, type is agent.
sent_atnumberWhen the message was sent (Unix timestamp, seconds).
conversation_idstringID of the conversation the message belongs to.
brand_idnumberBrand ID. Useful for filtering events in multi-brand workspaces.
account_idnumberThe account (workspace) ID.