Build a knowledge base for your agents
Add approved text and website sources, group them into context packs, attach them to agents and campaigns, and test what the agent can actually retrieve.
An agent that only knows its persona will guess. The Knowledge tab is where you give it facts it is allowed to use on a call — pasted text or a website — and group them into packs you attach to specific agents and campaigns. Nothing here is automatic: a source is only searchable once it is in a pack the agent carries.
Before you start
Adding or removing sources needs the voice edit permission. Attaching packs to an agent needs an editable draft version.
Source
Pasted text or a website you control
Context pack
A source in no pack is unreachable
Attached
To an agent version, and optionally a campaign
Retrieved mid-call
Only if the search matches how the caller asked
Three things that hold knowledge, and which one wins
| What it holds | Authority | |
|---|---|---|
| Product playbook | The offer: FAQs, objections, pricing, claim rules | Authoritative. A campaign must pin a published product version |
| Context pack | Approved background the agent may search mid-call | Supporting. Context that is not supported by the product never becomes a claim |
| Agent persona | Who the agent is and how it talks | Style, not facts |
That ordering is deliberate. If a context source and the product playbook disagree about price, the playbook wins and the agent does not quote the source as a claim.
Add a text source
Open the Knowledge tab
Go to CRMVoice AgentsKnowledge, add a source, and choose the text type.
Write a Title
Required for text sources. This is how you will find it again in a list of forty.
Set the Language
A language code — the placeholder is en-US.
Paste into Approved context
The field says what it wants: Paste facts, FAQs, policies, or call guidance. Separate sections with blank lines. Blank lines are not cosmetic — they are how the text is chunked for retrieval.
Set the Authority
How authoritative this source is relative to the product playbook.
Tick the packs it belongs to
Optional here, but a source in no pack is a source no agent can reach.
Add a website source
Same flow, but you paste a Website URL — the placeholder is
https://www.example.com — and the Title becomes optional. Use this for
pages you control and keep current. A stale pricing page becomes a stale answer
on a live call.
Group sources into packs
A context pack is the unit you attach. Create one under Context packs:
| Setting | What it changes | Default |
|---|---|---|
| Pack name | The pack's display name, shown in the agent and campaign pickers. | — |
| Description | Shown beside the pack when you attach it. Write it for the person attaching, not for the agent. | — |
| Available to agents and campaigns | When off, the pack cannot be newly attached. Packs already attached show as unavailable rather than disappearing. | — |
Name packs after the campaign, not the content
Spring campaign brief tells you when to attach it. Pricing notes does not — and you will end up with three of them.
Source settings
| Setting | What it changes | Default |
|---|---|---|
| Title | The source name. Required for a text source, optional for a website. | — |
| Language | The source's language code. | en-US (placeholder) |
| Website URL | The page to ingest, for a website source. | — |
| Approved context | The literal approved text. Separate sections with blank lines. | — |
| Authority | How authoritative this source is relative to the product playbook. | — |
Attach packs to an agent and a campaign
Packs attach in two places and they stack:
- On the agent version, in the agent configuration. These travel with the agent everywhere it is used.
- On the campaign, under Campaign context packs. These are added after the agent's own packs, for knowledge that is true of this run only.
If you open an agent and see No context packs exist yet. Create one in the Context Library, then attach it here. — that is the message, not an error. Create the pack first.
Test what the agent can actually find
The What the agent knows panel runs a live retrieval search against your sources. The search placeholder is How much does a new website cost? — ask it the questions a real caller asks, not the questions your document answers.
Retrieval is not the same as having pasted it
A fact can be in the library and still not come back for the phrasing a caller uses. If the search does not surface it, the agent will not either. Rewrite the source in the caller's words rather than assuming the model will bridge the gap.
Products: the offer playbook
Products live on the Agents tab, behind the pill at the top: Voice AgentsAgentsProducts. They are versioned exactly like agents.
Switch the pill to Products
Then click New product. The name placeholder is Starter plan.
Fill the product playbook
FAQs, objections, pricing and the claim rules the agent must respect.
Save draft, then Publish…
A campaign cannot be approved against a draft product.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| The agent editor says no context packs exist | Sources exist but no pack has been created | Create a pack in the Context Library, then attach it |
| A pack shows as unavailable on an agent | Available to agents and campaigns was switched off after it was attached | Switch it back on, or attach a different pack |
| A fact is in the library but never used on calls | The source is in no pack, or retrieval does not match the caller's phrasing | Add it to an attached pack; test it in What the agent knows |
| The agent quotes a price the playbook contradicts | Context is supporting, not authoritative — but the source is misleading | Correct the source; keep pricing in the product playbook |
| A campaign will not approve with product version is not published | The pinned product is still a draft | Publish the product version and re-select it on the campaign |