# Jun - [Introduction](https://docs.jun.so/index.md): Jun is an open-source, AI-first support desk for B2B SaaS that runs entirely in your own Cloudflare account. - [Quickstart](https://docs.jun.so/quickstart.md): Go from the Deploy button to a working desk and your first chat in a few minutes. - [How it works](https://docs.jun.so/how-it-works.md): The Cloudflare pieces behind one desk, and how a visitor's message becomes an AI reply or a handoff. - [Get started checklist](https://docs.jun.so/get-started-checklist.md): The six setup steps the desk walks you through after setup, and how each one ticks itself off. - [Deploy to Cloudflare](https://docs.jun.so/deploy/cloudflare.md): Deploy Jun with the Deploy button or from the command line, and what each route creates in your account. - [First sign-in](https://docs.jun.so/deploy/first-sign-in.md): Create the owner account with your setup token, manage passkeys, recover access and sign out. - [Custom domain](https://docs.jun.so/deploy/custom-domain.md): Serve your desk from your own hostname, and what changes for passkeys, the widget snippet and your team. - [Upgrade](https://docs.jun.so/deploy/upgrade.md): Each Jun release arrives in your copy as a pull request; merging deploys it, with database migrations applied first. - [Costs and limits](https://docs.jun.so/deploy/costs-and-limits.md): What Jun costs to run on Cloudflare, which plan limits matter, and the limits the desk sets itself. - [Local development](https://docs.jun.so/deploy/local-development.md): Run Jun on your machine, run the tests, and find your way around the code. - [Install the widget](https://docs.jun.so/widget/install.md): Add the one-line loader to your site, check that it works, and limit which websites can use your widget key. - [Modes](https://docs.jun.so/widget/launchers.md): Choose how the widget sits on your site, as the island at the bottom centre or as a chat window that opens from the corner. - [Appearance](https://docs.jun.so/widget/appearance.md): Every option on the Appearance page, the live preview, and the parts of the widget that react to your hours, your team and resolved chats. - [Identify signed-in users](https://docs.jun.so/widget/identify-users.md): Prove who your signed-in customer is with a short-lived HS256 token, so agents see a verified contact and the AI can act on their own account. - [Consent and privacy](https://docs.jun.so/widget/consent-and-privacy.md): What the widget stores and sends, how consent mode holds it back until a visitor agrees, and what is never captured. - [Debug context](https://docs.jun.so/widget/debug-context.md): What the widget notices in the visitor's browser, how it's masked, and how your agents and the AI use it to answer "it doesn't work". - [Page actions](https://docs.jun.so/widget/page-actions.md): Let the AI do things on your page for the visitor, through WebMCP tools your page registers, with confirmation, undo and step-by-step runs. - [Page control](https://docs.jun.so/widget/page-control.md): Let the AI read the visitor's page and click, type, choose and scroll on it, without registering actions. One switch on the desk. - [Intents](https://docs.jun.so/widget/intents.md): Open the chat from your app for a specific purpose, like cancelling a subscription, with a fixed opening, quick replies, a task the AI follows, and an exit button that's always on screen. - [JavaScript API](https://docs.jun.so/widget/javascript-api.md): Every method on window.JunDesk, the snippet's attributes, and the events the loader fires on your page. - [Models and AI settings](https://docs.jun.so/ai/models.md): Turn the AI on, pick where its replies come from, choose models per job and cap its monthly replies in Settings → AI. - [Knowledge](https://docs.jun.so/ai/knowledge.md): Give the AI your docs site, files and text snippets to answer from, see exactly what it indexed, and test what it would find. - [Instructions](https://docs.jun.so/ai/instructions.md): Tell the AI how to talk to customers and when to hand a chat to your team, then save it as a new version. - [Tasks](https://docs.jun.so/ai/tasks.md): Teach the AI one job from start to finish, like a refund or a plan change: when it applies, the steps, and the actions it uses. - [Actions](https://docs.jun.so/ai/actions.md): Let the AI look things up and make changes in your own systems with HTTP requests, set up from a curl command and tried before they go live. - [Widgets](https://docs.jun.so/ai/widgets.md): Show an action's result to the customer as a card, in OpenAI's ChatKit widget format, with buttons that run your actions. - [Tests](https://docs.jun.so/ai/tests.md): Write what a customer might say and what a good reply does, then run the tests on your unsaved changes before they go live. - [When the AI hands off](https://docs.jun.so/ai/handoff.md): Every reason a chat moves from the AI to your team, what the customer and your team see, and how to hand a chat back. - [The inbox](https://docs.jun.so/inbox/overview.md): Find, read and answer conversations, take over from the AI and hand back, resolve chats, and work from the keyboard. - [Notes and replies](https://docs.jun.so/inbox/notes-and-replies.md): Write internal notes and @mention teammates, answer faster with saved replies, and organise conversations with tags. - [Assignment](https://docs.jun.so/inbox/assignment.md): Give conversations an owner by hand, or let round robin hand each chat that needs a person to the next teammate online. - [Business hours](https://docs.jun.so/inbox/business-hours.md): Set when your team is around, the away message visitors get outside those hours, and what the widget shows. - [Notifications](https://docs.jun.so/inbox/notifications.md): Choose which events notify you, turn on push notifications per device, and set the desk's chime. - [Issues in GitHub and Linear](https://docs.jun.so/inbox/issues.md): Connect GitHub or Linear, then turn a conversation into an issue with steps to reproduce, failing requests and browser details, drafted by the AI and filed by you. - [Visitors](https://docs.jun.so/inbox/visitors.md): See who's on your site right now, where they are and what they're looking at, and start a chat with one of them. - [Dashboard and topics](https://docs.jun.so/inbox/reports.md): What every number on the Dashboard means, how the AI labels conversations with topics, and how to manage them. - [Team and settings](https://docs.jun.so/inbox/team.md): Run several websites from one desk with workspaces, invite teammates with single-use links, understand the owner, admin and agent roles, manage passkeys, and find your way around Settings. - [Agent as code](https://docs.jun.so/code/overview.md): The AI's rules, tasks, actions, widgets and tests are plain text files that you can edit on the desk or keep in git. - [jun CLI](https://docs.jun.so/code/cli.md): Reference for every jun command, flag, environment variable and file, for the agent config and for local ChatGPT development. - [Connect your AI (MCP)](https://docs.jun.so/code/mcp.md): Let Claude Code, Cursor, Codex or Claude Desktop change your support agent through the desk's MCP server. No checkout, no CLI. - [File format](https://docs.jun.so/code/files.md): Every file and key the desk accepts in an agent config, with the rules the checker applies. - [Run evals in CI](https://docs.jun.so/code/ci.md): Test every change to the agent config in pull requests with jun eval, and push it live when it merges. - [Widget options](https://docs.jun.so/reference/widget-options.md): Every attribute of the widget's script tag, what it changes, and what the loader loads from your desk. - [Secrets and settings](https://docs.jun.so/reference/secrets.md): Every Worker secret, variable and binding Jun reads, what it does, and how to set it. - [Security](https://docs.jun.so/reference/security.md): How Jun signs people in, protects keys and tokens, keeps customer data in your account, and what it sends elsewhere. - [Troubleshooting](https://docs.jun.so/reference/troubleshooting.md): Fixes for the problems people actually run into, from deploying and signing in to the widget, page actions, the AI and crawling. - [FAQ](https://docs.jun.so/reference/faq.md): Short answers about cost, data, AI providers, workspaces, mobile, languages, licensing and contributing. ## Optional - [GitHub](https://github.com/samarsheikh001/jun) - [Issues](https://github.com/samarsheikh001/jun/issues) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.