What makes a Knowledge Base topic complex?
A topic is considered complex if it does more than return static information. In practice, that usually means at least one of the following:- The agent triggers an action, such as sending an SMS, transferring a call, or routing to somewhere else in the project.
- The agent presents options and waits for the user to choose before proceeding.
- The agent must ask a clarifying question before it can act.
Before you write anything
Complex topics work best when you make some decisions and plan. Be clear on these points first:- What is the intended outcome of this topic? For example: the user receives a link by SMS, or is transferred to the front desk.
- What should happen if the user says no?
- What should happen if the user gives an answer you didn’t expect?
An example workflow for complex topics
Step 1: Retrieval
If a topic doesn’t retrieve reliably, nothing else matters. Retrieval depends most on three things, in this order:- Topic name
- Sample questions
- Content
Topic naming matters more than you think
The topic name is one of the strongest signals used to decide which content to surface. A good name should represent one specific user intent, for example:bill_request_previous_stay
Why this works:
- It represents a single, concrete intent.
- It distinguishes between similar scenarios (previous stay vs current or future).
- It mirrors how the request is interpreted internally.
- It reduces collisions with any other billing topics you may add as your knowledge base grows.
billinghelp_with_billmisc_billing
Step 2: Write sample questions like real users
Think of sample questions as training data. For complex topics, aim for variety. Include:- Direct commands
- Polite requests
- Incomplete phrasing
- Synonyms and alternate terminology
- Call-style filler language
- Can you send me my invoice
- I stayed last week and need a receipt
- Text me my bill
- I need a folio from my last stay
- Uh I need billing help
Step 3: Write Content like a call script
Content should sound natural when spoken out loud. As a rule, it should:- Lead with what happens next
- Ask one clear question
- Be short enough to say in a single breath
Core complex patterns (with examples)
The patterns below cover most real-world use cases. You can copy them directly and adapt the wording.Pattern 1: Offer SMS with fallback to handoff
Use when- The user needs a link, form, or written instructions.
bill_request_previous_stay
Content
- Consent is explicit
- Only two options are presented
- There is a clear fallback
Pattern 2: Conditional SMS (user chooses)
Use when- Multiple follow-ups are possible.
promotions_current
Content
Pattern 3: Direct handoff (no agent reply)
Use when- The agent should not attempt to resolve the request.
out_of_scope_spanish
Content
(leave empty)
Actions
- Immediately call
transfer_callwithtransfer_reason="SPANISH"
Pattern 4: Answer, then offer handoff
Use when- The agent can answer, but escalation may still be useful.
late_checkout
Content
Standard checkout is at 11 a.m. If you need to check out later than that, I can connect you with the front desk to see what’s available. Would you like me to do that?Actions
- If yes → handoff to front desk
- If no → end politely
Pattern 5: Clarify, then route
Use when- The intent is genuinely ambiguous.
reservation_change
Content
Are you looking to change an existing reservation, or make a new one?Actions
- If “change” → route to reservation modification
- If “new” → route to booking flow
- Ask one question only
- Do not stack clarifications
- Complete the flow immediately after the answer
Pattern 6: Info + action hybrid
Use when- The user needs context and a next step.
lifeline_program
Content
Lifeline is a government-sponsored program that provides qualifying customers with discounted phone or broadband service. I can text you more details, or connect you with a specialist. Which would you prefer?Actions
- SMS →
start_sms_flow - Handoff →
transfer_call
Pattern 7: Info-only (still complex in practice)
Use when- The information is static but sensitive or high-impact.
housekeeping_hours
Content
Housekeeping is available daily from 9 a.m. to 5 p.m. If you need service outside those hours, I can connect you with the front desk.Actions
- No automatic action
- Offer handoff only if asked
Writing Content that works in Call
Do- Use short sentences
- End with a single question
- Make one decision per turn
- Use paragraphs
- Include internal notes
- Ask multiple questions at once
Action design rules
- One primary outcome per turn
- Explicit consent before SMS
- A safe fallback for silence or confusion
- Prefer clarity over clever branching
Verification checklist
Retrieval- Topic triggers with at least 10 phrasing variations
- Consent is respected
- No looping
- Responses are listenable
- Users can interrupt naturally
- No dead ends
- Unexpected answers recover cleanly
- SMS failures route correctly
Why this often takes longer than expected
Teams usually struggle because they:- Overload a single topic with multiple intents
- Write perfect answers but weak retrieval
- Delay Call testing until late
- Lock retrieval first
- Keep topics single-purpose
- Test messy, real-world phrasing early
Resources
- Knowledge Base best practices (RAG and retrieval)
- FAQ troubleshooting
- Knowledge Base maintenance and governance

