Getting started
Quickstart
Thirty minutes, five steps. At the end you'll have an agent that answers from your own documents and data, and you'll know how to check whether its answer was honest.
Do this with the app open in a second tab. Every step points at a real screen, and the fastest way to learn the platform is to click through it once end to end rather than read about it.
Before you start: one model provider
Nothing below runs without a model to run it on, and a fresh instance ships with none configured. Pick whichever applies to you:
| If you are | Do this | Where |
|---|---|---|
| Self-hosting | Set OPENROUTER_API_KEY in your environment file and restart. One key reaches most models, which is why it is the quickest start. | Install & deploy |
| Using an instance someone else runs | Connect your own provider credentials, or use the operator's shared key if they left one configured. | Integrations — Models & providers |
How to tell it worked
1. Talk to something that already works
Before building anything, run a finished example so you know what "working" looks like. Open Build → Agent Swarms and start from the Support Copilot template. It is the clearest one to learn from because it contains, already wired, most of what the rest of these docs describe:
- a router that classifies each request and sends it down one of three paths,
- knowledge-base retrieval with reranking and a citation check,
- an LLM judge that scores the draft answer for faithfulness,
- and a human approval gate that anything low-confidence or sensitive stops at.
It needs no setup: its retrieval node points at Sample · Notebook RAG Lab, a read-only knowledge base bundled with the platform and readable by every user. So the template answers real questions on a brand-new instance.
Run it with the question it ships with, which that sample base genuinely covers:
How does retrieval-augmented generation reduce hallucinations,
and when should I use it instead of fine-tuning?Then ask something the sample base plainly does not contain — "what is our refund window?" — and watch what it does with a question it cannot answer. That contrast is the whole subject of this platform: the first answer should carry citations, and the second should be a refusal rather than an invention.
2. Give the platform something to work with
An agent with no data is a chatbot. Two places give it substance, and they are not interchangeable:
- Knowledge Base — prose. Contracts, policies, manuals, scraped pages. Retrieved by meaning, quoted back with citations. Use it for questions like "what is our refund window?"
- Data Catalog — rows and columns. CSVs, spreadsheets, warehouse tables. Queried with SQL and counted exactly. Use it for "how many refunds did we issue in March?"
Why it works this way
Upload one small file to each. A ten-row CSV and a two-page PDF are enough to learn on.
If you have nothing to hand, save this as refunds.csv and upload it under Data → Data Catalog. It is deliberately small enough to check the agent's arithmetic by eye:
order_id,customer,region,refund_usd,refunded_on
1001,Acme,EMEA,120.00,2026-03-02
1002,Globex,AMER,45.50,2026-03-05
1003,Initech,EMEA,310.25,2026-03-11
1004,Umbrella,APAC,80.00,2026-03-14
1005,Acme,EMEA,15.75,2026-03-19
1006,Hooli,AMER,220.00,2026-04-02
1007,Globex,AMER,60.00,2026-04-08The check that teaches the most
3. Build the agent
Open Build → Agent Builder and create one. Fill in these fields and skip the rest for now:
- 1
Name and system prompt
Say who the agent is and what it must refuse. Be blunt: "You answer questions about our returns policy using only the provided sources. If the sources don't cover it, say so." A vague prompt is the second most common cause of a bad agent. - 2
Model
Pick any model your workspace allows. Start with a small, fast one — you are testing whether your wiring is right, not whether the model is clever. See Models & providers. - 3
Knowledge base
Attach the collection you just created. The agent can now retrieve from it. - 4
Tools
Enablesql_queryso it can read your table, andweb_searchif it should be allowed to look things up online. Enable only what this agent genuinely needs — see the note below.
Don't switch on every tool
A system prompt worth starting from. It is blunt about the two things that matter most — which source answers which kind of question, and what to do when neither does:
You answer questions about our returns and refunds using only the
sources available to you.
- For anything about policy or wording, search the knowledge base and
quote it. Do not paraphrase a policy from memory.
- For anything involving a count, a total or a date range, query the
refunds table with SQL. Never estimate a number from prose.
- If the sources do not cover the question, say so plainly and stop.
Do not fill the gap with general knowledge.
Always state which source you used.Why it works this way
4. Run it and read the sources
Open Build → Agent Chat, select your agent, and ask it something real.
Under the answer you'll see Sources, grouped by where the information came from — web links, knowledge base documents, the tables a query read, or an MCP tool. This is the fastest honesty check available: if you asked a data question and the sources show a document rather than a table, the agent answered from prose it half-remembered instead of counting.
Generate a document
The PPT, Word and Excel buttons under the composer turn a prompt plus your connected data into a real, editable Office file — a workbook with live formulas, a deck with native charts. Try "build a one-page summary of the table as a deck". Details in Agent Chat.
5. Read the trace
Open Traces & Logs and find the run you just made. The trace shows what actually happened, not what the agent claims happened: the fully resolved system prompt, every tool call with its arguments and result, tokens in and out, latency and cost.
When an agent misbehaves, the answer is almost always visible here — a tool that returned an error the model then papered over, a retrieval that came back empty, a prompt that didn't contain what you assumed it did. Reading traces is the single most useful habit this platform teaches. See Logs & traces.
If the first run doesn't work
Four failures account for most of them, and each looks like something else:
| What you see | Usually | Fix |
|---|---|---|
| Every message fails, or the model picker is empty | No provider configured, or a key that was rejected | Step 0 above — check OPENROUTER_API_KEY or your own credentials under Integrations |
| It answers, but with no sources | Nothing is attached, or nothing matched | Confirm the collection is attached to THIS agent, and that its documents finished processing |
| It answers a data question from a document | sql_query is off, or the table is not attached | Enable the tool and attach the table; the sources under the answer tell you which happened |
| A model you expected is missing | A model rule limits this user or group | Access control → Access → model rules |
Read the trace before changing anything
Where to go next
- Understand the vocabulary properly — Core concepts.
- Chain several agents together — Swarm Canvas.
- Put the agent on your own website — Web embedding.
- Stop it leaking things it shouldn't — Guardrails & PII.