> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.brevo.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.brevo.com/_mcp/server.

# Conversations webhooks

This page lists all Conversation events you can track, along with their schema and parameters.

## Conversation started

Triggered when a conversation is started by a visitor or an agent (automatic targeted messages and pushed messages don't trigger the event).

| Attribute name          | Data type                                                  | Description                                                                                                                                                                                                         |
| ----------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `eventName`             | string                                                     | "conversationStarted"                                                                                                                                                                                               |
| `conversationId`        | string                                                     | ID of the continuous conversation with one visitor.                                                                                                                                                                 |
| `message`               | [Message](/docs/conversations-webhooks#the-message-object) | Initial message                                                                                                                                                                                                     |
| `agent`                 | [Agent](/docs/conversations-webhooks#the-agent-object)     | Agent information                                                                                                                                                                                                   |
| `visitor`               | [Visitor](/docs/conversations-webhooks#the-visitor-object) | Visitor information:   - country, language, browser, etc. - contact attributes - info from contact form or JS API - info from channel (i.e. Facebook profile) - terms of service and marketing consents - and more! |
| `conversationStartPage` | Object                                                     | For the chat widget, will contain the `link` and `title` of your website at the time the conversation was started.                                                                                                  |
| `isNoAvailableAgent`    | Boolean                                                    | Shows if no agent is online at this point                                                                                                                                                                           |

```json
{
    "eventName": "conversationStarted",
    "conversationId": "MxhGJAEugdLtS2BBq",
    
    "conversationStartPage": {
      "link": "https://getwear.com/women/151254/",
      "title": "Washed skinny jeans for women"
    }

    // initial message (see “The Message object” below)
    // /guides/conversations/conversations-webhooks#the-message-object
    "message": {
        "id": "dkmyYPxJyh5rKDhRT",
        // `type` can be `agent` or `visitor`
        "type": "agent",
        "text": "Hi there! Did you receive your tracking number?",
        "html": "Hi there! Did you receive your tracking number?",
        // timestamp in ms
        "createdAt": 1665578322700,
        // agent’s name and ID is passed in case it’s agent’s message
        "agentId": "bnRzp4CioKudG4aHm",
        "agentName": "Julia",
        // only set when the agent has uploaded a profile picture
        "agentUserpic": "https://ucarecdn.com/06e119c4-debd-420f-bb8c-7a2f261ca0e5/"
    },

    // agent info is passed in case chat was started by an agent
    "agent": {
        "id": "bnRzp4CioKudG4aHm",
        "name": "Julia",
        "email": "julia@getwear.com",
        // only set when the agent has uploaded a profile picture
        "userpic": "https://ucarecdn.com/06e119c4-debd-420f-bb8c-7a2f261ca0e5/"
    },

    // visitor information
    "visitor": {
        // id generated by Brevo or `visitorId` passed to `window.BrevoConversationsSetup`
        // (see “Binding chat to a user account”: /guides/conversations/customize-the-chat-widget#binding-conversations-to-user-accounts)
        "id": "vfg1y4h4ioapl1cx0trw1mujk6den021zs9b2q8",
        "threadId": "aC4krWMZWLYzz9sKZ",
        // link to this conversation in dashboard
        "threadLink": "https://conversations-app.brevo.com/conversations/aC4krWMZWLYzz9sKZ",
        "source": "widget",
        // For Facebook/Instagram/WhatsApp, the ID of the page/account
        "sourceChannelRef": null,
        // For Facebook/Instagram/WhatsApp, the link of the channel on the platform
        "sourceChannelLink": null,
        // For Facebook/Instagram/WhatsApp, the ID of the visitor on the platform
        "sourceConversationRef": null,
        // id of the agent group
        "groupId": "z2o3F8GDkNpKD4BYt",
        // visitor’s userpic color in Conversations
        "color": "#faebd7",
        "ip": "192.168.1.179",
        // visitor’s browser language
        "browserLanguage": "en-US",
        // language displayed to the visitor
        "conversationLanguage": "en",
        "browser": "Chrome 106.0.0",
        "os": "Windows 10",
        // User agent string
        "userAgent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36",
        "country": "Ireland",
        "city": "Dublin",
        "lastVisit": {
            // timestamp in ms
            "startedAt": 1664550759104,
            // finishedAt can be undefined for an ongoing visit
            "finishedAt": 1664551471534,
            // last visited website
            "hostName": "getwear.com",
            // list of viewed pages (link + title) during current visit
            "viewedPages": [
                {
                    "link": "https://getwear.com/",
                    "title": "Getwear — custom designer jeans"
                },
                {
                    "link": "https://getwear.com/women/151254/",
                    "title": "Washed skinny jeans for women"
                }
            ]
        },
        // name displayed in dashboard (userpic color name for anonymous visitors, e.g. “Dark Orange”)
        "displayedName": "Jane",
        // Attributes from the contact
        "contactAttributes": {
            "SMS": "35315684258"
        },
        // Information from the contact form or passed to the JS API.
        // (see “Passing user details to Conversations”: /guides/conversations/customize-the-chat-widget#passing-user-details-to-conversations)
        "integrationAttributes": {
            "FIRSTNAME": "Jane",
            "EMAIL": "jane@example.com",
            "ORDER": "#151254",
            "CART": "Washed skinny jeans for women, $99"
        },
        // Combination of the two above, priority is given to the information filled by visitor
        // and/or agents. This object should be used over the two above in most cases.
        "attributes": {
            "FIRSTNAME": "Jane",
            "EMAIL": "jane@example.com",
            "SMS": "35315684258",
            "ORDER": "#151254",
            "CART": "Washed skinny jeans for women, $99"
        },
        // Attributes that can be formatted only
        "formattedAttributes": {
          "SMS": "+353 1 568 4258"
        },
        "notes": "Loves skinny jeans",
        "contactId": 5,
        "marketingConsent": false,
        "termsOfServiceConsent": true
    }
}
```

## Conversation fragment

Triggered after each message, with some exceptions. The event is not triggered when:

* The message is an automatic targeted message from an agent.
* The visitor's chat is blocked by a mandatory [contact form](https://conversations-app.sendinblue.com/settings/bot) (the "*Get messages only once the form is filled*" option in contact form settings). In this case, the event is triggered after the visitor fills the contact form.
* The message is a [pushed message](/reference/send-an-automated-message-to-a-visitor) and there are no previous conversations with the visitor.

The `messages` property of the event object contains all messages since the previous `conversationFragment` event.

> **This ruleset is designed for two-way integrations with help desks and the like.**
>
> The event is only triggered when a message requires agents' attention, or when an agent's response should be added to the conversation (for example, when a new ticket should be created or an existing ticket should be updated).
>
> That's why automatic targeted messages don't trigger the event, but are included in the webhook for completeness the next time the event fires.

| Attribute name       | Data type                                                      | Description                                                                                                                                                                                                         |
| -------------------- | -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `eventName`          | string                                                         | "conversationFragment"                                                                                                                                                                                              |
| `conversationId`     | string                                                         | ID of the continuous conversation with one visitor.                                                                                                                                                                 |
| `messages`           | [Message\[\]](/docs/conversations-webhooks#the-message-object) | List of messages since the previous `conversationFragment` event                                                                                                                                                    |
| `agents`             | Object\[]                                                      | List of agents who participated in this fragment                                                                                                                                                                    |
| `visitor`            | [Visitor](/docs/conversations-webhooks#the-visitor-object)     | Visitor information:   - country, language, browser, etc. - contact attributes - info from contact form or JS API - info from channel (i.e. Facebook profile) - terms of service and marketing consents - and more! |
| `isNoAvailableAgent` | Boolean                                                        | Shows if no agent is online at this point                                                                                                                                                                           |

```json
{
    "eventName": "conversationFragment",
    "conversationId": "aC4krWMZWLYzz9sKZ",

    // list of messages since previous `conversationFragment` event
    // (see “The Message object” below)
    // /guides/conversations/conversations-webhooks#the-message-object
    "messages": [
        // pushed message from an agent (see `pushedMessages` in REST API)
        {
            "type": "agent",
            "id": "AXCR3k9bpSY7bpuh7",
            "text": "Your order has shipped! Here’s your tracking number: 9114 5847 4668 7775 9233 54",
          	"html": "Your order has shipped! Here&#39;s your tracking number: 9114 5847 4668 7775 9233 54",
            "createdAt": 1664550379561,
            "agentId": "d9nKoegKSjmCtyK78",
            "agentName": "Liz",
            // only set when the agent has uploaded a profile picture
            "agentUserpic": "https://ucarecdn.com/06e119c4-debd-420f-bb8c-7a2f261ca0e5/",
            // `true` for pushed messages
            "isPushed": true
        },

        // automatic targeted message from an agent
        {
            "type": "agent",
            "id": "DftGtKqyJpBXtC42J",
            "text": "Hi there! How can we help you?",
            "html": "Hi there! How can we help you?",
            "createdAt": 1664554934355,
            "agentId": "bnRzp4CioKudG4aHm",
            "agentName": "Julia",
            // only set when the agent has uploaded a profile picture
            "agentUserpic": "https://ucarecdn.com/06e119c4-debd-420f-bb8c-7a2f261ca0e5/",
            // `true` for automatic messages from “Targeted chats & triggers”
            "isTrigger": true
        },

        // visitor’s message
        {
            "type": "visitor",
            "id": "JuzQe8pJ9cZqymJK9",
            "text": "I’ve changed my email, could you please re-send my order details?",
            "html": "I&#39;ve changed my email, could you please re-send my order details?",
            "createdAt": 1664563333617
        }
    ],

    // list of agents who participated in this fragment
    "agents": [
        {
            "id": "d9nKoegKSjmCtyK78",
            "name": "Liz",
            "email": "liz@getwear.com",
            // only set when the agent has uploaded a profile picture
            "userpic": "https://ucarecdn.com/93d1e396-2a78-4ece-82f0-7b8bb9043b78/"
        },

        {
            "id": "bnRzp4CioKudG4aHm",
            "name": "Julia",
            "email": "julia@getwear.com",
            // only set when the agent has uploaded a profile picture
            "userpic": "https://ucarecdn.com/06e119c4-debd-420f-bb8c-7a2f261ca0e5/"
        }
    ],

    // visitor information
    "visitor": {
  
        // id generated by Brevo or `visitorId` passed to `window.BrevoConversationsSetup`
        // (see “Binding chat to a user account”: /guides/conversations/customize-the-chat-widget#binding-conversations-to-user-accounts)
        "id": "vfg1y4h4ioapl1cx0trw1mujk6den021zs9b2q8",
        "threadId": "aC4krWMZWLYzz9sKZ",
        // link to this conversation in dashboard
        "threadLink": "https://conversations-app.brevo.com/conversations/aC4krWMZWLYzz9sKZ",
        "source": "widget",
        // For Facebook/Instagram/WhatsApp, the ID of the page/account
        "sourceChannelRef": null,
        // For Facebook/Instagram/WhatsApp, the link of the channel on the platform
        "sourceChannelLink": null,
        // For Facebook/Instagram/WhatsApp, the ID of the visitor on the platform
        "sourceConversationRef": null,
        // id of the agent group
        "groupId": "z2o3F8GDkNpKD4BYt",
        // visitor’s userpic color in Conversations
        "color": "#faebd7",
        "ip": "192.168.1.179",
        // visitor’s browser language
        "browserLanguage": "en-US",
        // language displayed to the visitor
        "conversationLanguage": "en",
        "browser": "Chrome 106.0.0",
        "os": "Windows 10",
        // User agent string
        "userAgent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36",
        "country": "Ireland",
        "city": "Dublin",
        "lastVisit": {
            // timestamp in ms
            "startedAt": 1664550759104,
            // finishedAt can be undefined for an ongoing visit
            "finishedAt": 1664551471534,
            // last visited website
            "hostName": "getwear.com",
            // list of viewed pages (link + title) during current visit
            "viewedPages": [
                {
                    "link": "https://getwear.com/",
                    "title": "Getwear — custom designer jeans"
                },
                {
                    "link": "https://getwear.com/women/151254/",
                    "title": "Washed skinny jeans for women"
                }
            ]
        },
        // name displayed in dashboard (userpic color name for anonymous visitors, e.g. “Dark Orange”)
        "displayedName": "Jane",
        // Attributes from the contact
        "contactAttributes": {
            "SMS": "35315684258"
        },
        // Information from the contact form or passed to the JS API.
        // (see “Passing user details to Conversations”: /guides/conversations/customize-the-chat-widget#passing-user-details-to-conversations)
        "integrationAttributes": {
            "FIRSTNAME": "Jane",
            "EMAIL": "jane@example.com",
            "ORDER": "#151254",
            "CART": "Washed skinny jeans for women, $99"
        },
        // Combination of the two above, priority is given to the information filled by visitor
        // and/or agents. This object should be used over the two above in most cases.
        "attributes": {
            "FIRSTNAME": "Jane",
            "EMAIL": "jane@example.com",
            "SMS": "35315684258",
            "ORDER": "#151254",
            "CART": "Washed skinny jeans for women, $99"
        },
        // Attributes that can be formatted only
        "formattedAttributes": {
          "SMS": "+353 1 568 4258"
        },
        "notes": "Loves skinny jeans",
        "contactId": 5,
        "marketingConsent": false,
        "termsOfServiceConsent": true
    }
}
```

## Conversation transcript

Triggered when a conversation finishes. A conversation is considered finished when the visitor goes offline (leaves your website) or when all participating agents leave the conversation.

| Attribute name          | Data type                                                      | Description                                                                                                                                                                                                          |
| ----------------------- | -------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `eventName`             | string                                                         | "conversationTranscript"                                                                                                                                                                                             |
| `conversationId`        | string                                                         | ID of the continuous conversation with one visitor.                                                                                                                                                                  |
| `messages`              | [Message\[\]](/docs/conversations-webhooks#the-message-object) | List of messages                                                                                                                                                                                                     |
| `missedMessagesCount`   | Number                                                         | Number of missed and offline messages                                                                                                                                                                                |
| `agents`                | Object\[]                                                      | List of agents who participated in the conversation                                                                                                                                                                  |
| `visitor`               | [Visitor](/docs/conversations-webhooks#the-visitor-object)     | Visitor information:    - country, language, browser, etc. - contact attributes - info from contact form or JS API - info from channel (i.e. Facebook profile) - terms of service and marketing consents - and more! |
| `conversationStartPage` | Object                                                         | For the chat widget, will contain the `link` and `title` of your website at the time the conversation was started.                                                                                                   |

```json
{
    "eventName": "conversationTranscript",
    "conversationId": "aC4krWMZWLYzz9sKZ",
    
    // For the chat widget, will contain the `link` and `title` of your website at the time the conversation was started
    "conversationStartPage": {
      "link": "https://getwear.com/women/151254/",
      "title": "Washed skinny jeans for women"
    }

    // list of messages (see “The Message object” below)
    // /guides/conversations/conversations-webhooks#the-message-object
    "messages": [
        // pushed message from an agent (see `pushedMessages` in REST API)
        {
            "type": "agent",
            "id": "AXCR3k9bpSY7bpuh7",
            "text": "Your order has shipped! Here’s your tracking number: 9114 5847 4668 7775 9233 54",
            "html": "Your order has shipped! Here&#39;s your tracking number: 9114 5847 4668 7775 9233 54",
            "createdAt": 1664550379561,
            "agentId": "d9nKoegKSjmCtyK78",
            "agentName": "Liz",
            // only set when the agent has uploaded a profile picture
            "agentUserpic": "https://ucarecdn.com/93d1e396-2a78-4ece-82f0-7b8bb9043b78/",
            // `true` for pushed messages
            "isPushed": true
        },

        // automatic targeted message from an agent
        {
            "type": "agent",
            "id": "DftGtKqyJpBXtC42J",
            "text": "Hi there! How can we help you?",
            "html": "Hi there! How can we help you?",
            "createdAt": 1664554934355,
            "agentId": "bnRzp4CioKudG4aHm",
            "agentName": "Julia",
            // only set when the agent has uploaded a profile picture
            "agentUserpic": "https://ucarecdn.com/06e119c4-debd-420f-bb8c-7a2f261ca0e5/",
            // `true` for automatic messages from “Targeted chats & triggers”
            "isTrigger": true
        },

        // visitor’s message
        {
            "type": "visitor",
            "id": "JuzQe8pJ9cZqymJK9",
            "text": "I’ve changed my email, could you please re-send my order details?",
            "html": "I&#39;ve changed my email, could you please re-send my order details?",
            "createdAt": 1664563333617
        },

        // agent’s message
        {
            "type": "agent",
            "id": "5z5fvBj4auebD63S5",
            "text": "Sure, just a moment :)",
            "html": "Sure, just a moment :)",
            "createdAt": 1664563359830,
            "agentId": "bnRzp4CioKudG4aHm",
            "agentName": "Julia",
            // only set when the agent has uploaded a profile picture
            "agentUserpic": "https://ucarecdn.com/06e119c4-debd-420f-bb8c-7a2f261ca0e5/"
        },

        // agent sends a file
        {
            "type": "agent",
            "id": "5MzkBA9ERXJNk4JuH",
            "text": "receipt.png",
            // Sanitized file name
            "html": "receipt.png",
            "file": {
                "name": "receipt.png",
                // size in bytes
                "size": 333455,
                "isAllowedFileType": true,
                // whether the file is an image
                "isImage": true,
                "isSticker": true,
                "link": "https://ucarecdn.com/03cd56cd-1de9-4f65-996d-08afdf27fa1b/",
                // image info is passed in case the file is an image
                "imageInfo": {
                    "width": 1129,
                    "height": 525,
                    "previewLink": "https://ucarecdn.com/03cd56cd-1de9-4f65-996d-08afdf27fa1b/-/preview/800x800/-/quality/better/"
                }
            },
            "createdAt": 1664563366078,
            "agentId": "bnRzp4CioKudG4aHm",
            "agentName": "Julia",
            // only set when the agent has uploaded a profile picture
            "agentUserpic": "https://ucarecdn.com/06e119c4-debd-420f-bb8c-7a2f261ca0e5/"
        },

        {
            "type": "visitor",
            "id": "6QZDugATac9FXZSkp",
            "text": "Thanks!",
            "html": "Thanks!",
            "createdAt": 1664563372326,
            // `true` for missed and offline messages
            "isMissed": true
        }
    ],

    // number of missed and offline messages
    "missedMessagesCount": 1,

    // list of agents who participated in the conversation
    "agents": [
        {
            "id": "d9nKoegKSjmCtyK78",
            "name": "Liz",
            "email": "liz@getwear.com",
            // only set when the agent has uploaded a profile picture
            "userpic": "https://ucarecdn.com/93d1e396-2a78-4ece-82f0-7b8bb9043b78/"
        },

        {
            "id": "bnRzp4CioKudG4aHm",
            "name": "Julia",
            "email": "julia@getwear.com",
            // only set when the agent has uploaded a profile picture
            "userpic": "https://ucarecdn.com/06e119c4-debd-420f-bb8c-7a2f261ca0e5/"
        }
    ],

    // visitor information
    "visitor": {
        // id generated by Brevo or `visitorId` passed to `window.BrevoConversationsSetup`
        // (see “Binding chat to a user account”: /guides/conversations/customize-the-chat-widget#binding-conversations-to-user-accounts)
        "id": "vfg1y4h4ioapl1cx0trw1mujk6den021zs9b2q8",
        "threadId": "aC4krWMZWLYzz9sKZ",
        // link to this conversation in dashboard
        "threadLink": "https://conversations-app.brevo.com/conversations/aC4krWMZWLYzz9sKZ",
        "source": "widget",
        // For Facebook/Instagram/WhatsApp, the ID of the page/account
        "sourceChannelRef": null,
        // For Facebook/Instagram/WhatsApp, the link of the channel on the platform
        "sourceChannelLink": null,
        // For Facebook/Instagram/WhatsApp, the ID of the visitor on the platform
        "sourceConversationRef": null,
        // id of the agent group
        "groupId": "z2o3F8GDkNpKD4BYt",
        // visitor’s userpic color in Conversations
        "color": "#faebd7",
        "ip": "192.168.1.179",
        // visitor’s browser language
        "browserLanguage": "en-US",
        // language displayed to the visitor
        "conversationLanguage": "en",
        "browser": "Chrome 106.0.0",
        "os": "Windows 10",
        // User agent string
        "userAgent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36",
        "country": "Ireland",
        "city": "Dublin",
        "lastVisit": {
            // timestamp in ms
            "startedAt": 1664550759104,
            // finishedAt can be undefined for an ongoing visit
            "finishedAt": 1664551471534,
            // last visited website
            "hostName": "getwear.com",
            // list of viewed pages (link + title) during current visit
            "viewedPages": [
                {
                    "link": "https://getwear.com/",
                    "title": "Getwear — custom designer jeans"
                },
                {
                    "link": "https://getwear.com/women/151254/",
                    "title": "Washed skinny jeans for women"
                }
            ]
        },
        // name displayed in dashboard (userpic color name for anonymous visitors, e.g. “Dark Orange”)
        "displayedName": "Jane",
        // Attributes from the contact
        "contactAttributes": {
            "SMS": "35315684258"
        },
        // Information from the contact form or passed to the JS API.
        // (see “Passing user details to Conversations”: /guides/conversations/customize-the-chat-widget#passing-user-details-to-conversations)
        "integrationAttributes": {
            "FIRSTNAME": "Jane",
            "EMAIL": "jane@example.com",
            "ORDER": "#151254",
            "CART": "Washed skinny jeans for women, $99"
        },
        // Combination of the two above, priority is given to the information filled by visitor
        // and/or agents. This object should be used over the two above in most cases.
        "attributes": {
            "FIRSTNAME": "Jane",
            "EMAIL": "jane@example.com",
            "SMS": "35315684258",
            "ORDER": "#151254",
            "CART": "Washed skinny jeans for women, $99"
        },
        // Attributes that can be formatted only
        "formattedAttributes": {
          "SMS": "+353 1 568 4258"
        },
        "notes": "Loves skinny jeans",
        "contactId": 5,
        "marketingConsent": false,
        "termsOfServiceConsent": true,
        "isBanned": false
    }
}
```

### The Visitor object

| Attribute name                              | Data type | Description                                                                                                                                                                                                                                                                                                        |
| ------------------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `source`                                    | string    | Source of the visitor, e.g. `widget`, `facebook`, `whatsapp`, etc.                                                                                                                                                                                                                                                 |
| `displayedName`                             | string    | Name displayed in dashboard (userpic color name for anonymous visitors, e.g. “Dark Orange”)                                                                                                                                                                                                                        |
| `contactId`                                 | Number    | If the visitor is in your Contacts, its ID will be available here.                                                                                                                                                                                                                                                 |
| `contactAttributes`                         | Object    | Info from your Brevo contact.                                                                                                                                                                                                                                                                                      |
| `integrationAttributes`                     | Object    | Info from the integration. Examples:   - For the **chat widget**, it will be the info from the contact form or the [JS API](/docs/javascript-api-reference#updateintegrationdata). - Info from channel (i.e. Facebook profile)                                                                                     |
| `attributes`                                | Object    | Combination of the two above.  Priority is given to the contact attributes.  This object should be used over the two above in most cases                                                                                                                                                                           |
| `formattedAttributes`                       | Object    | Display name for attributes that can be formatted (`SMS`, `WHATSAPP`)                                                                                                                                                                                                                                              |
| `termsOfServiceConsent`                     | Boolean   | Useful if you have enabled ["Request consent to your terms"](https://help.sendinblue.com/hc/en-us/articles/4416568800146#h_01G16954VM9Z8KYXZDR1F5HFMK) in the Contact form, and the conversation was started by the chat widget (not applicable for other channels like Instagram or Facebook)                     |
| `marketingConsent`                          | Boolean   | Useful if you have enabled ["Request consent to your marketing communications"](https://help.sendinblue.com/hc/en-us/articles/4416568800146#h_01G16954VM9Z8KYXZDR1F5HFMK) in the Contact form,  and the conversation was started by the chat widget (not applicable for other channels like Instagram or Facebook) |
| `isBanned`                                  | Boolean   | Whether the visitor is banned (in `conversationTranscript` only)                                                                                                                                                                                                                                                   |
| `browser` / `country` /  `lastVisit` / etc. |           | More fields are available in this object, please check the sample payloads to find out.                                                                                                                                                                                                                            |

### The Agent object

| Attribute name | Data type | Description                                                                                               |
| -------------- | --------- | --------------------------------------------------------------------------------------------------------- |
| `id`           | string    | ID of the agent, as found in the [agent's page](https://conversations-app.sendinblue.com/settings/agents) |
| `name`         | string    | Name of the agent                                                                                         |
| `email`        | string    | Email address of the agent                                                                                |
| `userpic`      | string    | URL of the agent's profile photo, if they have uploaded one                                               |

### The Message object

| Attribute name      | Data type                                                                   | Description                                                                                                                                                                                                   |
| ------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`                | String                                                                      | Message ID.                                                                                                                                                                                                   |
| `type`              | String                                                                      | `visitor` or `agent` (depending on who sent the message)                                                                                                                                                      |
| `text`              | String                                                                      | Message text or name of the attached file                                                                                                                                                                     |
| `html`              | String                                                                      | Safe HTML with our chat “markdown” applied                                                                                                                                                                    |
| `createdAt`         | Number                                                                      | Timestamp in milliseconds                                                                                                                                                                                     |
| `agentId`           | String                                                                      | Agent’s ID in the messages sent by an agent                                                                                                                                                                   |
| `agentName`         | String                                                                      | Agent’s name as displayed to the visitor. Only in the messages sent by an agent                                                                                                                               |
| `agentUserpic`      | String                                                                      | URL of the agent's profile photo, if they have uploaded one                                                                                                                                                   |
| `messageType`       | String                                                                      | Contains “email\_bounce” when the received answer is a bounce notification received from Gmail                                                                                                                |
| `isTrigger`         | Boolean                                                                     | `true` for automatic messages from [Targeted chats & triggers](https://conversations-app.sendinblue.com/settings/actions)  and [API](/docs/javascript-api-reference#sendautomessage)                          |
| `isPushed`          | Boolean                                                                     | For [automated messages](/reference/send-an-automated-message-to-a-visitor)                                                                                                                                   |
| `isMissed`          | Boolean                                                                     | When the chat is finished, visitor’s messages missed by the agents are marked with `\"isMissed\": true`                                                                                                       |
| `isMissedByVisitor` | Boolean                                                                     | When the chat is finished, agent’s messages missed by the visitor are marked with `\"isMissedByVisitor\": true`                                                                                               |
| `receivedFrom`      | String                                                                      | In two-way integrations, messages sent via [REST API](/reference/send-a-message-as-an-agent) can be marked with receivedFrom property and then filtered out when received in a webhook to avoid infinite loop |
| `rawUnsafeHtml`     | String                                                                      | Raw unsanitized HTML of the message                                                                                                                                                                           |
| `subject`           | String                                                                      | Email subject line (present for email-source conversations)                                                                                                                                                   |
| `isSentViaJsApi`    | Boolean                                                                     | `true` for messages sent via the JS API                                                                                                                                                                       |
| `sourceMessageId`   | String                                                                      | Original message ID from the source platform                                                                                                                                                                  |
| `from`              | Object                                                                      | Sender info (email conversations)                                                                                                                                                                             |
| `to`                | Array                                                                       | Recipients (email conversations)                                                                                                                                                                              |
| `replyTo`           | Object                                                                      | Reply-to address (email conversations)                                                                                                                                                                        |
| `cc`                | Array                                                                       | CC recipients (email conversations)                                                                                                                                                                           |
| `bcc`               | Array                                                                       | BCC recipients (email conversations)                                                                                                                                                                          |
| `isForward`         | Boolean                                                                     | `true` if the message is a forwarded message                                                                                                                                                                  |
| `file`              | [Attachment](/docs/conversations-webhooks#the-attachment-object) object     | Attachment messages have this property containing file information                                                                                                                                            |
| `attachments`       | [Attachment\[\]](/docs/conversations-webhooks#the-attachment-object) object | This can exists in email replies to chat conversations. Unlike `file`, `attachments` exist alongside the regular message                                                                                      |

### The Attachment object

| Attribute name      | Data type | Description                                                                                                                        |
| ------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `name`              | String    | Name of the file                                                                                                                   |
| `size`              | Number    | Size in bytes                                                                                                                      |
| `isImage`           | Boolean   | Whether the file is an image                                                                                                       |
| `isSticker`         | Boolean   | For stickers (Facebook/Instagram/WhatsApp)                                                                                         |
| `link`              | String    | URL of the file                                                                                                                    |
| `isAllowedFileType` | Boolean   | Whether the file type is allowed in [this setting](https://conversations-app.sendinblue.com/settings/preferences#allowedFileTypes) |
| `mimeType`          | String    | MIME type of the file                                                                                                              |
| `isInline`          | Boolean   | Whether the attachment is inline (e.g. embedded images in emails)                                                                  |
| `inlineId`          | String    | Content-ID for inline attachments                                                                                                  |
| `imageInfo`         | Object    | In case the file is an image, will contain `width`, `height` and `previewLink`                                                     |