> ## 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 Instagram account to your own AI agent.

## What you need

* A HookMyApp account
* A connected Instagram channel, or an Instagram sandbox for testing
* A channel token and Instagram user or account id for that channel
* An agent runtime that can read incoming DMs and send outgoing replies

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

## Connect Instagram account

For testing, start an Instagram sandbox session:

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

The CLI opens a DM to the HookMyApp test Instagram account.
Send the prefilled message from your Instagram account.
See [Sandbox](/instagram/sandbox) for the full flow.

To use your own account, connect your Instagram professional account through Meta:

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

See [Connect Instagram](/instagram/connect) for the full connect 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:

* `INSTAGRAM_GRAPH_API_URL`: full send URL for this channel
* `INSTAGRAM_ACCESS_TOKEN`: channel token for sending DMs
* `INSTAGRAM_ACCOUNT_ID`: connected Instagram account ID used in the send URL
* `WEBHOOK_HMAC_SECRET`: webhook signing secret for your receiver

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

## Agent capabilities

Your agent can receive DMs, send replies, and use the CLI to inspect the connected account.

### Send messages

Use the send URL and token from the env values.
See [Send text](/instagram/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 --path /webhook/instagram
```

For your own Instagram account, set the public URL where HookMyApp sends DMs:

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

## Use with agent framework

If your personal agent runs on a framework like [OpenClaw](https://openclaw.ai) or [Hermes](https://hermes-agent.org), you do not have to write any transport code.<br />
These runtimes can run shell commands, so give them the HookMyApp CLI and your agent can send and receive DMs from your connected Instagram channel.

Give your agent a prompt like this to wire it up:

```text Agent prompt theme={null}
You can send and receive Instagram 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 Instagram 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](/instagram/agent-skills) and the [CLI reference](/instagram/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](/instagram/build-with-ai): Use Cursor, Codex, or Claude Code to wire all this for you.
* [CLI](/instagram/cli): Command reference for everything above.
* [Send text](/instagram/send-messages/text): Send an Instagram text DM.
* [Receive webhooks](/instagram/receive-webhooks): Inbound webhook handling and signature verification.
