---
title: "message_sent"
method: POST
path: "message_sent"
tags: ["Webhooks"]
---

# message_sent

`POST message_sent` (webhook)

An outbound message was recorded — sequence step, agent reply or manual send.

## Payload

- object: Every outbound event uses this envelope. `data` is the only part that varies by event type.
  - `event` string: Event type. Also sent in the `X-Webhook-Event` header.
  - `timestamp` string, date-time: When the event was delivered — not necessarily when it occurred.
  - `data` object: Event-specific payload.
    - `message_id` string, uuid
    - `conversation_id` string, uuid
    - `contact_id` string, uuid
    - `contact_name` string, nullable
    - `channel` 'linkedin' | 'email' | 'whatsapp' | 'instagram' | 'telegram' | 'sms': Channel the conversation lives on.
    - `direction` 'inbound' | 'outbound'
    - `sender_type` string, nullable: What produced the message — e.g. contact, sequence, agent, user.
    - `content` string, nullable
    - `content_type` string, nullable
    - `metadata` object, nullable
    - `created_at` string, date-time
  - `webhook_id` string, uuid: Delivery ID. Also sent as `X-Webhook-ID`. Use it to deduplicate retries.
  - `organization_id` string, uuid

## Acknowledgement `200`

Return any 2xx to acknowledge. A non-2xx or a timeout is treated as a failed
delivery and retried with backoff up to your configured `max_retries`.

---

[API](https://skmtc.dev/automatedclientacquisition/apis/aca-api.md) · [All operations](https://skmtc.dev/automatedclientacquisition/apis/aca-api/llms.txt) · [OpenAPI document](https://skmtc.dev/automatedclientacquisition/apis/aca-api/revisions/8f3e3b141311?raw)
