Skip to main content
Interfaces plug your agent into Slack, Telegram, WhatsApp, and browser clients.

Available surfaces

Sessions carry across surfaces

Each interface maps surface state onto AgentOS sessions, so a conversation continues without the user re-mentioning the bot. Map a user’s Slack ID to the same user_id your browser widget passes and memory follows them between surfaces. The agent only ever sees a user_id, a session_id, and a message. It does not know which surface a request came from.

One agent, every surface

Conditional registration

Register only the interfaces you have credentials for, so a dev run without secrets does not crash.

Resolving Slack names

Slack hands you opaque IDs like U07ABCXYZ. Set resolve_user_identity=True on the Slack interface and it resolves IDs to names before the agent sees them. Off by default because it costs an extra Slack API call per message.

One-off webhooks

For a one-off integration, a custom FastAPI route that calls the agent is enough. See Serve as an API.

Next steps

Developer Resources