SparrowDesk

conversation.created

Fires when a new conversation is created in SparrowDesk

Fires when a new conversation is created in your workspace, on any channel. Since SparrowDesk treats tickets and conversations as the same object, this covers new tickets too.

For the envelope fields (id, eventType, timestamp, accountId, webhookMetadata), see The webhook request.

Example payload

{
  "id": "evt_019f41958ac875c881511bd27a454eff",
  "eventType": "conversation.created",
  "timestamp": "2026-07-08T11:55:47.321Z",
  "accountId": "1001",
  "payload": {
    "conversation": {
      "id": "18",
      "brand": "Acme Support",
      "brand_id": 5182,
      "source": "Call",
      "status": "Open",
      "priority": "Medium",
      "created_at": 1783511746,
      "first_response_time": null,
      "resolution_time": null,
      "due": null,
      "first_response_due": null,
      "requested_by_email": "[email protected]",
      "requested_by_phone": null,
      "requested_by_id": 4254695,
      "assigned_to_member_id": 8544,
      "assigned_to_team_id": null,
      "last_updated_at": 1783511747,
      "subject": "API rate limit hit unexpectedly",
      "description_html": "<p>I'm seeing \"API rate limit exceeded\" errors occasionally. Please look into it.</p>",
      "description_text": "I'm seeing \"API rate limit exceeded\" errors occasionally. Please look into it.",
      "tags": [],
      "custom_fields": [],
      "csat": {
        "score": null,
        "sentiment": null,
        "feedback": null,
        "scale": null
      },
      "properties": null
    }
  },
  "webhookMetadata": {
    "webhookTargetId": "34",
    "deliveryAttemptId": "019f41958af870b09f0cdf5cd50af57e",
    "deliveryAttemptNumber": 1
  }
}

The conversation object

FieldTypeDescription
idstringConversation ID.
brandstringName of the brand the conversation belongs to.
brand_idnumberBrand ID. Useful for filtering events in multi-brand workspaces.
sourcestringThe channel the conversation came from, for example Mail, Chat, Call.
statusstringCurrent status, for example Open, Pending.
prioritystringPriority, for example Low, Medium, High, Urgent.
created_atnumberWhen the conversation was created (Unix timestamp, seconds).
first_response_timenumber | nullWhen the first agent response was sent (Unix timestamp), or null if there is none yet.
resolution_timenumber | nullWhen the conversation was resolved (Unix timestamp), or null.
duenumber | nullResolution due time from the applicable SLA (Unix timestamp), or null.
first_response_duenumber | nullFirst-response due time from the applicable SLA (Unix timestamp), or null.
requested_by_emailstring | nullEmail address of the requester.
requested_by_phonestring | nullPhone number of the requester.
requested_by_idnumberContact ID of the requester.
assigned_to_member_idnumber | nullID of the member the conversation is assigned to, or null.
assigned_to_team_idnumber | nullID of the team the conversation is assigned to, or null.
last_updated_atnumberWhen the conversation was last updated (Unix timestamp).
subjectstringConversation subject.
description_htmlstringThe first message body as HTML.
description_textstringThe first message body as plain text.
tagsarrayTags on the conversation, as { "id": number, "label": string } objects.
custom_fieldsarrayCustom field values set on the conversation.
csatobjectCSAT response for the conversation: { score, sentiment, feedback, scale }. Fields are null until a survey response exists.
propertiesobject | nullSystem-managed metadata.