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

# Send quick reply or template

> Quick reply or template depending on the window

<Info>
  **Endpoint** · `POST /conversation/actions`
</Info>

This action takes two fields, `quick_reply` and `template`, both **required**:
the server sends the quick reply if the 24h window is open, or the template if
it's closed.

**Fields**

* `quick_reply` — `{ name }` of the quick reply (required).
* `template` — `{ name, language }` of the template (required).

```jsonc theme={null}
{
  "type": "send_quick_reply_or_template",
  "quick_reply": { "name": "Bienvenida" },
  "template": {
    "name": "recordatorio",
    "language": "es_MX"
  }
}
```

In a list, this object goes in the `actions` array of a `POST /conversation/actions` — see [Assembling an action list](/en/action-groups/overview#assembling-an-action-list).

## Executable example

A `send_quick_reply_or_template` on a conversation identified by phone and
channel. Both fields are **required**: the server sends the quick reply if the
24h window is open, or the template if it's closed.

### Request

```bash theme={null}
curl -X POST "https://app.1to1.ai/api/v1/public/{slug}/conversation/actions" \
  -H "Authorization: Bearer sk_1to1_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "conversation": {
      "phone": "+5215512345678",
      "channel": "ch_7A9K2M4Q"
    },
    "actions": [
      {
        "type": "send_quick_reply_or_template",
        "quick_reply": { "name": "Bienvenida" },
        "template": {
          "name": "recordatorio",
          "language": "es_MX"
        }
      }
    ]
  }'
```

### Response

`202 Accepted` — the group was accepted and runs in the **background**. The
per-action result does not travel in the response (query it later — see [How it runs](/en/action-groups/overview#how-it-runs)).

```json theme={null}
{
  "status": "processing",
  "actions_accepted": 1
}
```

<ResponseField name="status" type="string">
  Always `processing`: confirms the group was accepted and is running.
</ResponseField>

<ResponseField name="actions_accepted" type="integer">
  How many actions in the array were **admitted** for execution — not how many
  succeeded.
</ResponseField>
