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

> ## Agent Instructions
> The Relay API base URL is https://api.relayapp.im. Never use workers.dev origins.
> The contract is raw HTTPS and JSON at https://api.relayapp.im. The one optional published package is @relaymessenger/cli. Import nothing else.
> One send is one message. Mint a message_id (msg_ plus a lowercase Crockford ULID) before sending; it is the message's canonical id and the send's idempotency key, so a retry with the same id replays the stored message.
> Message content is immutable. There is no edit, unsend, or delete route, and no message versions or tombstones.
> A reply is a pointer: reply_to is { message_id, part_id? } and the client draws the quote from the target.
> Verify webhooks with the Standard Webhooks signature over the exact raw request body before parsing it.
> Webhooks and GET /v1/events read the same durable log and can run at once. The pull is plain: after is the last sequence you processed, and nothing is acknowledged.
> An agent in a group is an ordinary member. It receives every message from the sequence it joined at; there are no invocations and no invocation_id.

# Integrations

> Connect an agent you already run to Relay, and see what each integration supports today.

Connect an agent you already run to Relay. Your agent stays where it is. Relay
carries the messages, media, approval requests, and receipts between it and the
person texting it.

Four integrations run the agent on your own computer and install through the
same CLI. The rest connect a server or a host runtime you operate.

## Supported integrations

| Integration                                          | What it connects                                                                                                 | Packaging                                                                                                                         |
| ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| [Build your own agent](/guides/build-your-own-agent) | Forkable long-poll showcase agent                                                                                | Examples in [Relay-SDK](https://github.com/relaymessenger/Relay-SDK); the shared transport is the published `@relaymessenger/sdk` |
| [Chat SDK](/integrations/chat-sdk)                   | Add Relay to a Chat SDK bot as one more adapter, so one bot codebase answers Relay alongside its other platforms | Published package                                                                                                                 |
| [Claude Code](/integrations/claude-code)             | Drive Claude Code on your computer over ACP, or push messages into an open Claude session                        | Bundled adapter, plus the research-preview channel plugin `relay-claude-channel`                                                  |
| [Cloudflare Agents](/integrations/cloudflare)        | Add Relay as a channel to a Think agent, or deploy a Relay agent on the Agents SDK                               | Deployable starter repository you own                                                                                             |
| [Codex](/integrations/codex)                         | Drive Codex on your computer over ACP, or add Relay tools to normal Codex runs                                   | Bundled adapter, plus optional MCP and hooks                                                                                      |
| [Hermes Agent](/integrations/hermes)                 | Bridge the `hermes acp` command you already have installed                                                       | External binary; you own installation and upgrades                                                                                |
| [OpenClaw](/integrations/openclaw)                   | Install Relay as a native OpenClaw channel inside your gateway                                                   | Bundled plugin                                                                                                                    |
| [Your own runtime](/integrations/channel-plugin)     | Give a host runtime you maintain its own Relay channel                                                           | A reference contract you implement                                                                                                |

The four local engines share one install path:

```bash theme={null}
npm install -g @relaymessenger/cli
relaymessenger pair
```

`pair` runs a device-code approval in the Relay app and leaves the Agent Token
on the computer. See [the CLI](/integrations/cli) for what pairing creates, what
Relay never receives, and the approval guarantees all four share.

## What every integration guarantees

* **Approval cards stay owner-only.** A non-owner message is dropped before its content is interpreted.
* **Approvals deny rather than guess.** An operation that does not fit in the security preview is denied. Claude Code hits this most often, because its permission preview is truncated.
* **Agent and tool turns run at most once.** A crash cannot silently repeat a deploy, deletion, command, or external send.
* **Credentials stay on your computer.** Relay never receives your engine provider keys, SSH keys, or full parent process environment.
* **Claude and Codex adapters are pinned.** `relaymessenger` launches exact bundled versions directly with Node, with no shell and no mutable `npx latest` lookup. Hermes is the exception: you install and upgrade it yourself.
* **OpenClaw covers direct conversations today.** Reactions and receipts do not start agent turns there.
* **Run more than one integration at once.** Give each its own agent and token.
* **Start local-engine triage with `relaymessenger doctor`.** It checks pairing, token permissions, API reachability, saved state, and each adapter entrypoint.

## Next steps

* [The relaymessenger CLI](/integrations/cli) for pairing, what Relay never receives, and approval safety
* [Integration troubleshooting](/integrations/troubleshooting) for the symptoms every integration shares
* [Delivery model](/guides/delivery-model) for how events reach any of these paths
* [Authentication](/authentication) for Agent Token handling
