# 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]