# Integrations
URL: /docs/integrations
Third-party services and adapter recipes that plug into a working assistant-ui app.
Integrations are wiring guides for using third-party services with assistant-ui, plus canonical recipes for the adapter slots (persistence, attachments). They are distinct from [runtimes](/docs/runtimes/pick-a-runtime), which are the React adapter packages (`@assistant-ui/react-ai-sdk`, `@assistant-ui/react-langgraph`, etc.) that connect the UI to a backend. An integration assumes you already have a working runtime and adds something on top.
## Where integrations slot in \[#where-integrations-slot-in]
```
browser ──► your API route ──► LLM provider
│ ▲
│ │
agent │ │ observability
frameworks │ │ proxies
(e.g. │ │ (e.g. Helicone,
Mastra) │ │ Langfuse)
▼ │
run on the server, │
then forward calls ──────┘
to the provider
```
Integrations live on the server. **Agent frameworks** like Mastra take over the API route. **Gateways** swap the upstream provider URL. **Observability** logs or traces every call. **Auth** gates the route and scopes per-user data. **Persistence** and **attachments** are adapter recipes for storing chat data outside the default in-memory path.
## Frameworks \[#frameworks]
Framework integrations that pair with assistant-ui at the API-route layer.
## Tools \[#tools]
Pluggable tool catalogs and protocols.
## Gateways \[#gateways]
OpenAI-compatible proxies that add catalog routing, fallback, BYOK, or self-hosting.
## Observability \[#observability]
Log, monitor, trace, and evaluate LLM calls. These pair with any runtime.
## Auth \[#auth]
Gate the chat route and scope thread data to the signed-in user. These pages are the **non-cloud** path; pair with [custom thread persistence](/docs/integrations/persistence/custom-adapter) when you own the database.
For AssistantCloud users, [cloud authorization](/docs/cloud/authorization) handles the JWT exchange for Clerk, Auth0, Supabase, and Firebase without DB code.
## Persistence \[#persistence]
Store threads and messages outside AssistantCloud.
## Attachments \[#attachments]
Upload chat attachments to object storage instead of inlining as data URLs.
## Don't see your service? \[#dont-see-your-service]
assistant-ui doesn't ship a guide for every tool, but most fit one of two patterns:
* **Routes through your AI SDK handler** (agent frameworks, observability proxies, gateways): adapt the [Mastra full-stack](/docs/integrations/frameworks/mastra/full-stack) or [Helicone proxy](/docs/integrations/observability/helicone) pattern using the service's own SDK.
* **Replaces the runtime entirely** (custom backends): see [custom backend](/docs/runtimes/custom).
If you build something useful, [open an issue](https://github.com/assistant-ui/assistant-ui/issues) or post in [Discord](https://discord.gg/S9dwgCNEFs); the docs are open to contributions.
## Related \[#related]