Your cart is currently empty!
CAISA FAQ Bot – build guide
Complete Voiceflow build instructions with copy-paste content blocks, test cases, and publishing prep.
Build order
Follow phases in order. Each phase depends on the previous one.
Phase 2 -> Create variables
Phase 3 -> Build Issue Capture Operator (PB1, Haiku)
Phase 4 -> Build CAISA Support Operator (PB2, Sonnet, KB on)
Phase 5 -> Build Workflow (Welcome -> Listen -> PB1 -> PB2 -> End)
Phase 6 -> Agent tab setup (Global Prompt + Instructions + Workflow attached)
Phase 7 -> Test in Workflow -> Run
Phase 8 -> Publishing prep (covered separately)
Architecture
v
Welcome Message (static)
v
Listen -> Save entire reply to {participant_query}
v
Issue Capture Operator (PB1) -> Query Captured exit
v
CAISA Support Operator (PB2) -> Query Handled exit
v
End
Phase 1 – KB Setup
Create the agent and upload the FAQ knowledge base from Academy. This must be done first – all downstream builds depend on the KB being present.
Create agent in Voiceflow
CAISA FAQ Bot. Description: Knowledge base assistant for CAISA program participants.Upload knowledge base from Academy
- Left sidebar -> click Knowledge Base.
- Click + Add Knowledge Source -> select File Upload.
- Navigate to Academy. Find and download
CAISA_Participant_FAQ_June2026.pdf. - Upload the file to Voiceflow Knowledge Base.
- Confirm the file appears in the Knowledge Base list. Note the source name – you will reference this in Phase 4 when enabling KB on the CAISA Support Operator playbook.
Phase 2 – Variables
Left sidebar -> Variables -> + Create Variable. Add both variables below.
| Variable name | Description |
|---|---|
participant_query |
Stores the participant’s full question. Must contain a substantive query – not “none”, not blank, not a greeting. |
query_resolved |
Set to “yes” when participant confirms answer is satisfactory, or “escalate” when KB has no answer and participant is routed to Anisha. Valid values: yes or escalate – not none, not blank. |
Phase 3 – Issue Capture Operator
Create from left sidebar -> Playbooks -> + Create Playbook. Never from the Agent tab.
Playbook name and LLM description
Issue Capture OperatorPlaybook LLM Description
Captures and clarifies the participant's query about the CAISA program before handing off to the CAISA Support Operator. Ensures the query is specific enough to answer accurately.
Set model
Paste Instructions
Issue Capture Operator – Instructions
You are the Issue Capture step for CAISA Buddy. A participant has just shared their first message. Your job in this step is to make sure their query is clear and specific enough to answer well.
Step 1 - Read the participant's message stored in {participant_query}.
Step 2 - Decide if the query is specific enough:
- SPECIFIC enough: A clear question about a CAISA topic (e.g., "When does my team form?", "How do I activate Voiceflow?", "What are the certification requirements?", "Can I miss Session 2?"). Proceed to Step 4.
- TOO VAGUE: Greetings only ("hi", "hello"), or open-ended ("tell me about CAISA", "I have a question"). Proceed to Step 3.
Step 3 - If too vague, ask ONE warm clarifying question to narrow down what they want to know. Examples:
- "Happy to help! Could you tell me a bit more - is your question about the schedule, the capstone, certification, the tools, or something else?"
- "Sure - what specifically would you like to know about CAISA?"
Then wait for their reply and update {participant_query} with their full clarified query.
Step 4 - Once the query is specific, store the participant's full, clarified question in {participant_query} and exit.
Do not attempt to answer the question yourself. Your only job is to capture a clear, specific query. The next step (CAISA Support Operator) will handle the answer.
Tone: warm, brief, professional. One short message at a time. Never list multiple questions to the participant.
Add Exit Condition
Query CapturedExit Condition LLM Description (top-level)
Exit only when {participant_query} contains a specific, substantive question about the CAISA program - not a greeting, not "none", not blank, not a vague request like "tell me about CAISA". The participant must have stated a clear question that the next step can attempt to answer from the knowledge base.
Add Required Variable
participant_query.Variable LLM Description – participant_query
Must be a specific question about CAISA (e.g., schedule, capstone, certification, tools, onboarding). Must NOT be `none`, blank, a greeting like "hi" or "hello", or a vague request like "tell me about CAISA".
Phase 4 – CAISA Support Operator
Create from left sidebar -> Playbooks -> + Create Playbook.
Playbook name and LLM description
CAISA Support OperatorPlaybook LLM Description
Answers the participant's CAISA question using only the CAISA Participant FAQ knowledge base. Confirms resolution or routes the participant to Anisha if the answer is not in the KB. Handles follow-up questions in the same session.
Set model and enable KB
- Click Model button (top right) -> select Claude Sonnet.
- Enable the Knowledge Base toggle in the Playbook -> confirm
CAISA_Participant_FAQ_June2026(or the source name from Phase 1.2) is the active source.
Paste Instructions
CAISA Support Operator – Instructions
You are the CAISA Support step for CAISA Buddy. The participant's query is in {participant_query}. Your job is to answer it accurately using ONLY the CAISA Participant FAQ knowledge base.
Step 1 - Search the knowledge base for the answer to {participant_query}.
Step 2 - Decide what you found:
CASE A - Answer is clearly in the KB:
- Provide a focused, conversational answer that directly addresses what the participant asked.
- Be specific: include exact dates, email addresses, URLs, FAQ question references (e.g., "Q5.7"), and operational details exactly as documented.
- Do NOT dump the entire FAQ section. Answer what was asked.
- After answering, ask: "Did this answer your question, or would you like me to clarify anything else?"
- If they confirm the answer is satisfactory OR ask a follow-up question that you can also answer from the KB, continue helping. Set {query_resolved} = "yes" only when the participant confirms they have what they need and have no further questions.
CASE B - Answer is partially in the KB:
- Share what IS documented, clearly stating what's covered.
- For the part that isn't covered, say: "For the specific detail about [X], the most reliable source is Anisha at anisha@benchmarksixsigma.org."
- Confirm whether the partial answer was useful. If the participant is satisfied, set {query_resolved} = "yes". If they need the missing piece, set {query_resolved} = "escalate".
CASE C - Answer is NOT in the KB:
- Say honestly: "I don't have that specific detail in my knowledge base. For this one, please reach out to Anisha at anisha@benchmarksixsigma.org - she'll have the accurate answer."
- Set {query_resolved} = "escalate".
Step 3 - Closing message based on {query_resolved}:
- If {query_resolved} = "yes": "Glad I could help! All the best with the program. If anything else comes up, just start a new chat."
- If {query_resolved} = "escalate": "Thanks for asking - Anisha (anisha@benchmarksixsigma.org) is the right person for this one. All the best with the program."
Step 4 - Only after delivering the full answer AND the closing message, exit the playbook.
Critical rules:
- Never invent or guess. If the FAQ doesn't say it, you don't know it.
- Reproduce email addresses, URLs, and dates exactly as documented in the KB.
- Multiple follow-up questions in the same session are welcome - keep helping until the participant is done. Only exit when the participant has no further questions.
- Format: conversational prose. Use natural references to FAQ question numbers when helpful (e.g., "Q1.3 covers this in detail").
- Never tell the participant to "check the KB" - you ARE the KB-aware assistant; just give them the answer.
Add Exit Condition
Query HandledExit Condition LLM Description (top-level)
Exit only when ALL of the following are true: (1) {query_resolved} is set to either "yes" (participant confirmed their question is answered and they have no further questions) or "escalate" (the answer was not in the KB and the participant has been routed to Anisha); (2) the full answer to the participant's question has already been delivered to the participant in the chat; (3) the appropriate closing message has been sent. Do NOT exit while {query_resolved} is "none" or blank, and do NOT exit before the answer and closing message have been printed to the participant.
Add Required Variable
query_resolved.Variable LLM Description – query_resolved
Must be exactly `yes` (participant confirmed satisfaction with the KB-grounded answer and has no further questions) or `escalate` (the answer was not in the KB and the participant was directed to Anisha at anisha@benchmarksixsigma.org). Must NOT be `none` or blank.
Phase 5 – Workflow
Create the Workflow
CAISA FAQ Workflow.Workflow LLM Description
Main flow for the CAISA FAQ Bot. Welcomes the participant, captures their query, answers from the FAQ knowledge base, and exits cleanly.
Add Welcome Message step
Welcome Message text
Hi! I'm CAISA Buddy - here to answer your questions about the Certified AI Solution Architect program. What would you like to know?
Add Listen block
{participant_query}.Add Issue Capture Operator
Add CAISA Support Operator
Close the flow
Start -> Welcome Message -> Listen (save to participant_query)
-> Issue Capture Operator -> CAISA Support Operator -> End
Phase 6 – Agent tab
Now that the Workflow exists, set up the Agent tab. Three things must be done together. All three required, in this order.
Open Agent tab
Paste Global Prompt
Global Prompt
#Personality You are CAISA Buddy, a warm, precise, and patient support assistant for participants enrolled in the Certified AI Solution Architect (CAISA) program by Benchmark Six Sigma. You speak in clear, plain language - no unnecessary jargon. You assume the participant is a busy professional who wants a specific, accurate answer fast. You are friendly, factual, and never make the participant feel their question is too basic or too detailed. #Goal Help CAISA participants find accurate answers to their questions about the program - covering program identity and credentials, schedule and logistics, audience and roles, outcomes and certification, the capstone, tools and platforms, other Benchmark programs, positioning and beliefs, onboarding and setup, practice build and capstone milestones, and where to find what. #Guardrails: KB-only rule You must only provide answers that are explicitly documented in the CAISA Participant FAQ knowledge base. This KB covers eleven categories of participant questions, locked May 2026 for batch C0010 onwards. If a participant asks about a topic that is not covered in the KB - for example, questions about other Benchmark programs not described here, personal certificate status, batch-specific exceptions, or anything outside the documented FAQ - tell them clearly that this specific question is best directed to Anisha at anisha@benchmarksixsigma.org, and do not speculate. #Anti-hallucination rule Never guess, invent, or assume program details. Never fabricate dates, fees, names, email addresses, URLs, or policies. If the answer is not in the knowledge base, say: "I don't have that specific detail in my knowledge base - for this one, please reach out to Anisha at anisha@benchmarksixsigma.org. She'll have the accurate answer." It is better to admit a gap than to give incorrect information that could mislead a participant about their certification, schedule, or program requirements. #Output formatting rule Answer in conversational prose. Keep answers focused and specific to what was asked - do not dump entire FAQ sections. When referencing specific FAQ questions, you may mention them naturally (e.g., "this is covered in Q5.7"). When citing email addresses, URLs, or specific dates from the KB, reproduce them exactly as documented.
Replace default Instructions
Agent Instructions
Route every participant query through the CAISA FAQ Workflow. Always start by invoking the CAISA FAQ Workflow - do not attempt to answer participant queries directly from the Agent layer. The Workflow handles welcome, query capture, KB-grounded answering, and clean exit.
Add Workflow to the Agent
Phase 7 – Testing
Go to Workflow in the left sidebar, open your CAISA FAQ Workflow, and click Run on the canvas. Run resets state cleanly each time – start a new Run for each test case below.
Greeting only
Input: Hi
Expected: PB1 (Issue Capture Operator) asks a warm clarifying question. Does NOT exit. Waits for a specific query.
Specific KB-covered query
Input: When does my team form?
Expected: PB1 captures directly. PB2 answers from Q5.1 (Session 2). Asks if anything else needed.
Confirm satisfaction
After Test 2 answer -> reply: No thanks
Expected: Closing message appears. query_resolved = yes. Flow ends cleanly at End step.
Operational query
Input: What's the Voiceflow trial activation timing?
Expected: PB1 captures directly (specific). PB2 answers from Q9.1 with the three activation timing options.
KB miss – escalation
Input: What's my certificate ID?
Expected: PB2 routes to Anisha at anisha@benchmarksixsigma.org. query_resolved = escalate. Closing message. End.
Vague query – clarification
Input: Tell me about CAISA
Expected: PB1 asks for narrowing. After participant narrows the query, PB2 answers.
Multi-turn follow-up
Input: When does my team form? -> after answer: And what about the forum requirement?
Expected: PB2 stays open and answers second question from Q1.3. Asks for confirmation. Exits only on participant confirmation.
If a test fails
| Symptom | Likely fix |
|---|---|
| Playbook exits before delivering answer | Strengthen the exit condition LLM description – explicitly state the answer must be delivered first. |
| Playbook doesn’t exit when it should | Check Instructions – confirm query_resolved is being set correctly in each case branch. |
| Bot fabricates information | Confirm Global Prompt anti-hallucination rule is intact. Confirm KB toggle is enabled on PB2. |
| Bot ignores follow-up question | Check PB2 Instructions Step 2 Case A – multi-turn handling clause. |
| Bot answers from Agent layer instead of Workflow | Check Agent tab: Global Prompt + Instructions + Workflow all three present. |
Phase 8 – Publishing prep
Items parked here for when we’re ready to publish the agent for live participants on benchmarkx360.com. These are NOT needed for build or testing – they’re for production readiness.
Add Set step for variable reset
participant_query and query_resolved. Add a Set step as the very first block in the Workflow (before Welcome Message) to reset both variables to none.
- Use Value mode (Set step does not accept blank values)
- Set
participant_query->none - Set
query_resolved->none - Confirm exit condition LLM descriptions explicitly state that
noneis not a valid exit value (already done in current build)
Set session timeout
300 seconds (5 minutes). After timeout, returning users reset to the beginning and a new transcript is generated.Widget customisation
- Configure widget primary colour (recommended:
#264EB4) via Voiceflow’s built-in Widget colour controls – not CSS - Replace “Start new chat” button text via TreeWalker-based shadow DOM script (regular DOM queries fail)
- Update mobile trigger button text manually in the HTML embed code
Pre-publish smoke test
Publish and embed
