AISARAISAR
All webhooks

Conversations

Conversation created

conversation.created

Fires when a new conversation is opened. The payload includes the associated contact.

HTTP request

AISAR sends a signed POST request to your webhook_url:

http
POST {webhook_url}
Content-Type: application/json
X-AISAR-Signature: sha256=...

{
  "event": "conversation.created",
  "event_id": "evt_01JXXXXXXXXXXXXXXXXXXXXX",
  "timestamp": "2026-03-26T12:00:00.000000Z",
  "company_id": 1,
  "data": {
    "conversation": {
      "id": 45,
      "status": "active",
      "contact_id": 10,
      "deal_id": null,
      "subject": null,
      "is_archived": false,
      "created_at": "2026-03-26T12:00:00.000000Z",
      "closed_at": null
    },
    "contact": {
      "id": 10,
      "display_name": "John Doe",
      "first_name": "John",
      "last_name": "Doe",
      "phone": "+77001234567",
      "email": "john@example.com",
      "status": "lead"
    }
  }
}

The X-AISAR-Signature header carries an HMAC-SHA256 signature of the request body — use it to verify the request came from AISAR.

Example payload

json
{
  "event": "conversation.created",
  "event_id": "evt_01JXXXXXXXXXXXXXXXXXXXXX",
  "timestamp": "2026-03-26T12:00:00.000000Z",
  "company_id": 1,
  "data": {
    "conversation": {
      "id": 45,
      "status": "active",
      "contact_id": 10,
      "deal_id": null,
      "subject": null,
      "is_archived": false,
      "created_at": "2026-03-26T12:00:00.000000Z",
      "closed_at": null
    },
    "contact": {
      "id": 10,
      "display_name": "John Doe",
      "first_name": "John",
      "last_name": "Doe",
      "phone": "+77001234567",
      "email": "john@example.com",
      "status": "lead"
    }
  }
}

Payload fields

FieldTypeDescription
conversation.idintegerConversation ID
conversation.statusstringactive or closed
conversation.contact_idintegerContact who initiated the conversation
conversation.deal_idinteger|nullAssociated deal ID
conversation.subjectstring|nullConversation subject
conversation.is_archivedbooleanWhether the conversation is archived
conversation.created_atstringISO 8601 timestamp
conversation.closed_atstring|nullISO 8601 timestamp of when the conversation was closed
contactobject|nullContact associated with the conversation