> For the full page index, fetch https://echonova.ai/llms.txt

# WhatsApp limits

What the agent receives, what it sends, how conversations are grouped and what one number can be connected to, as it works on WhatsApp today.

This page is the list of what a connected WhatsApp number does and does not do,
so you can set a customer's expectations and write the persona to match.
Every row is how the number behaves today; where a row is a limit, the next
column says what to do instead.

## Messages the agent receives

| What arrives                                                                       | What happens                                                                                                                                                                  |
| ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| A text message                                                                     | It is recorded on the customer's conversation and answered                                                                                                                    |
| An image, video, voice note, document, sticker, location, contact card or reaction | Nothing. It is not answered and it does not appear on the conversation                                                                                                        |
| A text message while the workspace has no credits                                  | It is recorded and marked read, and gets no reply                                                                                                                             |
| The same message delivered twice                                                   | It is answered once                                                                                                                                                           |
| A message from a new customer                                                      | A conversation opens, named after the customer's WhatsApp profile name; without one, the row reads **WhatsApp contact** and the last four characters of the customer's number |

Every row above applies to a number connected as described in
[Connect WhatsApp](/docs/agents/whatsapp-connect); connecting subscribes the
number's messages to EchoNova automatically.

The agent hears only text. Write the persona so it asks for anything else in
words: an order number typed rather than a photo of the receipt, an address
typed rather than a pinned location.

As soon as a text message arrives, the customer's phone shows the message as
read and shows the typing indicator until the reply is sent.

## Replies the agent sends

| Reply                                                 | What the customer gets                                                                           |
| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| The agent's answer                                    | One text message, sent as written. Nothing is split, shortened or reformatted                    |
| A turn that fails                                     | The fixed line `Sorry, I can't respond right now. Please try again shortly.`                     |
| A reply WhatsApp refuses                              | Nothing. The reply stays on the conversation in the portal, and the customer does not receive it |
| Buttons, cards, images, files or links as attachments | Never. Every reply is a text message; a link is sent as text                                     |

Because a reply is one message, a long answer is one long bubble. Tell the
persona how long a reply may be; the guidance in
[How the prompt is assembled](/docs/agents/prompting-guide) applies to
WhatsApp as it does to a call.

The delivery status recorded on a reply is `sent` when WhatsApp accepts it and
`failed` when it does not. It does not move on to `delivered` or `read`.

## Conversations

| Rule                                   | Value                                                                                                                                                                                                                                              |
| -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Conversations per customer             | One open conversation at a time per customer per number                                                                                                                                                                                            |
| When a conversation continues          | While the customer's next message arrives within 24 hours of the last message in either direction                                                                                                                                                  |
| When a new conversation starts         | On the first message more than 24 hours after the last one. The earlier conversation closes and shows **Resolved**                                                                                                                                 |
| What the agent remembers               | The whole conversation while messages keep coming. Once the conversation has been quiet for 15 minutes, its next message resumes from a replay of the recent messages, as described in [How the prompt is assembled](/docs/agents/prompting-guide) |
| Handoff to a person                    | None. The agent answers every text message on the number while the number is connected. See [Human handoff](/docs/agents/human-handoff)                                                                                                            |
| What closes an open conversation early | Disconnecting the number, or assigning it to another agent. Both close every open conversation on the number, and the next message opens a new one                                                                                                 |
| Working hours                          | Not applied. The number answers at every hour; see [Working hours](/docs/agents/working-hours)                                                                                                                                                     |

A customer sees none of this grouping. To them it is one chat with your
number; to you it is one row per 24-hour stretch on the **Conversations** tab.

## The connection

| Rule                                                | Value                                                                                                                                         |
| --------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| Workspaces per number                               | One. A number connected to another workspace is refused with **That WhatsApp number is already connected to a different EchoNova workspace.** |
| Agents per number                                   | One. Move it with **Assign to another agent**, or confirm **Move this channel?** when connecting it again from another agent                  |
| Numbers per agent                                   | Any number of them                                                                                                                            |
| How you choose which numbers to connect             | You tick them yourself, in **Choose what to connect** when a sign-in grants more than one, or straight away when it grants one                |
| Permissions Meta asks for                           | `whatsapp_business_management` and `whatsapp_business_messaging`                                                                              |
| How long the Meta sign-in window is valid           | 10 minutes                                                                                                                                    |
| How long a **Choose what to connect** list is valid | 10 minutes, or until it is used once                                                                                                          |
| How long WhatsApp access lasts                      | About 60 days. The channel shows **Reconnect by <date>** in the last 7 days, then **Token expired. Reconnect.**                               |
| What **Disconnect** removes                         | The channel and the access saved with it. Conversations stay on the agent's **Conversations** tab                                             |
| What reconnecting the same number does              | Refreshes the saved access, and links the number to this agent if it had none                                                                 |

## FAQ

### Is there a limit on how many messages a customer can send?

Not on the number. Every text message is answered and every reply is charged
as a turn. See [What a turn costs](/docs/agents/what-a-turn-costs).

### Can the agent message a customer first?

No. The agent replies to messages that arrive; it does not start a
conversation on WhatsApp.

### Why does a customer's photo not appear on the conversation?

Only text messages reach the agent. Anything else is not recorded. Ask the
customer to type what the photo shows.

### Why is there a second conversation row for the same customer?

More than 24 hours passed between two of their messages. The earlier row
closed and the later message opened a new one. Both are on the
**Conversations** tab.

### Can I set a different reply length or tone for WhatsApp?

Not per channel. The persona is shared by every channel the agent is
connected to. Give the WhatsApp number its own agent if it needs its own
wording. See [Channels overview](/docs/agents/channels-overview).

## Related

- [Connect WhatsApp](/docs/agents/whatsapp-connect): connecting the number and sending it a first message
- [WhatsApp prerequisites](/docs/agents/whatsapp-prerequisites): what to have ready, and every connect message
- [Human handoff](/docs/agents/human-handoff): what to write in the persona on a channel with no handoff
- [How the prompt is assembled](/docs/agents/prompting-guide): reply length, the replay on a resumed conversation, and the fallback line
- [Find and read a conversation](/docs/agents/conversations): the rows this page's grouping produces
- [What a turn costs](/docs/agents/what-a-turn-costs): what each reply costs
