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

# WhatsApp prerequisites

What to have ready in Meta before you import a WhatsApp number, what signing in with Meta asks for, and what every connect message means.

Importing a WhatsApp number takes a minute on the Meta side and one sign-in
in the portal. Finish this page first: you will know what to have ready in
Meta, what signing in with Meta asks for, and what every message the
import can end with means. When you have everything below, go to
[Connect WhatsApp](/docs/agents/whatsapp-connect).

## What you need

- A WhatsApp Business Account with the number added to it in WhatsApp
  Manager, and a Facebook account that can manage that business.
- Until Meta approves EchoNova's app (business verification and App
  Review), that Facebook account also needs a role on EchoNova's Meta app.
  Meta only lets people with a role on the app sign in during this period.

> [!NOTE]
> If your account has no role on EchoNova's Meta app yet, signing in with
> Meta succeeds but returns no numbers. Ask your EchoNova contact to add
> your Facebook account to the app before you start.

- An agent to bind the number to. The import starts from that agent's
  **Channels** tab, and a number you connect there answers as that agent
  from the first message.

## Steps

### Step 1: Confirm the number in WhatsApp Manager

Open WhatsApp Manager and confirm the WhatsApp Business Account lists every
number you want an agent to answer. Signing in with Meta can only offer
numbers that are on a WhatsApp Business Account your Facebook account
manages.

### Step 2: Know what signing in with Meta asks for

Pressing **here** (or **Import another account**, once you have any)
opens Meta's own sign-in window and asks for two permissions:

| Permission                     | What it lets EchoNova do                                     |
| ------------------------------ | ------------------------------------------------------------ |
| `whatsapp_business_management` | Read your WhatsApp Business Accounts and the numbers on them |
| `whatsapp_business_messaging`  | Send replies from the numbers you connect                    |

Grant both. Declining either one ends the sign-in with **Access was
declined. No changes were made.**

The sign-in window is valid for 10 minutes. Leave it open longer than that
and you land on the **Agents** list with nothing connected; open the agent
and start again from its **Channels** tab.

### Step 3: Let messages reach EchoNova on their own

There is no webhook to set up yourself. Once a number is connected, either
straight after sign-in or by ticking it in **Choose what to connect**,
EchoNova subscribes to that number's messages for you. If Meta refuses the
subscription, nothing is saved and the number shows **We couldn't create
the webhook. Check the app's permissions, then reconnect.**

## What each connect message means

Every import ends on the agent's **Channels** tab with a toast, a dialog, or
the **Choose what to connect** picker. The rows below are the messages as
the portal shows them.

### Signing in for one number

| Message                                                                                                                                               | What happened                                                                                                      | What to do                                                                                            |
| ----------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------- |
| **WhatsApp connected**                                                                                                                                | The number is imported and bound to this agent                                                                     | Send it a message; see [Connect WhatsApp](/docs/agents/whatsapp-connect)                              |
| **This channel was already connected. It's now linked to this agent.**                                                                                | The number was already in this workspace with no agent. Its access was refreshed and it is now bound to this agent | Nothing. The row is on the tab                                                                        |
| **Move this channel?**                                                                                                                                | The number is already connected to another agent in this workspace                                                 | **Move** binds it to this agent and closes its open conversations; **Cancel** leaves it where it is   |
| **This channel is already connected to another agent in this workspace. To move it, open that agent's Channels tab and use Assign to another agent.** | Same as above, shown when the portal cannot offer **Move** directly                                                | Do as the message says                                                                                |
| **Access was declined. No changes were made.**                                                                                                        | You cancelled Meta's window or declined a permission                                                               | Start again and grant both permissions                                                                |
| **The connection didn't complete. Please try again.**                                                                                                 | Meta returned without a usable sign-in                                                                             | Try again                                                                                             |
| No message. You land on the **Agents** list with nothing connected                                                                                    | More than 10 minutes passed, or the sign-in finished in a different browser from the one that started it           | Open the agent again and start from its **Channels** tab                                              |
| **We couldn't resolve that WhatsApp phone number. Please try again.**                                                                                 | The sign-in granted no WhatsApp Business Account, or the account it granted has no number                          | Confirm the number in WhatsApp Manager, then sign in again with the account that manages it           |
| **That WhatsApp number is already connected to a different EchoNova workspace.**                                                                      | A number belongs to one workspace at a time                                                                        | Disconnect it in the other workspace first                                                            |
| **We couldn't create the webhook. Check the app's permissions, then reconnect.**                                                                      | The number was found but Meta refused to send its messages to EchoNova, so nothing was saved                       | Sign in again with an account that manages the WhatsApp Business Account and approve both permissions |
| **Something went wrong connecting this channel. Please try again.**                                                                                   | The connect failed for a reason with no message of its own                                                         | Try again                                                                                             |

### Signing in for several numbers

When the sign-in grants more than one number, the portal opens **Choose
what to connect** instead of connecting straight away. Before you tick
anything, each number in the list carries one of these:

| Label                    | Meaning                                                                                             | Can you tick it?              |
| ------------------------ | --------------------------------------------------------------------------------------------------- | ----------------------------- |
| No label                 | Not yet imported anywhere                                                                           | Yes                           |
| **Connected here**       | Already imported into this workspace: unbound, on this agent, or on another agent in this workspace | Yes, to bind or refresh it    |
| **In another workspace** | Connected to a different EchoNova workspace                                                         | No. Disconnect it there first |

After you press **Connect**, each ticked number gets its own result line:

| Result                                   | What happened                                                                                                            |
| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| **Connected**                            | The number was not imported before; it is now, bound to this agent                                                       |
| **Reconnected**                          | The number was already imported and is now refreshed, bound to this agent if it had none                                 |
| **On another agent**                     | The number turned out to be bound to a different agent in this workspace; open that agent's **Channels** tab to move it  |
| **In another workspace**                 | Another workspace claimed the number between the list loading and you pressing **Connect**; it cannot be moved from here |
| **Meta refused the webhook. Try again.** | The number was found but Meta refused to send its messages to EchoNova                                                   |
| **Couldn't connect. Try again.**         | The connect failed for another reason                                                                                    |

The dialog itself can also show, instead of a list:

| Message                                                        | What happened                                                                                  | What to do                                 |
| -------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------------------------------------ |
| **This choice expired. Start again.**                          | More than 10 minutes passed since the sign-in, or this list was already used                   | Press **Import another account** again     |
| **Couldn't load the accounts. Try again.**                     | The list of numbers could not be read                                                          | Close the dialog and try again             |
| **Something went wrong. Check your channels, then try again.** | Connecting failed after the ticked numbers were already claimed; some may still have connected | Check the **Channels** tab before retrying |

## FAQ

### Which number gets connected?

You choose. A sign-in that grants one number connects it straight away; one
that grants several opens **Choose what to connect**, where you tick the
numbers you want.

### Do I need a Meta app of my own?

No. Pressing **here** or **Import another account** signs you into Meta
directly, and EchoNova's own Meta app handles the connection and the
messages.

### How long does the connection last?

About 60 days. During the last 7 days the channel shows **Reconnect by
<date>**; after that it shows **Token expired. Reconnect.** Reconnect by
pressing **Import another account** and ticking the same number, which
shows as **Connected here**.

### What happens to the access Meta grants?

It is saved with the channel and used for every reply the agent sends from
that number. It is not shown again, and it is not listed under
[Auth connections](/docs/agents/auth-connections). Disconnecting the
channel deletes it.

## Related

- [Connect WhatsApp](/docs/agents/whatsapp-connect): the import walked through, step by step
- [WhatsApp limits](/docs/agents/whatsapp-limits): what the agent can and cannot do on the number
- [Channels overview](/docs/agents/channels-overview): how channels and agents fit together
- [Auth connections](/docs/agents/auth-connections): the credentials you manage yourself, which the number's access is not among
- [Find and read a conversation](/docs/agents/conversations): where the number's conversations land
