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

# External WhatsApp agents

> Build an agent that answers your customers on a WhatsApp number.

export const platform = {
  home: "https://app.qxlabs.com",
  chat: "https://app.qxlabs.com/chat",
  agents: "https://app.qxlabs.com/agents",
  agentSchedules: "https://app.qxlabs.com/agents/schedules",
  flows: "https://app.qxlabs.com/flows",
  flowExecutions: "https://app.qxlabs.com/flows/executions",
  grids: "https://app.qxlabs.com/grids",
  pages: "https://app.qxlabs.com/pages",
  knowledge: "https://app.qxlabs.com/knowledge",
  connectedApps: "https://app.qxlabs.com/credentials",
  settingsChannels: "https://app.qxlabs.com/settings/channels",
  settingsWhatsApp: "https://app.qxlabs.com/settings/whatsapp",
  settingsAuthorizedApps: "https://app.qxlabs.com/settings/authorized-apps",
  usage: "https://app.qxlabs.com/usage",
  billing: "https://app.qxlabs.com/billing",
  team: "https://app.qxlabs.com/account/team",
  explore: "https://app.qxlabs.com/explore",
  exploreSkills: "https://app.qxlabs.com/explore/skills"
};

An external WhatsApp agent answers your customers on WhatsApp. You build the agent, connect a WhatsApp number to it, and from then on it replies to everyone who messages that number. It only ever replies and never messages anyone first.

<Frame caption="A customer booking a table with the agent">
  <img src="https://mintcdn.com/qx-labs/jCW2M0u2BR5MEdUl/images/agents/external-whatsapp-agents/customer-chat.png?fit=max&auto=format&n=jCW2M0u2BR5MEdUl&q=85&s=e47234cdacbac96835ae35cecf551468" alt="A WhatsApp chat where a customer books a table and the agent confirms it" style={{ maxWidth: "380px", margin: "0 auto" }} width="610" height="1260" data-path="images/agents/external-whatsapp-agents/customer-chat.png" />
</Frame>

## Build the agent and connect a number

Go to <a href={platform.agents}>**Agents**</a> → **New Agent**, choose **External**, and describe the job in the **Chat** sidebar. The builder writes the instructions and sets up the actions for you, see [Build with AI](/agents/create-an-agent/build-with-ai). Click **Test in chat** to try the agent before any customer does.

Once the agent is saved, go to its **WhatsApp number** section, type the number, and click **Connect**.

<Frame>
  <img className="block dark:hidden" src="https://mintcdn.com/qx-labs/jCW2M0u2BR5MEdUl/images/agents/external-whatsapp-agents/connect-number-light.png?fit=max&auto=format&n=jCW2M0u2BR5MEdUl&q=85&s=af406bfbfbb2e13d4336d80bc16512bb" alt="The agent editor's WhatsApp number section with a number typed in and a Connect button" width="935" height="240" data-path="images/agents/external-whatsapp-agents/connect-number-light.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/qx-labs/jCW2M0u2BR5MEdUl/images/agents/external-whatsapp-agents/connect-number-dark.png?fit=max&auto=format&n=jCW2M0u2BR5MEdUl&q=85&s=9d3ac6916a2baf584f58101462feaa4c" alt="The agent editor's WhatsApp number section with a number typed in and a Connect button" width="935" height="240" data-path="images/agents/external-whatsapp-agents/connect-number-dark.png" />
</Frame>

A code appears. On the phone, open WhatsApp and go to **Settings** → **Linked devices** → **Link a device** → **Link with phone number instead**, then enter the code. The number links up like WhatsApp Web, and the agent starts replying.

<Frame>
  <img className="block dark:hidden" src="https://mintcdn.com/qx-labs/jCW2M0u2BR5MEdUl/images/agents/external-whatsapp-agents/pairing-code-light.png?fit=max&auto=format&n=jCW2M0u2BR5MEdUl&q=85&s=4c3e6435fff6a1ca78c603bf9d3fed58" alt="The WhatsApp number section showing a pairing code, the steps to enter it on the phone, and a countdown" width="930" height="440" data-path="images/agents/external-whatsapp-agents/pairing-code-light.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/qx-labs/jCW2M0u2BR5MEdUl/images/agents/external-whatsapp-agents/pairing-code-dark.png?fit=max&auto=format&n=jCW2M0u2BR5MEdUl&q=85&s=44dce75410f5ff54685ddafd317f9d1a" alt="The WhatsApp number section showing a pairing code, the steps to enter it on the phone, and a countdown" width="930" height="440" data-path="images/agents/external-whatsapp-agents/pairing-code-dark.png" />
</Frame>

One agent answers on one number, and one number belongs to one agent. If the number is already used by another agent, you'll be asked to move it. **Disconnect** stops the agent answering and frees the number for another agent.

## Manage your numbers

<a href={platform.settingsWhatsApp}>**Settings → WhatsApp Numbers**</a> lists every number you've connected and the agent answering on each. Click the agent's name to open its editor and change it.

<Frame>
  <img className="block dark:hidden" src="https://mintcdn.com/qx-labs/jCW2M0u2BR5MEdUl/images/agents/external-whatsapp-agents/whatsapp-numbers-light.png?fit=max&auto=format&n=jCW2M0u2BR5MEdUl&q=85&s=f3afe7cef23542bcc6c70df561f1d246" alt="Settings, WhatsApp Numbers, listing a connected number with its agent and the Unlink and Delete buttons" width="1318" height="422" data-path="images/agents/external-whatsapp-agents/whatsapp-numbers-light.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/qx-labs/jCW2M0u2BR5MEdUl/images/agents/external-whatsapp-agents/whatsapp-numbers-dark.png?fit=max&auto=format&n=jCW2M0u2BR5MEdUl&q=85&s=9a0a0768fc0aac809e5ca3395437fd98" alt="Settings, WhatsApp Numbers, listing a connected number with its agent and the Unlink and Delete buttons" width="1318" height="422" data-path="images/agents/external-whatsapp-agents/whatsapp-numbers-dark.png" />
</Frame>

* **Add number** connects a new number. Type it, get a code, and enter the code on your phone, the same as in the agent editor. Pick its agent from that agent's editor.
* **Unlink** disconnects a number but keeps its agent and chats. **Pair** connects it again.
* **Delete** removes the number and every chat it had.

## What the agent can use

Strangers talk to this agent, so it gets less than your other agents. It can use:

* Its instructions and the [knowledge vaults](/knowledge/overview) you attach.
* **Web Search** and **Web Fetch**.
* **Actions**, single tasks in your apps that the builder sets up, like adding a row to one sheet or an event to one calendar.

<Frame>
  <img className="block dark:hidden" src="https://mintcdn.com/qx-labs/jCW2M0u2BR5MEdUl/images/agents/external-whatsapp-agents/agent-tools-light.png?fit=max&auto=format&n=jCW2M0u2BR5MEdUl&q=85&s=2fcc66e04d87779072e3696d21462156" alt="The agent editor's Capabilities, Knowledge, and Actions sections for an external agent" width="935" height="694" data-path="images/agents/external-whatsapp-agents/agent-tools-light.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/qx-labs/jCW2M0u2BR5MEdUl/images/agents/external-whatsapp-agents/agent-tools-dark.png?fit=max&auto=format&n=jCW2M0u2BR5MEdUl&q=85&s=8730ccc3fdcc09395c94b02d3b2539a7" alt="The agent editor's Capabilities, Knowledge, and Actions sections for an external agent" width="935" height="694" data-path="images/agents/external-whatsapp-agents/agent-tools-dark.png" />
</Frame>

It has no workspace and no direct access to your connected apps, so customers can't reach anything you didn't approve.
