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

# The Quick Reply object

> Prepared message(s) agents can send into matching chats with one click

quick reply holds one or more prepared messages (`send.contents` - same structure as [Send a Message to Chat](/he/api-reference/messages/send-a-message-to-chat) bodies) and a `target` list defining which channels or specific chats it is available for.

<Tip>
  **AI suggestions:** when `metadata.client.aiQuickReply` is `true`, the Texter inbox displays the quick reply as an AI-suggested answer on its targeted chat - sorted on top, with an "unseen suggestion" indicator. See [Create Quick Reply](/he/api-reference/quick-replies/create-quick-reply) for the full flow.
</Tip>

<Info>
  Returned by: [Get Existing Quick Replies](/he/api-reference/quick-replies/get-existing-quick-replies) · [Create Quick Reply](/he/api-reference/quick-replies/create-quick-reply) · [Update Existing Quick Reply](/he/api-reference/quick-replies/update-existing-quick-reply)
</Info>

```json Example quick reply object [expandable]  theme={null}
{
  "_id": "6970a1b2c3d4e5f601234567",
  "send": {
    "contents": [
      {
        "type": "text",
        "text": "Thanks for reaching out! An agent will reply shortly."
      }
    ],
    "target": [
      {
        "name": "whatsapp",
        "accountId": "972586640430"
      }
    ]
  },
  "display": {
    "position": "top",
    "title": "Greeting"
  },
  "metadata": {
    "created": 1768314807488
  }
}
```

## Top-level

| Field | Type     | Description                          |
| ----- | -------- | ------------------------------------ |
| `_id` | `string` | Unique identifier of the quick reply |

## send

| Field                       | Type       | Description                                                                                                                                              |
| --------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `send.contents`             | `object[]` | The message(s) to send - same structure as [Send a Message to Chat](/he/api-reference/messages/send-a-message-to-chat) bodies. Multiple messages allowed |
| `send.betweenMessagesDelay` | `number`   | Delay in milliseconds between messages, when there is more than one                                                                                      |
| `send.target`               | `object[]` | Where the quick reply is available: `{name, accountId, id?}` - add `id` (the **chat ID**, the chat's `_id`) to restrict it to a single chat              |

## display

| Field                 | Type       | Description                                                 |
| --------------------- | ---------- | ----------------------------------------------------------- |
| `display.position`    | `string`   | Where the quick reply appears: `top` or `main`              |
| `display.title`       | `string`   | Title shown to agents                                       |
| `display.note`        | `string`   | Note displayed beside the quick reply, e.g. "AI suggestion" |
| `display.departments` | `string[]` | Restrict visibility to specific department IDs              |
| `display.users`       | `string[]` | Restrict visibility to specific user UIDs                   |

## metadata

| Field              | Type     | Description                                                                                                                                                                                      |
| ------------------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `metadata.created` | `number` | Creation timestamp (epoch ms)                                                                                                                                                                    |
| `metadata.updated` | `number` | Latest update timestamp (epoch ms)                                                                                                                                                               |
| `metadata.client`  | `object` | Free-form data your integration attaches via the `updateClientMetadata` patch operation. Texter does not interpret it - except `aiQuickReply: true`, which the inbox renders as an AI suggestion |
