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

# Personal AI agent

> Connect your own WhatsApp number to your own AI agent.

## What you need

* A HookMyApp account
* A connected WhatsApp channel (the sandbox for testing, or your own WhatsApp number)
* A channel token and phone number ID for that channel
* An agent runtime that can read incoming messages and send outgoing replies

If your channel is already connected, skip to [Configure your agent](#configure-agent).

## Connect number

For testing, connect a sandbox session to your phone:

```bash theme={null}
hookmyapp sandbox start
```

The CLI shows a code and a QR.<br />
Open the QR on your phone and send the prefilled WhatsApp message to HookMyApp test number.<br />
See [Sandbox](/whatsapp/sandbox) for the full flow.

To use your own number, connect your WhatsApp Business number through Meta embedded signup:

```bash theme={null}
hookmyapp channels connect
```

See [Connect WhatsApp](/whatsapp/connect-waba) for the full embedded-signup flow.

## Configure agent

Pull credentials into a `.env` file your agent runtime can load.

For a sandbox session:

```bash theme={null}
hookmyapp sandbox env --write .env
```

For a connected channel:

```bash theme={null}
hookmyapp channels env <channel> --write .env
```

Your agent reads these values:

* `META_GRAPH_API_URL`: the base URL your agent sends through for this channel (the sandbox writes `WHATSAPP_API_URL` instead)
* `WHATSAPP_ACCESS_TOKEN`: channel token for sending messages
* `WHATSAPP_PHONE_NUMBER_ID`: the WhatsApp number your agent sends from
* `WEBHOOK_HMAC_SECRET`: webhook signing secret for your receiver

The receiver shape is identical between the sandbox and your own number.

## Agent capabilities

Your agent can receive messages, send replies, and use the CLI to inspect the connected number.

### Send messages

Use the send URL and token from the env values.
See [Send text](/whatsapp/send-messages/text) for the basic message shape.

### Listen to conversations

For local development, listen for messages on your laptop:

```bash theme={null}
hookmyapp sandbox listen
```

For your own number, set the public URL where HookMyApp sends messages:

```bash theme={null}
hookmyapp channels webhook set <channel> \
  --url https://your-agent.example.com/webhook \
  --verify-token $(openssl rand -hex 32)
```

## Use with agent framework

If your agent runs on [OpenClaw](https://openclaw.ai) or
[Hermes](https://hermes-agent.org), use the native HookMyApp adapter — install
it, run its setup command, and your agent sends and receives WhatsApp
messages with no transport code:

* [OpenClaw adapter](/whatsapp/openclaw)
* [Hermes Agent adapter](/whatsapp/hermes-agent)

For other runtimes, give your agent the HookMyApp CLI and a prompt:

```text Agent prompt theme={null}
You can send and receive WhatsApp messages on my behalf through the
HookMyApp CLI (npm package @gethookmyapp/cli).

Setup:
1. Install the HookMyApp skills globally:  npx skills add hookmyapp/agent-skills --all --global
2. Install the CLI:  npm install -g @gethookmyapp/cli
3. Authenticate: run `hookmyapp login --email <my-email>` (a 6-digit code arrives in my inbox, and I will read it back to you), or I will run `hookmyapp login` myself in a browser
4. List my connected channels:  hookmyapp channels list --json

To send a message:
1. Pull the channel credentials:  hookmyapp channels env <channel> --json
2. Send through the HookMyApp API URL from those values, using the WhatsApp message body shape.

Always run `hookmyapp <command> --help` before using a command.
Only message the
people I explicitly ask you to, and never contact anyone without my confirmation.
```

For deeper, framework-specific wiring, point your agent at the [agent skills](/whatsapp/agent-skills) and the [CLI reference](/whatsapp/cli).<br />
For other runtimes (Python, Go, Rust), use the same env values and adapt the transport on your side.

## Next steps

* [Build with AI](/whatsapp/build-with-ai): Use Cursor, Codex, or Claude Code to wire all this for you.
* [CLI](/whatsapp/cli): Command reference for everything above.
* [Send text](/whatsapp/send-messages/text): Send a WhatsApp text message.
* [Receive webhooks](/whatsapp/receive-webhooks): Inbound webhook handling and signature verification.
