> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wircle.com/llms.txt
> Use this file to discover all available pages before exploring further.

# message.created

> Sent when a selected profile receives a conversation message.

`message.created` is sent when a new message is created in a conversation containing a profile selected on the endpoint.

## Delivery target

The envelope’s `profile_id` is a receiving profile that is an active conversation participant. The sender does not receive an event for their own message.

For conversations with multiple receiving profiles, each matching selected profile receives its own event with that profile’s `profile_id`.

## Data object

`data` contains exactly one field:

| Field     | Type   | Description                                                     |
| --------- | ------ | --------------------------------------------------------------- |
| `message` | object | Complete conversation message snapshot that triggered the event |

### `data.message` fields

| Field             | Type                      | Description                                                       |
| ----------------- | ------------------------- | ----------------------------------------------------------------- |
| `id`              | UUID                      | Newly created message ID                                          |
| `conversation_id` | UUID                      | Conversation receiving the message                                |
| `sender_actor_id` | UUID or `null`            | Sending actor ID; `null` is reserved for system-authored messages |
| `kind`            | `text` or `system`        | Message kind; currently `text` for this event                     |
| `body`            | string                    | Complete message body                                             |
| `deleted_at`      | ISO 8601 string or `null` | Deletion time; `null` when this event is created                  |
| `created_at`      | ISO 8601 string           | Message creation time                                             |
| `updated_at`      | ISO 8601 string           | Message update time                                               |

The sender profile or guest is not embedded. Resolve `sender_actor_id` against the conversation participants when sender details are needed.

## Example delivery

```http theme={null}
POST /webhooks/wircle HTTP/1.1
Content-Type: application/json
User-Agent: Wircle-Webhooks/1.0
Webhook-Id: 019b2ab8-06ad-7996-bf3a-29c8c2c00a56
Webhook-Timestamp: 1786881858
Webhook-Signature: v1,SIGNATURE
```

```json theme={null}
{
  "id": "019b2ab6-dfe4-7cf4-8f01-a9abebc3aa0d",
  "type": "message.created",
  "api_version": "2026-08-16",
  "created_at": "2026-08-16T12:04:18.320Z",
  "workspace_id": "019b2ab0-3534-79f3-8a20-3ce33a24d2ae",
  "profile_id": "019b2ab1-8911-75b8-976a-c2319bba02f3",
  "data": {
    "message": {
      "id": "019b2ab6-5582-7ce1-8ae8-ce65866356a1",
      "conversation_id": "019b2ab4-4e2e-7f21-87a4-4378e276b3c9",
      "sender_actor_id": "019b2ab3-1ba8-7bed-91aa-e0a59d45ef9c",
      "kind": "text",
      "body": "Could you tell me more about Wircle?",
      "deleted_at": null,
      "created_at": "2026-08-16T12:04:18.320Z",
      "updated_at": "2026-08-16T12:04:18.320Z"
    }
  }
}
```

## Retrieve related resources

The message body is already available as `data.message.body`. Retrieve the conversation when you need its participants, sender details, or message history:

```http theme={null}
GET /v1/conversations/{data.message.conversation_id}
Authorization: Bearer wrc_live_...
X-Profile-Id: {profile_id}
```

The API key must include the envelope’s `profile_id` and grant `messages:read`, `messages:all`, `all:read`, or `all:all`.

## Respond as the receiving profile

```http theme={null}
POST /v1/conversations/{data.message.conversation_id}/messages
Authorization: Bearer wrc_live_...
X-Profile-Id: {profile_id}
Content-Type: application/json
```

```json theme={null}
{
  "body": "Thanks for your message."
}
```

Writing the reply requires `messages:write`, `messages:all`, `all:write`, or `all:all`.
