> ## Documentation Index
> Fetch the complete documentation index at: https://agno-v2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Interfaces

> Expose agents, teams, and workflows through AI frontends, messaging platforms, and agent protocols.

Interfaces expose AgentOS applications through AI frontends, messaging platforms, and agent protocols. AG-UI, Slack, Telegram, WhatsApp, and A2A are available as interfaces.

```python slack_agent.py theme={null}
from agno.agent import Agent
from agno.models.openai import OpenAIResponses
from agno.os import AgentOS
from agno.os.interfaces.slack import Slack

support_agent = Agent(
    id="support-agent",
    model=OpenAIResponses(id="gpt-5.4"),
)

agent_os = AgentOS(
    agents=[support_agent],
    interfaces=[Slack(agent=support_agent)],
)

app = agent_os.get_app()
```

The Slack interface mounts its webhook routes on the AgentOS application and routes each conversation to `support_agent`.

## Choose an Interface

| Interface | Use when | Components |
| - | - | - |
| [AG-UI](https://agno-v2.mintlify.site/agent-os/interfaces/ag-ui/introduction.md) | A web or mobile frontend speaks the Agent-User Interaction Protocol | Agents, teams |
| [Slack](https://agno-v2.mintlify.site/agent-os/interfaces/slack/introduction.md) | Teams use an agent in channels, direct messages, and threads | Agents, teams, workflows |
| [Telegram](https://agno-v2.mintlify.site/agent-os/interfaces/telegram/introduction.md) | Users reach an agent through direct messages or group chats | Agents, teams, workflows |
| [WhatsApp](https://agno-v2.mintlify.site/agent-os/interfaces/whatsapp/introduction.md) | Customers interact with an agent through WhatsApp Business | Agents, teams, workflows |
| [A2A](https://agno-v2.mintlify.site/agent-os/interfaces/a2a/introduction.md) | Other agent systems call AgentOS through the Agent-to-Agent Protocol | Agents, teams, workflows |

> [!NOTE]
>
> Discord uses the standalone `DiscordClient` integration from `agno.integrations.discord`. See the [Discord guide](https://agno-v2.mintlify.site/agent-os/interfaces/discord/introduction.md).

## How Interfaces Work

Each interface mounts a FastAPI router on AgentOS and translates between the external protocol and an Agent, Team, or Workflow.

| Responsibility | Behavior |
| - | - |
| Request handling | Parse platform events or protocol messages into Agno run input |
| Session routing | Map the external user and conversation to AgentOS user and session IDs |
| Streaming | Translate run events into the format supported by the client |
| Media | Pass supported files, images, audio, and video to the component |
| Responses | Return text, generated media, progress, and human-in-the-loop state through the interface |

Support varies by interface. Use each interface guide for its events, media types, and response behavior.

## Authentication

Messaging platforms authenticate their own webhook routes. Protocol interfaces follow the AgentOS authentication mode and scope mappings.

| Interface | Request verification |
| - | - |
| Slack | Slack signing secret |
| Telegram | Telegram webhook secret token |
| WhatsApp | Meta webhook signature using the WhatsApp app secret |
| AG-UI | AgentOS bearer authentication and run scopes when configured |
| A2A | AgentOS bearer authentication and resource scopes when configured |

The regular AgentOS REST routes continue to use the runtime's configured [authentication and authorization](https://agno-v2.mintlify.site/agent-os/security/overview.md).

## Mount Multiple Interfaces

One AgentOS application can expose the same component through several interfaces:

```python theme={null}
from agno.os.interfaces.agui import AGUI
from agno.os.interfaces.slack import Slack

agent_os = AgentOS(
    agents=[support_agent],
    interfaces=[
        AGUI(agent=support_agent),
        Slack(agent=support_agent),
    ],
)

app = agent_os.get_app()
```

The agent keeps one implementation while each interface owns protocol handling, routing, and response formatting.

## Next Steps

| Task | Guide |
| - | - |
| Connect a product frontend | [AG-UI](https://agno-v2.mintlify.site/agent-os/interfaces/ag-ui/introduction.md) |
| Build a workplace agent | [Slack](https://agno-v2.mintlify.site/agent-os/interfaces/slack/introduction.md) |
| Serve a messaging bot | [Telegram](https://agno-v2.mintlify.site/agent-os/interfaces/telegram/introduction.md) |
| Reach customers on WhatsApp | [WhatsApp](https://agno-v2.mintlify.site/agent-os/interfaces/whatsapp/introduction.md) |
| Expose agents to other agent systems | [A2A](https://agno-v2.mintlify.site/agent-os/interfaces/a2a/introduction.md) |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.