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 likeU07ABCXYZ. 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.