# Faustine > Faustine adds AI agents to software products. Web Agents puts an agent inside a web app, built from the app's code. Agent Gateway publishes a product's APIs to the AI clients people already use, over MCP and REST. Every page of this documentation is also available as Markdown: add `.md` to its URL. ## Get started - [What is Faustine](https://docs.faustine.ai/get-started.md): Faustine adds AI agents to a software product, as an agent inside your web app and as a gateway for the AI clients your users have. - [Quickstart: add an agent to your web app](https://docs.faustine.ai/get-started/quickstart-web-agent.md): Create a Web Agent from your app's code, run the analysis, and load the agent on a page with one script tag. - [Quickstart: let AI clients operate your API](https://docs.faustine.ai/get-started/quickstart-agent-gateway.md): Create a gateway for an analyzed API, connect Claude Code or claude.ai, and make a first call. - [Concepts](https://docs.faustine.ai/get-started/concepts.md): The terms the Faustine portal and these docs use, from workspace to model provider, each with the page that covers it. - [Connect your model provider](https://docs.faustine.ai/get-started/connect-your-ai-provider.md): Connect the model provider your workspace runs on, so that analyses, chat and the Advanced editor can start. - [Set up with a coding agent](https://docs.faustine.ai/get-started/set-up-with-a-coding-agent.md): Install the Faustine agent skills and let Claude Code, Cursor or Codex add the Web Agent to your repository. ## Web Agents - [Web Agents](https://docs.faustine.ai/web-agents.md): A Web Agent is an AI agent inside your web app that runs the app's own actions for the signed-in user. - [Build your first Web Agent](https://docs.faustine.ai/web-agents/build-your-first-web-agent.md): Build a Web Agent for the Nimbus CRM example app that creates a contact when asked and asks before deleting one. - [Create a Web Agent](https://docs.faustine.ai/web-agents/create-a-web-agent.md): Create a Web Agent with the Quick start wizard and start the analysis of your app's code. - [Connect your code](https://docs.faustine.ai/web-agents/connect-your-code.md): Give Faustine read access to the repository a Web Agent is built from, and choose the branch and folder. - [Upload a ZIP instead of a repository](https://docs.faustine.ai/web-agents/upload-a-zip.md): Build a Web Agent from a ZIP of your source code when the repository cannot be connected. - [The analysis](https://docs.faustine.ai/web-agents/analysis.md): The analysis reads your app's front-end code and writes the agent's modules, actions, authentication and navigation. - [Choose what to analyze](https://docs.faustine.ai/web-agents/choose-what-to-analyze.md): Select the modules of your app that the analysis turns into actions. - [Keep the agent up to date](https://docs.faustine.ai/web-agents/keep-up-to-date.md): Bring a Web Agent in line with new commits through auto-update, a manual check, a re-analysis or a new upload. - [Add reference repositories and API docs](https://docs.faustine.ai/web-agents/reference-repositories.md): Let the analysis and the Advanced editor read your backend's code or an API specification as context. - [Actions](https://docs.faustine.ai/web-agents/actions.md): An action is one thing a Web Agent can do in your app, generated from your code and run in the user's browser. - [Turn an action on or off and test it](https://docs.faustine.ai/web-agents/test-an-action.md): Choose which actions a Web Agent can run, and run one against a page of your app to check it. - [Require confirmation for an action](https://docs.faustine.ai/web-agents/require-confirmation.md): Make a Web Agent show a confirmation card and wait for the user before it runs an action. - [Authentication](https://docs.faustine.ai/web-agents/authentication.md): How a Web Agent's actions run as the user who is signed in to your app. - [Navigation](https://docs.faustine.ai/web-agents/navigation.md): How a Web Agent knows your app's routes and takes the user to a screen without reloading the page. - [Set variables for each environment](https://docs.faustine.ai/web-agents/variables.md): Give a Web Agent's variables, such as the API base URL, a value for each environment. - [Edit an action](https://docs.faustine.ai/web-agents/edit-an-action.md): Change an action's description or code in the portal, by hand or by asking Faustine AI. - [The Advanced editor](https://docs.faustine.ai/web-agents/advanced-editor.md): A full-screen editor where you change a Web Agent's actions, authentication, navigation and persona by hand or by asking Faustine AI. - [Add actions to a Guide-only agent](https://docs.faustine.ai/web-agents/add-actions.md): Give a Web Agent that only guides users the actions to do the work for them. - [Write the agent's persona](https://docs.faustine.ai/web-agents/persona.md): Describe your app, the agent's role and its users so that the agent answers in your product's terms. - [Add knowledge from files](https://docs.faustine.ai/web-agents/knowledge-files.md): Upload documents a Web Agent searches before it answers questions about policies, procedures or prices. - [Turn on web search](https://docs.faustine.ai/web-agents/web-search.md): Let a Web Agent search the web for what neither your app nor your documents can answer. - [Choose the chat model](https://docs.faustine.ai/web-agents/chat-model.md): Pick the model that answers in a Web Agent's widget, from the models your workspace's provider offers. - [The Guide](https://docs.faustine.ai/web-agents/guide.md): A Web Agent that knows every screen of your app, takes users to the right one and points at what to select. - [Teach your agent the app](https://docs.faustine.ai/web-agents/teach-your-agent-the-app.md): Map Nimbus CRM so its Web Agent takes a new user to the right screen and points at the button. - [Edit screens and first steps](https://docs.faustine.ai/web-agents/guide-screens.md): Correct what the map run wrote about your app, turn screens off and read stale screens again. - [Guide behavior](https://docs.faustine.ai/web-agents/guide-behavior.md): The switches under Guide, Behavior: what each one does, its default and what it needs. - [Generative UI](https://docs.faustine.ai/web-agents/generative-ui.md): The components a Web Agent draws in a reply besides text, and the ways to give them the look of your app. - [Turn components on and off](https://docs.faustine.ai/web-agents/generative-ui-components.md): Choose which components a Web Agent can draw in a reply. - [Match the look of your app](https://docs.faustine.ai/web-agents/match-your-app.md): Give the components a Web Agent draws your app's font, corners, borders, shadows and buttons. - [Import your own components](https://docs.faustine.ai/web-agents/import-components.md): Use the cards your app draws for its records in the replies of a Web Agent. - [Design components with AI](https://docs.faustine.ai/web-agents/design-components-with-ai.md): Describe the look of a Web Agent's components in the Advanced editor and watch them change. - [Appearance](https://docs.faustine.ai/web-agents/appearance.md): How a Web Agent looks in your app: its colors, the widget, the launcher, the first lines and the voice bar. - [Presentations](https://docs.faustine.ai/web-agents/presentations.md): The six ways the open widget of a Web Agent sits on the page, and the options of the custom one. - [Choose a launcher and its position](https://docs.faustine.ai/web-agents/launchers.md): Choose what your users select to open a Web Agent, where it sits on the page and what it says. - [Build a custom widget](https://docs.faustine.ai/web-agents/custom-widget.md): Build a widget for Nimbus CRM that takes the app's font, corners and colors and sits beside its screens as a panel. - [Use your own launcher button](https://docs.faustine.ai/web-agents/custom-launcher.md): Hide the launcher of a Web Agent and open the agent from a button in your app. - [Set the greeting, placeholder and shortcut](https://docs.faustine.ai/web-agents/greeting-and-shortcut.md): Set the first lines a user reads in a Web Agent and how the widget opens. - [Voice](https://docs.faustine.ai/web-agents/voice.md): Let users talk to a Web Agent through a floating voice bar that shares one conversation with the chat. - [Turn on voice](https://docs.faustine.ai/web-agents/turn-on-voice.md): Turn on voice for a Web Agent and choose its bar, voice, language and greeting. - [Installation](https://docs.faustine.ai/web-agents/installation.md): The ways to put a Web Agent's widget on your site, and what the page loads from Faustine. - [Install with a script tag](https://docs.faustine.ai/web-agents/script-tag.md): Add a Web Agent to a site with one script tag, or with the loader and a call to Faustine.init. - [Install from npm](https://docs.faustine.ai/web-agents/npm.md): Add the @faustine-ai/web-agent loader to an app with a bundler and start the agent from your code. - [Install in Next.js](https://docs.faustine.ai/web-agents/install-in-nextjs.md): Mount a Web Agent in a Next.js app with the FaustineAgent component and sign the user's identity on the server. - [The Faustine adapter for Next.js](https://docs.faustine.ai/web-agents/nextjs-adapter.md): Two files in your Next.js repository that let a Web Agent call Server Actions and server-only data functions. - [Keep the adapter in sync](https://docs.faustine.ai/web-agents/sync-the-adapter.md): Update the adapter's registry after you add, rename or remove a Server Action, and gate the registry in CI. - [Let your agent call Server Actions](https://docs.faustine.ai/web-agents/call-server-actions.md): Install the Faustine adapter on a Next.js app and have the agent run a Server Action the browser cannot reach. - [Identity verification](https://docs.faustine.ai/web-agents/identity-verification.md): Tell a Web Agent which of your users it is talking to, with a token your backend signs. - [Verify your users with a signed token](https://docs.faustine.ai/web-agents/verify-users.md): Sign a token on your backend and pass it to the widget so the agent knows who the user is. - [Enforce verified identity](https://docs.faustine.ai/web-agents/enforce-verified-identity.md): Make a Web Agent ignore names and emails that do not come in a token signed by your backend. - [Versions, environments and deployments](https://docs.faustine.ai/web-agents/versions-and-environments.md): How a change to a Web Agent becomes a version, and how a version reaches the pages of each environment. - [Publish a version](https://docs.faustine.ai/web-agents/publish-a-version.md): Turn the draft of a Web Agent into a numbered version and serve it on the release target. - [Deploy a version to an environment](https://docs.faustine.ai/web-agents/deploy-a-version.md): Choose the version each environment of a Web Agent serves, add environments and move the release target. - [Roll back to an earlier version](https://docs.faustine.ai/web-agents/roll-back.md): Make an environment of a Web Agent serve an earlier version again. - [Restrict the domains that can load the agent](https://docs.faustine.ai/web-agents/restrict-domains.md): List the domains where a Web Agent is allowed to run, for each environment. - [Open a debug session](https://docs.faustine.ai/web-agents/debug-sessions.md): Connect a page of your app to the portal so that tests and single actions can run in it. - [Delete a Web Agent](https://docs.faustine.ai/web-agents/delete-a-web-agent.md): Remove a Web Agent with its versions, environments, knowledge files and tests. - [Tests](https://docs.faustine.ai/web-agents/tests.md): Generated test suites that run a Web Agent's actions inside your app, with a signed-in user's session. - [Generate and run a test suite](https://docs.faustine.ai/web-agents/run-a-test-suite.md): Create a test suite for a Web Agent's actions and run it in a page of your app. - [Read the logs](https://docs.faustine.ai/web-agents/logs.md): Find a conversation of a Web Agent and read what the user asked, what the agent ran and where it failed. - [Activity](https://docs.faustine.ai/web-agents/activity.md): The runs Faustine performed on a Web Agent, with the meaning of each kind and each status. ## APIs - [APIs](https://docs.faustine.ai/apis.md): An API in Faustine is the analyzed contract of your backend, the set of operations an AI agent can call. - [Analyze your first API](https://docs.faustine.ai/apis/analyze-your-first-api.md): Create an API from the Nimbus CRM backend, review its operations and test one against your running server. - [Create an API](https://docs.faustine.ai/apis/create-an-api.md): Use the New API wizard to analyze a REST API from a repository or a ZIP. - [Create a GraphQL API](https://docs.faustine.ai/apis/create-a-graphql-api.md): Analyze a GraphQL API from introspection of the live endpoint, a schema file or the repository. - [Create a gRPC API](https://docs.faustine.ai/apis/create-a-grpc-api.md): Analyze a gRPC API from server reflection, .proto files or the repository. - [Analyze an API made of several services](https://docs.faustine.ai/apis/several-services.md): Create one API from several REST services, each with its own code and public prefix. - [The analysis](https://docs.faustine.ai/apis/analysis.md): The analysis reads your backend's code or schema and writes its operations, schemas and sign-in into the API's draft. - [Keep the API up to date](https://docs.faustine.ai/apis/keep-up-to-date.md): Choose whether Faustine updates an API on every push, or only when you check for updates. - [Operations](https://docs.faustine.ai/apis/operations.md): An operation is one call an agent can make to your API, with a key, schemas, a kind and a confirmation flag. - [Review and test an operation](https://docs.faustine.ai/apis/test-an-operation.md): Read what the analysis wrote for an operation, correct it, and call it against a connection. - [Mark an operation as requiring confirmation](https://docs.faustine.ai/apis/require-confirmation.md): Set which operations of an API need a person to confirm each call. - [Recipes](https://docs.faustine.ai/apis/recipes.md): A recipe is an operation that makes several calls to your API in one step, written as a short script. - [Write your first recipe](https://docs.faustine.ai/apis/write-your-first-recipe.md): Add an operation to the Nimbus CRM API that creates a company and its first contact in one call. - [Import recipes from client code](https://docs.faustine.ai/apis/import-recipes.md): Have Faustine read an application that calls your API and propose its call sequences as recipes. - [Accept or reject a proposed recipe](https://docs.faustine.ai/apis/review-proposed-recipes.md): Decide which proposed recipes become operations of your API. - [Authentication](https://docs.faustine.ai/apis/authentication.md): How Faustine signs in to your API. The strategy is set once on the API and every connection uses it. - [Connections](https://docs.faustine.ai/apis/connections.md): A connection is one running deployment of an API, with its endpoint and the credential values Faustine uses to call it. - [Add a connection](https://docs.faustine.ai/apis/add-a-connection.md): Give an API the endpoint and credential values Faustine uses to call it, and test them before you save. - [Connect with an API key or static token](https://docs.faustine.ai/apis/connect-with-an-api-key.md): Store a key on each connection and have the gateway send it as a header, a query parameter or gRPC metadata. - [Connect with a bot user](https://docs.faustine.ai/apis/connect-with-a-bot-user.md): Have the gateway sign in at your API's login route with a dedicated user and reuse the token. - [Connect with an OAuth client](https://docs.faustine.ai/apis/connect-with-an-oauth-client.md): Have the gateway request a token from your identity provider with the client credentials grant and renew it. - [Pass the caller's credentials through](https://docs.faustine.ai/apis/pass-through-credentials.md): Store no credential and have the gateway forward the token each agent sends in X-Upstream-Authorization. - [Write a custom sign-in script](https://docs.faustine.ai/apis/custom-sign-in-script.md): Write the sign-in of an API as one JavaScript function when no form describes it, and test it against a connection. - [Generate and run API tests](https://docs.faustine.ai/apis/tests.md): Generate a suite that calls an API's operations against one of its connections, run it and read the result. - [Versions and updates](https://docs.faustine.ai/apis/versions.md): An API has one draft and a list of published versions. Gateways serve versions, and updates from the code create new ones. - [The AI editor](https://docs.faustine.ai/apis/ai-editor.md): A full-screen editor where you and Faustine AI change an API's draft, its operations, recipes, tests and docs. - [Delete an API](https://docs.faustine.ai/apis/delete-an-api.md): Remove an API with its operations, recipes, connections, versions and tests, once no gateway serves it. ## Agent Gateway - [Agent Gateway](https://docs.faustine.ai/agent-gateway.md): Serve the operations of your APIs to AI clients at one URL, over MCP and REST, with your own credentials and limits. - [Publish your API as an MCP server](https://docs.faustine.ai/agent-gateway/publish-your-api-as-an-mcp-server.md): Serve the Nimbus CRM API through a gateway, connect Claude, and approve the creation of a contact on a confirmation card. - [Concepts](https://docs.faustine.ai/agent-gateway/concepts.md): The terms Agent Gateway uses, the order a gateway is set up in, and where each setting lives. - [Create a gateway](https://docs.faustine.ai/agent-gateway/create-a-gateway.md): Create a gateway with the New Gateway wizard: who it is for, its APIs, its URL and a first credential. - [Add an API to a gateway](https://docs.faustine.ai/agent-gateway/add-an-api.md): Serve an analyzed API from a gateway: pick the version, the connections and how calls are routed. - [Choose which operations are exposed](https://docs.faustine.ai/agent-gateway/choose-operations.md): Expose or hide operations in a gateway environment, so clients see only what you want them to call. - [Routing: fixed, dynamic and fan-out](https://docs.faustine.ai/agent-gateway/routing.md): How a gateway picks the connection for a call when an API has more than one. - [Set gateway variables](https://docs.faustine.ai/agent-gateway/variables.md): Store values per environment that recipes read at run time as sdk.env.NAME. - [Pause a gateway](https://docs.faustine.ai/agent-gateway/pause-a-gateway.md): Stop a gateway from serving calls without deleting anything, and resume it later. - [Delete a gateway](https://docs.faustine.ai/agent-gateway/delete-a-gateway.md): Remove a gateway with its environments, API keys and users, or delete one of its environments. - [Create an API key](https://docs.faustine.ai/agent-gateway/api-keys.md): Create a key for an automation or your own code, and rotate or revoke it later. - [Create a gateway user](https://docs.faustine.ai/agent-gateway/gateway-users.md): Create a username and password that a person uses to sign in to a gateway from their AI client. - [Scope a key or user](https://docs.faustine.ai/agent-gateway/scope-a-credential.md): Limit an API key or gateway user to some operations, to reads only, or to some connections of an API. - [Serving modes: Code and Tools](https://docs.faustine.ai/agent-gateway/serving-modes.md): How a gateway presents its operations to an MCP client, as three tools that run scripts or as one tool per operation. - [Confirmation](https://docs.faustine.ai/agent-gateway/confirmation.md): How a gateway handles operations that require confirmation, and what the person using the client sees. - [Set how a credential confirms writes](https://docs.faustine.ai/agent-gateway/set-confirmation.md): Choose what an API key or gateway user does when its client calls an operation that requires confirmation. - [Repeated writes](https://docs.faustine.ai/agent-gateway/repeated-writes.md): When a client sends the same write twice inside a window, the gateway calls your API once and answers the second call itself. - [Limits and quotas](https://docs.faustine.ai/agent-gateway/limits.md): The rate, quota, concurrency and size limits of a gateway environment, their defaults, and what a refused call returns. - [Restrict access by IP address](https://docs.faustine.ai/agent-gateway/ip-restrictions.md): Allow or block the IP addresses and countries that can call a gateway environment or use one credential. - [Environments](https://docs.faustine.ai/agent-gateway/environments.md): A gateway environment has its own URL, served APIs, policies, credentials and logs. Every gateway starts with Production. - [Promote from one environment to another](https://docs.faustine.ai/agent-gateway/promote.md): Copy the configuration of one gateway environment onto another, after reviewing what changes in the target. - [Connect clients](https://docs.faustine.ai/agent-gateway/connect-clients.md): How AI clients, automations and your own code reach a gateway, and which credential each one uses. - [Customize the gateway docs page](https://docs.faustine.ai/agent-gateway/docs-page.md): Choose who can read a gateway's API reference, how it looks, what its overview says and which operations it lists. - [Set the look and feel of your gateway](https://docs.faustine.ai/agent-gateway/look-and-feel.md): Put your name, logo and color on the sign-in page and the confirmation card your gateway users see. - [Use a custom domain](https://docs.faustine.ai/agent-gateway/custom-domain.md): Serve every gateway of your workspace from a hostname of your own, with two DNS records and a certificate Faustine issues. - [Logs](https://docs.faustine.ai/agent-gateway/logs.md): See every request agents made through a gateway, with the calls it ran and each exchange with your API. - [Redact sensitive fields](https://docs.faustine.ai/agent-gateway/redact-sensitive-fields.md): Remove secrets and personal data from a gateway's logs before they are stored, with built-in detectors and your own rules. - [Set recording and retention](https://docs.faustine.ai/agent-gateway/retention.md): Choose what a gateway's logs record for each request and how long an environment keeps it. - [Log streams](https://docs.faustine.ai/agent-gateway/log-streams.md): Send the requests of a gateway environment to Datadog, Splunk, object storage, an OpenTelemetry backend or your own endpoint. - [Topology](https://docs.faustine.ai/agent-gateway/topology.md): A map of who calls what through a gateway, from the agent to the upstream connection, with calls and timings per hop. ## Apps - [Faustine Chat](https://docs.faustine.ai/apps/faustine-chat.md): A chat app for the people in your company, connected to your gateways and running on your own model provider. - [Set up Faustine Chat for your team](https://docs.faustine.ai/apps/set-up-faustine-chat.md): Turn on Faustine Chat for a gateway, create the first chat user and confirm an operation from the chat. - [Add and manage chat users](https://docs.faustine.ai/apps/chat-users.md): Create the usernames and passwords people use to sign in to Faustine Chat, and reset, sign out, disable or delete them. - [Give chat access to specific gateways](https://docs.faustine.ai/apps/chat-gateway-access.md): Choose the gateways and environment Faustine Chat serves, how they are served, and what each chat user reaches. - [Add knowledge and skills to Faustine Chat](https://docs.faustine.ai/apps/chat-knowledge-and-skills.md): Upload the documents the assistant searches before it answers, and edit the skill that describes each gateway. - [Write the prompt and custom instructions](https://docs.faustine.ai/apps/chat-prompt.md): Describe who uses Faustine Chat, write the rules the assistant follows for every user and turn web search on or off. - [Read Faustine Chat logs and usage](https://docs.faustine.ai/apps/chat-logs-and-usage.md): See the conversations and errors of your chat users, and the tokens and estimated cost of Faustine Chat. - [Faustine CLI](https://docs.faustine.ai/apps/cli.md): A command-line client that signs in to a gateway, lists its operations and calls them from a shell, a script or a coding agent. - [Install the CLI and sign in](https://docs.faustine.ai/apps/cli-install.md): Install the faustine command, sign in to a gateway and list the operations you can call. - [Call an operation from the CLI](https://docs.faustine.ai/apps/cli-call-an-operation.md): Find an operation with faustine ops, read its inputs with faustine help and run it with faustine call. - [Use the CLI from a coding agent](https://docs.faustine.ai/apps/cli-coding-agents.md): Give a coding agent or a CI job access to a gateway through the faustine command, with an API key in the environment. ## Workspace - [Model providers](https://docs.faustine.ai/workspace/model-providers.md): The model provider is the AI account your workspace runs on. Faustine calls it for analysis, the Advanced editor, updates and chat. - [Choose an embeddings provider](https://docs.faustine.ai/workspace/embeddings.md): Set the embeddings model that document uploads and knowledge search run on. - [Switch model provider](https://docs.faustine.ai/workspace/switch-provider.md): Move the workspace from one model provider to another and know what the switch discards. - [Invite people to your workspace](https://docs.faustine.ai/workspace/invite-people.md): Invite teammates by email. Each person gets a single-use link bound to their address, valid for 7 days. - [Remove a member or revoke an invitation](https://docs.faustine.ai/workspace/manage-members.md): Remove people from the workspace, resend an invitation, copy a new link or revoke it. - [Work in more than one workspace](https://docs.faustine.ai/workspace/workspaces.md): One Faustine account can belong to several workspaces. Switch between them from the sidebar. - [Choose who gets workspace notifications](https://docs.faustine.ai/workspace/notifications.md): Pick which events email your team and which members receive each one. - [Billing](https://docs.faustine.ai/workspace/billing.md): What Faustine charges a workspace for, where to manage the subscription and what happens when a payment fails. - [Usage](https://docs.faustine.ai/workspace/usage.md): See the tokens every AI feature of the workspace consumed, by feature and by model, with an estimated cost. - [Monitoring](https://docs.faustine.ai/workspace/monitoring.md): One page for what Faustine did, what users and agents did, and what went wrong, across the whole workspace. - [Change your profile and password](https://docs.faustine.ai/workspace/profile.md): Change your name, avatar and password, and mute a workspace's notification emails for yourself. - [Turn on two-factor authentication](https://docs.faustine.ai/workspace/two-factor-authentication.md): Add a code from an authenticator app to your password at every sign-in, and keep recovery codes for when you lose the phone. - [Sign in with a recovery code](https://docs.faustine.ai/workspace/sign-in-with-a-recovery-code.md): Use one of your saved recovery codes at sign-in when you do not have your authenticator app. ## Guides - [Take a Web Agent to production](https://docs.faustine.ai/guides/web-agent-to-production.md): What to set up between an agent that works on your machine and one that runs for your users. - [Give your team's AI clients access to an internal API](https://docs.faustine.ai/guides/internal-api-for-ai-clients.md): Publish an internal API to the AI clients your team uses, with a user for each person and a record of every call. ## Technologies - [React quickstart](https://docs.faustine.ai/technologies/react.md): Add a Web Agent to a React app with the npm loader and identify the signed-in user. - [Vue quickstart](https://docs.faustine.ai/technologies/vue.md): Add a Web Agent to a Vue 3 app with the npm loader and identify the signed-in user from a composable. - [Angular quickstart](https://docs.faustine.ai/technologies/angular.md): Add a Web Agent to an Angular app with a service and an app initializer, and identify the signed-in user. - [Svelte quickstart](https://docs.faustine.ai/technologies/svelte.md): Add a Web Agent to a Svelte 5 app with the npm loader and identify the signed-in user. - [Plain HTML and other single-page apps](https://docs.faustine.ai/technologies/html.md): Add a Web Agent to a site with a script tag, or to a SolidJS, Preact or Alpine.js app. - [Next.js (App Router) quickstart](https://docs.faustine.ai/technologies/nextjs-app-router.md): Add a Web Agent to a Next.js App Router app and sign the user's identity in the root layout. - [Next.js (Pages Router) quickstart](https://docs.faustine.ai/technologies/nextjs-pages-router.md): Add a Web Agent to a Next.js Pages Router app and sign the user's identity in an API route. - [Next.js on Faustine](https://docs.faustine.ai/technologies/nextjs.md): What the analysis, the agent's actions, navigation and identity do in a Next.js app, for the App Router and the Pages Router. - [REST and OpenAPI](https://docs.faustine.ai/technologies/rest-openapi.md): How Faustine analyzes a REST API from its code and an optional OpenAPI document, and how a gateway calls it. - [GraphQL](https://docs.faustine.ai/technologies/graphql.md): How Faustine turns a GraphQL schema into operations, from introspection, an SDL file or the code, and how a gateway calls them. - [gRPC](https://docs.faustine.ai/technologies/grpc.md): How Faustine turns gRPC services into operations, from server reflection or .proto files, and how a gateway calls them. - [API frameworks](https://docs.faustine.ai/technologies/api-frameworks.md): The backend frameworks the New API wizard lists, by language and by the protocols each one is offered for. - [Connect an API that uses Microsoft Entra ID](https://docs.faustine.ai/technologies/entra-id.md): Register a client for Faustine in Microsoft Entra ID and enter its values in the API's OAuth client authentication. - [Connect an API that uses Auth0](https://docs.faustine.ai/technologies/auth0.md): Create a machine-to-machine application for Faustine in Auth0 and enter its values in the API's OAuth client authentication. - [Connect an API that uses Okta](https://docs.faustine.ai/technologies/okta.md): Create a service application for Faustine in Okta and enter its values in the API's OAuth client authentication. - [Connect an API that uses Keycloak](https://docs.faustine.ai/technologies/keycloak.md): Create a confidential client for Faustine in your Keycloak realm and enter its values in the API's OAuth client authentication. - [Connect an API that uses Amazon Cognito](https://docs.faustine.ai/technologies/cognito.md): Create an app client for Faustine in your Cognito user pool and enter its values in the API's OAuth client authentication. - [Connect GitHub](https://docs.faustine.ai/technologies/github.md): Give Faustine read access to your GitHub repositories with the Faustine GitHub App or a personal access token. - [Connect GitLab](https://docs.faustine.ai/technologies/gitlab.md): Give Faustine access to your GitLab.com projects through OAuth, then pick the repository and branch to analyze. - [Connect Bitbucket](https://docs.faustine.ai/technologies/bitbucket.md): Give Faustine access to your Bitbucket Cloud repositories through OAuth, then pick the repository and branch to analyze. - [Connect Anthropic](https://docs.faustine.ai/technologies/anthropic.md): Run your workspace on your own Anthropic API key. - [Connect Amazon Bedrock](https://docs.faustine.ai/technologies/amazon-bedrock.md): Run your workspace on Claude models in your AWS account, with a Bedrock API key or an IAM keypair. - [Connect Azure AI Foundry](https://docs.faustine.ai/technologies/azure-ai-foundry.md): Run your workspace on Claude models deployed in your Azure AI Foundry resource. - [Connect LiteLLM](https://docs.faustine.ai/technologies/litellm.md): Run your workspace through your own LiteLLM gateway, for models and for embeddings. - [Connect Vercel AI Gateway](https://docs.faustine.ai/technologies/vercel-ai-gateway.md): Run your workspace on your Vercel team's AI Gateway key, for Claude and OpenAI models and for embeddings. - [Connect Claude Desktop and claude.ai](https://docs.faustine.ai/technologies/claude-desktop.md): Add a gateway to Claude Desktop or claude.ai as a custom connector and sign in with a gateway user. - [Connect Claude Code](https://docs.faustine.ai/technologies/claude-code.md): Register a gateway as an MCP server in Claude Code, with a gateway user or an API key. - [Connect ChatGPT](https://docs.faustine.ai/technologies/chatgpt.md): Add a gateway to ChatGPT as a custom connector with OAuth and sign in with a gateway user. - [Connect Cursor](https://docs.faustine.ai/technologies/cursor.md): Add a gateway to Cursor's mcp.json, with a gateway user or an API key. - [Connect VS Code and GitHub Copilot](https://docs.faustine.ai/technologies/vs-code.md): Add a gateway to .vscode/mcp.json and use its tools from Copilot Chat in agent mode. - [Connect n8n](https://docs.faustine.ai/technologies/n8n.md): Call a gateway from an n8n workflow, as tools of an AI Agent node or as one operation in an HTTP Request node. - [Connect the Claude Messages API and Managed Agents](https://docs.faustine.ai/technologies/claude-api.md): Let Claude call a gateway from your own code, through the MCP connector of the Messages API or a Managed Agent. - [Call a gateway over REST and OpenAPI](https://docs.faustine.ai/technologies/rest.md): Call a gateway's operations with plain HTTP and an API key, or import its OpenAPI document into any client. - [Stream logs to Datadog](https://docs.faustine.ai/technologies/datadog.md): Send the requests of a gateway environment to Datadog as logs, one per request. - [Stream logs to Splunk](https://docs.faustine.ai/technologies/splunk.md): Send the requests of a gateway environment to Splunk through the HTTP Event Collector. - [Stream logs to Grafana Cloud](https://docs.faustine.ai/technologies/grafana-cloud.md): Send the requests of a gateway environment to Grafana Cloud as traces over OTLP. - [Stream logs to Honeycomb](https://docs.faustine.ai/technologies/honeycomb.md): Send the requests of a gateway environment to Honeycomb as traces over OTLP. - [Stream logs to New Relic](https://docs.faustine.ai/technologies/new-relic.md): Send the requests of a gateway environment to New Relic as traces over OTLP. - [Stream logs to Amazon S3 and S3-compatible storage](https://docs.faustine.ai/technologies/s3.md): Write the requests of a gateway environment to a bucket as gzip NDJSON files, on Amazon S3, Spaces, R2, Google Cloud Storage or any S3 API. - [Stream logs to an OpenTelemetry collector](https://docs.faustine.ai/technologies/opentelemetry.md): Send the requests of a gateway environment as traces to any collector that accepts OTLP over HTTP. - [Stream logs to an HTTPS endpoint](https://docs.faustine.ai/technologies/https-endpoint.md): Receive the requests of a gateway environment as signed batches posted to your own endpoint. ## Packages - [@faustine-ai/web-agent](https://docs.faustine.ai/packages/web-agent.md): The npm package that loads a Web Agent's widget from your build, with a typed API to start it and identify the user. - [@faustine-ai/next](https://docs.faustine.ai/packages/next.md): The npm package for Web Agents in Next.js, with a component, server-side identity signing and the adapter for Server Actions. - [Agent skills](https://docs.faustine.ai/packages/agent-skills.md): Three skills that have your coding agent install a Web Agent in your app and keep the Next.js adapter in sync. - [@faustine-ai/browser-sandbox](https://docs.faustine.ai/packages/browser-sandbox.md): An open-source library that runs model-written JavaScript in the browser with no network, no DOM and no storage. - [@faustine-ai/cli](https://docs.faustine.ai/packages/cli.md): The npm package that installs the faustine command, a command-line client for your gateways. ## Reference - [JavaScript API](https://docs.faustine.ai/reference/javascript-api.md): The functions of the Web Agent loader, as window.Faustine and as the @faustine-ai/web-agent package. - [@faustine-ai/next reference](https://docs.faustine.ai/reference/next-package.md): The component, the identity helper, the registry, the route handler and the config wrapper of @faustine-ai/next 0.1.5. - [faustine-next CLI](https://docs.faustine.ai/reference/faustine-next-cli.md): The init, sync and doctor commands of faustine-next, the generator of the Faustine adapter for Next.js, with flags and exit codes. - [faustine CLI](https://docs.faustine.ai/reference/faustine-cli.md): Commands, options, environment variables, error codes and exit codes of the faustine command, version 0.2.2. - [Gateway HTTP](https://docs.faustine.ai/reference/gateway-http.md): The URLs a gateway serves, how a request authenticates, the REST request and response shape, and every error code. - [Limits](https://docs.faustine.ai/reference/limits.md): The size, time and count limits that Faustine enforces, by area, with the value of each. - [Glossary](https://docs.faustine.ai/reference/glossary.md): The terms used in the Faustine portal and in these docs, one line each, in alphabetical order. ## Related - [Browser Sandbox](https://browser-sandbox.faustine.ai/llms.txt): the documentation of @faustine-ai/browser-sandbox