How do I create an assistant?

An assistant is the persona, role, knowledge, and tool set powering one CMD+K widget. You create assistants in the dashboard, attach knowledge sources and MCP tools, and the widget loads its configuration at runtime — so changes go live without redeploying your site. The model is managed by CMD+K; there is nothing to pick.

Six-step setup

  1. Open the Assistants page. From the dashboard sidebar, open Assistants and click New assistant.
  2. Say what it will do. Choose 'Help visitors on my website' (public pages, anonymous visitors), 'Work inside my product' (signed-in users — visitor sign-in via JWT applies), or 'Start from scratch'.
  3. Pick a starting point. Templates pre-fill the assistant's role and tone for that audience. Everything stays editable later, or start blank.
  4. Name it and create. The name is shown in the widget header. Create opens the assistant's settings page.
  5. Set role & scope. On the Overview tab, write the Role (what the assistant is and does), an optional Topic scope, and an optional off-topic reply. This is the assistant's system prompt.
  6. Attach knowledge and actions, then install. Use the Knowledge and Actions tabs to attach sources and MCP tools, then copy the snippet from the Install tab into your site.

What each tab controls

  • Overview — Name, greeting and placeholder copy, Role & scope (the system prompt), and the activation agent for product assistants.
  • Style — Launcher type, colors, theme and position.
  • Knowledge — Which workspace knowledge sources this assistant searches.
  • Actions — Which MCP tools it can call — plus, on signed-in assistants, the tools each visitor connects themselves.
  • Advanced — Allowed origins, "ask before changing things" (visitor approval for write actions), close-button redirect, custom CSS.
  • Install — The script snippet, public vs. signed-in mode, visitor sign-in setup (signing secret or JWKS), and the install prompt for your AI coding tool.

About the model

You don't choose a model. CMD+K runs every assistant on a managed model tuned for multi-step tool use (currently Google's Gemini 3 Flash tier) and swaps it centrally as better options ship. Billing is per assistant turn in credits, so the model choice never changes your bill. Plans differ in included credits, assistants, and connections — see Plans & limits.

Role & scope tips

  • Lead with a one-sentence identity: "You are Acme's product assistant."
  • List 3–5 explicit dos and don'ts. LLMs follow short lists better than prose.
  • Reference your knowledge base: "Always cite sources from the Acme docs."
  • Mention tools by name when you want the assistant to prefer them.
  • Use Topic scope + off-topic reply to keep a page-specific assistant (pricing, onboarding) on task.

Test before going live

Use the in-dashboard preview to try real user questions. Watch for hallucinations, missing citations, or tools the assistant should have called but didn't — those usually mean the Role needs to mention the tool or knowledge source explicitly, or the source isn't attached on the Knowledge tab.

Next steps

FAQ

Can I run multiple assistants on one site?
Yes. Each <script data-cmdk-widget="..."> loads a different assistant. Use different routes, or open one programmatically with window.CommandK.open().
Which model does my assistant use — can I change it?
There is no model selector in the dashboard. Every assistant runs on the model CMD+K manages for widget chat (currently Google's Gemini 3 Flash tier); we upgrade it centrally as better options ship, and credits are charged per assistant turn regardless of model. If you have a compliance or quality reason to need a specific model, email support.
Does the length of my Role text cost extra?
No. Usage is counted in credits per assistant turn, not per token, so a longer Role or Topic scope doesn't change what you're billed. Keep it short anyway — models follow concise instructions better.
Where do system-prompt changes take effect?
Immediately. The widget reads its configuration when it opens, so a saved Role applies to the next new conversation without redeploying your site.