N
NetWebMedia
AI-Powered Growth Agency
Premium Implementation Guide — 2026 Edition
Chatbot
Automation
Playbook
The complete system for 100% automated first contact: 50 intents, DIAL framework, BANT dialog trees, PACE sales scripts, QA scorecard, and multi-platform deployment specs.
DIAL Framework 50 Intent Library BANT Dialog Trees PACE Sales Scripts 20-Case QA Scorecard
Published: April 2026  |  Version 2.4 netwebmedia.com  |  hello@netwebmedia.com
Table of Contents
Strategy
1. Executive Summary3
2. The DIAL Framework4
Content
3. Intent Library (50 Intents)6
4. Lead Qualification — BANT Tree8
Sales & Service
5. Sales Scripts — PACE Framework11
6. Customer Service — 3-STRIKE System13
Technical
7. Platform Deployment Specs15
8. AI/NLP Integration17
Operations
9. Handoff Protocol19
10. QA Scorecard — 20 Test Cases21
11. KPI Dashboard23
How to use this playbook: Section 2 (DIAL) is your strategic foundation — read it first. Section 3 (Intent Library) is your build checklist. Sections 4–6 are copy-paste scripts. Sections 7–8 are for your technical team. Sections 9–11 are for ops and QA. All [VARIABLE] placeholders must be replaced with your specific data before deployment.
01
Strategy
Executive Summary — The Case for 100% Automated First Contact

The Shift Has Already Happened

By 2026, 67% of B2B buyers complete more than half their research before ever speaking to a salesperson. They don't want to wait. They don't want to fill out a form and wait three days. They want answers now, at 11PM, on their phone.

The businesses winning in this environment have one thing in common: their first contact is instant, intelligent, and consistent — regardless of hour, day, or agent availability. That first contact is a chatbot.

82%
of buyers want instant response
Source: HubSpot State of Sales 2026
3x
higher conversion vs. email forms
Conversational landing pages
73%
of Tier-1 support automated
Industry average with proper bot
$0.08
Cost per bot conversation
vs. $8–$12 per human chat

What "100% Automated First Contact" Actually Means

It does not mean replacing your team with a robot. It means:

  1. Every inquiry is captured immediately — no missed leads, no form-limbo, no "we'll get back to you."
  2. Every contact is qualified before a human touches it — your team only spends time on leads that meet criteria.
  3. Every Tier-1 service question is resolved without a ticket — escalation only happens when it truly needs to.

The Automation Maturity Model

LevelDescriptionAutomation %Tech Required
1 — ReactiveFAQ bot answers keywords, routes to human for everything else20–30%Rule-based chatbot platform
2 — GuidedBANT qualification, appointment booking, lead capture automated50–65%Flow builder + CRM webhook
3 — ConversationalAI understands free-text, handles complex queries, context-aware70–85%NLP/LLM layer + intent classifier
4 — AutonomousFull sales cycle, service resolution, proactive outreach — bot-led85–95%Fine-tuned LLM + RAG + full integrations

This playbook builds you to Level 3. Level 4 requires custom AI engineering work (contact NetWebMedia for architecture services).

What This Playbook Delivers

02
Strategy
The DIAL Framework — Detect, Intent, Answer, Loop

DIAL is the architecture behind every high-performing chatbot conversation. Apply it to every flow you build. If a conversation doesn't map to DIAL, it will eventually break.

D
Detect
Identify who the user is and what triggered the conversation. Use context signals: channel, referrer, time of day, CRM data if available.
User opens bot via WhatsApp ad → Detect: source=paid_ad, channel=whatsapp, time=evening → Apply: high-intent lead profile
I
Intent
Classify what the user wants. Don't assume — ask or infer from keywords, buttons clicked, and prior conversation context.
User types: "how much does it cost?" → Intent: PRICING_INQUIRY → Confidence: 0.94 → Route to: Pricing flow
A
Answer
Deliver the most useful response for this intent and user context. Personalize when possible. Always include a clear next step.
Context: lead from paid ad, evening → Don't list all prices → DO: "Our most popular plan for businesses like yours is $[X]/mo. Want to see if it fits your needs?" CTA: Yes / Tell me more
L
Loop
Every answer creates a new opportunity. After each response, the bot re-enters D-I-A and advances the conversation toward the goal.
User: "Yes, tell me more" → Detect: still in pricing inquiry → Intent: WANTS_DETAILS → Answer: Send case study + book call CTA → Loop again...

DIAL in Practice — Applied Examples

Example 1: First-Time Visitor (Web Widget)

DIAL StepBot LogicBot Output
DetectNew visitor, 0 prior sessions, landing on /pricing page— (internal signal)
IntentAssumed: PRICING_INTENT (page context)
AnswerProactive opening tied to page context"Hi there! Checking out our pricing? I can help you find the right fit in 2 minutes. What's the main thing you need help with?"
LoopUser clicks option → new Detect cycle beginsRoutes to appropriate qualification flow

Example 2: Returning Client (WhatsApp)

DIAL StepBot LogicBot Output
DetectPhone matches CRM: Active Client, plan=Pro, last contact=14 days
IntentUser says "I have a problem with my dashboard" → SUPPORT_INTENT
AnswerPersonalized + account-aware"Hi Sarah! I can see you're on the Pro plan. Let me pull up your dashboard status... Is the issue with [specific feature]?"
LoopNarrows issue → resolves or creates ticketReaches resolution without human in 73% of cases

Example 3: Angry Customer (Any Channel)

DIAL StepSignal DetectedBot Behavior
DetectSentiment analysis: negative (score <-0.6) OR keywords: "angry", "unacceptable", "refund NOW"Flag as HIGH_PRIORITY
IntentOverride normal intent flow → ESCALATION_INTENTSkip qualification
AnswerDe-escalation script (never defensive, never robotic)"I'm really sorry you're dealing with this — that's not the experience we want for you. I'm connecting you with a specialist right now. Hold on just a moment."
LoopHuman takes over — bot provides context summary to agentWarm handoff with full context
DIAL Design Rule
Every bot turn must advance toward ONE goal: qualification, resolution, or conversion. Any turn that doesn't advance the goal is friction. Audit your flows monthly for turns that generate no forward movement.
03
Content
Intent Library — 50 Intents by Category

Load these intents into your NLP platform (Dialogflow, Luis, Rasa, Voiceflow, or directly into your LLM system prompt). Each intent includes trigger phrases for training. Minimum 10 training utterances per intent is recommended; this library provides the canonical ones.

SALES INTENTS (15)
PRICING_INQUIRY"how much", "cost", "price", "rates", "plans"
DEMO_REQUEST"show me", "demo", "trial", "free test"
FEATURES_INQUIRY"what does it do", "features", "capabilities", "include"
COMPARISON_REQUEST"vs", "compare", "difference between", "better than"
CASE_STUDY_REQUEST"examples", "clients", "results", "case study", "proof"
PROPOSAL_REQUEST"send proposal", "quote", "custom offer", "package"
CONTRACT_INQUIRY"contract length", "commitment", "lock-in", "annual"
DISCOUNT_INQUIRY"discount", "deal", "promo", "special offer", "negotiate"
ONBOARDING_INQUIRY"how to start", "onboarding", "setup", "get started"
TIMELINE_INQUIRY"how long", "timeline", "when", "delivery time"
TEAM_INQUIRY"who will work on it", "team", "your people", "account manager"
ROI_INQUIRY"ROI", "return on investment", "what will I get", "worth it"
MEETING_REQUEST"book a call", "schedule", "meet", "speak to someone", "appointment"
OBJECTION_PRICE"too expensive", "can't afford", "over budget", "cheaper option"
OBJECTION_TIMING"not the right time", "maybe later", "not ready", "next quarter"
SERVICE INTENTS (15)
SUPPORT_GENERAL"help", "issue", "problem", "not working", "broken"
TICKET_CREATE"open ticket", "report a bug", "submit issue", "log this"
TICKET_STATUS"ticket status", "my ticket", "update on my issue", "#[ticket_id]"
BILLING_INQUIRY"invoice", "charge", "payment", "bill"
REFUND_REQUEST"refund", "money back", "charge dispute", "cancel & refund"
CANCEL_REQUEST"cancel", "stop service", "discontinue", "end my plan"
UPGRADE_REQUEST"upgrade", "higher plan", "more features", "bigger package"
DOWNGRADE_REQUEST"downgrade", "smaller plan", "reduce cost", "basic plan"
PASSWORD_RESET"forgot password", "can't login", "reset", "locked out"
ACCESS_ISSUE"can't access", "permission error", "no access", "blocked"
DATA_REQUEST"export data", "download my data", "data report", "my files"
ESCALATION_REQUEST"speak to manager", "escalate", "not satisfied", "supervisor"
SLA_INQUIRY"response time", "how long to fix", "SLA", "guaranteed time"
OUTAGE_REPORT"down", "outage", "not available", "site is down"
FEEDBACK_SUBMIT"feedback", "suggestion", "complaint", "love this", "hate this"
INFORMATION INTENTS (12)
ABOUT_COMPANY"who are you", "about you", "tell me about", "your company"
HOURS_INQUIRY"hours", "open", "when are you available", "schedule"
LOCATION_INQUIRY"where are you", "office", "location", "address"
CONTACT_REQUEST"email", "phone number", "how to reach", "contact info"
PRIVACY_INQUIRY"privacy policy", "my data", "GDPR", "data protection"
TERMS_INQUIRY"terms", "T&C", "agreement", "legal"
REFERRAL_INQUIRY"refer a friend", "partner program", "affiliate", "commission"
CAREERS_INQUIRY"job", "hiring", "career", "work with you", "openings"
MEDIA_INQUIRY"press", "media kit", "interview", "journalist"
INTEGRATION_INQUIRY"integrates with", "works with", "API", "Zapier", "HubSpot"
SECURITY_INQUIRY"secure", "safe", "encrypt", "ISO", "compliance"
KNOWLEDGE_BASE"tutorial", "guide", "how to", "documentation", "learn"
OPT-OUT / SYSTEM INTENTS (8)
STOP"stop", "unsubscribe", "opt out", "no more", "remove me"
PAUSE"pause", "not now", "later", "busy", "come back"
GREETING"hello", "hi", "hey", "hola", "good morning"
GOODBYE"bye", "thanks", "goodbye", "that's all", "done"
POSITIVE_RESPONSE"yes", "sure", "absolutely", "let's do it", "agree"
NEGATIVE_RESPONSE"no", "not interested", "pass", "no thanks"
FALLBACK[When confidence < 0.60 on all intents]
REPEAT_REQUEST"repeat", "what", "say that again", "didn't understand"
NLP Training Tip
Add at least 15 additional training utterances per intent before going live. Use real messages from your email support inbox as training data — they reflect actual user language far better than invented phrases. FALLBACK should trigger below 0.60 confidence and always offer a human option.
04
Content
Lead Qualification Flow — Full BANT Dialog Tree

This is the complete BANT qualification conversation tree. Use [USER:] lines as expected input patterns for intent detection. Use [BOT:] lines as your exact response copy. [SYSTEM:] lines are backend actions. Branch conditions are shown in italics.

ENTRY — User Makes First Contact

BOT — Opening Message
Hi there! 👋 I'm [BOT_NAME] from [COMPANY_NAME]. I can help you with: A) 🔍 Finding the right solution for your business B) 💬 Answering questions about our services C) 🛠️ Getting support for an existing account Which brings you here today?
USER — Sales path (selects A or types buying-related intent)
SYSTEM
Set user_intent = SALES. Tag CRM contact: intent_sales. Start BANT qualification flow.

BANT — Budget Discovery

BOT — B.1 (Budget Open)
Great! I'd love to help you find the perfect fit. To make sure I show you the right options, what's your ballpark budget for this? A) 💼 Under $500/month B) 📈 $500–$1,500/month C) 🚀 $1,500–$5,000/month D) 🏢 $5,000+/month E) 🤔 I'm not sure yet
USER — Selects A
BOT — B.2a (Low Budget Path)
No problem at all — we have a starter option at $[STARTER_PRICE]/month that covers [STARTER_BENEFITS]. Most businesses your size start there and upgrade as they grow. Before I show you more, what's the main challenge you're trying to solve? That helps me recommend the right fit.
USER — Selects B, C, or D
BOT — B.2b (Mid/High Budget Path)
Excellent — [BUDGET_RANGE] is a great fit for our [PRODUCT_TIER]. Before I show you details, one quick question: is this budget already approved, or does someone else need to sign off? A) ✅ I'm the decision-maker B) 👥 I share the decision with others C) 📋 I'm researching for my boss
USER — Selects E (not sure)
BOT — B.2c (Budget Unknown Path)
No worries — budget often gets confirmed during the process. Let's look at it from a value angle: what outcome would make this investment worthwhile for you? (e.g., more leads, time saved, revenue growth) That helps me show you what fits.

BANT — Authority Discovery

BOT — A.1 (Authority Check)
Got it. And just to make sure we cover everyone who matters in this decision — what's your role? A) 👔 Owner / Founder / CEO B) 📊 Director / VP / Manager C) 🔍 Evaluator (researching for others) D) 💻 Technical lead
USER — Selects C (Evaluator)
BOT — A.2 (Evaluator Path)
Totally understand — research phase is important. I can put together a decision-ready packet for you that includes: 📋 Executive summary (1 page) 📊 ROI calculator for your use case 🎥 5-minute demo video ⭐ 3 relevant client case studies Would that be helpful to share with your decision-maker? Reply YES or I'LL THINK ABOUT IT.
SYSTEM — Evaluator
Tag: authority_indirect. Add to nurture sequence. Send decision packet if YES. Lower lead score by 20 points.

BANT — Needs Discovery

BOT — N.1 (Needs Open)
Now let's dig into the real reason you're here. What's the problem you most need to solve? Pick the one that keeps you up at night: 1️⃣ Not enough qualified leads coming in 2️⃣ My team wastes too much time on manual tasks 3️⃣ Losing deals to competitors 4️⃣ Can't track what's working in marketing 5️⃣ Struggling to scale without more headcount 6️⃣ Something else — I'll describe it
USER — Selects 1 (Lead Generation)
BOT — N.2a (Lead Gen Deep Dive)
Leads — the lifeblood. Let's get specific. How many qualified leads are you generating per month right now? A) Under 10 B) 10–50 C) 50–200 D) 200+ And what's your current main lead source?
USER — Selects 6 (Other)
BOT — N.2b (Open Needs)
Tell me more — what's the challenge in your own words? (Type a few sentences — I'll make sure I connect you with someone who has experience with exactly that.)
SYSTEM — Open needs
Store response as needs_verbatim. Flag for human review. Trigger AI analysis for intent classification.

BANT — Timeline Discovery

BOT — T.1 (Timeline Check)
Last question — and then I'll show you exactly what I'd recommend. When do you need a solution in place? A) ⚡ Urgently — we needed this yesterday B) 📅 Within 30 days C) 🗓️ Within 90 days D) 📆 6+ months — still in planning E) 🔍 Exploring with no deadline
SYSTEM — Scoring Logic
Score calculation: Budget A = 5pts | B = 15pts | C = 25pts | D = 30pts Authority decision-maker = 25pts | shared = 15pts | evaluator = 5pts Need = 1–5 specificity score × 5pts Timeline A/B = 30pts | C = 20pts | D = 10pts | E = 5pts THRESHOLD: >70pts = HOT (AE assigned) | 40–70pts = WARM (nurture) | <40pts = COLD (long nurture)

BANT — Summary & Next Step

BOT — Qualification Summary (HOT lead)
[FIRST_NAME], based on everything you've shared — you're an excellent fit for our [RECOMMENDED_PRODUCT]. Here's what I heard: ✅ Budget: [BUDGET_CONFIRMED] ✅ Decision: [AUTHORITY_LEVEL] ✅ Challenge: [NEED_SUMMARY] ✅ Timeline: [TIMELINE] I'm connecting you with [AE_NAME], our [TITLE], who specializes in exactly [NEED_AREA]. 📅 Available slots this week: → [SLOT_1] → [SLOT_2] → [SLOT_3] Reply with *1*, *2*, or *3* to confirm your slot. Or book directly: [BOOKING_LINK] [AE_NAME] will come prepared with a custom solution — no generic pitch.
BOT — WARM lead path
Thanks for sharing all of that, [FIRST_NAME]. You're on my radar — I'll have something tailored ready for you in [TIMEFRAME]. In the meantime, here's something I think you'll find valuable right now: [RELEVANT_RESOURCE_LINK] I'll follow up on [DATE]. If you'd like to move faster, just reply FAST TRACK and I'll make it happen. 🚀
05
Sales & Service
Sales Automation Scripts — PACE Framework + Objection Trees

PACE is the framework for moving a prospect from "interested" to "committed." Each step has exact bot copy and branch logic for the most common objections.

P
Problem
Confirm and amplify the pain. Make the cost of inaction real and personal.
A
Agitate
Show what happens if they don't solve it. Use data, missed revenue, competitor growth.
C
Connect
Introduce your solution as the bridge between current pain and desired outcome.
E
Execute
Make it easy to say yes. Remove risk. Provide a clear, low-friction next step.

PACE Scripts — Full Bot Conversation

BOT — P: Problem Confirmation
[FIRST_NAME], earlier you mentioned [STATED_PROBLEM]. I want to make sure I understand it fully. What does that actually cost you today? Thinking about it in terms of: 💸 Revenue you're leaving on the table: ___ ⏰ Hours per week spent on this: ___ 😤 Impact on your team/customers: ___ Just rough estimates — this helps me show you what solving it is actually worth.
USER — Shares impact (e.g. "about $5k/mo in lost deals, 10 hrs/week")
BOT — A: Agitate
So roughly $[IMPACT]/month — that's $[ANNUAL_IMPACT]/year. Here's what I see happen to businesses that let this continue: 📉 [COMPETITOR_OR_INDUSTRY] businesses that solve this typically outgrow those that don't by [X]% within 12 months. The scary part? It compounds. The longer [PROBLEM] persists, the harder it becomes to recover the gap. The good news: you've already identified it — that puts you ahead of 80% of businesses in your space. Here's what solving it looks like...
BOT — C: Connect
What [COMPANY_NAME] does for businesses like yours: ✅ [BENEFIT_1] → solves [PAIN_1] ✅ [BENEFIT_2] → solves [PAIN_2] ✅ [BENEFIT_3] → saves [TIME/MONEY] A client we worked with — [CLIENT_NAME] in [INDUSTRY] — was exactly where you are [TIMEFRAME] ago. [RESULT]: [SPECIFIC_METRIC] in [TIMEFRAME]. [SHORT_TESTIMONIAL_QUOTE] Does this sound like the kind of result you're after?
BOT — E: Execute (Close)
[FIRST_NAME], here's how to get started: 🎯 *[RECOMMENDED_PACKAGE]* at $[PRICE]/month ⏱ Onboarding in [DAYS] days 🔒 [GUARANTEE] — [GUARANTEE_DETAIL] To move forward: → Reply *START* and I'll send your welcome packet → Or reply *CALL* for a 30-min strategy call first If you want to start but need payment flexibility, reply *OPTIONS* and I'll show you what we can do. What works best for you?

Objection Handling Trees

Objection: "It's too expensive"

USER
"That's more than I expected / too expensive / out of budget"
BOT — Price Objection Response
I hear you — [PRICE] is a real number. Let me reframe it for a second. Based on what you shared — [PROBLEM_COST]/month in [PAIN] — this pays for itself in [PAYBACK_PERIOD] months. After that, you're ahead by $[NET_BENEFIT]/month. But if that's still a stretch right now, I have two options: A) 💳 *Split payments* — [PAYMENT_PLAN] B) 📦 *Starter package* — $[LOWER_PRICE]/month (includes [CORE_FEATURES]) C) ⏳ *Lock in today's pricing for 30 days* while you finalize budget Which of these works for your situation?

Objection: "I need to think about it"

USER
"Let me think about it / I need to discuss with my team / not sure yet"
BOT — Timing Objection Response
Of course — this is a real decision and I respect that. Quick honest question: is there a specific part of this that's giving you pause? Sometimes there's one thing blocking the decision that I can actually address right now. Is it: A) 💰 Budget needs approval B) 🤝 Need to loop in a colleague C) 🤔 Not 100% sure it'll solve my problem D) ⏰ Just not the right time Your answer helps me know how to best support you — not pressure you.

Objection: "We're using [Competitor]"

USER
"We already have [COMPETITOR] / we're happy with our current solution"
BOT — Competitor Objection Response
That makes sense — [COMPETITOR] is a solid choice for many businesses. Can I ask one quick thing? What made you start researching alternatives? Most businesses that are "happy" with their current solution still have 1–2 things they wish it did better. What's yours? (Even if you don't switch, that answer helps me — and might just prove I have nothing to offer you. Either outcome is fine.)
06
Sales & Service
Customer Service — The 3-STRIKE System

The 3-STRIKE system defines how the bot escalates customer service issues. Most issues are resolved at Strike 1. The system protects your team by ensuring human resources are reserved for cases that genuinely require them.

1
STRIKE 1 — Bot Resolution
  • Bot identifies issue via intent
  • Checks knowledge base for answer
  • Provides step-by-step resolution
  • Sends relevant documentation link
  • Asks: "Did that solve your issue?"
Resolves: ~65% of all service inquiries
2
STRIKE 2 — Guided Escalation
  • User says "No" or issue persists
  • Bot collects detailed information
  • Creates ticket automatically
  • Offers: callback, live chat queue, email
  • Sets SLA expectation clearly
Resolves: +20% (total 85%)
3
STRIKE 3 — Immediate Human
  • Anger detected OR 3 unresolved turns
  • Bot pauses completely
  • Warm transfer to human agent
  • Agent receives full context summary
  • Manager alerted if severity = HIGH
Final escalation: remaining 15%

Strike 1 — Bot Resolution Scripts

BOT — Strike 1 Generic Resolution
I can help with that right now! 🛠️ The most common solution for "[ISSUE_TYPE]" is: Step 1: [STEP_1] Step 2: [STEP_2] Step 3: [STEP_3] 📖 Full guide: [KNOWLEDGE_BASE_LINK] Did that solve your issue? A) ✅ Yes — all fixed! B) ❌ No — still having the problem C) 🤔 I need help with something different

Strike 2 — Ticket Creation Script

BOT — Strike 2 Ticket Creation
I'm sorry the first solution didn't work — let's get this properly logged and resolved. I'm creating a support ticket right now. A couple of quick questions: 1. Can you describe what you're seeing? (Error message, screenshot, or description) 2. When did this start happening? 3. What were you trying to do when it happened? (Reply with your answers and I'll have this to the right specialist immediately.)
SYSTEM — Strike 2
Collect answers → Create ticket → Assign to [SUPPORT_QUEUE] → Send confirmation with ticket # → Start SLA timer → Notify team via Slack #support-queue
BOT — Ticket Confirmed
✅ Ticket *#[TICKET_ID]* created. A [TEAM_NAME] specialist will contact you via [CHANNEL] within: • Standard: [STANDARD_SLA] • Urgent: Reply *URGENT* for [URGENT_SLA] • Billing: [BILLING_SLA] In the meantime, you can track your ticket at: [TICKET_PORTAL_URL] Is there anything else I can help you with while you wait?

Strike 3 — Immediate Escalation Script

BOT — Strike 3 (Anger or repeated failure detected)
I completely understand your frustration — this is not the experience we want for you, and I'm truly sorry. I'm stopping our automated chat and connecting you directly with a senior specialist who can resolve this personally. [AGENT_NAME] is being notified right now. You'll receive a message from them within [SLA] minutes. Your reference number: *#[TICKET_ID]* Thank you for your patience — we're taking this seriously. 🙏
SYSTEM — Strike 3
1. Set bot_active = FALSE for this conversation thread 2. Create P1 ticket tagged: ESCALATED, ANGER_DETECTED 3. Assign to: SENIOR_AGENT (on-call) 4. Send Slack DM to manager: "@[MANAGER] — Strike 3 escalation: contact=[NAME], issue=[SUMMARY], channel=[CHANNEL]" 5. Start 15-minute SLA countdown 6. Log full conversation to ticket thread

FAQ Resolution Library — Top 10 Issues

#IssueStrike 1 Bot ResolutionEscalate If...
1Can't log inSend password reset link → check email spam → clear browser cache guide2FA issue or account locked
2Invoice incorrectPull invoice from portal → review line items guide → billing FAQ linkDispute >$100 or recurring error
3Feature not workingKB article for that feature → known issues status page → browser/device checkConfirmed bug, affects all users
4Cancel requestRoute to RETENTION intent immediately → offer pause, downgrade, creditsUser says "final answer, cancel now"
5Refund requestState refund policy → check eligibility → initiate if within policyDispute over policy, amount >$500
6Data not syncingSync troubleshooting guide → re-authenticate → cache clearConfirmed API or webhook failure
7Want to upgradeShow upgrade options → pricing → handle objections → route to paymentCustom enterprise quote needed
8Access/permission errorRole explanation → self-serve admin guide → resend inviteAdmin account locked or org-wide issue
9Slow performanceStatus page link → browser test → known degradation noticeConfirmed outage
10Billing failurePayment FAQ → update card guide → retry payment linkPayment method repeatedly failing
07
Technical
Platform Deployment Specs — 5 Channels
  • Max message body: 1,024 chars
  • Button labels: max 20 chars each
  • Max 3 buttons per message
  • List messages: max 10 items
  • 24-hour session window for free-form
  • Template required outside window
  • No HTML or markdown in body
  • Supported: text, image, video, PDF, audio, location, contact, sticker
  • Quick replies expire after 24h
  • Language: template must match user locale
Web Widget
  • Full HTML/Markdown supported
  • No character limits (practical: <500)
  • Supports: images, carousels, forms
  • Custom CSS theming available
  • Cookie-based session persistence
  • Integrate with: Intercom, Tidio, Crisp, custom
  • GDPR banner required in EU
  • Mobile: test at 375px viewport
  • A11y: must support keyboard nav
  • Load time: widget JS <50KB ideal
Instagram DM
  • Max message: 1,000 chars
  • Generic template: 3 buttons max
  • Ice breaker: 4 questions max
  • 24h window for human-in-loop
  • Story replies: treat as new session
  • Supported: text, image, sticker, heart
  • No audio/video files via API
  • Persistent menu: max 3 items
  • Requires FB Page connected to IG
  • Age-gating may limit reach
Facebook Messenger
  • Max message: 2,000 chars
  • Quick replies: max 13
  • Buttons: max 3 per template
  • Carousel: max 10 cards
  • 24h + 1 messaging window
  • Tags for out-of-window messages
  • Persistent menu available
  • Supports: audio, video, file attachments
  • Handover protocol for human agents
  • Webhook: subscribe to messages + messaging_postbacks
SMS
  • Max 160 chars (GSM-7) per segment
  • Unicode reduces to 70 chars/segment
  • Concatenated: up to 1,600 chars (10 segments)
  • No rich media in standard SMS
  • MMS: image/video supported (US/CA)
  • Opt-in required: TCPA compliance (US)
  • STOP must be honored immediately
  • 10DLC registration required (US)
  • No buttons — keyword-driven only
  • Best for: reminders, alerts, notifications
Telegram (Optional)
  • Max message: 4,096 chars
  • Full Markdown/HTML supported
  • Inline keyboards: unlimited buttons
  • No session window restrictions
  • Webhook or polling supported
  • Supports: all media types
  • Bot API: free, no approval required
  • Group/channel broadcasting possible
  • Mini Apps: full web app in Telegram
  • Best for: developer/tech audiences

Cross-Platform Design Principles

08
Technical
AI/NLP Integration — System Prompt, Context, Fallback Logic

System Prompt Template (Claude/GPT/Gemini)

You are [BOT_NAME], the AI sales and service assistant for [COMPANY_NAME]. ## Identity - Company: [COMPANY_NAME] - Website: [WEBSITE_URL] - Industry: [INDUSTRY] - Tone: [e.g., "Professional but warm, direct, never pushy"] - Language: Respond in the same language as the user. Default: [DEFAULT_LANGUAGE] ## Your Role You handle first contact for all incoming conversations on [CHANNELS]. Your goals in priority order: 1. Resolve service issues without escalation (when possible) 2. Qualify leads using the BANT framework 3. Book discovery calls for qualified prospects 4. Capture contact info for follow-up ## What You Know - Services offered: [LIST_SERVICES] - Pricing: [PRICING_SUMMARY or "Do not discuss specific pricing — always say 'Let me have a specialist prepare a custom quote for you'"] - Business hours: [HOURS_AND_TIMEZONE] - Support email: [SUPPORT_EMAIL] - Booking link: [BOOKING_URL] ## Rules — What You MUST Do - Always greet the user by first name if known from CRM context - Always end with a clear next action (question or CTA) - Always offer a human option after 2 unresolved bot turns - Always honor STOP/UNSUBSCRIBE immediately — confirm and cease all outreach - Always respond within the channel's character limits (WhatsApp: 1,024 chars; SMS: 160 chars) ## Rules — What You MUST NOT Do - Do NOT make promises about pricing, timelines, or deliverables without checking with a human - Do NOT discuss competitors by name — redirect to our value - Do NOT collect payment information in chat - Do NOT engage with inappropriate, threatening, or off-topic content — redirect firmly and politely - Do NOT invent information — say "I'll find out and get back to you" if unsure ## Escalation Triggers — Immediately hand off to human: - User expresses anger (SENTIMENT_SCORE < -0.6) - User mentions: "lawyer", "legal action", "BBB", "fraud", "report you" - Bot cannot resolve after 3 attempts - User explicitly requests "human", "agent", "real person" - Billing dispute over $[THRESHOLD] ## Context You Receive per Message [USER_ID]: {{user_id}} [CRM_STATUS]: {{crm_status}} (e.g., New Lead, Active Client, Churned) [CHANNEL]: {{channel}} [CONVERSATION_HISTORY]: {{last_5_turns}} [CURRENT_INTENT]: {{classified_intent}} (confidence: {{confidence_score}}) Use this context to personalize every response. An Active Client asking a billing question should be addressed differently than a New Lead asking the same question.

Context Management Rules

Context TypeHow to Use ItMax Retention
User's nameUse in opening of every message, not every turn (avoid sounding robotic)Full session
Previous intentIf user returns to previous topic, acknowledge continuityLast 10 turns
CRM statusAdjust tone (prospects vs. paying clients), skip qualification if already qualifiedPull fresh per conversation
Conversation goalTrack progress toward goal (book call, resolve issue, capture lead)Full session
Unanswered questionsIf user asks multiple things, address all. Log unresolved ones for follow-upCurrent turn only

Fallback Logic Tree

IF intent_confidence < 0.60: → Trigger CLARIFICATION response: "Just to make sure I understand — are you asking about [OPTION_A] or [OPTION_B]?" → If user clarifies → re-classify → respond → If user says "neither" → open question: "Tell me more in your own words" IF 2 consecutive FALLBACK events: → Trigger HUMAN_OFFER: "I want to make sure you get the best help possible. Would you like to connect with a team member? A) Yes, connect me now B) No, let me try again" IF user selects "connect me now" OR 3 consecutive FALLBACK events: → Trigger HANDOFF_PROTOCOL (see Section 9) → Log conversation context for agent → Notify support channel FALLBACK response templates (rotate to avoid repetition): 1. "I want to make sure I answer exactly what you're asking. Could you rephrase that?" 2. "Let me make sure I get this right — what's the main thing you need help with?" 3. "That's outside my usual area! Let me connect you with someone who can help directly."
09
Operations
Handoff Protocol — Hard/Soft Triggers, Warm Transfer Scripts

Trigger Conditions

Trigger TypeConditionActionSLA
HARDsentiment_score < -0.6 (anger)Immediate bot pause + human alert + de-escalation script15 min
HARDKeywords: "lawyer", "sue", "BBB", "fraud", "report"Immediate human + manager notify + log conversation10 min
HARDUser explicitly says "human", "agent", "person"Immediate handoff, no further bot turns5 min (queue)
HARDBilling dispute > $[THRESHOLD] OR legal questionRoute to billing manager / legal team directly30 min
SOFT3 consecutive FALLBACK eventsOffer human option, proceed only if user declinesQueue-based
SOFTIntent: CANCEL or REFUND detectedRoute to retention specialist, not general support30 min
SOFTHOT lead (score >70) qualifies on BANTTrigger AE notification + offer immediate call5 min business hours
SOFTConversation duration >15 minutes, unresolvedProactively offer human: "I can connect you with a specialist if helpful"Next available

Warm Transfer Script — Bot to Agent

BOT — Warm Transfer Opening to User
[FIRST_NAME], I'm connecting you with [AGENT_NAME] right now. [AGENT_NAME] is our [TITLE] and specializes in exactly [RELEVANT_AREA]. I've already shared the context of our conversation so you won't need to repeat yourself. Typical wait: [WAIT_TIME] While you wait, is there anything else I can clarify or prepare for your conversation with [AGENT_NAME]?
SYSTEM — Context Packet sent to Agent
===== HANDOFF SUMMARY ===== Contact: [NAME] | [PHONE/EMAIL] | CRM Status: [STATUS] Channel: [CHANNEL] | Session Duration: [DURATION] Trigger: [TRIGGER_REASON] BANT Qualification: Budget: [BUDGET_RANGE] | Authority: [ROLE] Need: [NEED_SUMMARY] | Timeline: [TIMELINE] Lead Score: [SCORE]/100 Conversation Summary (last 5 turns): [TURN_1_SUMMARY] [TURN_2_SUMMARY] [TURN_3_SUMMARY] [TURN_4_SUMMARY] [TURN_5_SUMMARY] Unresolved Questions from User: - [UNANSWERED_Q_1] - [UNANSWERED_Q_2] Recommended Agent Action: [SUGGESTED_NEXT_STEP] Priority: [LOW / MEDIUM / HIGH / URGENT] ===========================
BOT — Agent Opening Line (copy for human agent to send)
Hi [FIRST_NAME]! I'm [AGENT_NAME] — [TITLE] at [COMPANY]. I've read through your conversation and I understand you're dealing with [SUMMARY_OF_ISSUE_OR_NEED]. Let me address this directly... [AGENT CONTINUES FROM CONTEXT PACKET — NO RE-INTRODUCTION NEEDED]

Post-Handoff Follow-up

ScenarioBot Follow-up (Timing)Message
Support ticket created, not resolvedT+24h if ticket still open"[FIRST_NAME], just checking — has [ISSUE] been resolved? Reply YES or reply STILL OPEN and I'll escalate immediately."
HOT lead handed to AET+2h if no AE contact loggedAlert AE via Slack: "@[AE_NAME] — HOT lead [NAME] has been waiting 2hrs. Score: [SCORE]. Please contact now: [PHONE]"
CSAT survey triggerT+4h after ticket resolved"Hi [FIRST_NAME]! Was your issue resolved to your satisfaction? Rate us: ⭐⭐⭐⭐⭐ or reply with your rating 1–5."
10
Operations
QA Scorecard — 20 Pre-Launch Test Cases

Run every test case before launching on any new channel. Log results in the table below. All 20 must PASS before go-live. Re-test after any major change to flows, intent library, or system prompt.

MODULE 1 — Intent Recognition (5 tests)

1
Basic intent recognition
Send "how much does it cost?" — Expected: PRICING_INQUIRY at >90% confidence
PASS / FAIL
2
Synonym intent recognition
Send "what do you charge?" and "rates?" — Same intent as above, still >85% confidence
PASS / FAIL
3
Multilingual intent
Send "¿cuánto cuesta?" — Expected: PRICING_INQUIRY + Spanish response triggered
PASS / FAIL
4
Low-confidence fallback
Send "banana elephant Tuesday" — Expected: FALLBACK triggered, human offer after 2nd failure
PASS / FAIL
5
Multi-intent handling
Send "I need pricing and also how do I cancel?" — Bot should address BOTH intents, not drop one
PASS / FAIL

MODULE 2 — BANT Flow (5 tests)

6
Full BANT completion — HOT lead
Complete full BANT with: Budget $2k, Decision-maker, Clear need, Timeline 30 days — Expected: HOT lead score >70, AE notified, booking offer triggered
PASS / FAIL
7
BANT — evaluator path
Select "researching for boss" in authority — Expected: decision packet offered, lead score reduced, nurture sequence enrolled
PASS / FAIL
8
BANT — user drops off mid-flow
Abandon BANT at N step — Expected: bot waits 2h, sends re-engagement nudge, captures partial data to CRM
PASS / FAIL
9
BANT — budget disqualification
Select lowest budget option below minimum — Expected: graceful disqualification, offer starter product or resource, no abrupt cutoff
PASS / FAIL
10
CRM data written correctly
Complete full BANT — check CRM: contact created, BANT fields populated, lead score logged, stage updated to "Qualified"
PASS / FAIL

MODULE 3 — Service & Escalation (5 tests)

11
Strike 1 resolution
Send "I can't log in" — Expected: password reset steps delivered, KB link included, satisfaction check asked
PASS / FAIL
12
Strike 2 ticket creation
Respond "No, still broken" after Strike 1 — Expected: detail collection, ticket created in helpdesk with correct fields, confirmation with ticket # sent
PASS / FAIL
13
Strike 3 anger escalation
Send "I am absolutely furious about this, this is unacceptable!" — Expected: bot pauses, de-escalation script fires, human alert sent <2 min
PASS / FAIL
14
Legal keyword escalation
Send "I'm going to contact my lawyer about this" — Expected: HARD trigger fires, manager alerted, conversation logged
PASS / FAIL
15
OPT-OUT compliance
Send "STOP" — Expected: confirmed opt-out message, contact removed from ALL marketing lists, "do_not_contact_wa" flag set in CRM — test immediately
PASS / FAIL

MODULE 4 — Edge Cases & Compliance (5 tests)

16
Returning customer recognition
Initiate conversation from a number already in CRM as "Active Client" — Expected: bot greets by name, skips cold intro, offers account-aware response
PASS / FAIL
17
Inappropriate content handling
Send offensive or off-topic content — Expected: firm but polite redirect, no engagement with content, offer relevant help
PASS / FAIL
18
AI hallucination guard
Ask bot about a service it doesn't offer — Expected: bot says "I'll find out" or "that's not something we offer currently" — NEVER invents an answer
PASS / FAIL
19
Message length compliance
Trigger the longest bot response in your flow — verify it's within channel character limits (WhatsApp: <1,024; SMS: <160 per segment)
PASS / FAIL
20
Load test — concurrent conversations
Simulate 50 concurrent conversations using test tool — verify: no message delays >3s, no duplicate responses, no cross-conversation data leakage
PASS / FAIL
Go-Live Gate
Tests 13, 14, 15, and 20 are hard blockers. Do not go live if any of these 4 fail. The rest can be temporarily mitigated with human monitoring, but escalation failures, OPT-OUT failures, and load test failures are safety-critical.
11
Operations
KPI Dashboard — 8 Metrics, Targets & Monthly Review
78%
Containment Rate
Target: >70%
Alert if <55% — review Strike system
4.2s
Avg Response Time
Target: <5 seconds
Alert if >10s — check infra/API
68%
Intent Match Rate
Target: >75%
Alert if <60% — retrain NLP
4.4/5
CSAT Score
Target: >4.0/5
Alert if <3.5 — full flow audit
18%
Lead-to-Qualified %
Target: >15%
Alert if <8% — BANT tuning
9.2%
Escalation Rate
Target: <15%
Alert if >25% — Strike 1 failing
$0.09
Cost per Conversation
Target: <$0.25
Alert if >$0.50 — model costs rising
62%
Session Completion Rate
Target: >55%
Alert if <40% — drop-off in flow

Metric Definitions & Measurement

KPIFormulaSourceCadence
Containment RateConversations resolved by bot / Total conversationsBot analytics + CRM handoff eventsWeekly
Avg Response TimeSum of (user_message_time – bot_reply_time) / message countPlatform API logs (p95 percentile)Daily
Intent Match RateMessages with confidence >0.75 / Total messages receivedNLP platform analyticsWeekly
CSAT ScoreSum of ratings / Number of ratings receivedPost-conversation survey (1–5 scale)Weekly
Lead-to-Qualified %BANT-qualified leads / Total leads who started BANT flowCRM pipeline — stage trackingWeekly
Escalation RateConversations handed to human / Total conversationsHandoff trigger logsDaily
Cost per Conversation(AI API cost + Platform cost) / Total conversationsAI provider billing + platform billingMonthly
Session Completion RateSessions that reach defined endpoint / Total sessions startedBot flow analytics — completion eventsWeekly

Monthly Review Cadence — 90-Minute Meeting Template

TimeAgenda ItemOwnerOutput
0:00–0:15KPI review — all 8 metrics vs. targets, RAG statusBot ManagerStatus slide
0:15–0:35Conversation audit — review 20 random escalated conversationsQA LeadIssue log
0:35–0:50Intent analysis — top 10 FALLBACK triggers from the monthNLP EngineerRetraining backlog
0:50–1:05CSAT analysis — lowest-rated conversations, pattern identificationCX LeadScript updates
1:05–1:20Action items — owners, deadlines, P1/P2/P3 priorityAllUpdated task board
1:20–1:30Next month planning — new intents, flow updates, A/B tests plannedBot ManagerSprint plan

Continuous Improvement Loop

  1. Weekly: Export top 20 FALLBACK messages. Add best ones as training utterances to appropriate intents. Minimum 5 new utterances per affected intent.
  2. Monthly: Run the full 20-case QA scorecard. Update failing test cases. Re-deploy and re-test before the next broadcast cycle.
  3. Quarterly: Full flow audit. Remove flows with <5% usage. Update case studies, pricing references, and team names in all bot scripts.
  4. Annually: Re-evaluate platform. Could a different BSP, NLP platform, or AI model improve containment rate by >10%? Commission a technical review.
The One Metric That Matters Most
If you can only track one thing, track Containment Rate. It captures everything: if intents work, containment is high. If scripts work, containment is high. If the 3-STRIKE system works, containment is high. A sustained containment rate >75% is the hallmark of a world-class chatbot. Below 60% is a system with serious design problems that no KPI dashboard will fix on its own.