Playbooks built by the world’s best operations teams

Playbooks built by the world’s best operations teams

Playbooks built by the world’s best operations teams

Write the logic once in natural language. Feather executes it across identity, access, devices, and more.

Write the logic once in natural language. Feather executes it across identity, access, devices, and more.

Healthcare Support Agent▣ voice▣ text

Symptom Triage / Nurse Line Routing

HealthcareTriageNursingPatient Support

Identity Verification

Say"Thank you for calling. I'm your Healthcare Support Agent. To get started, can I get your full name and date of birth?"

EHR.LookupPatient by patient.fullName and patient.dateOfBirth

  • Identity confirmed, record found CRM.OpenRecord symptom-intake
  • Identity confirmed but DOB mismatch — ask for patient.memberId EHR.LookupPatientById symptom-intake
  • Caller is a caregiver, not the patient — collect patient.caregiverName and relationship, then verify patient identity symptom-intake
  • Identity cannot be verified after two attempts CRM.FlagUnverified unverified-caller-triage

Symptom Intake

Say"I'm going to ask you a few questions about your symptoms so I can make sure you get the right care as quickly as possible. Please describe what you're experiencing today."

Collect patient.primarySymptom, patient.symptomDuration, and patient.symptomTrend.

Say"Are you currently taking any medications, or do you have any conditions I should know about — such as diabetes, heart disease, or a compromised immune system?"

Collect patient.currentMedications and patient.knownConditions.

  • Caller mentions chest pain, pressure, or tightness emergency-redirect
  • Caller mentions difficulty breathing or shortness of breath at rest emergency-redirect
  • Caller mentions sudden face drooping, arm weakness, or speech difficulty emergency-redirect
  • Caller mentions severe bleeding that won't stop or loss of consciousness emergency-redirect
  • Caller explicitly requests to speak with a nurse escalation-nurse-callback
  • Symptoms collected, no red-flag keywords detected triage-assessment

Emergency Redirect

Say"What you're describing could be a medical emergency. Please call 911 right now or have someone nearby call for you. Do not drive yourself. I will stay on the line with you while you do this."

CRM.CreateCase priority: critical, tagged emergency-redirect, linked to patient.memberId

NurseQueue.AlertOnCall with patient.primarySymptom and case.id

EHR.AddEncounterNote "Emergency redirect issued. Patient advised to call 911. Symptoms: patient.primarySymptom. Duration: patient.symptomDuration."

  • Caller confirms they are calling 911 or help is on the way emergency-documentation
  • Caller refuses to call 911 — document refusal, stay on the line, re-advise care-refusal
  • No response or line goes silent NurseQueue.AlertOnCall escalate immediately escalation-nurse-callback

Emergency Documentation

Say"Help is on the way. Stay as calm as you can, stay on the line if you're able, and unlock your door if someone can do that safely. We are documenting this call and your care team will be notified."

EHR.AddEncounterNote "Patient acknowledged emergency redirect. 911 advised. Case case.id created."

CRM.UpdateCase case.id status: emergency-dispatched

Triage Assessment

Agent
evaluate patient.primarySymptom, patient.symptomDuration, patient.symptomTrend, patient.currentMedications, and patient.knownConditions against triage protocols.
Goal:determine the appropriate care tier — self-care, nurse callback, urgent care within 4 hours, or emergency services — using validated clinical decision support.
Constraints:never downgrade a symptom set that includes high-risk modifiers (immunocompromised, anticoagulant use, age over 65 with fever, pediatric under 3 months with fever); always escalate to nurse if the protocol confidence score is below threshold; never advise the patient that symptoms are "nothing to worry about" without a completed protocol match.
Tools available:TriageEngine.EvaluateSymptoms, TriageEngine.GetProtocol, kb.schmitt-thompson-protocols, EHR.GetPatientRiskFlags
  • Triage engine returns tier: self-care tier_selfcare self-care-guidance
  • Triage engine returns tier: nurse callback tier_nurse escalation-nurse-callback
  • Triage engine returns tier: urgent care tier_urgent urgent-care-routing
  • Triage engine returns tier: emergency tier_emergency emergency-redirect
  • Triage engine lookup fails or confidence below threshold needs_review escalation-nurse-callback

Self-Care Guidance

kb.schmitt-thompson-protocols — retrieve home-care instructions matching triage.protocol

Say"Based on what you've described, this sounds like something you can manage safely at home. Here's what I'd recommend: triage.protocol. Please monitor your symptoms over the next 24 hours."
Say"If your symptoms worsen — especially if you develop a fever above 103°F, difficulty breathing, or you feel significantly worse — please call us back right away or go to your nearest urgent care."

EHR.AddEncounterNote "Triage complete. Tier: self-care. Protocol: triage.protocol. Guidance delivered. Symptoms: patient.primarySymptom. Duration: patient.symptomDuration."

CRM.UpdateCase case.id status: self-care-guidance-provided

  • Patient accepts guidance and has no further questions resolution
  • Patient is uncertain or wants a nurse to confirm escalation-nurse-callback
  • Patient refuses self-care recommendation care-refusal

Urgent Care Routing

Scheduling.FindNearestUrgentCare by patient.zip -> facility.nearest

Say"Based on your symptoms, I recommend you visit an urgent care center within the next 4 hours. The nearest in-network location to you is facility.nearest. Do you need directions or help finding another location?"
Say"Please do not delay — if at any point your symptoms feel significantly worse before you arrive, call 911 immediately."

EHR.AddEncounterNote "Triage complete. Tier: urgent care within 4 hours. Facility: facility.nearest. Symptoms: patient.primarySymptom. Protocol: triage.protocol."

CRM.UpdateCase case.id status: urgent-care-routed

SecureMessaging.SendSummary to patient.phone with facility address and care instructions

  • Patient confirms they will go resolution
  • Patient requests a different facility Scheduling.FindNearestUrgentCare alternate urgent-care-routing
  • Patient refuses urgent care recommendation care-refusal
  • Patient requests nurse confirmation before going escalation-nurse-callback

Escalation to Nurse Callback

NurseQueue.AddToCallbackQueue patient.memberId, patient.primarySymptom, patient.symptomDuration, patient.symptomTrend, patient.knownConditions, patient.currentMedications, triage.riskScore

NurseQueue.GetEta -> nurse.callbackEta

CRM.CreateCase priority: high, tagged nurse-callback, linked to patient.memberId

Say"I'm connecting you with one of our registered nurses who will call you back at patient.phone. Your estimated wait time is nurse.callbackEta. Please stay near your phone and call 911 immediately if your symptoms get significantly worse before then."

EHR.AddEncounterNote "Escalated to nurse callback queue. ETA: nurse.callbackEta. Symptoms: patient.primarySymptom. Risk score: triage.riskScore. Case: case.id."

SecureMessaging.SendSummary to patient.phone confirming callback and safety instructions

  • Nurse callback queued and patient is stable resolution
  • Patient's condition appears to be worsening during call emergency-redirect

Unverified Caller Triage

Say"I wasn't able to verify your identity in our system, but your health and safety are the priority. I'm going to collect your symptoms now and make sure a nurse follows up with you."

Collect patient.primarySymptom, patient.symptomDuration, patient.symptomTrend.

CRM.CreateCase priority: high, tagged unverified-caller, flagged for nurse review

NurseQueue.AddToCallbackQueue unverified, patient.primarySymptom, patient.symptomDuration, patient.phone

Say"I've flagged your case for a nurse to review and call you back. Can I confirm the best number to reach you?"

EHR.AddEncounterNote "Unverified caller. Symptoms collected for nurse review. Callback number: patient.phone."

  • Caller mentions any emergency symptom emergency-redirect
  • Case queued successfully resolution
  • Caller explicitly requests nurse immediately escalation-nurse-callback

Care Refusal

Say"I understand, and I respect your decision. I do want to make sure you have all the information — based on your symptoms, our recommendation is triage.tier level care. Delaying care in some situations can lead to symptoms becoming more serious."
Say"If you change your mind, please don't hesitate to call us back at any time, day or night. I'm going to note your preference in your record."

EHR.AddEncounterNote "Patient declined recommended care tier: triage.tier. Symptoms: patient.primarySymptom. Refusal documented per protocol. Case: case.id."

CRM.UpdateCase case.id status: care-refusal-documented

NurseQueue.AlertOnCall with refusal note and patient.memberId for awareness

  • Patient reconsiders and agrees to recommended care tier triage-assessment
  • Patient maintains refusal but accepts lower-acuity guidance self-care-guidance
  • Patient ends call resolution

Resolution

Say"Is there anything else I can help you with today? Please remember — if your symptoms change or worsen at any point, call us back right away or call 911 if it feels like an emergency. Take care."

EHR.AddEncounterNote "Encounter complete. Final routing: triage.tier. Case: case.id. Patient acknowledged next steps."

CRM.UpdateCase case.id status: resolved

SecureMessaging.SendSummary to patient.phone with encounter summary and care instructions

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ sms

Service Activation / New Line Setup

TelecomActivationNew LineSales

Identity Verification

Say"Welcome! I can help you get a new line activated today. First, I need to verify your account. Can I have your account holder name, account number, and PIN?"

CRM.LookupAccount using account.holder_name and account.id

CRM.VerifyPIN against account.pin

  • Identity verified on first or second attempt confirmed eligibility-check
  • Identity fails first attempt unconfirmed CRM.LogVerificationAttempt secondary-verification
  • Fraud flag raised on account fraud_flag escalation-fraud
  • Identity fails after two attempts verification_failed escalation-identity

Secondary Verification

Say"I wasn't able to verify with that PIN. Let me try a secondary check — can you confirm the billing address on the account and the last four digits of the payment method on file?"

CRM.VerifySecondaryIdentity using account.billing_address and account.payment_method

  • Secondary verification passes confirmed eligibility-check
  • Secondary verification fails unconfirmed escalation-identity

Eligibility Check

Say"Great, I've verified your identity. Let me check if your account is eligible to add a new line."

BillingPlatform.CheckEligibility for account.id

  • Account is eligible for a new line eligible device-and-sim-collection
  • Account has outstanding balance or restrictions ineligible eligibility-resolution

Eligibility Resolution

Say"I can see there's a hold or outstanding balance on your account that needs to be resolved before we can add a new line. Let me pull up the details."

BillingPlatform.GetAccountStatus for account.id

  • Customer agrees to resolve balance now confirmed BillingPlatform.ProcessPayment device-and-sim-collection
  • Customer wants to handle it later or disputes the hold declined escalation-billing

Device and SIM Collection

Say"Perfect. Now I'll need a few details about the device and SIM. Could you provide the IMEI number of the device and the SIM card number you'll be using?"

SIMIMEIProvisioning.ValidateIMEI using device.imei

SIMIMEIProvisioning.ValidateSIM using sim.number

  • IMEI and SIM both valid confirmed plan-selection
  • IMEI is blacklisted or incompatible imei_flagged device-issue
  • SIM number is unrecognized or already active sim_invalid sim-issue

Device Issue

Say"I'm sorry — the IMEI you've provided is either flagged as blacklisted or isn't compatible with our network. I can't activate service on that device."

kb.compatible-device-catalog — retrieve compatible device options and current upgrade promotions for account.id

Say"Here are some compatible options available to you, including any current upgrade or trade-in offers. Would you like to explore one of those, or do you have another device you'd like to try?"
  • Customer wants to use a different device confirmed device-and-sim-collection
  • Customer wants to explore upgrade or purchase options interested escalation-device-upgrade
  • Customer wants to end the interaction declined resolution-closed

SIM Issue

Say"The SIM number provided doesn't appear to be recognized in our system, or it may already be linked to another line. Let's sort that out."

kb.sim-replacement-policy — check eligibility for a new SIM

  • Customer can obtain or activate a replacement SIM confirmed device-and-sim-collection
  • Issue requires physical store visit or mailed SIM store_required escalation-store-referral

Plan Selection

Say"Your device and SIM look good. Now let's choose the right plan. What kind of plan or package are you looking for? I can walk you through current options, or if you already have one in mind, just let me know."

kb.plan-catalog — retrieve available plans, pricing, and promotional offers for account.id

Say"Based on your account, here are the plans available to you. Can you confirm which one you'd like to go with?"
  • Customer selects a plan confirmed number-selection
  • Customer is unsure or wants more information undecided plan-recommendation

Plan Recommendation

Agent
recommend the best-fit plan for the customer based on account usage history, plan.selected interest signals, and kb.plan-catalog.
Goal:identify and present up to three plan options that match the customer's stated needs (data, budget, family vs. individual) and close on a selection.
Constraints:never recommend a plan above the customer's stated budget ceiling; always disclose activation fees and contract terms upfront; do not offer promotions not currently active in kb.plan-catalog.
Tools available:CRM.GetUsageHistory, kb.plan-catalog, kb.current-promotions
  • Customer selects a plan after recommendation confirmed number-selection
  • Customer still undecided or wants to call back deferred resolution-deferred
  • Customer declines all plans declined resolution-closed

Number Selection

Say"Now let's set up your phone number. Would you like us to assign you a new number, or would you like to port an existing number from another carrier?"
  • Customer wants a new number assigned new_number CarrierNetworkAPI.AssignNumber for account.id payment-processing
  • Customer wants to port an existing number port_in port-in-collection

Port-In Collection

Say"No problem — we can port your number over. I'll need a few details from your current carrier: the phone number you want to port, the account number with your current carrier, the PIN or password on that account, and the billing address they have on file."

NumberPortabilityDB.ValidatePortRequest using port.number, port.carrier, port.account_number, port.pin

  • Port request validated and eligible confirmed port-in-initiated
  • Port request rejected or information mismatch invalid port-in-issue

Port-In Initiated

NumberPortabilityDB.SubmitPortRequest for port.number linked to account.id

Say"Your port request has been submitted. The number transfer can take up to 24 hours depending on your current carrier. In the meantime, we'll assign a temporary number so your line is active right away. You'll receive a notification once your original number has fully transferred."

CarrierNetworkAPI.AssignTemporaryNumber for account.id

  • Temporary number assigned and port submitted confirmed payment-processing
  • Port submission fails due to carrier-side issue port_error escalation-porting

Port-In Issue

Say"I wasn't able to validate the port request with the details provided. This can happen if the account number or PIN with your current carrier doesn't match their records. Could you double-check those details and try again?"
  • Customer provides corrected details confirmed port-in-collection
  • Customer is unable to provide correct details unconfirmed escalation-porting
  • Customer prefers to take a new number instead new_number payment-processing

Payment Processing

Say"Almost there. There is an activation fee of plan.activation_fee for this line. I'll apply that to the payment method on file. Shall I go ahead?"

PaymentProcessor.ChargeActivationFee of plan.activation_fee to account.payment_method

  • Payment succeeds payment_success line-provisioning
  • Payment declines payment_declined payment-retry

Payment Retry

Say"It looks like the payment didn't go through on the card on file. You can try a different payment method, or I can check if you're eligible for an installment option to spread out the activation cost."

kb.installment-eligibility — check if account.id qualifies for installment plan on activation fee

  • Customer provides alternate payment method alternate_payment PaymentProcessor.ChargeActivationFee line-provisioning
  • Customer qualifies for and accepts installment option installment_approved BillingPlatform.SetupInstallment line-provisioning
  • Customer declines all payment options declined resolution-payment-abandoned

Line Provisioning

Say"Payment confirmed — I'm now provisioning your new line. This will just take a moment."

CarrierNetworkAPI.ProvisionLine for account.id with sim.number, device.imei, plan.selected

CRM.UpdateAccount with line.assigned_number and new line details

BillingPlatform.AddLineToAccount for account.id with plan.selected

  • Line provisioned successfully line_active activation-confirmation
  • Provisioning error returned by network provisioning_error escalation-provisioning

Activation Confirmation

Say"Your new line is live! Your number is line.assigned_number. To confirm everything is working, try making a quick call or loading a webpage — let me know what you see."
Detect
customer confirms service is working
  • Customer confirms call or data is working confirmed resolution-success
  • Customer reports no signal or data issues not_working activation-troubleshooting

Activation Troubleshooting

Say"Let's do a quick check. First, try restarting the device and make sure it isn't in airplane mode. Also confirm the SIM is seated properly."

CarrierNetworkAPI.CheckLineStatus for line.assigned_number

SIMIMEIProvisioning.VerifyProvisioningStatus for sim.number

  • Network confirms line is active and issue resolves resolved resolution-success
  • Line status shows error or provisioning incomplete provisioning_error escalation-provisioning
  • Issue persists despite active line status unresolved escalation-technical

Escalation — Identity Verification Failed

Say"I'm sorry — I wasn't able to verify your identity after two attempts. For your account's security, I'm unable to proceed with the activation. You're welcome to visit one of our stores with a valid photo ID to complete this in person."

CRM.LogFailedVerification for account.id with verification.attempts

CRM.CreateTicket tagged identity-verification-failed, linked to account.id

Escalation — Fraud Flag

Say"I'm not able to process this request at the moment. A specialist will reach out to you to assist further. Please don't worry — no changes have been made to your account."

CRM.FlagAccountForReview tagged fraud, for account.id

CRM.CreateTicket priority: high, tagged fraud-flag, linked to account.id

Escalation — Billing or Eligibility

Say"Let me connect you with our billing team who can look into your account balance and eligibility in more detail and get this sorted for you."

CRM.CreateTicket tagged billing-hold, linked to account.id

Escalation — Device Upgrade

Say"I'm transferring you to our device sales team. They'll walk you through compatible devices, upgrade programs, and any current trade-in offers."

CRM.CreateTicket tagged device-upgrade-referral, linked to account.id

Escalation — Store Referral

Say"For the SIM issue, the easiest path is to visit one of our stores where they can issue a new SIM and activate it on the spot. I'll note your account so they have the full context when you arrive."

CRM.CreateTicket tagged sim-store-referral, linked to account.id

Escalation — Porting Issue

Say"I wasn't able to complete the port request from our side — this sometimes requires direct coordination with your current carrier. I'm escalating this to our porting specialist team, who will contact you within one business day."

CRM.CreateTicket priority: high, tagged port-in-escalation, linked to account.id, including port.number and port.carrier

Escalation — Provisioning Error

Say"It looks like there was a technical issue provisioning your line on our network. I'm escalating this to our technical team right now — they'll have this resolved and will reach out to confirm once your line is fully active."

CRM.CreateTicket priority: high, tagged provisioning-error, linked to account.id and line.assigned_number

Escalation — Technical Support

Say"Since the line shows as active on our end but you're still having trouble, I'm escalating to our technical support team who can run a deeper diagnostic. They'll follow up with you shortly."

CRM.CreateTicket tagged device-technical-issue, linked to account.id and line.assigned_number

Resolution — Success

Say"Fantastic — everything is up and running. Your new line is active, your number is line.assigned_number, and your plan is set. Is there anything else I can help you with today?"

CRM.CloseTicket for account.id tagged activation-complete

Resolution — Deferred

Say"No problem at all — take your time. When you're ready to move forward, just reach back out and we'll have everything ready to pick up right where we left off. Have a great day!"

CRM.SaveSessionState for account.id with plan.selected and device.imei

Resolution — Payment Abandoned

Say"Understood — we'll hold the order details for now. When you're ready to complete the activation, just contact us again and we'll resume from here. Thanks for your time."

CRM.SaveSessionState for account.id with plan.selected and line.assigned_number tagged payment-pending

Resolution — Closed

Say"Of course — no problem. If you change your mind or need anything else, we're always here to help. Have a great day!"

CRM.LogInteraction for account.id tagged activation-not-completed

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ chat▣ voice▣ sms

Quote Request Intake

InsuranceSalesQuotes

Intake Greeting

Say"Hi there! I'm your insurance support agent. I'd be happy to help you get a quote today. To get started, could you tell me what type of coverage you're looking for — for example, auto, home, life, renters, or something else?"
Detect
intent on customer reply
  • Customer names a specific coverage type confirmed coverage-type-selected
  • Customer is unsure or asks for a recommendation uncertain coverage-guidance
  • Customer wants to speak with a person directly escalation_request escalation-human

Coverage Guidance

Say"No problem at all — let me ask a few quick questions so I can point you in the right direction."
Agent
recommend the most appropriate coverage product based on the customer's situation.
Goal:identify the best-fit coverage type (auto, home, life, renters, umbrella, etc.) by asking clarifying questions about assets, dependents, and existing coverage.
Constraints:never recommend a specific policy dollar amount without running the quoting engine; only recommend product categories; ask no more than three clarifying questions before making a recommendation.
Tools available:kb.coverage-product-guide, kb.underwriting-eligibility-overview
  • Agent identifies a suitable coverage type and customer agrees confirmed coverage-type-selected
  • Customer remains undecided or disengages disengaged partial-intake-save
  • Customer requests a human advisor escalation_request escalation-human

Coverage Type Selected

Say"Great choice. I'll now collect a few details so we can generate your quote. This should only take a couple of minutes."

CRM.LookupCustomer by customer.phone or customer.email to check for an existing record.

  • Existing customer record found returning_customer risk-detail-collection
  • No existing record found new_customer personal-info-collection

Personal Info Collection

Say"First, could I get your full name, email address, phone number, and mailing address?"

CRM.CreateContact with customer.name, customer.email, customer.phone, customer.address

  • All required contact details collected info_complete risk-detail-collection
  • Customer provides partial info then stops responding disengaged partial-intake-save

Risk Detail Collection

Say"Thanks, customer.name. Now I'll need a few details specific to the coverage you're looking for. I'll guide you through them one at a time."
Agent
collect all risk-relevant details required for the selected coverage.type.
Goal:gather complete risk inputs — vehicle make/model/year and VIN for auto (risk.vehicleInfo), property address and year built for home (risk.propertyAddress), age and health status for life (risk.age, risk.healthStatus) — plus coverage.desiredLimits, coverage.startDate, and coverage.currentProvider.
Constraints:never ask for Social Security Number or financial account numbers; if a customer declines to answer a required field, note it as missing and continue; do not proceed to quoting with fewer than 80% of required fields complete.
Tools available:CRM.UpdateContact, kb.risk-field-requirements, kb.coverage-product-guide
  • All required risk fields collected fields_complete underwriting-check
  • Critical fields missing after follow-up prompts fields_incomplete partial-intake-save
  • Customer disengages mid-collection disengaged partial-intake-save

Underwriting Check

UnderwritingRulesAPI.Evaluate with coverage.type, risk.vehicleInfo, risk.propertyAddress, risk.age, risk.healthStatus, coverage.desiredLimits

Detect
underwriting eligibility result
  • Risk profile passes standard guidelines eligible quote-generation
  • Risk profile flagged — outside standard guidelines flagged high_risk underwriter-review
  • API returns an error or timeout error quoting-system-error

Quote Generation

QuotingEngine.GenerateQuote with customer.name, coverage.type, risk.vehicleInfo, risk.propertyAddress, risk.age, risk.healthStatus, coverage.desiredLimits, coverage.startDate

Detect
quoting engine response
  • Quote successfully generated quote_ready quote-presentation
  • Quoting engine error or timeout on first attempt error quoting-retry

Quoting Retry

Say"I'm sorry — our quoting system took a moment. Let me try one more time."

QuotingEngine.GenerateQuote retry with same inputs

  • Quote successfully generated on retry quote_ready quote-presentation
  • Second attempt also fails error quoting-system-error

Quote Presentation

Say"Great news, customer.name! I have your quote ready. Your estimated premium for coverage.type coverage is quote.premium per month, at the quote.tier coverage tier, with your requested limits. Your quote ID is quote.id."

NotificationService.SendEmail to customer.email with quote summary: quote.id, quote.premium, quote.tier, coverage.desiredLimits, coverage.startDate

NotificationService.SendSMS to customer.phone with quote summary link

Say"I've sent a copy to your email and a summary link to your phone. Would you like to move forward and bind this coverage, get a different tier, or have a licensed agent walk you through your options?"
Detect
customer response intent
  • Customer wants to bind coverage now bind_now next-steps-binding
  • Customer wants to explore different tiers or limits adjust_quote risk-detail-collection
  • Customer wants to speak with a licensed agent escalation_request escalation-human
  • Customer acknowledges receipt but wants to decide later defer resolution-follow-up

Next Steps — Binding

Say"Wonderful! I'll connect you with our policy team to complete the binding process. Your quote ID quote.id and all your details are ready for them."

PolicyManagement.InitiateBinding with quote.id, customer.name, customer.email, coverage.startDate

CRM.UpdateContact status: quote-accepted, linked to quote.id

Say"You're all set. Someone from our team will reach out within one business day to finalize your policy documents and payment details. Is there anything else I can help you with today?"
  • Customer has additional questions intake-greeting
  • Customer is done — no further questions resolution-complete

Underwriter Review

Say"Thank you for sharing those details, customer.name. Your risk profile requires a brief review by one of our underwriting specialists before we can finalize a quote. This is a standard step for certain coverage requests."

CRM.UpdateContact status: pending-underwriter-review, flag: underwriting.flagReason

NotificationService.SendEmail to customer.email confirming review is in progress, expected timeline 1 to 2 business days

UnderwritingRulesAPI.CreateReviewCase with customer.name, coverage.type, underwriting.flagReason, all risk fields

Say"We'll reach out to you at customer.email within 1 to 2 business days with your quote or any follow-up questions. Would you like me to also arrange a call with a licensed agent in the meantime?"
  • Customer wants an agent callback confirmed escalation-human
  • Customer is satisfied to wait defer resolution-follow-up

Partial Intake Save

CRM.SavePartialIntake with all collected fields, status: incomplete, customer.phone, customer.email

NotificationService.ScheduleFollowUp outreach in 24 hours to customer.phone and customer.email

Say"No problem at all — I've saved everything you've shared so far. One of our team members will follow up with you within 24 hours to help complete your quote at a time that's convenient for you. Is there a preferred time or contact method we should use?"

CRM.UpdateContact preferred_contact: as stated by customer

  • Customer provides a preferred follow-up time or method resolution-follow-up
  • Customer does not respond or disengages resolution-follow-up

Quoting System Error

Say"I apologize — our quoting system is not available right now, and I want to make sure you get an accurate quote as quickly as possible. I'm going to connect you with a licensed agent who can complete this for you directly."

CRM.LogQuoteAttempt status: system-error, customer.name, coverage.type, all collected risk fields

NotificationService.AlertLicensedAgent with customer.name, customer.phone, customer.email, coverage.type, collected risk fields

  • Handoff to licensed agent escalation-human

Escalation to Human Agent

CRM.UpdateContact status: escalated-to-agent

CRM.CreateTask priority: high, assigned: licensed_agent_queue, linked to customer.name, coverage.type, quote.id

NotificationService.AlertLicensedAgent with full intake summary: customer.name, customer.email, customer.phone, coverage.type, coverage.desiredLimits, coverage.startDate, all risk fields, quote.id if available

Say"I'm transferring you now to a licensed agent who has all the details you've shared with me. You won't need to repeat anything. Thank you for your patience, customer.name."

Resolution — Follow-up Scheduled

Say"You're all set, customer.name. We'll be in touch soon to continue where we left off. Don't hesitate to reach back out if you have any questions in the meantime."

CRM.UpdateContact status: follow-up-scheduled

Resolution — Complete

Say"Thank you for choosing us, customer.name. Your quote is confirmed and our team will be in touch shortly. Have a great day!"

CRM.UpdateContact status: quote-delivered

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat▣ sms

Prescription Refill Request

HealthcarePharmacyRefill

Patient Verification

Say"Thank you for calling. I'm here to help with your prescription refill. To get started, can I have your full name and date of birth?"

PatientIdentityVerification.LookupPatient using patient.fullName and patient.dateOfBirth

  • Identity verified successfully verified prescription-lookup
  • Identity cannot be confirmed after two attempts unverified escalation-human
  • Patient reports urgent clinical concern or adverse reaction urgent escalation-clinical

Prescription Lookup

Say"Thank you, patient.fullName. Which prescription would you like to refill today — including the medication name and dosage?"

Epic.GetPrescriptionRecord using patient.memberId, prescription.name, prescription.dosage

  • Prescription found, refills remaining and not expired pharmacy-confirmation
  • Prescription found, no refills remaining no_refills no-refills-remaining
  • Prescription found but expired expired prescription-expired
  • Prescription flagged as controlled substance controlled escalation-clinical
  • Prescription not found in record escalation-human

Pharmacy Confirmation

Say"I can see your prescription for prescription.name prescription.dosage, last filled on prescription.lastFillDate, with prescription.refillsRemaining refill(s) remaining. Your pharmacy on file is pharmacy.onFile. Would you like to send it there, or use a different pharmacy?"
  • Patient confirms pharmacy on file confirmed submit-refill-request
  • Patient requests a different pharmacy change_pharmacy update-pharmacy
  • Patient is unresponsive or unclear escalation-human

Update Pharmacy

Say"No problem. Please provide the name and address of your preferred pharmacy and I'll update that for you now."

Epic.UpdatePreferredPharmacy with pharmacy.name and pharmacy.address

CRM.UpdatePatientRecord with updated pharmacy.name

Say"Your preferred pharmacy has been updated to pharmacy.name. I'll send your refill request there."

submit-refill-request

Submit Refill Request

Surescripts.SendRefillRequest for prescription.name prescription.dosage to pharmacy.name on behalf of patient.memberId

CRM.LogInteraction with patient.memberId, prescription.name, pharmacy.name

Say"Your refill request for prescription.name has been sent to pharmacy.name. It should be ready by refill.estimatedReadyTime. Is there anything else I can help you with?"
  • Patient has another request another patient-verification
  • Patient confirms they are done done resolution-confirmed

No Refills Remaining

Say"It looks like there are no refills remaining on your prescription.name prescription. I'll send a refill authorization request to your prescribing provider, provider.name, on your behalf. They'll review it and respond typically within one to two business days."

Epic.SendRefillAuthorizationRequest to prescription.prescriberId for patient.memberId and prescription.name

CRM.LogInteraction with patient.memberId, note: refill authorization requested, no refills remaining

Say"The request has been sent. You'll be notified once your provider responds. If you have an urgent need, please let me know and I can escalate this."
  • Patient indicates urgent medical need urgent escalation-clinical
  • Patient acknowledges and is satisfied acknowledged resolution-pending-authorization

Prescription Expired

Say"I can see that your prescription for prescription.name expired on prescription.expiryDate. A new prescription requires your provider to issue a fresh script, which typically means scheduling an appointment. I can help you get that set up."

CRM.LogInteraction with patient.memberId, note: prescription expired, appointment recommended

  • Patient wants to schedule an appointment schedule appointment-scheduling
  • Patient declines and has no urgent need decline resolution-no-action
  • Patient reports an urgent clinical concern urgent escalation-clinical

Appointment Scheduling

Say"I'll connect you to scheduling now so you can book a time with provider.name to get a new prescription issued."

Epic.InitiateAppointmentRequest for patient.memberId with prescription.prescriberId

CRM.LogInteraction with patient.memberId, note: appointment scheduling initiated for expired prescription

  • Appointment request successfully initiated scheduled resolution-appointment-booked
  • Scheduling system unavailable unavailable escalation-human

Escalation to Clinical Staff

Say"I want to make sure you get the right support. I'm transferring you to a clinical staff member now who can assist with your request directly."

Epic.CreateClinicalAlert priority: high, patient.memberId, prescription.name, prescription.isControlled

CRM.CreateCase tagged: clinical-escalation, controlled-substance, linked to patient.memberId

Escalation to Human Agent

Say"Let me connect you with a member of our support team who can look into this further and make sure everything is taken care of."

CRM.CreateCase priority: high, tagged: refill-escalation, linked to patient.memberId, prescription.name

Resolution — Confirmed

Say"Wonderful — your refill for prescription.name is on its way to pharmacy.name and should be ready by refill.estimatedReadyTime. Take care and don't hesitate to reach out if you need anything."

CRM.LogInteraction with patient.memberId, note: refill successfully submitted, case closed

Resolution — Pending Authorization

Say"We've sent your refill authorization request to provider.name. Once they respond, your pharmacy will be notified. If you haven't heard back in two business days, please don't hesitate to call us again."

CRM.LogInteraction with patient.memberId, note: patient informed of pending provider authorization

Resolution — Appointment Booked

Say"Your appointment request has been submitted with provider.name. You'll receive a confirmation shortly. Once you're seen, your provider can issue a new prescription for prescription.name."

CRM.LogInteraction with patient.memberId, note: appointment booked for expired prescription renewal

Resolution — No Action

Say"Understood — no action taken today. If you change your mind or your situation becomes more urgent, please don't hesitate to call us back. Take care."

CRM.LogInteraction with patient.memberId, note: patient declined appointment scheduling, no refill action taken

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat▣ sms

Policy Coverage Question

InsuranceCoverageSupport

Inbound Coverage Inquiry

Say"Thank you for reaching out. I'm here to help you understand your coverage. Could I please have your full name and policy number to get started?"
  • Customer provides name and policy number identity-verification
  • Customer doesn't have policy number handy collect-account-details

Collect Account Details

Say"No problem at all. I can look you up another way. Could you please provide the email address or phone number associated with your account?"

PolicyManagement.LookupByContact using customer.email or customer.phone

  • Account found identity-verification
  • Account not found CRM.CreatePendingRecord system-lookup-failure

Identity Verification

PolicyManagement.FetchPolicy using policy.number

CRM.VerifyIdentity confirm customer.name against policy record

Say"Just to protect your account, I'll need to verify a couple of details. Can you confirm your date of birth and the zip code on file?"
Detect
verification outcome
  • Identity confirmed, policy active confirmed retrieve-policy-details
  • Identity confirmed, policy lapsed or expired confirmed lapsed-policy
  • Identity check fails after two attempts unverified escalation-human

Retrieve Policy Details

PolicyManagement.GetPolicyDetails for policy.number — retrieve policy.type, policy.effectiveDate, policy.expirationDate, policy.deductible, policy.coverageLimits

CRM.LogInteraction tag: coverage-inquiry, linked to policy.number

Say"Great, I've pulled up your policy.type policy, which is active from policy.effectiveDate through policy.expirationDate. Now, could you describe the situation you'd like me to check coverage for?"
  • Customer describes a specific situation or event coverage-assessment
  • Customer is distressed or alarmed about a potential denial frustrated acknowledge-concern

Acknowledge Concern

Say"I completely understand — it can be really stressful not knowing whether something is covered, and I want to make sure you get an accurate answer. I'm not going to make any promises I can't back up, but let's walk through this together. Can you tell me what happened?"
Detect
sentiment on follow-up response
  • Customer calms down and describes the situation neutral coverage-assessment
  • Customer remains very distressed or mentions legal action frustrated escalation-licensed-agent

Coverage Assessment

Agent
evaluate whether coverage.situation is covered under policy.type using the coverage rules engine and policy knowledge base.
Goal:produce a clear coverage determination — covered, excluded, or gray-area — along with applicable deductible and limit details from policy.deductible and policy.coverageLimits.
Constraints:never make a binding coverage promise on ambiguous or high-value situations; do not interpret legal or disputed policy language; flag any situation involving a loss above USD 10000 for underwriter review regardless of apparent outcome.
Tools available:CoverageRulesEngine.Evaluate, DocumentRetrieval.GetPolicyWording, kb.coverage-exclusions-guide, kb.policy-terms-glossary
  • Situation is clearly covered deliver-covered-answer
  • Situation falls in a gray area or under an exclusion explain-exclusion-or-gray-area
  • Situation involves a large, complex, or legally disputed claim complex_claim escalation-underwriter

Deliver Covered Answer

DocumentRetrieval.GetRelevantSection for policy.type and coverage.situation

Say"Good news — based on your policy, this situation is covered. Your applicable deductible is policy.deductible, and the coverage limit for this type of loss is policy.coverageLimits. I'd recommend reviewing the relevant section of your policy document, which I can send to customer.email if you'd like."
  • Customer asks about filing a claim claim-guidance
  • Customer confirms they understand and has no further questions resolution-close
  • Customer wants to speak with a licensed agent escalation_requested escalation-licensed-agent

Explain Exclusion or Gray Area

DocumentRetrieval.GetExclusionClause for policy.type and coverage.situation

kb.coverage-exclusions-guide — retrieve plain-language explanation for the applicable exclusion

Say"I want to be transparent with you — based on what you've described, this situation may fall under an exclusion in your policy. Let me explain what that means and why, and then we can talk about your options."
Say"Your policy does have a section that addresses this. I can walk you through it now, or I can connect you with an underwriting specialist who can do a formal review — especially if the circumstances are complex or there are details that might change the picture."
  • Customer wants underwriter review escalation-underwriter
  • Customer accepts the explanation and understands resolution-close
  • Customer disputes the exclusion or mentions an attorney frustrated escalation-licensed-agent

Claim Guidance

CRM.CheckExistingClaim for policy.number and coverage.situation

  • Existing claim found, linked to claim.existingId claim-already-filed
  • No existing claim found new-claim-guidance

Claim Already Filed

Say"I can see there's already a claim on file related to this — claim reference claim.existingId. Your claims team will be in touch, or you can contact them directly to get a status update. Is there anything else about your coverage I can clarify today?"
  • Customer has more questions coverage-assessment
  • Customer is satisfied resolution-close

New Claim Guidance

Say"If you'd like to move forward, I can help you start a claim. You'll need to have the date and description of the incident, any photos or documentation you have, and receipts or estimates if applicable. Would you like me to open a claim now, or do you need more time to gather information?"
  • Customer wants to file now PolicyManagement.InitiateClaim resolution-close
  • Customer wants to file later resolution-close
  • Customer wants to escalate or speak with someone directly escalation-licensed-agent

Lapsed Policy

Say"I can see that your policy with us is currently inactive — it appears coverage lapsed on policy.expirationDate. I'm sorry to be the bearer of that news. Unfortunately, I'm not able to confirm coverage for a situation that occurred after that date, but I can connect you with our renewals team to talk about reinstating or updating your policy."
  • Customer wants to explore reinstatement or renewal policy-renewal-reinstatement
  • Customer wants to speak with someone directly escalation-licensed-agent
  • Customer acknowledges and wants to end the call resolution-close

System Lookup Failure

Say"I'm running into a technical issue retrieving your policy details right now, and I don't want to give you inaccurate information. I'd like to collect a few notes manually and have a specialist follow up with you within one business day. Would that work for you?"

CRM.CreateFollowUpTask assign to policy-support team, SLA: 1 business day, include customer.name, customer.phone, customer.email, coverage.situation

  • Customer agrees to follow-up resolution-close
  • Customer wants immediate assistance escalation-licensed-agent

Escalation to Underwriter

UnderwritingQueue.SubmitReviewRequest with policy.number, coverage.situation, agent's risk assessment, and policy.coverageLimits

CRM.LogInteraction tag: underwriter-referral, linked to policy.number

Say"I've flagged your situation for a formal review by one of our underwriting specialists. They'll be able to give you a definitive answer and will reach out to you at customer.email or customer.phone within two business days. I'll make sure all the context I have is passed along so you don't have to repeat yourself."
  • Customer has additional questions for the underwriter escalation-licensed-agent
  • Customer is satisfied with the next step resolution-close

Escalation to Licensed Agent

CRM.CreateCase priority: high, tag: licensed-agent-requested, linked to policy.number

CRM.LogInteraction tag: escalation, include full coverage-question context

Say"I'm going to connect you with a licensed agent who has the authority to give you a definitive answer and discuss your options in full. Please hold just a moment while I bring them in — and I'll pass along everything we've discussed so you won't need to start over."

Policy Renewal Reinstatement

CRM.LogInteraction tag: renewal-interest, linked to policy.number

Say"Let me pass you to our renewals team who can walk you through your reinstatement options and any updated terms. They'll be able to tell you exactly what it would take to get coverage active again."

policy-renewal-reinstatement-flow

Resolution Close

CRM.CloseInteraction tag: resolved, linked to policy.number

Say"Is there anything else I can help you with today regarding your coverage or your policy?"
  • Customer has another question inbound-coverage-inquiry
  • Customer is done Say: "Thank you for calling. You're all set, and don't hesitate to reach out if questions come up. Have a great day." resolution-close
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ chat▣ email

Payment / Billing Inquiry

TravelHospitalityBillingPaymentsDisputes

Intake & Verification

Say"Thank you for contacting us. I'd be happy to help you with your billing inquiry. Could you please share your booking confirmation number and the name and email address on the reservation?"
  • Customer provides booking confirmation and identity details CRS.LookupReservation charge-identification
  • Customer cannot provide confirmation number but provides name and email CRS.LookupByGuestEmail charge-identification
  • Customer cannot provide any identifying information identity-verification-required

Identity Verification Required

Say"For the security of your account, I'm unable to access reservation or payment details without verifying your identity first. I'll need at least your booking confirmation number, the email address used at the time of booking, or the last four digits of the payment card used."
  • Customer supplies one or more valid identifiers CRS.LookupReservation charge-identification
  • Customer is still unable to verify identity escalation-human

Charge Identification

Say"I can see your reservation for booking.property covering booking.stayDates. Which charge would you like to discuss — could you tell me the amount and approximate date you saw it?"

PMS.GetPaymentHistory for booking.confirmationNumber

kb.billing-charge-definitions — review resort fees, late checkout policies, cancellation penalty rules, and incidental hold release timelines

  • Charge found and matches a known fee type charge-explanation
  • Charge appears duplicated or does not match any reservation line item possible_error billing-error-review
  • Customer references a charge not visible in payment history PaymentGateway.LookupTransaction charge-identification-extended
  • Customer explicitly states the charge is unauthorized or fraudulent fraud_flag escalation-fraud

Charge Identification — Extended Lookup

PaymentGateway.LookupTransaction using payment.last4, charge.amount, charge.date

kb.billing-charge-definitions — verify against settlement timing and pending-to-posted conversion windows

  • Transaction located and matched to reservation charge-explanation
  • Transaction located but cannot be matched to any booking possible_error billing-error-review
  • Transaction not found in gateway records escalation-human

Charge Explanation

Agent
review the matched charge against reservation details, policy documents, and payment history to produce a clear plain-language explanation for the customer.
Goal:explain exactly what the charge is, why it was applied, and cite the relevant policy or agreement accepted at booking.
Constraints:do not speculate about charges that cannot be confirmed in the reservation record; do not offer adjustments at this step — route to goodwill-options or billing-error-review if a correction may be warranted.
Tools available:PMS.GetReservationDetails, PMS.GetPaymentHistory, kb.billing-charge-definitions, kb.cancellation-policy, kb.resort-fee-policy
Say"Let me explain what that charge is for. charge.description was applied on charge.date in the amount of charge.amount. This is a standard fee outlined in your booking terms."
  • Customer accepts the explanation and is satisfied resolution-confirmed
  • Customer accepts the explanation but requests an itemized receipt PMS.SendReceipt to customer.email resolution-confirmed
  • Customer disputes the charge as unfair but it is policy-valid goodwill-options
  • Customer believes the charge is a billing error possible_error billing-error-review

Goodwill Options

kb.goodwill-adjustment-policy — check eligible goodwill gestures (loyalty points, partial waiver, future discount) and current authorization limits for agent.adjustmentLimit

Say"I completely understand your frustration. While this fee is outlined in the booking terms, I'd like to see what options I can offer you as a gesture of goodwill."
Agent
determine the best available goodwill offer within authorization limits based on customer history, loyalty tier, and policy.
Goal:offer a meaningful resolution that retains customer satisfaction without exceeding the authorized adjustment threshold.
Constraints:never waive fees that exceed agent.adjustmentLimit without escalation approval; never promise a refund without confirming eligibility first; check loyalty tier before offering points compensation.
Tools available:LoyaltyPlatform.GetAccountStatus, LoyaltyPlatform.AwardPoints, RefundAdjustmentTool.ApplyPartialWaiver, kb.goodwill-adjustment-policy
  • Goodwill offer made and customer accepts RefundAdjustmentTool.ApplyPartialWaiver, PMS.SendReceipt to customer.email resolution-confirmed
  • Goodwill offer made and customer accepts loyalty points LoyaltyPlatform.AwardPoints to loyalty.accountNumber resolution-confirmed
  • Customer declines goodwill options and insists on full refund of a valid non-refundable charge escalation-human
  • Adjustment amount required exceeds agent.adjustmentLimit exceeds_limit escalation-billing-specialist

Billing Error Review

PMS.GetPaymentHistory for booking.confirmationNumber

PaymentGateway.LookupTransaction using payment.last4, charge.amount, charge.date

Agent
assess whether the charge is a genuine billing error (duplicate, misapplied fee, incorrect amount, or post-checkout incidental not released).
Goal:confirm or rule out a billing error using reservation data, gateway records, and policy, then determine correct remediation action.
Constraints:do not initiate a reversal for amounts above agent.adjustmentLimit without escalation; always generate a case reference before communicating a timeline to the customer; never confirm a refund amount until the correction is validated in the system.
Tools available:PMS.GetPaymentHistory, PaymentGateway.LookupTransaction, RefundAdjustmentTool.InitiateCorrection, Salesforce.CreateCase, kb.billing-charge-definitions
  • Error confirmed and within adjustment authorization RefundAdjustmentTool.InitiateCorrection, Salesforce.CreateCase correction-initiated
  • Error confirmed but correction amount exceeds agent.adjustmentLimit exceeds_limit escalation-billing-specialist
  • No error found — charge is valid charge-explanation

Correction Initiated

Salesforce.CreateCase tagged billing-correction, linked to booking.confirmationNumber

PMS.SendReceipt to customer.email with updated billing summary

Say"I've confirmed the billing error and submitted a correction request. Your case reference number is case.referenceNumber. The adjustment will be reflected within 5 to 10 business days depending on your bank. You'll receive an updated receipt at customer.email shortly."
  • Customer asks about a refund they already expected to have received refund-status-check
  • Customer is satisfied with the resolution resolution-confirmed

Refund Status Check

PaymentGateway.LookupTransaction using payment.last4, refund.amount, refund.date

kb.refund-processing-timelines — check standard bank processing windows by payment type

Say"I can see that a refund of refund.amount was processed on refund.date. Depending on your bank or card issuer, this can take 5 to 10 business days to appear on your statement. If you don't see it after that window, please contact us and we'll investigate further with the payment processor."
  • Customer confirms they will wait and is satisfied resolution-confirmed
  • Refund date was over 10 business days ago and still not received PaymentGateway.InitiateRefundTrace escalation-human
  • Customer disputes the refund amount as incorrect possible_error billing-error-review

Escalation to Billing Specialist

Salesforce.CreateCase priority: high, tagged billing-specialist-review, linked to booking.confirmationNumber

Salesforce.NotifyQueue billing-specialist-team with case summary, charge.amount, charge.description, customer.email

Say"This adjustment requires review by our billing specialist team, as it falls outside what I can authorize directly. I've opened a case with reference number case.referenceNumber and our team will contact you at customer.email within 2 business days with a resolution."

Escalation to Human Agent

Salesforce.CreateCase priority: high, tagged billing-escalation, linked to booking.confirmationNumber

Salesforce.NotifyQueue billing-support-team with full case context, charge.amount, charge.date, customer.email

Say"I want to make sure this gets the attention it deserves. I'm escalating your case to a member of our billing team who has the tools to resolve this for you. Your case reference is case.referenceNumber and you can expect to hear from us at customer.email within 1 business day."

Escalation — Fraud

Salesforce.CreateCase priority: urgent, tagged unauthorized-charge-fraud, linked to booking.confirmationNumber

PaymentGateway.FlagTransaction for charge.amount on payment.last4

Salesforce.NotifyQueue fraud-and-security-team with transaction details, customer.email, booking.confirmationNumber

Say"I take this very seriously. I've flagged the transaction and escalated this to our fraud and security team as a priority. Your case reference is case.referenceNumber. A specialist will contact you at customer.email within 24 hours. In the meantime, you may also want to contact your card issuer directly to report the charge."

Resolution Confirmed

Say"I'm glad we were able to sort that out for you. Is there anything else I can help you with regarding your reservation or account?"

Salesforce.UpdateCase status: resolved, linked to booking.confirmationNumber

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ sms

Outage Report & Status Check

TelecomSupportOutageNetwork

Inbound Contact

Say"Thank you for reaching out to support. I'm here to help with any service issues you're experiencing. To get started, can I have your account number or the phone number registered to your account?"
  • Customer provides account number or registered phone number identity-verification
  • Customer cannot or will not provide account details public-outage-info
  • Customer mentions inability to reach emergency services safety_risk escalation-safety

Identity Verification

IdentityVerification.VerifyCustomer using customer.accountNumber or customer.phone

  • Verification passes verified account-and-symptoms
  • Verification fails after two attempts unverified public-outage-info

Account & Symptoms

CRM.PullAccount using customer.accountNumber to retrieve customer.name, customer.serviceAddress, customer.serviceType

Say"Thanks, customer.name. I can see your account. Can you briefly describe what you're experiencing — for example, no signal, slow data, or a complete outage? And is this affecting one device or multiple?"
Detect
customer intent and severity of issue
  • Customer describes complete loss of service no_service outage-lookup
  • Customer describes degraded signal or slow data degraded_service outage-lookup
  • Customer mentions safety impact such as no 911 access safety_concern safety_risk escalation-safety
  • Customer describes issue on one device only single_device outage-lookup

Outage Lookup

OutageManagement.CheckActiveIncidents for customer.serviceAddress and customer.serviceType

  • Known active outage found matching location and service type outage_found known-outage-confirmed
  • No known outage found for this location no_outage no-outage-found
  • System lookup fails or times out lookup_error escalation-noc

Known Outage Confirmed

OutageManagement.GetIncidentDetails to retrieve outage.incidentId, outage.affectedArea, outage.estimatedRestoration, outage.duration

Say"I can confirm there is a known outage affecting your area. Our network team is actively working on it. The estimated restoration time is outage.estimatedRestoration. Your incident reference number is outage.incidentId."
  • Outage duration is extended and likely qualifies for service credit kb.service-credit-policy CRM.FlagAccountForCreditReview captures credit.flagId outage-updates-offer
  • Outage is recent and within normal resolution window outage-updates-offer

Outage Updates Offer

Say"Would you like me to send you automatic updates on this outage via SMS or email as soon as the service is restored?"
  • Customer wants SMS updates Twilio.SendSMS to customer.phone with outage.incidentId and outage.estimatedRestoration resolution-confirmed
  • Customer wants email updates NotificationPlatform.SendEmail to customer.email with outage.incidentId and outage.estimatedRestoration resolution-confirmed
  • Customer declines updates resolution-confirmed

No Outage Found

Say"I don't see any active outages on record for your area at the moment. Let's try a few quick troubleshooting steps to see if we can restore your service."

kb.telecom-troubleshooting-guide — retrieve steps appropriate for customer.serviceType and customer.symptoms

Say"Can you try restarting your device and checking whether your SIM or cable connections are secure? Let me know once you've tried that and whether service has returned."
Detect
outcome of troubleshooting attempt
  • Customer confirms service is restored resolved resolution-confirmed
  • Customer confirms issue persists after troubleshooting unresolved new-ticket-creation
  • Customer reports safety-related impact during troubleshooting safety_concern safety_risk escalation-safety

New Ticket Creation

Ticketing.CreateTroubleTicket with customer.accountNumber, customer.serviceAddress, customer.serviceType, customer.symptoms, customer.deviceCount to generate ticket.id and ticket.referenceNumber

Say"I've created a trouble ticket for your account. Your reference number is ticket.referenceNumber. A technician will follow up with you. Would you prefer contact via SMS or email?"
  • Customer requests SMS confirmation Twilio.SendSMS to customer.phone with ticket.referenceNumber resolution-confirmed
  • Customer requests email confirmation NotificationPlatform.SendEmail to customer.email with ticket.referenceNumber resolution-confirmed
  • Customer needs no confirmation resolution-confirmed
  • Customer expresses continued frustration or reports critical business impact escalation_needed escalation-specialist

Public Outage Info

Say"I'm not able to access account details without verifying your identity, but I can share general outage information. You can check our public outage map at our website or call back with your account details and we can look into your specific situation."

OutageManagement.GetPublicOutageSummary for any broad regional incidents

  • Public outage exists in the reported region public_outage_found public-outage-details
  • No public outage on record public-no-outage

Public Outage Details

Say"There is a known service disruption in some areas that our team is actively working to resolve. For a personalized update and a reference number tied to your account, please call back or verify your identity when you're ready."
  • Customer wants to try verification again identity-verification
  • Customer acknowledges and ends contact resolution-confirmed

Public No Outage

Say"We don't currently show any widespread outages in our system. For account-specific diagnostics, please contact us with your account number or registered phone number so we can investigate further."
  • Customer wants to try verification again identity-verification
  • Customer acknowledges and ends contact resolution-confirmed

Escalation — Network Operations

NOCDashboard.RaiseSystemLookupFailure with customer.accountNumber and customer.serviceAddress

CRM.LogInteraction with lookup failure details and customer.phone for callback scheduling

Twilio.SendSMS to customer.phone confirming a callback will be arranged

Say"I'm sorry — our outage system isn't responding right now. I've flagged this with our network operations team and arranged for a callback to your registered number as soon as possible. I apologize for the inconvenience."

Escalation — Specialist

Ticketing.EscalateTicket for ticket.id to senior support queue

CRM.LogInteraction with escalation reason and customer.accountNumber

Say"I understand this has been frustrating and I want to make sure you get the right help. I'm escalating your case to a senior specialist who will be in touch with you shortly. Your reference number remains ticket.referenceNumber."

Escalation — Safety

CRM.LogInteraction flagged safety_risk with customer.accountNumber and customer.symptoms

NOCDashboard.RaiseSafetyFlag with customer.serviceAddress

Say"Your safety is our top priority. If you need to reach emergency services right now, please try an alternative phone or ask a neighbor. I am escalating your case immediately as a priority incident and our team will contact you as soon as possible."

Resolution Confirmed

Say"Is there anything else I can help you with today?"
  • Customer has additional questions or issues inbound-contact
  • Customer confirms they are all set CRM.LogInteraction with resolution summary and outage.incidentId or ticket.referenceNumber close-interaction

Close Interaction

Say"Thank you for your patience, customer.name. We appreciate you being a valued customer. Don't hesitate to reach out if you experience any further issues. Have a great day."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ chat▣ voice▣ sms

New Account Onboarding

Financial ServicesOnboardingKYCCompliance

Intent Capture

Say"Welcome! I'm here to help you open a new account today. Before we get started, could you tell me what type of account you're looking to open — for example, a personal checking, savings, or investment account?"
Detect
customer account type intent
  • Customer requests a personal account type (checking, savings, investment) personal-account info-collection
  • Customer requests a business or trust account business-or-trust-account specialist-routing
  • Customer is unsure or needs guidance unsure account-type-guidance

Account Type Guidance

Say"No problem at all. Let me walk you through the most common options. A checking account is great for everyday spending, a savings account helps you earn interest on funds you set aside, and an investment account is for growing wealth over time. Which of those sounds closest to what you need?"

kb.account-types-overview — retrieve product descriptions, minimum balance requirements, and eligibility criteria

  • Customer selects a personal account type personal-account info-collection
  • Customer still wants a business or trust account business-or-trust-account specialist-routing
  • Customer wants to end the conversation end-session session-close

Info Collection

Say"Great choice! To open your account, I'll need to collect some information. This typically takes just a few minutes and everything is encrypted and secure. Let's start with your full legal name and date of birth."

CRM.CreateDraftRecord to initialize a draft customer profile

Say"Next, I'll need your government-issued ID number — such as a passport or driver's license number — along with your Social Security Number or Tax ID."
Say"Finally, I'll need your current address, employment status, approximate annual income, and the funding method you plan to use for your initial deposit."

kb.minimum-deposit-requirements — validate customer.initialDepositAmount and customer.fundingSource eligibility

  • All required fields collected and deposit method is supported fields-complete identity-verification
  • Funding method is unsupported or deposit is below the minimum funding-issue funding-issue-resolution
  • Customer is unwilling to provide required information declined-to-provide escalation-human

Funding Issue Resolution

Say"It looks like the funding method or deposit amount you've selected may not meet our current requirements. Let me explain what we can accept."

kb.funding-methods-policy — retrieve supported funding sources and minimum initial deposit thresholds

Say"We accept bank transfers, debit card funding, and wire transfers for initial deposits. The minimum opening deposit for this account type is noted in our policy. Would you like to use an alternative funding method, or would you prefer I walk you through the options?"
  • Customer selects a supported alternative funding method alternative-accepted identity-verification
  • Customer cannot or will not meet deposit requirements cannot-meet-requirements session-close

Identity Verification

Say"I'm now going to submit your information for identity verification. This is a standard step required to open any account and usually takes just a moment."

KYCService.SubmitVerification with customer.fullLegalName, customer.dateOfBirth, customer.govIdNumber, customer.taxId, customer.address

Detect
KYC verification result
  • Verification passes on first or second attempt kyc-pass compliance-screening
  • Verification fails — first attempt kyc-fail-first kyc-retry
  • Verification fails — second attempt or kyc.attemptCount exceeds 2 kyc-fail-final escalation-human

KYC Retry

Say"I wasn't able to verify your identity with the information provided. This can sometimes happen due to a name mismatch or a data entry issue. Could you double-check your details, or provide an alternative government-issued ID document?"

DocUploadPortal.RequestDocument to customer.email for alternative ID submission

  • Customer submits alternative document and resubmission passes kyc-pass compliance-screening
  • Customer submits alternative document and resubmission fails kyc-fail-final escalation-human
  • Customer cannot provide alternative documentation cannot-verify escalation-human

Compliance Screening

Say"Thank you — your identity has been verified. I'm now running a brief compliance check, which is required by law for all new accounts. This will only take a moment."

ComplianceScreening.RunCheck with customer.fullLegalName, customer.taxId, customer.dateOfBirth, customer.address

Detect
compliance screening result
  • Screening passes with no flags compliance-clear account-creation
  • Any KYC or AML flag is raised compliance-flagged escalation-compliance
  • Customer is identified as a Politically Exposed Person (PEP) compliance.isPEP pep-flag escalation-compliance

Account Creation

Say"Everything has cleared. I'm now creating your account — this will just take a moment."

CoreBanking.CreateAccount with customer.fullLegalName, customer.taxId, customer.address, customer.fundingSource, customer.initialDepositAmount, customer.accountType

CRM.UpdateRecord with account.id, mark status: account-created

Twilio.SendSMS to customer.phone: "Your new account has been created. Your account ID is account.id. Your login credentials will arrive by email shortly."

CoreBanking.IssueCredentials to customer.email with account.credentials and welcome packet link

  • Account created and credentials delivered successfully account-ready customer-orientation
  • Account creation fails due to a system error system-error escalation-human

Customer Orientation

Say"Your account is all set! Here's what you need to know to get started."
Say"You'll receive a welcome email shortly with your login credentials, a link to download our mobile app, and instructions for setting up two-factor authentication. Your initial deposit will be reflected within one to two business days depending on your funding method."

kb.new-account-faq — retrieve top questions about first login, mobile app access, and deposit timelines

Say"Is there anything else you'd like to know about accessing your account, setting up transfers, or any of our other services?"
  • Customer has additional questions more-questions customer-orientation
  • Customer is satisfied and ready to end satisfied session-close
  • Customer wants to add a beneficiary or linked account additional-setup escalation-human

Specialist Routing

Say"I'd be happy to help you get to the right place. Business and trust accounts require a specialist who can walk you through the additional documentation and requirements for those account types."

CRM.CreateLeadRecord with customer.phone, customer.email, customer.accountType, note: specialist-referral

Say"I'm transferring your details to a specialist now. You can expect a call or message within one business day. Is there a preferred contact time or number I should pass along?"
  • Details captured and specialist notified escalation-human

Escalation to Compliance Officer

ComplianceScreening.FlagRecord with customer.fullLegalName, customer.taxId, compliance.flagCode, compliance.isPEP

CRM.EscalateRecord priority: critical, tag: compliance-review

Say"I'm sorry, but I'm not able to proceed with your account opening at this time. For regulatory reasons, your application requires a review by our compliance team. You will be contacted directly within two business days with next steps. We appreciate your patience."

Escalation to Human Agent

CRM.EscalateRecord priority: high, tag: agent-review

Twilio.SendSMS to customer.phone: "Your account application requires attention from one of our specialists. A team member will reach out to you shortly."

Say"I'm going to connect you with one of our specialists who will be able to assist you further. Thank you for your patience — you're in good hands."

Session Close

Say"Thank you for reaching out to us today. If you have any questions in the future or would like to revisit opening an account, we're always here to help. Have a great day!"

CRM.CloseSession with session outcome logged

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat

Insurance Coverage Check

HealthcareInsuranceCoverage

Patient Intake

Say"Thank you for calling. I'm here to help you check your insurance coverage. To get started, may I have your full name and date of birth?"

CRM.LookupPatient using patient.fullName and patient.dateOfBirth

  • Patient record found in CRM insurance-verification
  • No record found, continue to collect details manually insurance-verification
  • Patient is unresponsive or call drops escalation-human

Insurance Verification

Say"Thank you, patient.fullName. Can you please provide your insurance carrier name and your member ID? You can find those on the front of your insurance card."

EligibilitySystem.VerifyMember using patient.insuranceCarrier and patient.memberId

Detect
eligibility system response
  • Coverage active and returned successfully confirmed service-inquiry
  • Coverage shows as inactive or lapsed inactive coverage-lapsed
  • System returns no results or an error error system-error

Service Inquiry

Say"Great, I can see your coverage is active as of coverage.effectiveDate. Now, what service, procedure, or specialist visit would you like me to check? If you have a CPT code from your provider, that will help me look this up quickly."

CRM.UpdateRecord with patient.memberId and confirmed coverage.status

  • Patient provides service type or CPT code network-status-check
  • Patient is unsure of service details service-clarification

Service Clarification

Say"No problem. Can you tell me the name of the provider or facility you are planning to visit, and describe the type of care — for example, a specialist consultation, imaging, lab work, or a surgical procedure?"
  • Patient provides enough detail to proceed network-status-check
  • Patient still unable to provide details escalation-human

Network Status Check

ProviderDirectory.CheckNetworkStatus using provider.name and provider.facility and patient.insuranceCarrier

PayerPortal.LookupBenefit using service.cptCode and patient.memberId and coverage.effectiveDate

Detect
network and benefit lookup result
  • Provider and service confirmed in-network in-network benefit-details
  • Provider confirmed out-of-network out-of-network out-of-network-options
  • Service requires prior authorization prior-auth-required prior-auth-guidance
  • Lookup returns ambiguous or missing data unclear escalation-human

Benefit Details

Say"Good news — provider.name is in-network under your patient.insuranceCarrier plan. Here are your cost-sharing details for this service."

kb.benefit-tier-definitions — confirm explanation of coverage.tier, copay, and deductible language

Say"Your plan tier for this service is coverage.tier. Your copay is coverage.copay per visit. Your annual deductible is coverage.deductible, and based on your current usage, coverage.deductibleMet has been applied so far."

PriorAuthTracker.CheckRequirements using service.cptCode and patient.memberId

  • No referral or prior authorization required confirmation-close
  • Referral required referral-flag referral-guidance
  • Prior authorization required prior-auth-flag prior-auth-guidance

Referral Guidance

Say"One thing to keep in mind — this service does require a referral from your primary care provider before your visit. Without a referral on file, the claim may not be covered."

kb.referral-process — retrieve steps for obtaining and submitting a referral

Say"To get a referral, please contact your primary care provider's office and ask them to submit a referral for service.type to provider.name. Once the referral is on file with your insurer, you will be all set to schedule your visit."
  • Patient understands and confirms next steps confirmation-close
  • Patient has questions or disputes the referral requirement escalation-human

Prior Auth Guidance

Say"I do want to let you know that service.type requires prior authorization from patient.insuranceCarrier before the service can be covered."

kb.prior-auth-process — retrieve steps and typical timelines for prior authorization submission

Say"Prior authorization must be submitted by your ordering provider or facility — not by you directly. They will need to send clinical documentation to patient.insuranceCarrier. The review typically takes 3 to 15 business days. I can log this so your provider's office receives a notification."

PriorAuthTracker.CreateCase using patient.memberId and service.cptCode and provider.name

Say"I've created a prior authorization tracking case, reference number auth.caseId, and your provider can use that to follow up with the insurer."
  • Patient acknowledges and has no further questions confirmation-close
  • Patient wants to dispute that prior auth is required escalation-human

Out-of-Network Options

Say"I checked the provider directory and provider.name is currently out-of-network for your patient.insuranceCarrier plan. Let me explain your options."

kb.out-of-network-benefits — look up whether the plan includes out-of-network benefit coverage and applicable cost-sharing

Detect
out-of-network benefit availability
  • Plan includes out-of-network benefits oon-benefits-available oon-benefit-details
  • Plan does not cover out-of-network services oon-no-benefits suggest-in-network

OON Benefit Details

Say"Your plan does have out-of-network benefits, though your cost-sharing will be higher than in-network. Typically, out-of-network services are subject to a separate deductible and a higher coinsurance percentage. I recommend contacting patient.insuranceCarrier directly to get the exact figures before your appointment."
  • Patient wants in-network alternatives instead suggest-in-network
  • Patient is satisfied with out-of-network information confirmation-close
  • Patient references a denial or billing dispute escalation-human

Suggest In-Network Alternatives

Say"I can help you find an in-network provider for service.type. Let me search the provider directory."

ProviderDirectory.FindInNetworkProviders using service.type and patient.insuranceCarrier

Say"Based on your plan and location, here are some in-network providers who offer the same type of care. I can share their names and contact information so you can schedule directly."
  • Patient accepts alternatives and has no further questions confirmation-close
  • Patient insists on the out-of-network provider and references a coverage dispute escalation-human

Coverage Lapsed

Say"I checked your insurance information and unfortunately your coverage with patient.insuranceCarrier does not appear to be active at this time. This could be due to a lapse in premium payment, an open enrollment issue, or an employer benefits change."

kb.enrollment-support — retrieve guidance on coverage reinstatement and insurer contact process

Say"I would recommend contacting patient.insuranceCarrier directly using the member services number on your insurance card to resolve the enrollment status. Once your coverage is reinstated, we would be happy to complete this coverage check for you."
  • Patient wants to escalate or believes coverage should be active escalation-human
  • Patient understands and will contact insurer confirmation-close

System Error

Say"I apologize — I'm running into a technical issue retrieving your eligibility information from our system right now. This can happen occasionally when there is a delay syncing with the insurer's records."
Say"I have a couple of options for you: I can try reaching the payer portal directly, or I can arrange a callback once our team resolves the issue. Which would you prefer?"

PayerPortal.ManualEligibilityLookup using patient.memberId and patient.insuranceCarrier

  • Payer portal lookup succeeds network-status-check
  • Payer portal also unavailable, offer callback CRM.CreateCallbackTask escalation-human

Confirmation & Close

Say"To summarize what we covered today: your patient.insuranceCarrier coverage is active as of coverage.effectiveDate, service.type with provider.name is confirmed coverage.tier, and your cost-sharing is coverage.copay copay with coverage.deductible deductible, of which coverage.deductibleMet has been met."
Say"Is there anything else you would like me to check, or do you have any other questions about your benefits?"

CRM.LogInteraction with coverage check summary, patient.memberId, service.cptCode, and outcome

Detect
patient response
  • Patient has no further questions satisfied session-complete
  • Patient has an additional service to check new-inquiry service-inquiry
  • Patient raises a dispute or references a denial dispute escalation-human

Session Complete

Say"You're all set. If you have any other questions about your coverage before your appointment, don't hesitate to reach out. Take care, patient.fullName."

CRM.CloseInteraction with resolved status and patient.memberId

Escalation to Specialist

Say"I want to make sure you get the most accurate help possible. I'm going to connect you with one of our coverage specialists who can review this in more detail and, if needed, coordinate directly with patient.insuranceCarrier on your behalf."

CRM.CreateCase priority: high, tagged coverage-escalation, linked to patient.memberId and service.cptCode

CRM.LogInteraction with escalation reason and full session context

Say"I've created a case for you and a specialist will be with you shortly. Your reference number is auth.caseId. Thank you for your patience."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ sms▣ text▣ email

General FAQ Retail

RetailFAQSupport

Intake

Say"Hi there! I'm here to help. What question can I answer for you today?"
Detect
intent category of customer question
  • Customer asks about store hours or location store-info store-info
  • Customer asks about return or exchange policy return-policy return-policy
  • Customer asks about payment methods or financing payment-options payment-options
  • Customer asks about product availability or details product-inquiry product-inquiry
  • Customer references a specific order or account account-specific identity-verification
  • Customer asks something outside standard categories out-of-scope edge-case-handler

Store Info

kb.store-locator-policy — retrieve hours and location details relevant to customer.location

StoreLocator.GetStoreDetails for customer.location

Say"Here are the details for your nearest store: store.address. Store hours are store.hours. Is there anything else I can help you with?"
Detect
sentiment on customer reply
  • Customer confirms answer resolves their need confirmed resolution
  • Customer has a follow-up question follow-up intake
  • Customer is dissatisfied or disputes the information frustrated policy-pushback

Return Policy

kb.return-exchange-policy — retrieve current return window, conditions, and exclusions based on policy.version

Say"Happy to help with returns and exchanges. Here's our current policy: items in original condition can be returned within 30 days of purchase with a receipt. Some exclusions apply for final-sale and perishable items. Would you like more detail on any part of this?"
Detect
sentiment and intent on customer reply
  • Customer confirms the answer resolves their need confirmed resolution
  • Customer has a follow-up or edge-case question follow-up edge-case-handler
  • Customer is frustrated with the policy frustrated policy-pushback
  • Customer references a specific order account-specific identity-verification

Payment Options

kb.payment-options-policy — retrieve accepted payment methods, financing partners, and any current promotions

Say"We accept all major credit and debit cards, PayPal, Apple Pay, and Google Pay. We also offer financing through our retail credit partner — you can apply at checkout. Is there a specific payment method you'd like to know more about?"
Detect
sentiment and intent on customer reply
  • Customer confirms the answer resolves their need confirmed resolution
  • Customer has a follow-up question follow-up intake
  • Customer is dissatisfied or disputes policy frustrated policy-pushback

Product Inquiry

kb.product-catalog — look up details for product.name or product.sku

ProductCatalog.GetProductDetails for product.sku

InventoryLookup.CheckAvailability for product.sku at customer.location

Say"Here's what I found for product.name: product.availability. Would you like details on pricing, specifications, or nearby store availability?"
Detect
intent on customer reply
  • Customer confirms the answer resolves their need confirmed resolution
  • Customer wants more product detail follow-up product-inquiry-detail
  • Customer asks about ordering or account account-specific identity-verification
  • Customer is dissatisfied with availability or details frustrated policy-pushback

Product Inquiry Detail

kb.product-catalog — retrieve extended specifications, compatibility notes, and related items for product.sku

Say"Here are the full details I have on product.name. If you need information I haven't covered or want to check stock at a specific location, I can look into that as well."
Detect
intent on customer reply
  • Customer confirms the answer resolves their need confirmed resolution
  • Customer has additional questions follow-up intake
  • Customer needs account-level help account-specific identity-verification
  • Customer is dissatisfied frustrated policy-pushback

Identity Verification

Say"To help with anything related to your order or account, I'll need to verify your identity first. Could you please provide your order number or the email address associated with your account?"
Detect
customer response
  • Customer provides verifiable details confirmed CRM.LookupCustomer account-inquiry
  • Customer is unable or unwilling to provide details unverified escalation-human
  • Customer clarifies they do not actually need account-level help no-account-needed intake

Account Inquiry

CRM.LookupCustomer for order.id

Say"I've pulled up your account. What would you like help with regarding your order or account details?"
Detect
intent on customer reply
  • Question can be answered with available account data confirmed resolution
  • Issue involves a dispute, complaint, or action beyond FAQ scope complaint escalation-human
  • Customer confirms answer resolves their need resolved resolution

Edge Case Handler

kb.general-faq — attempt to locate a match for customer.question across all FAQ categories

Detect
whether FAQ content confidently covers the question
  • A confident, accurate answer is found in FAQ content faq-match faq-answer
  • FAQ content is ambiguous, outdated, or contradicts another source uncertain uncertainty-acknowledgment
  • No relevant FAQ content exists no-match escalation-human

FAQ Answer

Say"Based on our current information, here's the answer to your question: I'll do my best to keep this accurate and up to date. If anything has changed recently, our team can confirm the latest details."
Detect
sentiment on customer reply
  • Customer confirms answer resolves their need confirmed resolution
  • Customer has a follow-up follow-up intake
  • Customer is dissatisfied or pushes back frustrated policy-pushback

Uncertainty Acknowledgment

Say"That's a great question, and I want to make sure I give you accurate information rather than guess. I don't have a definitive answer on hand for this one. Let me connect you with a team member who can confirm the details."

escalation-human

Policy Pushback

Say"I completely understand your frustration, and I appreciate you sharing that. Our policies are set by the team, and I want to make sure your feedback reaches the right people. Would you like me to connect you with a team member who can discuss this further or explore options with you?"
Detect
customer response
  • Customer agrees to speak with a team member confirmed escalation-human
  • Customer accepts the explanation and no longer needs help resolved resolution
  • Customer has a new or different question follow-up intake

Escalation to Human Agent

CRM.CreateCase tagged faq-escalation, linked to customer.name and customer.question

Say"I'm going to connect you with one of our team members who will be able to help you directly. Thank you for your patience — someone will be with you shortly."

Resolution

Say"Glad I could help! If you ever have more questions about our store, products, or policies, don't hesitate to reach out. Have a great day!"
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ text▣ chat▣ sms

General FAQ — Travel & Hospitality

TravelHospitalityFAQSupport

Inbound Question

Say"Hi there, thanks for reaching out to us! I'm here to help. What question can I answer for you today?"

CRM.LookupCustomer by customer.phone or customer.email

Detect
intent on customer's opening message
  • Customer asks about cancellation or change policies cancellation clarify-reservation-context
  • Customer asks about amenities, facilities, or property features amenities clarify-property
  • Customer asks about pet policy pets clarify-property
  • Customer asks about meals, dining, or breakfast inclusion dining clarify-property
  • Customer asks about loyalty program benefits or points loyalty loyalty-faq
  • Customer asks about visa, health, or travel entry requirements travel-requirements travel-requirements-faq
  • Customer message is vague or multi-topic unclear clarify-question
  • Customer expresses frustration or dissatisfaction upfront frustrated escalation-human

Clarify Question

Say"I want to make sure I give you the most accurate answer. Could you tell me a bit more about what you're looking for? For example, is this about a reservation you already have, or are you planning a future trip?"
Detect
sentiment and intent on customer reply
  • Customer provides enough detail to categorise clarified inbound-question
  • Customer remains vague or asks multiple unrelated things still-unclear retrieve-general-faq
  • Customer shows frustration frustrated escalation-human

Clarify Reservation Context

Say"I can pull up our cancellation policy for you. Are you asking about an existing reservation, or planning ahead for a new booking?"
  • Customer references an existing reservation clarify-property
  • Customer is asking prospectively retrieve-general-faq

Clarify Property

Say"Policies and features can vary by property. Could you let me know which hotel or location you're asking about, or share your reservation details if you have them handy?"

PMS.LookupReservation by reservation.id if provided

  • Property identified or reservation found retrieve-property-faq
  • Customer cannot specify a property and question is general retrieve-general-faq
  • Customer is frustrated by the extra question frustrated escalation-human

Retrieve Property-Specific FAQ

kb.property-policies — look up topic.category policy for property.name

Agent
retrieve and synthesise the relevant policy or amenity detail for property.name based on the customer's question and customer.loyaltyTier.
Goal:deliver a single, clear, accurate answer tailored to the identified property and the customer's membership tier where benefits differ.
Constraints:never invent or extrapolate policy details not present in kb.property-policies; always note if a policy differs for loyalty tiers above or below customer.loyaltyTier; flag date-sensitive policies that apply specifically within reservation.checkIn to reservation.checkOut window.
Tools available:kb.property-policies, PMS.GetPropertyDetails, LoyaltyPlatform.GetTierBenefits
  • Answer found and complete deliver-answer
  • Answer found but varies by date or rate type deliver-answer-with-caveat
  • Knowledge base has no coverage for this question no-coverage knowledge-gap
  • Question touches legal, medical, or safety matter sensitive escalation-human

Retrieve General FAQ

kb.general-faq — look up topic.category

Agent
retrieve and synthesise the best available general answer from the knowledge base for the customer's question.
Goal:give the customer a clear, concise answer based on standard brand-wide policy when a specific property is not yet identified.
Constraints:never present a general policy as property-specific; if the answer is known to vary by location, always flag that and offer to look up the specific property; do not fabricate information absent from kb.general-faq.
Tools available:kb.general-faq, kb.property-policies, CRM.GetCustomerProfile
  • Answer found and universally applicable deliver-answer
  • Answer varies by property clarify-property
  • Answer varies by loyalty tier LoyaltyPlatform.GetTierBenefits deliver-answer-with-caveat
  • Knowledge base has no coverage no-coverage knowledge-gap
  • Question touches legal, medical, or safety matter sensitive escalation-human

Loyalty FAQ

kb.loyalty-program — retrieve benefits, earning rules, and redemption policies for customer.loyaltyTier

Say"Let me check your loyalty tier details right away."

LoyaltyPlatform.GetTierBenefits for customer.loyaltyTier

  • Benefits information retrieved deliver-answer
  • Customer's tier could not be confirmed deliver-answer-with-caveat
  • Customer disputes their tier or points balance dispute escalation-human

Travel Requirements FAQ

kb.travel-entry-requirements — look up destination property.location for reservation.checkIn dates

Say"Travel requirements such as visa rules and health documentation can change quickly. Let me share what we have on file, though I'll also point you to the official sources for the most current information."
Agent
retrieve known entry, visa, and health requirements for property.location valid around reservation.checkIn.
Goal:give the customer a useful starting summary while making clear these details are time-sensitive and subject to change.
Constraints:always append a disclaimer that official government and airline sources must be consulted for final confirmation; never confirm whether a customer personally meets a visa or health requirement; do not provide medical advice.
Tools available:kb.travel-entry-requirements, kb.general-faq
  • Summary retrieved deliver-answer-with-caveat
  • No information available for this destination no-coverage knowledge-gap
  • Customer raises a medical or legal compliance concern sensitive escalation-human

Deliver Answer

Say"Great news — here's what I found for you: question.raw"
Say"Is there anything else about your trip or reservation I can help with?"
Detect
sentiment and follow-up intent on customer reply
  • Customer is satisfied and has no further questions satisfied resolution
  • Customer has a follow-up question on the same topic follow-up retrieve-property-faq
  • Customer has a completely new question new-topic inbound-question
  • Customer is not satisfied with the answer unsatisfied escalation-human

Deliver Answer With Caveat

Say"Here's the information I have, though please note this may vary depending on specific dates, rate types, or your membership level — I'll flag those nuances for you."
Say"For travel regulations or health requirements, I strongly recommend also checking the official government or airline websites to confirm the latest rules before you travel."
Detect
sentiment and follow-up intent on customer reply
  • Customer accepts the answer and caveats satisfied resolution
  • Customer wants clarification on a specific variant follow-up clarify-property
  • Customer is unsatisfied or concerned unsatisfied escalation-human

Knowledge Gap

Say"I want to be upfront with you — I don't have enough detail on hand to give you a fully accurate answer on that specific point, and I'd rather connect you with someone who does than risk giving you incomplete information."
Say"I can transfer you to one of our specialists who will be able to help. Would that work for you?"

CRM.LogInteraction note: unanswered FAQ topic, question.raw, property.name

Detect
customer preference on transfer
  • Customer agrees to be connected confirmed escalation-human
  • Customer declines transfer and wants to try another question new-topic inbound-question
  • Customer ends the conversation end resolution

Escalation to Human Specialist

CRM.LogInteraction with question.raw, topic.category, reservation.id, customer.loyaltyTier, escalation reason

Say"I'm going to connect you with one of our specialists right now — they'll have full context on your question so you won't need to repeat yourself."
Say"Thank you for your patience, customer.name. A specialist will be with you shortly."

Resolution

Say"Wonderful — I'm glad I could help! If you ever have more questions before or during your trip, don't hesitate to reach out. Have a great journey!"

CRM.LogInteraction note: FAQ resolved, topic.category, property.name, customer.loyaltyTier

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ chat▣ sms

Flight/Trip Disruption Support

TravelHospitalityDisruptionRebooking

Intake & Verification

Say"Thank you for contacting Travel Support. I'm here to help you through this disruption as quickly as possible. Can I please have your booking confirmation number and the name on the reservation?"

PNR.LookupBooking using booking.confirmationNumber and booking.passengerName

  • Booking found and passenger name matches identity-check
  • Booking not found or name mismatch confused PNR.LookupBooking retry with loyalty number booking.loyaltyNumber identity-check
  • No booking reference available at all escalation-human

Identity Check

Say"For your security I need to verify your identity before making any changes. I'll ask you a couple of quick questions."

IdentityVerification.Challenge using booking.passengerName and traveler.email

  • Identity verified identity_verified disruption-assessment
  • Identity check fails after two attempts identity_failed escalation-secure-verification
  • Customer declines verification declined escalation-secure-verification

Disruption Assessment

Say"I can see your booking, booking.passengerName. Can you tell me what's happening right now — is your flight cancelled, delayed, or are you dealing with something else like a hotel or connection issue?"

PNR.GetAffectedSegment for booking.confirmationNumber to pre-populate trip.affectedSegment

Detect
nature of disruption reported by customer
  • Flight cancellation confirmed cancellation rebooking-options
  • Significant delay (2+ hours) delay rebooking-options
  • Missed connection missed-connection rebooking-options
  • Hotel or accommodation failure hotel-issue hotel-resolution
  • Customer already self-rebooked self-rebooked self-rebook-review
  • Medical or safety emergency emergency escalation-human

Rebooking Options

Say"I'm sorry about the disruption to your journey. Let me pull up the best available options to get you to trip.destination as quickly as possible."

kb.rebooking-policy — check eligibility rules, same-carrier preference, fare class protection, and partner airline agreements for booking.fareClass

GDS.SearchAvailability for trip.destination from traveler.currentLocation on trip.travelDate and next 24 hours

Agent
evaluate available rebooking alternatives against booking.itinerary and customer preference.
Goal:identify the best one or two options that minimize total travel time and respect fare class entitlements, including partner carriers if same-carrier options are inadequate.
Constraints:never rebook onto a flight that creates a connection under 45 minutes at an international hub; do not offer partner carrier options that exceed the authorized fare difference threshold per kb.rebooking-policy without escalation; always check if minor.travelingAlone is true before proceeding.
Tools available:GDS.SearchAvailability, GDS.CheckSeatMap, kb.rebooking-policy, PNR.GetAffectedSegment
  • Suitable same-carrier option found rebook-confirmation
  • Only partner carrier options available partner-carrier-offer
  • No viable rebooking option exists no_options refund-assessment
  • Minor traveling alone flag raised minor_alone escalation-human

Rebook Confirmation

Say"I've found a flight that works — here are the details: rebooking.option. Does this work for you?"
  • Customer confirms new flight confirmed GDS.ReissueTicket PNR.UpdateBooking confirmation-and-vouchers
  • Customer wants to see other options wants-alternatives rebooking-options
  • Customer declines all options and wants a refund refund-requested refund-assessment

Partner Carrier Offer

Say"There are no remaining seats available on our carrier for this route today, but I can get you on a partner airline. The next available option is rebooking.option. Shall I go ahead and book that for you?"

kb.partner-airline-policy — confirm interline agreement, baggage transfer rules, and any fare difference liability

  • Customer accepts confirmed GDS.ReissueTicket PNR.UpdateBooking confirmation-and-vouchers
  • Fare difference exceeds authorization limit fare_over_limit escalation-human
  • Customer declines and requests refund refund-requested refund-assessment

Self-Rebook Review

Say"No problem — let me pull up what you've booked and make sure everything looks right, including any fare differences or duplicate charges you may have incurred."

PNR.GetAffectedSegment to compare original booking.itinerary against new booking

GDS.CheckFareDifference for rebooking.fareDifference

Detect
outcome of fare and duplicate charge review
  • Self-rebook is clean, no fare difference owed no_difference confirmation-and-vouchers
  • Fare difference owed to customer fare_refund_due refund-assessment
  • Duplicate charge detected duplicate_charge refund-assessment
  • Self-rebook is invalid or ticketing error ticketing_error rebooking-options

Hotel Resolution

Say"I'm sorry to hear about the accommodation issue. Can you tell me more — is the hotel overbooked, is there a room condition problem, or something else?"

kb.hotel-disruption-policy — review duty-of-care obligations, walk procedures, and compensation entitlements

Detect
hotel disruption type
  • Hotel overbooked, walk required hotel-walk HotelAPI.FindAlternativeProperty hotel-rebook-confirmation
  • Room condition complaint (safety, cleanliness) room-condition HotelAPI.EscalateProperty hotel-rebook-confirmation
  • Issue requires compensation above agent limit hotel_over_limit escalation-human

Hotel Rebook Confirmation

Say"I've located an alternative property that meets your needs. I'll go ahead and transfer your reservation now and make sure tonight's cost is covered. Does that work for you?"
  • Customer confirms confirmed HotelAPI.TransferReservation CompensationTool.IssueVoucher confirmation-and-vouchers
  • Customer prefers to resolve independently self-resolve confirmation-and-vouchers
  • Compensation amount exceeds authorization hotel_over_limit escalation-human

Refund Assessment

Say"Let me check your refund eligibility based on the type of disruption and your fare rules."

kb.refund-policy — verify refundability for booking.fareClass, disruption cause trip.disruption.cause, and weather exception rules

Agent
determine the correct refund path and compensation entitlement for this disruption.
Goal:establish whether the customer qualifies for a full refund, partial refund, travel credit, or no refund, and calculate any applicable compensation per policy.
Constraints:never promise a cash refund for non-refundable fares outside of carrier-caused cancellations; always flag weather-caused disruptions as limited-compensation per kb.refund-policy before setting expectations; do not issue compensation exceeding USD 300 without escalation approval.
Tools available:PNR.InitiateRefund, CompensationTool.CalculateEntitlement, kb.refund-policy
  • Full refund eligible full_refund PNR.InitiateRefund confirmation-and-vouchers
  • Travel credit or voucher eligible voucher_eligible CompensationTool.IssueVoucher confirmation-and-vouchers
  • Weather-related, limited compensation weather_limited weather-exception-handling
  • Refund amount exceeds agent authorization refund_over_limit escalation-human
  • No refund eligibility confirmed no_refund compensation-conversation

Weather Exception Handling

Say"I want to be upfront with you — because this disruption is weather-related, our policy limits what compensation we're able to offer. I know that's frustrating. Here's what I can do for you right now: compensation.voucherAmount in travel credit, and I can waive the rebooking change fee."

kb.weather-disruption-policy — confirm exact entitlements and any duty-of-care exceptions

  • Customer accepts limited offer accepted CompensationTool.IssueVoucher confirmation-and-vouchers
  • Customer disputes and requests escalation escalate escalation-human
  • Customer requests full refund citing extraordinary circumstances extraordinary escalation-human

Compensation Conversation

Say"Based on your fare type and the circumstances, a refund isn't applicable here. However, I do want to make sure you're taken care of. Let me see what goodwill compensation I'm able to offer."

CompensationTool.CalculateEntitlement for booking.fareClass and booking.loyaltyNumber

  • Goodwill voucher available CompensationTool.IssueVoucher confirmation-and-vouchers
  • Nothing available within agent limits no_compensation_available escalation-human

Confirmation & Vouchers

Say"You're all set. I'm sending your updated itinerary and any applicable vouchers to traveler.email right now. Is there anything else I can help you with before we wrap up?"

PNR.SendConfirmationEmail to traveler.email with updated booking.itinerary

CompensationTool.DeliverVoucher to traveler.email if applicable

Salesforce.UpdateCase with resolution summary, disruption type trip.disruption.type, and compensation issued

  • Customer has additional questions or issues more-help disruption-assessment
  • Customer is satisfied and conversation is complete resolved resolution-close

Resolution Close

Say"I'm glad we could get that sorted for you. Safe travels, booking.passengerName — and don't hesitate to reach out if you need anything else on your journey."

Salesforce.CloseCase with outcome logged and customer satisfaction noted

Escalation — Secure Verification

Say"For your protection, I'm unable to make changes to this booking without completing identity verification. I'm going to connect you with our secure verification team who can assist you through a different channel."

Salesforce.CreateCase priority: high, tagged identity-verification-required

IdentityVerification.RouteToSecureChannel for traveler.phone or traveler.email

Escalation — Human Agent

Say"This situation needs the attention of one of our senior travel specialists who has the authority to handle this for you. I'm transferring you now and sharing all the details so you won't need to repeat yourself."

Salesforce.CreateCase priority: high, tagged disruption-escalation with full case summary, booking.confirmationNumber, trip.affectedSegment, and trip.disruption.cause

PNR.FlagForSeniorAgent on booking.confirmationNumber

Salesforce.NotifyAgent via #disruption-escalations with case link and urgency flag

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ email▣ voice

Damaged / Wrong Item Received

RetailSupportReturnsRefunds

Intake & Verify

Say"Hi, I'm sorry to hear about this — let's get it sorted for you right away. Can I start with your order number? If you don't have it handy, your account email or phone number works too."
  • Customer provides order ID OMS.LookupOrder by order.id confirm-order
  • Customer provides email or phone instead CRM.LookupByContact by customer.email or customer.phone confirm-order
  • Customer cannot provide any identifying information identity-unverifiable

Confirm Order

OMS.GetOrderDetails for order.id — retrieve item.description, order.deliveryDate, order.status, order.value

Say"I've pulled up your order. Can you tell me what happened — was the item damaged when it arrived, or did you receive the wrong item?"
  • Order found, delivery confirmed, customer describes damaged item issue-triage
  • Order found, delivery confirmed, customer describes wrong item received issue-triage
  • Order found but not yet marked delivered ShippingCarrier.GetTrackingStatus delivery-unclear
  • Order lookup returns an error or ambiguous result CRM.FlagForManualReview system-lookup-failed

Issue Triage

Say"Thank you — I've noted the issue with your item.description. To make sure we handle this correctly, I'd like to check your eligibility under our returns and replacements policy."

kb.returns-replacement-policy — verify order.deliveryDate is within policy.replacementWindowDays and check photo evidence requirements for item.issue

  • Within policy window, photo evidence required by policy request-photo-evidence
  • Within policy window, no photo evidence required resolution-offer
  • Outside policy window outside-return-window

Request Photo Evidence

Say"Our policy asks for a photo of the damaged or incorrect item to process this quickly. Could you upload or send a photo? You can reply directly in this chat, email it back, or I can send you a secure upload link."

PhotoUpload.SendUploadLink to customer.email or customer.phone

  • Customer submits photo, evidence is clear resolution-offer
  • Customer unable to submit photo, order value is within policy.autoApprovalThreshold Policy.CheckGoodwillEligibility goodwill-exception-review
  • Customer unable to submit photo, order value exceeds policy.autoApprovalThreshold escalation-human

Goodwill Exception Review

Agent
assess whether a goodwill exception is appropriate given order.value, customer.email history, and kb.returns-replacement-policy goodwill tier rules.
Goal:decide whether to waive the photo requirement and proceed with a replacement or refund without evidence, or escalate for human approval.
Constraints:never approve a goodwill waiver if order.value exceeds policy.autoApprovalThreshold; never grant more than one goodwill exception per customer account within 90 days; always log the exception reason in case.id.
Tools available:CRM.GetCustomerHistory, Policy.CheckGoodwillEligibility, kb.returns-replacement-policy
  • Goodwill waiver approved within constraints goodwill_approved resolution-offer
  • Goodwill waiver outside constraints or repeat exception needs_review escalation-human

Resolution Offer

Say"Great news — you're eligible for a resolution. Would you prefer a full replacement sent to your address on file, or a refund back to your original payment method? Either option works for us."
  • Customer prefers replacement initiate-replacement
  • Customer prefers refund initiate-refund
  • Customer is unsure, asks for more information explain-resolution-options

Explain Resolution Options

Say"A replacement means we'll ship out a new item.description — delivery typically takes 3 to 5 business days. A refund returns the full amount to your original payment method within 5 to 7 business days. Which would you like to go with?"

kb.returns-replacement-policy — confirm refund and replacement timelines for customer.preferredResolution

  • Customer selects replacement initiate-replacement
  • Customer selects refund initiate-refund
  • Customer requests something outside standard options escalation-human

Initiate Replacement

OMS.CreateReplacementOrder for order.id, ship to address on file

ReturnsManager.OpenReturnCase tagged replacement, linked to order.id, log item.issue

Twilio.SendNotification to customer.email or customer.phone with resolution.confirmationNumber and estimated delivery

Say"Done — your replacement item.description is on its way. You'll receive a confirmation with tracking shortly. Your confirmation number is resolution.confirmationNumber. Is there anything else I can help with?"

close-case

Initiate Refund

ReturnsManager.InitiateRefund for order.id, full amount to original payment method

ReturnsManager.OpenReturnCase tagged refund, linked to order.id, log item.issue

Twilio.SendNotification to customer.email or customer.phone with resolution.confirmationNumber and refund timeline

Say"Your refund has been initiated and should appear within 5 to 7 business days. Your confirmation number is resolution.confirmationNumber. I'm sorry again for the trouble — is there anything else I can help with?"

close-case

Outside Return Window

Say"I can see your order is outside our standard policy.replacementWindowDays-day return window, which means I'm not able to process a standard replacement or refund automatically. I want to make sure you're looked after, so let me check what options are available."

kb.returns-replacement-policy — check partial goodwill resolution eligibility for out-of-window orders

Approval
Slack.RequestApproval to #retail-support-escalations, approver: support_team_lead
Context sent:order.id, order.value, order.deliveryDate, item.issue, customer.email, policy window exceeded
  • Approved for partial goodwill resolution approved ReturnsManager.InitiatePartialCredit partial-resolution-confirmed
  • Rejected, no goodwill exception authorised rejected policy-decline
  • No response within 60 min escalation-human

Partial Resolution Confirmed

Twilio.SendNotification to customer.email or customer.phone with resolution.confirmationNumber and credit details

Say"I've been able to arrange a goodwill credit for your order — you'll receive a confirmation shortly with the details and your reference number resolution.confirmationNumber. I'm sorry we couldn't do a full replacement or refund on this occasion. Is there anything else I can help with?"

close-case

Policy Decline

Say"I'm sorry — I've looked into every option available to me and your order falls outside the window where I'm able to process a replacement, refund, or goodwill credit. I completely understand that's disappointing, and I'm sorry I can't do more today. If you believe there's been an error, I can connect you with a specialist who may be able to help further."
  • Customer accepts the outcome close-case
  • Customer wants to escalate or disputes the outcome escalation-human

Delivery Unclear

ShippingCarrier.GetTrackingStatus for order.id

Say"It looks like your order may still be in transit or the delivery status hasn't updated yet. Let me check the latest tracking details for you."
  • Carrier confirms delivered, discrepancy in OMS OMS.FlagOrderStatusMismatch system-lookup-failed
  • Carrier confirms still in transit close-case
  • Carrier confirms lost or exception raised escalation-human

System Lookup Failed

CRM.CreateCase priority: medium, tagged order-lookup-error, linked to customer.email

CRM.ScheduleCallback for customer.phone within 24 hours

Say"I'm running into a system issue that's preventing me from pulling up your order details right now. I've flagged this for our team and you'll receive a callback within 24 hours to get this sorted. I'm really sorry for the inconvenience — can I confirm the best number to reach you?"
  • Customer confirms callback number CRM.UpdateCaseContactDetails close-case
  • Customer prefers email follow-up Twilio.SendNotification confirmation to customer.email close-case

Identity Unverifiable

Say"I want to help, but I'm not able to locate an order without at least an order number, email address, or phone number linked to the account. Could you check your confirmation email or the app for any of those details?"
  • Customer finds identifying information intake-and-verify
  • Customer still cannot provide verification, low-value context escalation-human
  • Customer becomes frustrated or demands override escalation-human

Escalation to Human Agent

CRM.CreateCase priority: high, tagged damaged-wrong-item-escalation, linked to order.id and customer.email

Slack.Notify to #retail-support-escalations with case summary, order.id, order.value, item.issue, and reason for escalation

Say"I'm going to connect you with one of our senior support specialists who has the tools to handle this for you directly. I've shared all the details we've discussed so you won't need to repeat yourself. Thank you for your patience — someone will be with you shortly."

Close Case

CRM.CloseCase for case.id, log resolution type and resolution.confirmationNumber

Say"Thanks for reaching out, and I'm sorry again for the experience with your order. If you ever need anything else, we're here. Take care!"
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat

Complaint Escalation — Telecom

TelecomComplaintsEscalationSupport

Intake and Verification

Say"Thank you for reaching out. I understand you have a complaint you'd like escalated — I want to make sure this gets the attention it deserves. To get started, may I have your account number or the name on the account so I can pull up your details?"

CRM.LookupAccount using customer.accountNumber or customer.name

  • Identity verified successfully CRM.PullComplaintHistory complaint-history-review
  • Identity cannot be verified after two attempts identity-escalation
  • Customer is immediately hostile or threatening frustrated de-escalation

Complaint History Review

CRM.GetAccountSummary to load customer.accountNumber, complaint.history, and complaint.compensationOffered

CaseManagement.SearchByAccount to find any existing ticket linked to complaint.priorTicketId

Say"I can see your account, customer.name. Let me check whether there's an existing complaint on file for you."
  • Prior ticket found CaseManagement.OpenCase with complaint.priorTicketId complaint-confirmation
  • No prior ticket found new-case-creation
  • Customer references regulatory body or legal action legal_threat regulatory-legal-routing

New Case Creation

Say"It looks like this hasn't been formally logged yet — I'm going to create a new escalation case right now so nothing falls through the cracks."

CaseManagement.CreateEscalationCase with customer.accountNumber, complaint.nature, complaint.servicesAffected, complaint.history, complaint.compensationOffered

  • Case created successfully complaint-confirmation
  • System unavailable system_down system-unavailable-fallback

Complaint Confirmation

Say"I want to make sure I have everything right before I escalate this. You've reported an issue with complaint.servicesAffected, and the nature of the complaint is complaint.nature. Is that accurate, and is there anything else you'd like added to the record?"
Detect
sentiment and completeness of customer response
  • Customer confirms details are correct confirmed escalation-routing
  • Customer adds new information or corrects details update_needed CaseManagement.UpdateCase with revised notes escalation-routing
  • Customer becomes highly distressed or makes a regulatory reference legal_threat regulatory-legal-routing
  • Customer demands supervisor immediately supervisor_demand escalation-routing

Escalation Routing

EscalationRouting.IdentifyTeam using complaint.servicesAffected, complaint.nature, and customer.accountNumber to assign case.escalationTeam and case.responseTimeline

CaseManagement.UpdateCase with case.escalationTeam, case.responseTimeline, full interaction notes, and complaint.compensationOffered

CommsLog.RecordInteraction with customer.accountNumber, case.id, and channel details

Agent
review the account history and escalation assignment to determine if case priority needs to be upgraded.
Goal:confirm whether the complaint warrants expedited handling based on account type, outage scope, prior compensation history, or repeat contact.
Constraints:never promise a resolution timeline shorter than the one returned by EscalationRouting.IdentifyTeam without senior approval; always flag business or critical infrastructure accounts for immediate upgrade.
Tools available:CRM.GetAccountSummary, CaseManagement.GetCaseDetails, EscalationRouting.IdentifyTeam, kb.escalation-priority-policy
  • Standard priority confirmed escalation-acknowledgement
  • Upgrade to high priority warranted high_priority EscalationRouting.UpgradePriority escalation-acknowledgement
  • Business or critical infrastructure account identified critical_account EscalationRouting.UpgradePriority escalation-acknowledgement

Escalation Acknowledgement

Approval
Slack.RequestApproval to #escalations-queue, approver: escalation_team_lead
Context sent:case.id, customer.accountNumber, complaint.nature, complaint.servicesAffected, case.escalationTeam, case.responseTimeline, complaint.compensationOffered
  • Approved and owner assigned approved CaseManagement.UpdateCase customer-close-out
  • Rejected or reassignment needed rejected EscalationRouting.IdentifyTeam escalation-routing
  • No response within 20 minutes escalation-human

Customer Close-Out

Say"Your case has been escalated and assigned. Your case reference number is case.id. The case.escalationTeam team will be in touch within case.responseTimeline via customer.preferredContact. If you need to reference this, please quote case.id."

CommsLog.SendConfirmation to customer.preferredContact with case.id, case.escalationTeam, and case.responseTimeline

BillingPlatform.NoteAccount with escalation flag and case.id

Say"Is there anything else I can clarify before we wrap up? I want to make sure you feel confident that this is in hand."
  • Customer is satisfied and has no further questions confirmed resolution-close
  • Customer requests additional credit or compensation compensation-review
  • Customer remains unsatisfied and escalates further frustrated escalation-human

Compensation Review

kb.compensation-credit-policy — check eligibility based on complaint.servicesAffected, outage duration, and complaint.compensationOffered

Agent
assess whether a goodwill credit or service adjustment is appropriate given the complaint history.
Goal:determine credit amount or gesture within policy limits and apply if approved.
Constraints:never offer a credit exceeding USD 150 without manager approval; never apply a second credit if complaint.compensationOffered already shows one was granted within the last 90 days; always document the decision in the case notes.
Tools available:BillingPlatform.ApplyCredit, CRM.GetAccountSummary, CaseManagement.GetCaseDetails, kb.compensation-credit-policy
  • Credit within policy limits approved approved BillingPlatform.ApplyCredit customer-close-out
  • Credit exceeds policy limit needs_approval escalation-human
  • Prior credit already granted, none applicable ineligible customer-close-out

De-escalation

Say"I completely hear you, and I want you to know I take this seriously. My goal right now is to make sure your complaint gets to the right person with the full context — can I ask a couple of quick questions so I can do that properly?"

kb.de-escalation-guidelines — apply language and pacing guidance for hostile or distressed callers

Detect
sentiment shift after de-escalation attempt
  • Customer settles enough to continue confirmed intake-and-verification
  • Customer remains hostile or uses threatening language hostile CommsLog.FlagInteraction for supervisor review escalation-human
  • Customer mentions regulatory body or legal action legal_threat regulatory-legal-routing
Say"I understand — given what you've mentioned, I'm going to make sure this is reviewed by the right team immediately. I'm flagging your case right now and you will be contacted directly."

CaseManagement.CreateEscalationCase with customer.accountNumber, complaint.nature, complaint.servicesAffected, and legal or regulatory flag

CommsLog.FlagInteraction with legal_regulatory tag and case.id

EscalationRouting.RouteToCompliance with case.id and full case context

  • Compliance or legal team notified compliance_routed regulatory-close-out
  • Routing system unavailable system_down system-unavailable-fallback

Regulatory Close-Out

Say"Your case, reference case.id, has been escalated directly to our compliance team. Someone will be in touch within one business day via customer.preferredContact. Please reference case.id in any further correspondence."

CommsLog.SendConfirmation to customer.preferredContact with case.id and compliance escalation notice

System Unavailable Fallback

Say"I'm sorry — our systems are temporarily unavailable, but I don't want that to delay your complaint. I'm taking full notes manually right now and will ensure this is entered and actioned as soon as systems are restored."

CommsLog.ManualNoteEntry with customer.name, customer.accountNumber, complaint.nature, complaint.servicesAffected, complaint.history, and timestamp

Say"Your verbal reference number for this interaction is case.id — please keep that handy. You can expect to hear from us within case.responseTimeline once our systems are back up. I sincerely apologise for the inconvenience."
  • Manual log completed, systems expected to restore shortly resolution-close
  • Systems remain down and customer needs immediate escalation escalation-human

Escalation to Human Agent

EscalationRouting.PageSupervisor with case.id, customer.accountNumber, complaint.nature, and urgency flag

CommsLog.FlagInteraction with supervisor_required tag

Slack.Notify to #escalations-live with case summary, customer.accountNumber, and case.id

Say"I'm transferring you to a senior member of our team right now. They have full visibility of your case — you won't need to repeat anything. Thank you for your patience, customer.name."

Identity Escalation

Say"I want to help, but I need to protect your account by verifying your identity first. Unfortunately I wasn't able to confirm your details this time. I can send a verification link to the contact details on your account — would that work for you?"

CRM.SendVerificationLink to contact details on file

  • Customer verifies via link and calls back intake-and-verification
  • Customer unable or unwilling to verify escalation-human

Resolution Close

Say"Thank you for your patience throughout this, customer.name. Your escalation is logged under case.id, and the right team will be in touch within case.responseTimeline. We appreciate you giving us the chance to put this right."

CaseManagement.UpdateCase with resolved_handoff status and final interaction notes

CommsLog.CloseInteraction with customer.accountNumber and case.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat▣ email

Complaint / Feedback Intake

HealthcarePatient RelationsComplaintsGrievanceFeedback

Intake Greeting

Say"Thank you for reaching out to our Patient Relations team. My name is your Healthcare Support Agent, and I'm here to make sure your concern is heard and handled with care. May I have your full name and date of birth so I can pull up your record?"
  • Patient provides name and date of birth identity-verification
  • Patient declines to provide identifying information unverified-caller
  • Patient immediately expresses significant distress distressed-patient

Identity Verification

EHR.LookupPatient using patient.name and patient.dob

Say"Thank you. I'm also going to ask for your patient ID or member number if you have it handy — that just helps me make sure I have the right record."
  • Identity confirmed, patient record located in EHR verified complaint-type-triage
  • Identity cannot be confirmed after two attempts unverified unverified-caller
  • Patient becomes distressed during verification distressed-patient

Complaint Type Triage

Say"I appreciate your patience. I want to make sure I understand what you'd like to share with us today. Could you briefly describe the nature of your concern or feedback — for example, whether it relates to your care experience, a specific provider, billing, or something else?"
Detect
intent and nature of patient submission
  • Patient describes a potential safety event, clinical harm, abuse, or neglect safety-incident safety-escalation
  • Patient explicitly requests a patient advocate or administrator requests-advocate escalation-human
  • Patient describes a complaint about care quality, provider conduct, facility, or billing complaint complaint-intake
  • Patient is sharing positive or general feedback positive-feedback commendation-intake
  • Patient becomes emotionally distressed at any point distressed distressed-patient

Distressed Patient

Say"I want you to know that what you're sharing matters, and I'm not going to rush you. Take all the time you need — I'm here and I'm listening."
Detect
sentiment and readiness to continue
  • Patient is ready to continue after acknowledgment ready complaint-type-triage
  • Patient remains highly distressed and requests to speak with someone senior requests-advocate escalation-human
  • Patient discloses a safety concern or harm during this exchange safety-incident safety-escalation

Complaint Intake

Say"Thank you for sharing that with me. I want to make sure I capture every detail accurately. Can you tell me the approximate date this occurred, and the name of the provider or department involved if you know it?"

EHR.GetPatientContext for patient.id to pre-populate known provider and visit history

Say"I also want to make sure we can follow up with you in the way that works best for you. Would you prefer a phone call, a message through the patient portal, or an email?"
  • All key details collected — date, provider or department, nature, preferred contact complaint-logging
  • Patient cannot recall specific date or provider complaint-logging
  • Patient discloses details suggesting clinical harm or a safety event during intake safety-incident safety-escalation
  • Patient becomes distressed during intake distressed-patient

Complaint Logging

GrievanceManagement.CreateCase with patient.id, patient.name, patient.dob, complaint.date, complaint.nature, complaint.provider, complaint.department, patient.preferredContact, case.priority

CRM.UpdatePatientRecord with case reference and feedback.type tagged as complaint

Say"I've logged your concern in our system. Your reference number is complaint.referenceNumber — please keep that handy in case you need to follow up with us. You can expect to hear from our Patient Relations team within five business days, and sooner if your concern is urgent."
Say"Is there anything else you'd like me to note, or any other questions I can answer for you today?"
  • Patient has no further questions resolution-acknowledgment
  • Patient raises an additional complaint or concern complaint-intake
  • Patient raises a safety concern at this stage safety-incident safety-escalation
  • Patient requests to speak with a patient advocate requests-advocate escalation-human

Commendation Intake

Say"That's wonderful to hear — thank you so much for taking the time to share that. Positive feedback means a great deal to our teams, and I'll make sure it gets to the right people."

CRM.LogFeedback with patient.id, patient.name, feedback.type tagged as commendation, and complaint.provider or complaint.department if provided

Say"I've passed along your kind words. Is there anything else I can help you with today?"
  • Patient has nothing further to add resolution-acknowledgment
  • Patient also has a complaint to raise complaint-intake

Unverified Caller

Say"I'm sorry — because I'm not able to confirm your identity in our system, I'm not able to access or create a record on your behalf. I want to make sure your concern is still heard, and there are a couple of ways we can do that."
Say"You're welcome to submit a written complaint through our website, or you can visit any of our facilities in person and our Patient Relations staff will be glad to assist you. If you do have your patient ID or member number available at a later time, you're also welcome to call back and we can complete the intake then."

kb.patient-complaint-submission-policy — confirm current written complaint and in-person intake options

  • Patient accepts alternative options and ends the call resolution-acknowledgment
  • Patient becomes distressed about inability to proceed distressed-patient
  • Patient discloses a safety concern despite being unverified safety-incident safety-escalation

Safety Escalation

Say"Thank you for telling me this. What you've described is something we take very seriously, and I'm going to make sure it reaches the right team immediately. You will be contacted directly as a priority."

RiskReporting.CreateIncident tagged high-priority with patient.name, patient.dob, patient.id if verified, complaint.nature, complaint.date, complaint.provider, complaint.department

GrievanceManagement.CreateCase with case.priority set to high and flagged for clinical risk management review

SecureMessaging.NotifyClinicalRiskTeam with incident summary and complaint.referenceNumber

Say"Your concern has been escalated to our clinical risk management team. Someone will be reaching out to you directly, and your reference number is complaint.referenceNumber."

Escalation to Human Agent

CRM.UpdatePatientRecord with escalation flag and case summary

SecureMessaging.NotifyPatientAdvocate with patient.name, patient.id if verified, complaint.nature, and preferred contact patient.preferredContact

Say"Absolutely — I'm going to connect you with a Patient Advocate or Administrator right now who is best positioned to help you. Please hold for just a moment while I bring them in."

Resolution Acknowledgment

Say"Thank you again for reaching out to us. Your experience matters, and we appreciate you giving us the opportunity to address your concern. If you need anything else or have follow-up questions, please don't hesitate to contact us — your reference number is complaint.referenceNumber."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ chat▣ sms▣ text

Check-in / Check-out Assistance

TravelHospitalityFront DeskCheck-inCheck-out

Contact & Intent Capture

Say"Welcome! I'm here to help you with your hotel check-in or check-out. Are you checking in, checking out, or do you need help with a reservation issue?"
  • Guest says checking in intent-checkin reservation-lookup-checkin
  • Guest says checking out intent-checkout reservation-lookup-checkout
  • Guest mentions a problem or issue intent-issue reservation-lookup-checkin
  • Intent is unclear unclear clarify-intent

Clarify Intent

Say"No problem — could you tell me a little more about what you need today? For example, are you arriving and need your room, or are you departing and have a question about your bill?"
  • Guest clarifies check-in intent-checkin reservation-lookup-checkin
  • Guest clarifies check-out intent-checkout reservation-lookup-checkout
  • Still unclear after two attempts still-unclear escalation-human

Reservation Lookup — Check-in

Say"Great, let's get you checked in. Could you please share your reservation confirmation number and the name on the booking?"

PMS.LookupReservation using reservation.confirmationNumber and guest.fullName

  • Reservation found, arrival date matches reservation.arrivalDate identity-verification
  • Reservation not found by confirmation number reservation-not-found
  • System lookup error system-error escalation-human

Reservation Lookup — Check-out

Say"Of course — let's pull up your stay. Could you share your confirmation number or the name on the reservation?"

PMS.LookupReservation using reservation.confirmationNumber and guest.fullName

  • Reservation found, departure date matches reservation.departureDate folio-review
  • Reservation not found by confirmation number reservation-not-found
  • System lookup error system-error escalation-human

Reservation Not Found

Say"I wasn't able to find a reservation with that confirmation number. Let me try a few other ways to locate your booking."

PMS.SearchByNameAndDate using guest.fullName and reservation.arrivalDate

CRM.LookupGuestProfile using guest.email or guest.loyaltyId

  • Reservation found by name and date search identity-verification
  • Reservation appears to be a third-party booking third-party-booking PMS.RequestThirdPartyImport for booking.thirdPartySource third-party-import-pending
  • No reservation found after all searches escalation-human

Third-Party Import Pending

Say"It looks like your booking was made through a third-party site. I've initiated a request to import those details, which can take a few minutes. Could I place you on a brief hold, or would you prefer I send you an update as soon as it's ready?"
  • Guest agrees to wait, import completes successfully identity-verification
  • Guest prefers callback or notification CRM.CreateCallback for guest.phone or guest.email resolution-pending-notification
  • Import fails after retry import-failed escalation-human

Identity Verification

Say"To protect your security, I need to verify your identity. Could you please confirm your date of birth, loyalty account number, or the last four digits of the card used to hold the reservation?"

IDVerification.VerifyGuest using guest.fullName, guest.loyaltyId, and reservation.confirmationNumber

  • Identity verified successfully identity-verified room-readiness-check
  • Identity cannot be verified after two attempts identity-failed escalation-human

Room Readiness Check

PMS.CheckRoomStatus for reservation.roomType and reservation.specialRequests

  • Room is ready and assigned room.number is available room-ready room-assignment-confirm
  • Room is not yet ready room-not-ready room-not-ready-options
  • No room available due to overbooking overbooked escalation-human

Room Assignment Confirmation

Say"Great news — your room room.number is ready and waiting for you. Let me issue your digital key now."

DigitalKeySystem.IssueKey for room.number linked to guest.email or guest.phone

CRM.UpdateGuestProfile with check-in timestamp and room.number

PMS.RecordCheckIn for reservation.confirmationNumber

Say"Your digital key has been sent to guest.email. Your room is room.number. Is there anything else I can help you with — extra pillows, dining reservations, or local recommendations?"
  • Guest has additional requests additional-requests special-requests-handling
  • Guest is satisfied and done satisfied resolution-checkin-complete

Room Not Ready — Options

Say"Your room isn't quite ready yet, but I have a few options to make your wait comfortable. I can arrange luggage storage, provide access to our lounge, or send you a notification the moment your room is ready. Which would you prefer?"
  • Guest requests luggage storage PMS.ArrangeLuggageStorage for guest.fullName ready-room-alert-setup
  • Guest requests lounge access PMS.GrantLoungeAccess for guest.loyaltyId ready-room-alert-setup
  • Guest wants notification only ready-room-alert-setup
  • Guest is frustrated or insists on immediate room frustrated escalation-human

Ready-Room Alert Setup

PMS.SetReadyRoomAlert for reservation.confirmationNumber, notify via guest.phone or guest.email

Say"Perfect — I've set that up for you. You'll receive a message at guest.phone as soon as your room is ready. In the meantime, is there anything else I can arrange?"
  • Guest has further needs additional-requests special-requests-handling
  • Guest is happy to wait satisfied resolution-pending-notification

Special Requests Handling

Say"Of course — happy to note that. What can I arrange for you?"

PMS.UpdateSpecialRequests for reservation.confirmationNumber with reservation.specialRequests

CRM.LogGuestPreference for guest.loyaltyId

  • Request logged successfully, guest is satisfied resolution-checkin-complete
  • Request cannot be fulfilled, requires manager input escalation-human

Folio Review

BillingSystem.GenerateFolio for reservation.confirmationNumber

BillingSystem.SendItemizedFolio to guest.email with folio.itemizedUrl

Say"I've pulled up your folio — the total comes to folio.total. I've sent an itemized breakdown to guest.email. Would you like me to walk you through the charges, or does everything look correct?"
  • Guest confirms all charges are correct confirmed checkout-processing
  • Guest has a question about a charge question folio-explanation
  • Guest disputes a charge dispute charge-dispute

Folio Explanation

Say"Of course — let me explain that line item. The charge for dispute.lineItem reflects the rate agreed at booking, plus applicable taxes and any incidentals. Does that make sense?"

kb.billing-policy — review applicable rate, tax, and incidental policies

  • Guest accepts the explanation confirmed checkout-processing
  • Guest still disputes after explanation still-disputes charge-dispute

Charge Dispute

Agent
review dispute.lineItem and dispute.amount against kb.billing-policy and reservation details to determine if a correction is warranted.
Goal:resolve the disputed charge fairly — apply a correction if within agent adjustment authority, or route to a supervisor if it exceeds policy limits.
Constraints:never approve adjustments above USD 150 without supervisor approval; always log every adjustment in the billing system; never remove taxes or mandatory fees unilaterally.
Tools available:BillingSystem.GetLineItemDetail, BillingSystem.ApplyAdjustment, kb.billing-policy, CRM.LogDispute
  • Dispute is valid and within adjustment authority adjustment-approved BillingSystem.ApplyAdjustment for dispute.amount checkout-processing
  • Dispute is valid but exceeds adjustment authority exceeds-authority escalation-human
  • Dispute is not supported by policy dispute-denied dispute-denial-explanation

Dispute Denial Explanation

Say"I've reviewed that charge carefully, and based on our policy it reflects a valid and agreed-upon amount. I'm sorry I'm not able to remove it, but I want to make sure you feel heard. Would you like me to escalate this for a second review, or are you comfortable proceeding with check-out?"
  • Guest accepts and wants to proceed accepted checkout-processing
  • Guest wants escalation wants-escalation escalation-human

Check-out Processing

BillingSystem.SettleFolio for reservation.confirmationNumber

PMS.RecordCheckOut for reservation.confirmationNumber

DigitalKeySystem.DeactivateKey for room.number

CRM.UpdateGuestProfile with check-out timestamp and stay summary

Say"You're all checked out — your final receipt has been sent to guest.email. It was a pleasure having you with us. Safe travels, guest.fullName!"
  • Guest has feedback or further questions feedback post-stay-feedback
  • Guest is satisfied and done satisfied resolution-checkout-complete

Post-Stay Feedback

Say"I'd love to hear your thoughts — your feedback helps us improve. What stood out during your stay, and is there anything we could have done better?"

CRM.LogFeedback for guest.loyaltyId and reservation.confirmationNumber

  • Feedback logged, guest is done resolution-checkout-complete
  • Guest raises a serious concern or complaint serious-complaint escalation-human

Outside Hours — Self-Service or On-Call

Say"It looks like our front desk is currently unstaffed. I have two options for you: I can activate self-service key retrieval at the kiosk, or I can page our on-call team member to assist you right away. Which would you prefer?"

PMS.CheckSelfServiceKioskAvailability

  • Self-service kiosk is available and guest agrees kiosk-ready DigitalKeySystem.IssueKioskKey for reservation.confirmationNumber room-assignment-confirm
  • Guest prefers on-call staff or kiosk is unavailable escalation-human

Escalation to Human Agent

CRM.CreateUrgentCase for guest.fullName, reservation.confirmationNumber, and reason for escalation

PMS.FlagReservation with escalation status

Say"I want to make sure you're taken care of properly. I'm connecting you now with a team member who has the authority to resolve this right away. Thank you for your patience, guest.fullName."

Resolution — Check-in Complete

Say"You're all set and checked in! Enjoy your stay, guest.fullName. Don't hesitate to reach out if you need anything at all."

Resolution — Check-out Complete

Say"Everything is wrapped up. Thank you for staying with us, guest.fullName — we hope to welcome you back soon!"

Resolution — Pending Notification

Say"You're all set for now. We'll be in touch at guest.phone or guest.email as soon as your room is ready. Thanks for your patience!"
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ text

Cancellation / Retention

TelecomRetentionCancellationSupport

Intent Capture

Say"Thank you for contacting us. I understand you may be thinking about making a change to your account — I'm here to help. Can I start by pulling up your account? Please share your account number or the phone number on file."

CRM.LookupAccount on customer.accountNumber

  • Identity verified successfully verified account-review
  • Identity cannot be confirmed after two attempts escalation-human

Account Review

CRM.GetAccountDetails to load account.planName, account.contractStatus, account.contractEndDate, account.tenure

BillingSystem.GetBalance to load account.outstandingBalance and account.paymentHistory

ContractManagement.GetETF to load account.etfAmount

Say"Thanks, customer.name. I can see your account. Before we go any further, could you help me understand what's prompting you to think about leaving today?"
Detect
cancellation reason category from customer reply
  • Customer cites cost or billing concern reason-cost retention-offer
  • Customer cites service quality or technical issue reason-service complaint-resolution
  • Customer cites competitor offer or plan comparison reason-competitor retention-offer
  • Customer cites relocation or life change reason-life-change retention-offer
  • Customer gives no specific reason or says "just want to cancel" reason-firm etf-disclosure-check

Complaint Resolution

Say"I really appreciate you sharing that with me. It sounds like the experience you've had isn't what we want for you, and I'd like to make sure that's addressed properly before we talk about anything else."

CRM.CreateCase tagged service-complaint, linked to customer.accountNumber

Agent
review account.paymentHistory and case history to determine if the service complaint is resolvable before a retention offer is appropriate.
Goal:assess whether the underlying complaint (technical, billing error, service gap) can be resolved or credibly committed to, so a retention pitch lands on solid ground rather than dismissing the concern.
Constraints:do not make commitments outside documented resolutions; do not skip complaint acknowledgement and route directly to a retention offer; if the complaint involves a billing dispute, confirm with BillingSystem before stating any credit amount.
Tools available:CRM.GetCaseHistory, BillingSystem.GetBillingDetails, kb.complaint-resolution-policy
  • Complaint is resolvable and customer is receptive retention-offer
  • Complaint is complex or customer remains frustrated unresolved_complaint escalation-human

ETF Disclosure Check

ContractManagement.GetETF to confirm account.etfAmount and account.contractStatus

  • Account is within contract and ETF applies etf_applies etf-disclosure
  • Account is out of contract or no ETF no_etf retention-offer

ETF Disclosure

Say"Before we go further, I want to make sure you have the full picture. Because your contract runs until account.contractEndDate, an early termination fee of account.etfAmount would apply if you cancel today. I want to be upfront about that. Would you like me to walk through your options, or do you have questions about that fee?"
Detect
customer response to ETF disclosure
  • Customer acknowledges ETF and still wants to proceed etf-acknowledged retention-offer
  • Customer disputes the ETF amount or asks for a waiver etf-disputed escalation-human
  • Customer is surprised and wants time to think etf-reconsidering retention-offer

Retention Offer

RetentionOfferEngine.GetEligibleOffers for customer.accountNumber, filtered by cancellation.reason, account.tenure, account.paymentHistory

Agent
select the single best retention offer to present to customer.name based on their stated cancellation reason, account profile, and available offers.
Goal:identify the offer most likely to address the customer's specific concern — prioritise bill-credit or discount offers for cost complaints, speed/reliability upgrades for service complaints, and plan-match or loyalty perks for competitor comparisons.
Constraints:present only one offer at a time; do not invent offers not returned by RetentionOfferEngine.GetEligibleOffers; do not offer a discount that exceeds the retention discount authority tier; if account.outstandingBalance is greater than zero, do not bundle a credit into the offer until balance is acknowledged.
Tools available:RetentionOfferEngine.GetEligibleOffers, CRM.GetAccountDetails, kb.retention-offer-policy
  • Suitable offer identified offer_ready present-offer
  • No eligible offers found no_offer outstanding-balance-check

Present Offer

Say"Based on everything on your account and what you've shared, I think I can help. Here's what I can do for you: retention.offerDescription. This offer is available until retention.offerExpiry. Would you like to take advantage of that?"
Detect
customer response to retention offer
  • Customer accepts the offer offer-accepted offer-acceptance
  • Customer asks for something better or different offer-counter secondary-offer
  • Customer declines and still wants to cancel offer-declined outstanding-balance-check

Secondary Offer

Say"I understand — let me see if there's anything else I can do. Give me just a moment."

RetentionOfferEngine.GetEligibleOffers ranked by value, excluding retention.offerId already presented

  • A second distinct offer exists second_offer_available present-second-offer
  • No further offers available no_further_offers outstanding-balance-check

Present Second Offer

Say"Here's another option I can offer you: retention.offerDescription. This is the best I'm able to do from my end. Would this work for you?"
Detect
customer response to second retention offer
  • Customer accepts offer-accepted offer-acceptance
  • Customer declines or remains firm offer-declined outstanding-balance-check

Offer Acceptance

RetentionOfferEngine.ApplyOffer for customer.accountNumber with retention.offerId

CRM.UpdateAccount with retention outcome and retention.offerId applied

Twilio.SendSMS to customer.phone confirming offer details and retention.offerExpiry

Twilio.SendEmail to customer.email with full offer confirmation and updated plan summary

Say"Wonderful — I've applied that to your account right now and you'll receive a confirmation by email and text shortly. We're really glad you're staying, customer.name. Is there anything else I can help you with today?"

Outstanding Balance Check

BillingSystem.GetBalance to confirm account.outstandingBalance

  • Outstanding balance exists on account balance_owing balance-disclosure
  • No outstanding balance balance_clear process-cancellation

Balance Disclosure

Say"Before we proceed, I do need to let you know that there is an outstanding balance of account.outstandingBalance on your account. Cancelling your service does not waive this balance — it will remain due and may be referred to our collections team if unpaid. Would you like to discuss payment options, or would you like to continue with the cancellation?"
Detect
customer response to balance disclosure
  • Customer wants to discuss payment or sort balance first balance-resolve escalation-human
  • Customer acknowledges and confirms they want to proceed with cancellation balance-acknowledged process-cancellation
  • Customer becomes frustrated or disputes the balance balance-disputed escalation-human

Process Cancellation

CRM.InitiateCancellation for customer.accountNumber

BillingSystem.CalculateFinalBill to return transaction.finalBillDate and any remaining charges

ContractManagement.ApplyETF if etf_applies is set on this session

CRM.UpdateAccount with cancellation status and reason cancellation.reason

Say"I've processed your cancellation request. Your service will remain active until transaction.finalBillDate, which is also when your final bill will be generated. You'll receive a written confirmation by email shortly."
  • ETF applies on this account etf_applies cancellation-confirmation-etf
  • No ETF on this account no_etf cancellation-confirmation-clean

Cancellation Confirmation — ETF

Twilio.SendEmail to customer.email with cancellation confirmation, transaction.finalBillDate, account.etfAmount, and balance summary

Twilio.SendSMS to customer.phone with cancellation confirmation summary

Say"A confirmation email is on its way with all the details, including the early termination fee of account.etfAmount. If you have any questions about your final bill, our billing team is available to help. We're sorry to see you go, customer.name, and we hope to be of service again in the future."

Cancellation Confirmation — Clean

Twilio.SendEmail to customer.email with cancellation confirmation, transaction.finalBillDate, and any final balance details

Twilio.SendSMS to customer.phone with cancellation confirmation summary

Say"You're all set. A confirmation email is heading to you now with all the details. We're sorry to see you go, customer.name, and we wish you all the best."

Escalation to Human Agent

CRM.CreateCase priority: high, tagged cancellation-escalation, linked to customer.accountNumber

CRM.AddNote with full session summary: cancellation.reason, offers presented, ETF status, balance status

Twilio.SendSMS to customer.phone: "We're connecting you with a specialist who can assist further."

Say"I want to make sure you get the right support here. I'm going to connect you with a specialist who has the authority and expertise to work through this with you properly. Thank you for your patience, customer.name."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ chat▣ email▣ sms

Booking Cancellation / Refund Request

TravelHospitalityCancellationRefund

Identity Verification

Say"Thank you for reaching out. I can help you with a cancellation or refund request. To get started, could you please provide your full name and the email address or phone number on the booking?"

CRM.LookupCustomer using customer.fullName and customer.email or customer.phone

Detect
outcome of identity lookup
  • Customer record found and details match confirmed booking-lookup
  • Details provided do not match any record unrecognized reverify-identity
  • Customer is unable or unwilling to provide verification details refused escalation-human

Re-verify Identity

Say"I wasn't able to match those details to a booking. Could you double-check the name or email used at the time of booking? Sometimes a nickname or alternate address was used."

CRM.LookupCustomer retry with alternate details

  • Match found on second attempt confirmed booking-lookup
  • Still no match after second attempt unrecognized escalation-human

Booking Lookup

Say"Thank you, customer.fullName. Could you please share your booking or confirmation ID, along with your travel dates and destination?"

ReservationManagement.GetBooking using booking.id

Detect
booking record outcome
  • Booking found and active confirmed cancellation-policy-check
  • Booking not found or ID invalid not_found escalation-human
  • Booking already cancelled already_cancelled refund-status-check

Cancellation Policy Check

Say"I've pulled up your reservation for booking.destination on booking.travelDates. Let me check the cancellation policy tied to your rate."

PolicyRulesEngine.GetCancellationPolicy for booking.id and booking.rateClass

Detect
cancellation window and fee applicability
  • Booking is within the free-cancellation window free_cancel confirm-cancellation-intent
  • Booking is outside the free-cancellation window and fees apply fees_apply outside-window-advisory
  • Booking was made through a third-party OTA ota_booking ota-redirect

Confirm Cancellation Intent

Say"Great news — your booking is within the free-cancellation window. You are eligible for a full refund of refund.amount to your original payment method. Before I proceed, could you share the reason for your cancellation? This helps us improve."
  • Customer provides cancellation reason and confirms they want to proceed confirmed process-cancellation
  • Customer wants to change dates instead of cancelling date_change escalation-human
  • Customer is unsure and wants time to decide undecided send-policy-summary

Send Policy Summary

Say"No problem at all. I'll send a summary of your cancellation policy and options to customer.email so you can review at your own pace. Feel free to reach back out when you're ready."

NotificationService.SendEmail to customer.email with cancellation policy summary and free-cancellation deadline for booking.id

  • Customer returns and confirms cancellation confirmed process-cancellation
  • Customer does not respond within 24 hours escalation-human

Outside Window Advisory

Say"I can see that your booking falls outside the free-cancellation window, which means a cancellation fee of cancellation.feeAmount would apply. I want to make sure you have all your options before we proceed. You may be eligible for a travel credit of refund.creditValue, or we could look into changing your travel dates at no extra charge."

kb.cancellation-policy — check fee waiver eligibility and alternative options for booking.rateClass

  • Customer accepts the fee and wants to cancel accepted_fee process-cancellation
  • Customer wants to apply for a travel credit instead credit_preferred process-travel-credit
  • Customer cites extenuating circumstances such as medical or bereavement extenuating extenuating-circumstances-review
  • Customer disputes the fee and demands a waiver beyond advisory authority disputes_fee escalation-human

Extenuating Circumstances Review

Say"I'm very sorry to hear about your situation. We do have a process to review waiver requests for extenuating circumstances such as medical emergencies or bereavement. I'll need to collect a brief note on the nature of the situation and, if available, any supporting documentation such as a medical certificate or official notice."

CRM.CreateCase tagged exception-review, linked to booking.id, reason: cancellation.reason

Detect
customer willingness to provide documentation
  • Customer agrees to submit documentation doc_provided flag-for-exception-review
  • Customer cannot or will not provide documentation no_doc escalation-human

Flag for Exception Review

Say"Thank you for sharing that. I've flagged your case for our exception review team. They will assess your request and reach out to you at customer.email within two business days with a decision. In the meantime, I'm not processing the cancellation so your booking remains active."

CRM.UpdateCase with exception.documentType and submitted evidence

NotificationService.SendEmail to customer.email confirming exception review has been opened with case reference

  • Exception review is opened and customer is notified resolution-confirmation

Process Cancellation

Say"I'll go ahead and cancel your booking now. This will just take a moment."

ReservationManagement.CancelBooking for booking.id

PaymentProcessor.InitiateRefund for refund.amount to booking.paymentMethod

CRM.UpdateRecord with cancellation details for customer.fullName

Detect
cancellation processing outcome
  • Cancellation and refund initiated successfully success send-confirmation
  • System error prevents processing system_error escalation-human

Process Travel Credit

Say"I'll cancel your booking and apply a travel credit of refund.creditValue to your account. This credit can be used toward any future booking with us."

ReservationManagement.CancelBooking for booking.id

PaymentProcessor.IssueTravelCredit for refund.creditValue linked to customer.email

CRM.UpdateRecord with credit issuance details

Detect
credit issuance outcome
  • Credit issued successfully success send-confirmation
  • System error during credit issuance system_error escalation-human

Send Confirmation

Say"Your booking has been successfully cancelled. You'll receive a written confirmation at customer.email within a few minutes, including your refund or credit details and the expected timeline of refund.timeline."

NotificationService.SendEmail to customer.email with cancellation confirmation, refund.amount or refund.creditValue, and refund.timeline

  • Confirmation sent successfully resolution-confirmation

Refund Status Check

Say"It looks like this booking was already cancelled. Let me check the status of any refund associated with it."

PaymentProcessor.GetRefundStatus for refund.transactionId

Detect
refund status
  • Refund has been issued and should have been received issued refund-already-issued
  • Refund is still processing processing advise-refund-in-progress
  • No refund record found not_found escalation-human

Refund Already Issued

Say"Our records show that a refund of refund.amount was issued on the original transaction. It can sometimes take 5 to 10 business days to appear depending on your bank. Could you confirm that you haven't seen it in your statement?"
  • Customer confirms refund has now been received confirmed resolution-confirmation
  • Customer still has not received the refund after the expected window not_received escalation-finance

Advise Refund In Progress

Say"Your refund of refund.amount is currently being processed and should appear within refund.timeline. I'll send a confirmation to customer.email with the transaction reference so you have it on record."

NotificationService.SendEmail to customer.email with refund status and refund.transactionId

  • Customer is satisfied and no further action needed resolution-confirmation
  • Customer requests further escalation escalation_requested escalation-finance

OTA Redirect

Say"I can see that your booking was made through a third-party platform — booking.otaSource. Unfortunately, our system is unable to process cancellations or refunds for reservations made via that channel. You'll need to contact booking.otaSource directly to request a cancellation."

kb.ota-partner-contacts — retrieve contact instructions and cancellation process for booking.otaSource

Say"I can share the reference details for your booking so you have everything ready when you contact them: your booking ID is booking.id, the travel dates are booking.travelDates, and the destination is booking.destination."

NotificationService.SendEmail to customer.email with OTA redirect instructions and booking reference details

  • Customer acknowledges and will contact OTA directly resolution-confirmation
  • Customer is frustrated and requests direct escalation escalation_requested escalation-human

Escalation to Finance Team

CRM.CreateCase priority: high, tagged refund-not-received, linked to refund.transactionId

NotificationService.NotifyTeam to #finance-escalations with customer.fullName, booking.id, refund.amount, and refund.transactionId

Say"I've escalated this to our finance team with all the transaction details. A specialist will reach out to you at customer.email within one to two business days to resolve this."

resolution-confirmation

Escalation to Human Agent

CRM.CreateCase priority: high, tagged cancellation-escalation, linked to booking.id

NotificationService.NotifyTeam to #reservations-support with customer.fullName, booking.id, and case summary

Say"I want to make sure this is handled correctly for you. I'm escalating your case to a senior support specialist who will be able to assist further. You'll be contacted at customer.email or customer.phone shortly."

Resolution Confirmation

Say"Is there anything else I can help you with today? We appreciate your patience and hope to welcome you on a future trip."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat▣ email

Beneficiary / Policy Detail Update

InsurancePolicy ManagementBeneficiaryCompliance

Intake and Change Request

Say"Thank you for contacting us. I'm here to help you update your policy details. Can I start with your full name and policy number?"

CRM.LookupPolicy using customer.fullName and customer.policyNumber

  • Policy record found, proceed to verification identity-verification
  • Policy record not found or mismatch policy-not-found

Policy Not Found

Say"I wasn't able to locate a policy with that name and number combination. Could you double-check the policy number on your documents?"
  • Customer provides corrected details CRM.LookupPolicy retry identity-verification
  • Customer cannot locate their policy number escalation-human

Identity Verification

Say"To protect your account, I'll need to verify your identity. Could you please provide your date of birth, the last four digits of your Social Security Number, and your security PIN?"

IdentityVerification.Verify using customer.dateOfBirth, customer.ssnLast4, customer.securityPin against customer.policyNumber

  • Identity verified on first or second attempt verified change-type-collection
  • First attempt fails, prompt retry retry identity-retry
  • Second attempt fails identity_failed identity-lockout

Identity Retry

Say"That information didn't match what we have on file. Please try once more — make sure your date of birth, last four of your SSN, and security PIN are correct."

IdentityVerification.Verify using customer.dateOfBirth, customer.ssnLast4, customer.securityPin against customer.policyNumber

  • Identity verified verified change-type-collection
  • Second attempt also fails identity_failed identity-lockout

Identity Lockout

Say"I'm sorry, but I wasn't able to verify your identity after two attempts. For the security of your account, I'm unable to proceed with any changes at this time."

CRM.LogEvent tag: identity-verification-failure, policy: customer.policyNumber

CRM.CreateCase priority: high, tag: id-lockout-policy-change

Say"You're welcome to visit your nearest branch with a government-issued photo ID, or submit notarized documentation by mail to request this change. Would you like me to send you written instructions at the email address on file?"
  • Customer requests written instructions CRM.SendEmail template: id-lockout-instructions to customer.email escalation-human
  • Customer declines escalation-human

Change Type Collection

Say"Great, I've verified your identity. What change would you like to make today — is this a beneficiary update, or are you updating other policy details such as your address, name, or contact information?"
Detect
intent on customer's stated change request
  • Customer wants to update a beneficiary beneficiary-change beneficiary-detail-collection
  • Customer wants to update address, name, or contact info contact-or-name-change contact-detail-collection
  • Customer mentions a death in relation to the beneficiary change death-related bereavement-sensitive-path
  • Request involves a disputed beneficiary or legal document such as a court order legal-dispute escalation-human

Beneficiary Detail Collection

PolicyAdmin.GetCurrentBeneficiary for customer.policyNumber

Say"I can see the beneficiary currently on file is policy.currentBeneficiary. I'll now collect the updated information."
Say"Please provide the full legal name of the new beneficiary and their relationship to you — for example, spouse, child, or domestic partner."
  • New beneficiary details collected, no death involved form-requirement-check
  • Customer indicates they are removing a beneficiary following a death bereavement-sensitive-path

Bereavement Sensitive Path

Say"I'm so sorry for your loss. Please take your time — I'll do my best to make this process as straightforward as possible for you."

CRM.FlagCase tag: bereavement-sensitivity, policy: customer.policyNumber

Say"In situations involving the passing of a beneficiary, we typically require a certified copy of the death certificate to process the removal. Do you have that documentation available, or would you like guidance on how to submit it?"
  • Customer has or will submit death certificate form-requirement-check
  • Customer cannot provide documentation at this time CRM.CreateFollowUpTask deadline: 30-days, policy: customer.policyNumber pending-form-followup

Contact Detail Collection

PolicyAdmin.GetPolicyDetails for customer.policyNumber

Say"I can see the details currently on file. What specifically would you like to update — your address, phone number, email address, or legal name?"
  • Customer provides the new detail clearly direct-update-check
  • Customer is changing their legal name, supporting documentation may be required form-requirement-check

Direct Update Check

Agent
assess whether the requested contact or name detail change can be applied immediately without a signed form or supporting documentation.
Goal:determine if the update is a simple contact detail (address, phone, email) that can be saved directly, or if it requires a signed change request or supporting document before processing.
Constraints:never update a legal name without a signed form or supporting legal document; always confirm the new detail verbally with the customer before saving; never modify policy ownership or coverage as part of a contact detail update.
Tools available:PolicyAdmin.GetPolicyDetails, kb.policy-change-requirements
  • Simple contact update, no form required no_form_needed apply-direct-update
  • Legal name or document-required change form_required form-requirement-check

Form Requirement Check

kb.policy-change-requirements — check whether a wet signature, e-signature form, or supporting document is legally required for policy.changeType

  • E-signature form is sufficient ESignature.SendForm template: change-of-beneficiary to customer.email esignature-pending
  • Wet signature or physical document required wet-signature-required
  • No form required, change can be processed directly apply-direct-update

E-Signature Pending

Say"I've sent a secure e-signature form to customer.email. Once you complete and submit it, your change will be processed within one business day. Please check your inbox — it should arrive within a few minutes."

ESignature.SendForm to customer.email, linked to customer.policyNumber

CRM.CreateFollowUpTask tag: esignature-pending, deadline: 7-days, policy: customer.policyNumber

  • Customer confirms they received and completed the form apply-direct-update
  • Customer cannot complete the form now pending-form-followup
  • No response or form not returned within deadline CRM.EscalateTask escalation-human

Wet Signature Required

Say"This type of change requires a signed paper form. I'll send you the form by email along with instructions for returning it. Once we receive the completed form, your update will be processed within three to five business days."

DocumentManagement.GenerateForm template: beneficiary-change-form, policy: customer.policyNumber

CRM.SendEmail template: wet-signature-instructions, attachment: change-form to customer.email

CRM.CreateFollowUpTask tag: wet-signature-pending, deadline: 30-days, policy: customer.policyNumber

  • Customer acknowledges and will return the form pending-form-followup
  • Customer cannot return the form within the deadline pending-form-followup

Pending Form Follow-up

Say"No problem — I've saved a pending task on your account and flagged the deadline. We'll send you a reminder before it expires. If you need assistance completing the form, don't hesitate to reach back out."

CRM.CreateFollowUpTask tag: pending-change-form, deadline: 30-days, policy: customer.policyNumber

CRM.SendEmail template: pending-change-reminder to customer.email

  • Customer has additional questions escalation-human
  • Customer is satisfied resolution-confirmed

Apply Direct Update

Say"Before I save this, let me confirm the change: I'll be updating your record to reflect update.newDetail — or for a beneficiary change, update.newBeneficiaryName as update.newBeneficiaryRelationship. Is that correct?"
  • Customer confirms the details are correct save-policy-update
  • Customer requests a correction change-type-collection

Save Policy Update

PolicyAdmin.SaveChange policy: customer.policyNumber, change: update.newDetail

CRM.UpdateRecord policy: customer.policyNumber, tag: policy-detail-updated

DocumentManagement.LogChange policy: customer.policyNumber, agent: Insurance Support Agent

  • Save successful save_success confirmation-and-close
  • System unavailable or save error system_down system-unavailable

System Unavailable

Say"I'm sorry — our system is temporarily unavailable and I'm unable to save your changes right now. I want to make sure your request isn't lost."

CRM.CreateManualLog details: update.newDetail, policy: customer.policyNumber, tag: manual-change-request

CRM.GenerateCaseReference -> case.referenceNumber

CRM.ScheduleCallback within: 1-business-day, contact: customer.phone

Say"I've logged your request manually and your case reference number is case.referenceNumber. A member of our team will call you back at customer.phone within one business day to confirm your changes have been saved. Please keep that reference number handy."

resolution-confirmed

Confirmation and Close

Say"Your policy has been updated successfully. A confirmation has been sent to customer.email. Is there anything else I can help you with today?"

CRM.SendEmail template: policy-change-confirmation, policy: customer.policyNumber to customer.email

  • Customer has another request change-type-collection
  • Customer is done resolution-confirmed

Resolution Confirmed

Say"Thank you for reaching out and taking the time to keep your policy up to date. Take care, and don't hesitate to contact us if you need anything in the future."

CRM.CloseCase policy: customer.policyNumber, status: resolved

Escalation to Human Agent

CRM.CreateCase priority: high, tag: policy-change-escalation, policy: customer.policyNumber

CRM.NotifyTeam channel: #policy-ops-escalations, details: customer.policyNumber

Say"I'm going to connect you with a specialist who can assist you further with this request. Please hold for just a moment — thank you for your patience."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat▣ text

Appointment Reschedule / Cancellation

HealthcareSchedulingPatient Support

Intake and Identity Verification

Say"Thank you for reaching out. I can help you reschedule or cancel your appointment. To get started, may I have your full name and date of birth?"

EHR.LookupPatient using patient.fullName and patient.dateOfBirth to retrieve the patient record and patient.id.

Say"Thank you. Can you also confirm your patient ID or account number so I can pull up your appointment details?"

EHR.VerifyIdentity against patient.id and patient.accountNumber.

  • Identity verified successfully verified confirm-appointment-details
  • Identity cannot be verified after two attempts unverified identity-failure
  • Patient reports an urgent symptom or medical concern during intake urgent_concern clinical-triage-escalation

Identity Verification Failure

Say"I'm sorry — I wasn't able to verify your identity with the information provided. For your security, we're unable to make changes to your appointment until your identity is confirmed in person at one of our locations or through the patient portal with a verified login."

CRM.LogInteraction tagged identity-verification-failure, linked to patient.id

  • Patient accepts and ends the call accepted resolution-no-change
  • Patient escalates or disputes the inability to verify frustrated escalation-human

Confirm Appointment Details

EHR.GetAppointment for patient.id to retrieve appointment.date, appointment.provider, and appointment.id.

Say"I can see you have an appointment on appointment.date with appointment.provider. Are you looking to reschedule or cancel this appointment?"
Detect
patient intent on the request
  • Patient wants to reschedule reschedule reschedule-reason
  • Patient wants to cancel cancel cancellation-reason
  • Patient is vague or unsure unclear clarify-intent
  • Patient mentions a new or worsening symptom as the reason urgent_concern clinical-triage-escalation

Clarify Intent

Say"No problem — I just want to make sure I help you in the right way. Are you looking to move your appointment to a different time, or would you like to cancel it entirely?"
  • Patient confirms reschedule reschedule reschedule-reason
  • Patient confirms cancellation cancel cancellation-reason
  • Patient mentions a symptom or health concern urgent_concern clinical-triage-escalation

Reschedule — Reason Capture

Say"Understood. Could you briefly share the reason you need to reschedule? And do you have a preferred date or time range for the new appointment?"

CRM.LogInteraction tagged reschedule-request, linked to appointment.id

  • Patient provides a reason and preferred window has_preference check-slot-availability
  • Patient has no preference and any slot works no_preference check-slot-availability
  • Patient mentions a symptom or clinical concern as the reason urgent_concern clinical-triage-escalation

Check Slot Availability

SchedulingPortal.GetAvailableSlots for appointment.provider within the patient's preferred window.

  • Slots available with the same provider within the acceptable window slots_found offer-new-slot
  • No slots available with the same provider within the acceptable window no_slots no-availability-options
  • New slot requires eligibility check due to insurance or date change eligibility_check_needed insurance-eligibility-check

Offer New Slot

Say"I have a few openings with appointment.provider. Let me share those with you — which works best?"

SchedulingPortal.PresentSlots to surface top three available options.

Say"Once you confirm a time, I'll book that right away and send you a confirmation."
  • Patient selects a slot slot_selected SchedulingPortal.BookAppointment confirm-reschedule
  • Patient wants to see more options more_options SchedulingPortal.GetAvailableSlots extended range offer-new-slot
  • Patient changes mind and wants to cancel instead cancel cancellation-reason
  • Patient cannot find a suitable time no_match no-availability-options

No Availability Options

Say"I'm sorry — appointment.provider doesn't have availability within that window. I have a few options for you: I can offer you the next available slot with appointment.provider, or I can check for an earlier opening with another provider on the same care team, or I can add you to the waitlist so we can contact you if something opens up."
Detect
patient preference on alternatives
  • Patient accepts the next available slot with the same provider same_provider SchedulingPortal.BookAppointment confirm-reschedule
  • Patient accepts a different provider different_provider SchedulingPortal.GetAvailableSlots alternative providers offer-new-slot
  • Patient wants to join the waitlist waitlist SchedulingPortal.AddToWaitlist for patient.id and appointment.provider waitlist-confirmed
  • Patient is dissatisfied or requests provider callback frustrated escalation-human

Insurance Eligibility Check

Say"Before I confirm the new slot, I need to quickly verify your insurance coverage for that date. This will only take a moment."

EligibilityVerification.CheckCoverage using patient.id and insurance.status for newAppointment.date.

  • Coverage confirmed for the new date eligible offer-new-slot
  • Coverage issue detected — patient may owe out of pocket ineligible insurance-issue-flag
  • Eligibility check inconclusive inconclusive escalation-human

Insurance Issue Flag

Say"I was able to check your coverage, and there may be a gap in your insurance eligibility for the new appointment date. I want to make you aware before confirming so there are no billing surprises. Would you like to proceed, or would you prefer to speak with our billing team first?"
  • Patient wants to proceed anyway proceed offer-new-slot
  • Patient wants to speak with billing billing escalation-human
  • Patient decides to cancel instead cancel cancellation-reason

Cancellation — Reason Capture

Say"I can process that cancellation for you. Could you share the reason, even briefly? It helps us improve our scheduling."

EHR.CheckCancellationWindow for appointment.id to retrieve appointment.cancellationWindow.

CRM.LogInteraction tagged cancellation-request, linked to appointment.id

  • Within the cancellation window, no fee applicable no_fee process-cancellation
  • Inside the late-cancellation or no-show fee window fee_applicable late-cancellation-notice
  • Patient mentions a symptom or clinical concern as the reason urgent_concern clinical-triage-escalation

Late Cancellation Notice

Say"I want to let you know that this appointment falls within our late-cancellation window per clinic policy, which means a cancellation fee may apply. I want to make sure you're aware before I proceed. Would you still like to cancel?"

kb.cancellation-fee-policy — reference the applicable fee schedule and patient notification requirements.

  • Patient acknowledges and confirms cancellation confirmed process-cancellation
  • Patient disputes the fee or requests a waiver disputes_fee escalation-human
  • Patient decides to keep the appointment instead keep_appointment resolution-no-change

Process Cancellation

EHR.CancelAppointment for appointment.id, recording reason.change.

SchedulingPortal.ReleaseSlot for appointment.id.

CRM.UpdateRecord tagged cancelled, linked to patient.id and appointment.id.

Say"Your appointment on appointment.date with appointment.provider has been cancelled. You'll receive a confirmation shortly."

Twilio.SendNotification to patient.preferredContact with cancellation confirmation referencing appointment.date and appointment.provider.

  • Confirmation sent and patient has no further questions resolution-complete
  • Patient wants to reschedule after all reschedule reschedule-reason

Confirm Reschedule

EHR.UpdateAppointment replacing appointment.id with new slot details: newAppointment.date, newAppointment.time, newAppointment.provider.

CRM.UpdateRecord tagged rescheduled, linked to patient.id.

Say"You're all set. Your appointment has been moved to newAppointment.date at newAppointment.time with newAppointment.provider. A confirmation will be sent to your preferred contact on file."

Twilio.SendNotification to patient.preferredContact with reschedule confirmation including newAppointment.date, newAppointment.time, and newAppointment.provider.

  • Patient confirms receipt and has no further questions resolution-complete
  • Patient has an additional question or concern follow_up resolution-complete

Waitlist Confirmed

Say"You've been added to the waitlist for appointment.provider. If a slot becomes available that matches your preferences, we'll reach out right away via your preferred contact method. Is there anything else I can help you with?"

CRM.UpdateRecord tagged waitlisted, linked to patient.id and appointment.provider.

  • Patient has no further needs resolution-complete
  • Patient wants to also reschedule with a different provider in the meantime reschedule no-availability-options

Clinical Triage Escalation

Say"I want to make sure you get the right support. Before we make any changes to your appointment, I'd like to connect you with a clinical team member who can better assess what you're experiencing."

CRM.LogInteraction tagged clinical-concern, priority: high, linked to patient.id and appointment.id.

EHR.FlagForTriage for patient.id with note: patient reported symptom concern during scheduling interaction.

  • Triage nurse or clinical staff available to take the transfer escalation-human
  • After-hours: no clinical staff available Twilio.SendNotification urgent triage message to on-call line escalation-human

Escalation to Human Agent

Say"I'm going to connect you with a member of our team who can assist you further. Please hold for just a moment."

CRM.CreateCase priority: high, linked to patient.id and appointment.id, tagged for appropriate queue based on reason.

CRM.LogInteraction with full context: appointment.date, appointment.provider, reason.change, escalation trigger.

Resolution — No Change Made

Say"No changes have been made to your appointment on appointment.date with appointment.provider. If you need anything else, don't hesitate to reach out."

CRM.LogInteraction tagged no-change, linked to patient.id.

Resolution — Complete

Say"Is there anything else I can help you with today?"

CRM.LogInteraction tagged resolved, linked to patient.id.

  • Patient has no further needs no_further_needs session-closed
  • Patient has another request another_request intake-and-verification

Session Closed

Say"Thank you for reaching out. Take care, and we look forward to seeing you. Goodbye!"

CRM.CloseCase linked to patient.id.

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ voice▣ sms▣ text

Size / Fit / Product Recommendation

RetailProductSizingRecommendations

Opening

CRM.LookupCustomer by customer.id or session identity to pre-load customer.purchaseHistory and any saved preferences.

Say"Hi customer.name! I'm here to help you find exactly the right size or product. Are you looking for sizing help on something specific, trying to choose between a couple of options, or not sure where to start?"
Detect
customer intent from opening message
  • Customer wants sizing or fit help for a specific item size-help collect-item-and-measurements
  • Customer is comparing two or more products compare product-comparison
  • Customer is unsure what they need / browsing browsing discover-needs
  • Customer mentions a previous bad fit or return past-issue review-past-purchase

Collect Item and Measurements

ProductCatalog.GetProduct to load product.category, product.attributes, and product.sizeGuide for the item the customer mentioned.

Say"Great choice! To make sure I get the fit right for you, could you share a couple of quick details? For product.name I'll need your product.sizeGuide measurements — things like height, weight, chest, waist, or inseam depending on the item. Do you have those handy?"
Detect
customer response about measurements
  • Customer provides measurements has-measurements run-size-lookup
  • Customer doesn't know measurements or is unsure no-measurements guide-self-measure
  • Customer mentions they are between sizes between-sizes between-sizes-advice

Guide Self-Measure

kb.self-measure-guide — retrieve step-by-step measurement instructions relevant to product.category

Say"No worries at all — it only takes about two minutes! Here's how to measure yourself at home for product.category:"
Say"For the most accurate fit, use a soft measuring tape. Measure your chest at the fullest point, your natural waist about an inch above your navel, and your hips at the widest point. If you're measuring inseam, stand straight and measure from your crotch to the floor. Once you have those, I can match you to the perfect size."
  • Customer provides measurements after guide has-measurements run-size-lookup
  • Customer still can't measure or prefers not to skip-measure recommend-size-up
  • Customer wants to escalate or speaks with frustration frustrated escalation-specialist

Between Sizes Advice

kb.sizing-policy — check brand fit philosophy (relaxed, true-to-size, runs small/large) for product.id

Say"Being between sizes is really common! For product.name, I'd generally recommend going product.sizeGuide based on your larger measurement to ensure comfort — especially for customer.preferences.fitStyle fit. That said, it also depends on how you prefer things to feel. Do you usually prefer a snugger or a more relaxed fit?"
  • Customer prefers snug fit snug run-size-lookup
  • Customer prefers relaxed fit relaxed run-size-lookup
  • Customer is still unsure unsure recommend-size-up

Recommend Size Up

Say"When in doubt, I always recommend going one size up — it's much easier to tailor down slightly than to deal with something that's too tight. I'll use that as the basis for your recommendation."

run-size-lookup

Run Size Lookup

SizingGuideDB.MatchSize using customer.measurements, customer.preferences.fitStyle, and product.sizeGuide to generate recommendation.primary.

InventoryManagement.CheckStock for recommendation.primary in product.id to confirm product.stockStatus and product.availableSizes.

  • Size is in stock in-stock present-recommendation
  • Size is out of stock out-of-stock out-of-stock-handling
  • Lookup error or ambiguous result lookup-error escalation-specialist

Present Recommendation

Say"Based on your measurements and your preference for a customer.preferences.fitStyle fit, I'd recommend a recommendation.primary in product.name. Here's why it works for you:"
Say"It should sit comfortably across your customer.measurements, with the right amount of room for customer.preferences.intendedUse. The product.attributes also align well with your preference for customer.preferences.material."
Say"Would you like me to add the recommendation.primary in product.name to your cart, or do you have any questions before you decide?"
  • Customer is ready to add to cart ready-to-buy add-to-cart
  • Customer wants to see an alternative or compare wants-options present-alternate
  • Customer has more questions more-questions answer-questions
  • Customer expresses strong uncertainty or frustration frustrated escalation-specialist

Present Alternate

ProductCatalog.GetAlternates using product.id, customer.preferences.budget, and customer.preferences.fitStyle to generate recommendation.alternate.

InventoryManagement.CheckStock for recommendation.alternate.

Say"Of course! Here's another option worth considering: recommendation.alternate. Compared to recommendation.primary, this one product.attributes — so it's a great pick if you prioritize customer.preferences.material or are working within a tighter budget of around customer.preferences.budget."
Say"Both are solid choices — would you like to go with recommendation.primary, recommendation.alternate, or would it help to talk through the differences a bit more?"
  • Customer selects primary recommendation chose-primary add-to-cart
  • Customer selects alternate recommendation chose-alternate add-to-cart
  • Customer wants more comparison detail compare-detail product-comparison
  • Customer is stuck or frustrated frustrated escalation-specialist

Product Comparison

ProductCatalog.GetProduct for each product the customer is comparing, loading product.attributes for both.

kb.product-comparison-guides — retrieve any curated head-to-head notes for these items.

Say"Happy to help you compare! Let me pull up the details on both."
Say"Here's the honest breakdown: recommendation.primary is the better fit if product.attributes — especially for customer.preferences.intendedUse. recommendation.alternate makes more sense if you want product.attributes or your budget is closer to customer.preferences.budget. For most people with your profile, I'd lean toward recommendation.primary, but either will serve you well."
Say"Does that help you land on one, or would you like me to check sizing or stock on both before you decide?"
  • Customer is ready to choose and buy ready-to-buy add-to-cart
  • Customer wants sizing checked on one of the options size-help collect-item-and-measurements
  • Customer still undecided still-undecided present-alternate
  • Customer frustrated or overwhelmed frustrated escalation-specialist

Discover Needs

Say"No problem — let's figure it out together! A few quick questions: What's the item or category you're shopping for? What will you mainly be using it for? And do you have a sense of the fit or style you prefer — relaxed, athletic, slim — or a budget range?"
Detect
customer response completeness
  • Customer provides enough detail to proceed sufficient-detail collect-item-and-measurements
  • Customer provides partial detail partial-detail collect-item-and-measurements
  • Customer is very unclear or disengaged disengaged escalation-specialist

Review Past Purchase

CRM.GetPurchaseHistory for customer.id to retrieve customer.purchaseHistory including prior sizes, items, and any returns or exchanges.

kb.return-reason-codes — look up fit-related return notes linked to customer.id if available.

Say"Thanks for mentioning that — let me take a look at what you've ordered before so we can avoid repeating the same issue."
Say"I can see you previously purchased customer.purchaseHistory. It looks like the fit concern was around customer.preferences.fitStyle. Based on that, I'd suggest we adjust by going recommendation.primary this time — that should address the issue directly."
  • Customer is happy with the adjusted recommendation accepts-advice run-size-lookup
  • Customer wants to explore a different product entirely different-product discover-needs
  • Customer is frustrated about the past experience frustrated escalation-specialist

Out-of-Stock Handling

InventoryManagement.GetAvailableAlternates for product.id filtered by recommendation.primary size and customer.preferences.budget to find nearest in-stock alternative.

InventoryManagement.GetRestockDate for recommendation.primary in product.id if available.

Say"Unfortunately, recommendation.primary in product.name isn't available right now. Here's what I can do for you:"
Say"Option 1 — I can put you on the waitlist and notify you the moment it's back in stock. Option 2 — there's a very similar alternative, recommendation.alternate, that's available now and fits your profile just as well. Option 3 — if you'd like, I can check other size variants that might still work."
  • Customer wants the waitlist option wants-waitlist join-waitlist
  • Customer wants the in-stock alternative wants-alternate present-alternate
  • Customer wants to check other sizes check-other-sizes run-size-lookup
  • Customer frustrated or wants to leave frustrated escalation-specialist

Join Waitlist

InventoryManagement.AddToWaitlist for customer.email on product.id in size recommendation.primary.

Say"Done! I've added you to the waitlist for recommendation.primary in product.name. We'll email you at customer.email the moment it's back — usually within a week or two. Is there anything else I can help you with in the meantime, like finding something to hold you over?"
  • Customer wants to keep browsing keep-browsing discover-needs
  • Customer is done done resolution
  • Customer wants to add the alternate to cart instead wants-alternate add-to-cart

Answer Questions

kb.product-faq — retrieve relevant FAQs for product.id covering fabric, care, returns, sizing tolerances, and fit philosophy.

Say"Of course — happy to answer any questions before you commit. What would you like to know about product.name?"
  • Customer asks about fabric, care, or material material-question answer-questions
  • Customer asks about returns or exchanges returns-question answer-questions
  • Customer is satisfied and ready to buy ready-to-buy add-to-cart
  • Customer wants a different recommendation different-option present-alternate
  • Customer frustrated or escalating frustrated escalation-specialist

Add to Cart

EcommerceCart.AddItem with product.id, recommendation.primary, and customer.id to add the confirmed selection.

Say"Perfect! I've added recommendation.primary in product.name to your cart. Here's your cart link: order.cartUrl"
Say"You're all set to check out whenever you're ready. Is there anything else I can help you find today — maybe something to complete the look or a coordinating item?"
  • Customer wants to keep shopping keep-shopping discover-needs
  • Customer is done and happy done resolution
  • Customer has a cart or checkout issue cart-issue escalation-specialist

Escalation to Specialist

CRM.CreateCase for customer.id tagged fit-escalation, logging all collected preferences, measurements, and conversation context.

Say"I completely understand — I want to make sure you get the right answer here, and this one deserves a closer look from one of our specialist team members. I'm flagging this for them now with all the details you've shared so you won't need to repeat yourself."
Say"A specialist will be with you shortly. If you're on chat they'll join this thread; if you prefer, we can also arrange a callback at customer.email. Thank you for your patience!"

Resolution

Say"Wonderful — I'm really glad we could find the right fit for you today! If your order arrives and anything feels off, our exchanges are easy and hassle-free. Don't hesitate to reach out anytime. Enjoy your new product.name!"
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ sms

Roaming / International Add-on Request

TelecomRoamingInternationalAdd-onsTravel

Identity Verification

Say"Thanks for reaching out! I'd be happy to help you with international coverage. To get started, can I have your account number or the phone number on the account, followed by your account PIN or passcode?"

CRM.LookupAccount using customer.phone or customer.accountNumber

CRM.VerifyPIN against customer.pin

  • Identity verified successfully verified account-review
  • PIN incorrect on first attempt — prompt once more identity-retry
  • Account not found or unresolvable escalation-human

Identity Retry

Say"I wasn't able to match that PIN. Let's try one more time — please re-enter your account PIN or passcode."

CRM.VerifyPIN against customer.pin

  • Identity verified on second attempt verified account-review
  • Second attempt fails failed escalation-human

Account Review

CRM.GetAccountDetails for customer.accountNumber — pull customer.currentPlan, customer.outstandingBalance, customer.accountFlags

Detect
account status flags on customer.accountFlags
  • Account flagged for fraud or suspension flagged escalation-human
  • Account has a past-due balance outstanding pastdue past-due-balance
  • Account in good standing, no flags clear trip-details

Past-Due Balance

Say"I can see there's an outstanding balance of customer.outstandingBalance on your account. Add-on activations are on hold until the balance is cleared. Would you like to make a payment now so we can get your roaming plan set up right away?"
  • Customer agrees to pay payment-collection
  • Customer declines or requests a payment arrangement escalation-human

Payment Collection

PaymentProcessing.InitiatePayment for customer.outstandingBalance on customer.accountNumber

Say"I'll bring up the payment flow now. Once that goes through, we'll be all set to activate your international add-on."
  • Payment successful payment_cleared CRM.UpdateAccountStatus trip-details
  • Payment declined or failed payment_failed escalation-human

Trip Details

Say"Great! Let's find the best plan for your trip. Which country or countries will you be visiting, and what are your travel dates?"

CRM.SetTripContext with trip.destinationCountry, trip.departureDate, trip.returnDate

  • Travel dates are upcoming or current and destination captured device-check
  • Customer is already abroad and reports unexpected charges already-abroad

Device Check

DeviceCompatibilityChecker.Assess using device.imei, device.model, device.simStatus for trip.destinationCountry

CarrierInternationalAPI.CheckPartnerCoverage for trip.destinationCountry

  • Device is compatible with international bands and destination network device_ok addon-selection
  • Device is CDMA-only or SIM-locked for destination device_incompatible device-incompatibility
  • Coverage unavailable in destination through partner network no_coverage escalation-human

Device Incompatibility

Say"I've checked your device and unfortunately it isn't compatible with the networks in trip.destinationCountry — it may be CDMA-only or SIM-locked for that region. I can offer you a couple of alternatives: an international SIM card or a temporary rental device that's fully unlocked and compatible. Would either of those work for you?"
  • Customer wants international SIM option sim-rental-offer
  • Customer wants rental device option sim-rental-offer
  • Customer declines alternatives and wants to explore further escalation-human

SIM / Rental Offer

Say"Perfect. I'll connect you with our device services team who can get that arranged before your trip. They'll confirm availability, pricing, and delivery or in-store pickup options."

CRM.CreateCase tagged device-compatibility-roaming, linked to customer.accountNumber

escalation-human

Add-on Selection

AddonCatalog.GetEligibleAddons for customer.currentPlan, trip.destinationCountry, trip.departureDate, trip.returnDate

Say"Great news — your device is compatible. Here are the international add-on options available for your plan and destination. I'll walk you through the options, including pricing and any usage caps."

kb.roaming-addon-policy — review eligible plans, pricing tiers, promotional offers, and usage caps for trip.destinationCountry

  • Customer selects a preferred add-on pricing-confirmation
  • Customer disputes the pricing or expected charges pricing-dispute
  • Customer requests a plan not currently eligible for their account escalation-human

Pricing Confirmation

Say"Just to confirm — you'd like to add addon.name for addon.price, which covers you in trip.destinationCountry. Your usage cap is addon.usageCap. This will activate on addon.effectiveDate. Does that all look correct?"
  • Customer confirms selection confirmed addon-activation
  • Customer wants to change selection addon-selection
  • Customer wants to cancel the request resolution-no-change

Add-on Activation

BillingPlatform.ActivateAddon with addon.name, addon.effectiveDate on customer.accountNumber

CRM.LogInteraction with add-on details, trip.destinationCountry, trip.departureDate, trip.returnDate

BillingPlatform.SendConfirmationEmail to customer.email with addon.name, addon.price, addon.usageCap, addon.effectiveDate

Say"You're all set! Your addon.name has been activated and takes effect on addon.effectiveDate. You'll receive a confirmation to customer.email shortly. Remember, your usage cap is addon.usageCap — you'll get an alert if you're approaching the limit. Is there anything else I can help you with?"
  • Customer has additional questions or requests trip-details
  • Customer is satisfied, no further needs resolution-complete

Already Abroad

Say"I'm sorry to hear your service isn't working as expected. Let me pull up your account and check what's been happening since your arrival."

BillingPlatform.GetRecentCharges for customer.accountNumber — review charge.amount for pay-per-use international activity

kb.roaming-retroactive-credit-policy — check eligibility window and thresholds for credit.eligibility

  • Customer has been incurring pay-per-use charges within the retroactive credit window credit_eligible retroactive-credit-review
  • Charges are outside the policy window or ineligible for credit addon-selection
  • Customer is disputing a large existing international charge charge-dispute

Retroactive Credit Review

Agent
assess retroactive credit eligibility for charge.amount against kb.roaming-retroactive-credit-policy.
Goal:determine whether a courtesy credit for pay-per-use roaming charges can be applied and activate the appropriate add-on going forward.
Constraints:never approve a retroactive credit above USD 75 without supervisor approval; always activate the going-forward add-on before issuing any credit; confirm credit eligibility against policy window before proceeding.
Tools available:BillingPlatform.GetRecentCharges, BillingPlatform.ApplyCredit, kb.roaming-retroactive-credit-policy, AddonCatalog.GetEligibleAddons
  • Credit is within agent approval threshold and eligible credit_approved apply-retroactive-credit
  • Credit amount exceeds agent threshold or policy bars it credit_escalate escalation-human

Apply Retroactive Credit

BillingPlatform.ApplyCredit of credit.amount to customer.accountNumber tagged retroactive-roaming-adjustment

CRM.LogInteraction with credit amount, reason, and linked charges

Say"I've applied a credit of credit.amount to your account for the roaming charges you incurred. It will appear on your next billing cycle. Now let's get a proper international add-on activated so you're covered for the rest of your trip."

addon-selection

Charge Dispute

Say"I understand — let's take a close look at those charges. Can you confirm the total amount you're disputing?"

BillingPlatform.GetChargeDetail for charge.disputeAmount on customer.accountNumber

kb.roaming-dispute-policy — review dispute thresholds and agent authorization limits

  • Dispute amount is within agent adjustment authority within_threshold pricing-dispute
  • Dispute amount exceeds agent authority exceeds_threshold escalation-human

Pricing Dispute

Say"I hear you — let me review any current promotions or adjustments that might apply to your account."

kb.roaming-addon-policy — check active promotional offers, loyalty discounts, and goodwill adjustment eligibility

Detect
outcome of promotion or adjustment review
  • A valid promotion or discount applies and resolves the concern promotion_found BillingPlatform.ApplyPromotion addon-selection
  • No promotion available but a courtesy adjustment is warranted and within threshold courtesy_ok BillingPlatform.ApplyCredit addon-selection
  • No resolution possible within agent authority no_resolution escalation-human

Escalation to Human Agent

CRM.CreateCase priority: high, tagged roaming-escalation, linked to customer.accountNumber

CRM.LogInteraction with full context: trip.destinationCountry, customer.currentPlan, charge.disputeAmount, customer.accountFlags

Say"I want to make sure this gets fully resolved for you. I'm escalating your case to a specialist who has the tools and authority to handle this. They'll have all the details so you won't need to repeat yourself."

Resolution — Complete

Say"Wonderful — you're all set for your trip to trip.destinationCountry. Safe travels, and don't hesitate to reach out if you need anything while you're away!"

CRM.LogInteraction with resolved add-on, addon.effectiveDate, trip.destinationCountry, trip.returnDate

Resolution — No Change

Say"No problem at all — no changes have been made to your account. If you'd like to revisit your options before your trip, we're here anytime. Have a great day!"

CRM.LogInteraction tagged no-change-requested, customer.accountNumber

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ voice▣ text▣ chat▣ sms

Product Availability / Stock Inquiry

RetailInventorySupport

Gather Product Details

Say"Hi there! I'd be happy to help you check on product availability. Could you share the product name, SKU, or a quick description of what you're looking for?"
Detect
intent on customer message
  • Customer provides a clear product name or SKU product-identified gather-variant-details
  • Customer gives a vague or partial description product-unclear clarify-product
  • Customer is already frustrated or mentions previous failed lookup frustrated escalation-human

Clarify Product

Say"No problem — let me help narrow that down. Do you have a SKU from a receipt or the website, or can you describe the item a bit more — for example, the category, brand, or color?"
  • Customer provides enough detail to identify the product product-identified gather-variant-details
  • Customer still cannot identify the product product-unclear ProductCatalog.Search to surface closest matches suggest-alternatives
  • Customer expresses frustration frustrated escalation-human

Gather Variant Details

Say"Got it — do you have a preferred size, color, or any other variant you need? And are you looking to pick it up at a store near you, or would online ordering work for you?"
  • Customer provides variant and prefers in-store pickup in-store gather-location
  • Customer provides variant and prefers online online check-online-inventory
  • Customer has no variant preference and prefers in-store in-store gather-location
  • Customer has no variant preference and prefers online online check-online-inventory
  • Customer is flexible on channel flexible check-online-inventory

Gather Location

Say"What's your zip code or the store location you'd like to check?"
  • Customer provides zip code or store name location-provided StoreLocator.FindNearestStores using customer.zipCode check-store-inventory
  • Customer cannot provide location location-unknown check-online-inventory
  • Customer expresses frustration frustrated escalation-human

Check Online Inventory

InventoryManagement.GetOnlineStock for product.sku, variant product.variant.size, product.variant.color

  • Online stock confirmed available in-stock confirm-online-availability
  • Online stock is zero or unavailable out-of-stock check-store-inventory
  • Lookup returns no data or an error lookup-error inventory-lookup-failure

Check Store Inventory

InventoryManagement.GetStoreStock for product.sku at customer.preferredStore, variant product.variant.size, product.variant.color

  • Stock confirmed at preferred or nearest store in-stock confirm-store-availability
  • In-stock only at a distant store distant-stock offer-ship-or-transfer
  • Out of stock at all nearby stores and online out-of-stock check-discontinued
  • Lookup returns no data or an error lookup-error inventory-lookup-failure

Confirm Online Availability

Say"Great news — product.name is available online right now. You can add it to your cart and check out at your convenience. Would you like me to send you a direct link, or is there anything else I can help you with?"

CRM.LogInteraction tagged availability-confirmed-online, linked to product.sku

  • Customer wants a link SendEmail or SendSMS with product URL to customer.email or customer.phone resolution
  • Customer is satisfied and needs nothing else confirmed resolution
  • Customer mentions price match, special hold, or bulk quantity special-request escalation-human

Confirm Store Availability

Say"Good news — product.name is in stock at store.name. You can head in to grab it, or in some cases we can reserve it for you. Would you like to reserve it, or do you have any other questions?"

CRM.LogInteraction tagged availability-confirmed-store, linked to product.sku

  • Customer wants to reserve the item wants-reservation InventoryManagement.PlaceHold for product.sku at store.name reservation-confirmed
  • Customer is satisfied and will go to the store confirmed resolution
  • Customer requests price match, special hold, or bulk quantity special-request escalation-human
  • Customer expresses frustration frustrated escalation-human

Reservation Confirmed

Say"Perfect — I've placed a hold on product.name at store.name for you. You'll typically have 24 to 48 hours to pick it up. Is there anything else I can help you with?"

CRM.LogInteraction tagged reservation-placed, linked to product.sku

  • Customer is satisfied confirmed resolution
  • Customer has another question follow-up gather-product-details

Offer Ship or Transfer

Say"I can see product.name is available, but the nearest store with stock is store.name, which is about store.distance away. We may be able to ship it directly to you from that store, or arrange a transfer to a closer location — would either of those work for you?"

InventoryManagement.CheckShipFromStore for product.sku at store.name

InventoryManagement.CheckTransferEligibility for product.sku

  • Ship-from-store is available and customer agrees ship-available InventoryManagement.InitiateShipFromStore ship-from-store-confirmed
  • Transfer to closer store is available and customer prefers pickup transfer-available InventoryManagement.InitiateTransfer transfer-initiated
  • Neither option is available or customer declines both declined check-discontinued
  • Customer requests special handling or bulk quantity special-request escalation-human

Ship From Store Confirmed

Say"I've arranged for product.name to be shipped to you from store.name. You'll receive a confirmation and tracking info at customer.email once it ships. Is there anything else I can help with?"

CRM.LogInteraction tagged ship-from-store-initiated, linked to product.sku

  • Customer is satisfied confirmed resolution
  • Customer has another question follow-up gather-product-details

Transfer Initiated

Say"I've submitted a transfer request to bring product.name to your preferred store. Once it arrives — usually within a few business days — we'll reach out to let you know it's ready. Can I grab your contact info to make sure you get that notification?"

CRM.UpdateContactInfo with customer.email, customer.phone

CRM.LogInteraction tagged transfer-requested, linked to product.sku

  • Customer provides contact info contact-provided resolution
  • Customer declines contact info declined resolution

Check Discontinued

ProductCatalog.CheckDiscontinuedStatus for product.sku

  • Product is confirmed discontinued discontinued product-discontinued
  • Product is not discontinued but broadly out of stock out-of-stock offer-restock-notification

Product Discontinued

Say"I'm sorry to share that product.name has been discontinued and is no longer available through us. I know that's not the news you were hoping for. I can suggest a few comparable items that might work for you — would that be helpful?"

ProductCatalog.GetSimilarItems for product.sku

  • Customer wants to see alternatives wants-alternatives suggest-alternatives
  • Customer does not want alternatives declined resolution
  • Customer is upset about the discontinuation frustrated escalation-human

Offer Restock Notification

Say"Unfortunately product.name is out of stock right now — both online and at nearby stores. I can sign you up for a restock alert so you'll be notified as soon as it's available again. Would you like me to do that?"
  • Customer agrees to restock alert confirmed RestockNotification.Subscribe with product.sku, customer.email, customer.phone restock-signup-confirmed
  • Customer declines and wants to see similar items wants-alternatives suggest-alternatives
  • Customer declines all options declined resolution

Restock Signup Confirmed

Say"You're all set — we'll send a notification to customer.email or customer.phone as soon as product.name is back in stock. Is there anything else I can help you with today?"

CRM.LogInteraction tagged restock-alert-registered, linked to product.sku

  • Customer has another question follow-up gather-product-details
  • Customer is satisfied confirmed resolution

Suggest Alternatives

Agent
review the product catalog and customer context to recommend up to three comparable alternatives for product.name.
Goal:identify alternatives that match the customer's likely intent — same category, similar price point, available in the preferred channel (online or in-store).
Constraints:only recommend items confirmed in stock; never suggest items with an active recall or items flagged as discontinued; limit suggestions to three.
Tools available:ProductCatalog.GetSimilarItems, InventoryManagement.GetOnlineStock, InventoryManagement.GetStoreStock, kb.product-substitution-guidelines
  • Suitable alternatives found and customer is interested alternatives-found present-alternatives
  • No suitable alternatives found or customer declines no-match resolution
  • Customer expresses frustration or demands a manager frustrated escalation-human

Present Alternatives

Say"Here are a few options I think you'd like as alternatives to product.name: alternative.name (SKU alternative.sku) is currently available and very similar in features and price. Would any of these work for you, or would you like more details on one of them?"
  • Customer selects an alternative and wants to check availability selected check-online-inventory
  • Customer wants to know more about an alternative wants-details ProductCatalog.GetProductDetails present-alternatives
  • Customer declines all alternatives declined resolution
  • Customer expresses frustration frustrated escalation-human

Inventory Lookup Failure

Say"I'm sorry — I ran into a technical issue pulling up the inventory details right now. I'd recommend checking the website directly for the most up-to-date stock information, or you can call store.name at store.phone and they can look it up in-store. I'm logging this on our end so we can look into it."

CRM.LogSystemError with lookup.errorCode, product.sku, tagged inventory-lookup-failure

  • Customer is okay with the workaround confirmed resolution
  • Customer is frustrated or wants further help frustrated escalation-human

Escalation to Human Agent

Say"I completely understand — let me connect you with a team member who can take care of this for you right away."

CRM.CreateCase priority: high, tagged availability-escalation, linked to product.sku, customer.name

CRM.LogInteraction tagged escalated-to-human

Resolution

Say"Thanks for reaching out — happy to help anytime. Have a great day!"

CRM.LogInteraction tagged inquiry-resolved, linked to product.sku

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat

Premium Payment / Billing Inquiry

InsuranceBillingPayments

Inbound Greeting

Say"Thank you for contacting insurance support. My name is your virtual support agent. I can help you with billing questions, premium payments, and policy account inquiries. May I have your policy number to get started?"

CRM.LookupCustomer on policy.number

  • Policy number provided and record found identity-verification
  • Customer cannot locate policy number identity-verification
  • No response or line is silent escalation-human

Identity Verification

Say"To protect your account, I need to verify your identity before I can share any account details. Could you please confirm your date of birth, the last four digits of your Social Security Number, or your account security passphrase?"

PolicyManagement.VerifyIdentity using customer.dob, customer.ssn_last4, or customer.passphrase

Detect
verification outcome
  • Identity verified successfully verified policy-overview
  • Identity cannot be verified after two attempts unverified identity-failure
  • Customer hesitant or asks why it is needed frustrated verification-explain

Verification Explain

Say"Completely understandable — your security is our top priority. We require identity verification before sharing any account details to protect you from unauthorized access. I can verify using your date of birth, the last four digits of your Social Security Number, or your security passphrase — whichever you prefer."
  • Customer agrees and provides credentials identity-verification
  • Customer refuses to verify and wants to end call escalation-human

Identity Failure

Say"I'm sorry — I wasn't able to verify your identity with the information provided. For the security of your account, I'm unable to share policy or billing details over this channel."
Say"You're welcome to visit one of our branch locations with a valid photo ID, or submit a written inquiry through our secure customer portal. I can also transfer you to a specialist who can walk you through those options."
  • Customer wants branch or written request information CRM.LogContactAttempt escalation-human
  • Customer agrees to end call CRM.LogContactAttempt session-close

Policy Overview

PolicyManagement.GetPolicyDetails on policy.number

BillingLedger.GetCurrentBalance returning policy.premium_amount, policy.due_date, payment.outstanding_balance, payment.last_payment_date, payment.method_on_file

Detect
policy lapse or cancellation-pending status against policy.lapse_status
  • Policy is active and in good standing active billing-inquiry-triage
  • Policy is in lapsed status lapsed escalation-lapsed-policy
  • Policy is cancellation-pending cancellation_pending escalation-lapsed-policy

Billing Inquiry Triage

Say"I've pulled up your account. Your current premium is policy.premium_amount, due on policy.due_date. Your outstanding balance is payment.outstanding_balance, and your payment method on file is payment.method_on_file. How can I help you today?"
Detect
customer's primary billing intent
  • Customer wants to make a payment now pay_now process-payment
  • Customer questions or disputes the premium amount dispute_amount premium-explanation
  • Customer reports a missed or failed payment missed_payment missed-payment-review
  • Customer asks about an upcoming renewal renewal_question renewal-review
  • Customer asks about an unexpected or unrecognized charge unexpected_charge premium-explanation
  • Customer wants to update payment method update_payment update-payment-method
  • Customer requests supervisor or escalation wants_supervisor escalation-human

Premium Explanation

Say"I understand — let me review any recent changes to your policy that may have affected your premium."

BillingLedger.GetChangeHistory on policy.number returning billing.recent_changes, billing.endorsements, billing.rate_adjustment_reason

kb.premium-rate-adjustment-policy — review applicable rate change rules and endorsement billing guidelines

  • Change explained by endorsement or coverage adjustment CRM.LogExplanation explanation-confirmed
  • Change explained by annual rate adjustment CRM.LogExplanation explanation-confirmed
  • Change cannot be explained by visible account data unexplained_charge escalation-human

Explanation Confirmed

Say"The change to your premium is due to billing.rate_adjustment_reason. This is consistent with the terms of your policy. I'm happy to email or text you a summary of this breakdown for your records."
  • Customer accepts explanation and wants to pay now process-payment
  • Customer accepts explanation but has no payment due confirmation-send
  • Customer still disputes the explanation still_disputing escalation-human

Missed Payment Review

Say"I can see your last payment was on payment.last_payment_date and there is an outstanding balance of payment.outstanding_balance. Let me check whether your account is eligible for a payment plan or grace period extension."

kb.payment-plan-eligibility-policy — check grace period rules, payment plan thresholds, and eligibility criteria

  • Account is within grace period and customer wants to pay now within_grace process-payment
  • Account is eligible for a payment plan payment_plan_eligible payment-plan-setup
  • Grace period has expired and policy is at risk grace_expired escalation-lapsed-policy

Payment Plan Setup

Say"Good news — your account qualifies for a payment plan. I can break your outstanding balance of payment.outstanding_balance into installments. Would you like me to walk you through the available options?"

kb.payment-plan-options — retrieve available installment schedules and terms

Agent
present payment plan options based on payment.outstanding_balance and kb.payment-plan-options.
Goal:identify the most suitable installment schedule for the customer and confirm their agreement before enrolling.
Constraints:never enroll a customer in a payment plan that extends beyond the policy renewal date without supervisor approval; never waive fees without approved authorization; always confirm the first installment amount and date before proceeding.
Tools available:BillingLedger.GetPaymentPlanOptions, BillingLedger.EnrollPaymentPlan, kb.payment-plan-options
  • Customer agrees to a plan and first payment is collected BillingLedger.EnrollPaymentPlan confirmation-send
  • Customer declines plan and wants to pay full balance now process-payment
  • Customer declines all options escalation-human

Renewal Review

Say"Your policy is scheduled for renewal on policy.due_date. Your renewal premium will be policy.premium_amount. I can walk you through what's included, any coverage changes, or help you make a payment in advance if you'd like."

kb.renewal-billing-policy — review renewal terms, auto-pay rules, and advance payment options

  • Customer wants to make an advance renewal payment process-payment
  • Customer has questions about coverage changes at renewal coverage_question escalation-human
  • Customer wants to update payment method before renewal update-payment-method
  • Customer is satisfied with the renewal information confirmation-send

Update Payment Method

Say"No problem — I can update your payment method right now. For security, the new payment details you provide will be verified before being saved to your account. Please go ahead and share the new payment method you'd like to use."

PaymentGateway.UpdatePaymentMethod with new details provided by customer

BillingLedger.ConfirmMethodUpdate on policy.number

  • Payment method updated successfully method_updated billing-inquiry-triage
  • New payment method declined or invalid method_declined payment-declined

Process Payment

Say"I'll process a payment of payment.outstanding_balance using your payment.method_on_file. Shall I go ahead?"

PaymentGateway.ProcessPayment for payment.outstanding_balance on policy.number

Detect
payment processing outcome
  • Payment approved and processed successfully payment_success confirmation-send
  • Payment method declined payment_declined payment-declined
  • Payment gateway timeout or system error system_error escalation-human

Payment Declined

Say"I'm sorry — the payment method on file was unable to be processed. This can happen due to insufficient funds, an expired card, or a bank hold. Would you like to try a different payment method, or would you prefer to set up a payment plan?"
  • Customer provides an alternate payment method update-payment-method
  • Customer wants to explore a payment plan payment-plan-setup
  • Customer wants to call back later CRM.LogDeclinedPayment CRM.SetFollowUpFlag session-close
  • Customer requests supervisor escalation-human

Confirmation Send

Say"Your account is in good standing. I'll send a confirmation of today's activity to customer.email and customer.phone right now."

Twilio.SendSMS to customer.phone with payment confirmation and payment.confirmation_number

CRM.SendConfirmationEmail to customer.email with policy status, payment amount, and next due date

CRM.LogInteraction with summary of inquiry type, actions taken, and outcome

  • Confirmation sent and customer has no further questions session-close
  • Customer has an additional question additional_question billing-inquiry-triage

Escalation — Lapsed or Cancellation-Pending Policy

Say"I can see your policy is currently in a lapsed or cancellation-pending status. I'm not able to process a standard payment for a policy in this state — I'll need to connect you with a specialist who handles reinstatement."

CRM.LogEscalation tagged lapse-reinstatement, linked to policy.number

CRM.FlagForReinstatementReview on policy.number

  • Transferring to reinstatement workflow policy-reinstatement-workflow
  • Customer disconnects before transfer CRM.LogContactAttempt session-close

Escalation to Human Agent

Say"I'm going to connect you with a specialist who can assist you further. Please hold for just a moment — I'm passing along your account details so you won't need to repeat yourself."

CRM.LogEscalation with inquiry summary, policy.number, and reason for escalation

CRM.CreateCase priority: high, tagged billing-escalation, linked to policy.number

Session Close

Say"Thank you for contacting insurance support. Is there anything else I can help you with today?"
  • Customer has another question another_question inbound-greeting
  • Customer is done — closing interaction CRM.LogInteraction tagged session-complete
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ text

Plan Change / Upgrade Request

TelecomPlan ChangeUpgradeBilling

Identity Verification

Say"Thanks for reaching out! I'm happy to help you with a plan change or upgrade. To get started, can I have your account number or the phone number associated with your account?"

CRM.LookupAccount using customer.accountNumber or customer.phone

Detect
identity verification outcome
  • Account found and identity confirmed verified account-review
  • Account not found or customer cannot verify identity unverified escalation-human
  • Customer wants to browse plans before verifying intent_browse plan-discovery

Account Review

CRM.GetAccountDetails for customer.accountNumber — pull customer.currentPlan, customer.contractEndDate, customer.billingCycleDate, customer.deviceModel, customer.location

Say"I can see your account, customer.name. You're currently on the customer.currentPlan. Your next billing date is customer.billingCycleDate. Let me pull up the plans available to you."

PlanCatalog.GetEligiblePlans for customer.accountNumber, customer.deviceModel, customer.location

  • Plans retrieved successfully plan-discovery
  • No eligible plans returned or catalog error catalog_error escalation-human

Plan Discovery

Say"Here are the plans available for your account. I can walk you through the differences in data, speed, features, and pricing — just let me know what matters most to you."

kb.plan-catalog — present eligible options with pricing, data allowances, speeds, and feature highlights relevant to customer.currentPlan

Detect
customer intent after plan review
  • Customer selects a specific plan plan_selected plan-confirmation
  • Customer asks about a promotion or discount promo_inquiry promotion-check
  • Customer's preferred plan is incompatible with device or location incompatible compatibility-resolution
  • Customer is unsure and wants time to decide undecided follow-up-scheduling
  • Customer mentions wanting to cancel instead cancel_intent escalation-human

Promotion Check

Say"Let me check whether there are any current promotions or offers that apply to your account."

PlanCatalog.GetPromotions for customer.accountNumber

kb.promotions-policy — verify eligibility criteria for active promotions against customer.currentPlan and customer.contractEndDate

  • Valid promotion found and auto-applicable promo_valid CRM.ApplyPromotion with promotion.code plan-confirmation
  • Promotion exists but requires manager approval promo_needs_approval promotion-approval
  • No eligible promotion found plan-confirmation

Promotion Approval

Say"That promotional rate needs a quick verification on my end before I can apply it. Let me get that sorted for you now."
Approval
Slack.RequestApproval to #plan-change-approvals, approver: billing_supervisor
Context sent:customer.accountNumber, customer.currentPlan, promotion.code, promotion.description, plan.selected
  • Approved approved CRM.ApplyPromotion with promotion.code plan-confirmation
  • Rejected rejected Say: "I wasn't able to apply that specific promotion, but I can still offer you our best available rate." plan-confirmation
  • No response in 20 min escalation-human

Compatibility Resolution

Say"It looks like that specific plan isn't available for your device or location. Let me find you the closest alternative that would work best for you."

PlanCatalog.GetCompatibleAlternatives for customer.deviceModel, customer.location

kb.device-compatibility-policy — review alternatives against customer.currentPlan to identify closest feature and pricing match

  • Compatible alternative found and customer accepts alt_accepted plan-confirmation
  • Customer rejects all alternatives and escalates frustration frustrated escalation-human
  • Customer wants to upgrade device to access desired plan device_upgrade_intent escalation-human

Plan Confirmation

PlanCatalog.CalculateProration for customer.accountNumber, plan.selected, customer.billingCycleDate — return plan.proratedAmount, plan.effectiveDate, plan.monthlyCost

Say"Here's a summary before we make any changes: you'd be moving to plan.selected at plan.monthlyCost per month. The change would take effect on plan.effectiveDate, and your prorated charge for this billing cycle would be plan.proratedAmount. Shall I go ahead and apply that?"

ContractDB.CheckContractTerms for customer.accountNumber, customer.contractEndDate — check for early change fee fee.earlyChange

  • No contract fee applies and customer confirms confirmed apply-plan-change
  • Contract change fee applies contract-fee-review
  • Customer wants to reconsider or go back reconsider plan-discovery
  • Customer declines and threatens cancellation cancel_intent escalation-human

Contract Fee Review

Say"I want to make sure you have the full picture — because you're currently in a contract running until customer.contractEndDate, applying this change now would include an early change fee of fee.earlyChange. You have a couple of options: we can apply the change today with that fee, or we can schedule it to take effect at the end of your contract period at no extra cost."

kb.contract-terms-policy — confirm fee calculation and waiver eligibility for customer.accountNumber

Detect
customer decision on contract fee
  • Customer accepts fee and wants to proceed today fee_accepted apply-plan-change
  • Customer prefers a future effective date future_date schedule-future-change
  • Customer disputes the fee or feels it should be waived fee_dispute escalation-human
  • Customer wants to cancel instead of paying the fee cancel_intent escalation-human

Schedule Future Change

Say"No problem at all. I'll schedule your plan change to plan.selected to take effect on customer.contractEndDate, so there'll be no early change fee. You'll stay on your current plan until then, and we'll send you a reminder as that date approaches."

BillingPlatform.SchedulePlanChange for customer.accountNumber, plan.selected, effective: customer.contractEndDate

CRM.UpdateAccountNotes with scheduled change details, case.id

  • Change scheduled successfully confirmation-notification
  • Scheduling fails system_error billing-system-error

Apply Plan Change

BillingPlatform.ApplyPlanChange for customer.accountNumber, plan.selected, effective: plan.effectiveDate, proration: plan.proratedAmount

  • Plan change applied successfully confirmation-notification
  • System returns error on first attempt system_error BillingPlatform.RetryPlanChange apply-plan-change-retry
  • Customer threatens cancellation during wait cancel_intent escalation-human

Apply Plan Change Retry

BillingPlatform.RetryPlanChange for customer.accountNumber, plan.selected

  • Retry successful confirmation-notification
  • Retry also fails system_error_final billing-system-error

Billing System Error

Say"I'm sorry — I'm running into a technical issue completing this change right now. I've logged your request and our team will manually apply the update within one business day. You won't lose your selected plan or pricing."

CRM.CreateCase priority: high, tagged: plan-change-system-error, linked to customer.accountNumber

CRM.UpdateAccountNotes with plan.selected, plan.monthlyCost, plan.effectiveDate, error details

NotificationService.SendEmail to customer.email confirming the logged request and manual resolution timeline

  • Case logged and customer is satisfied satisfied resolution
  • Customer is frustrated and demands immediate resolution or escalation frustrated escalation-human

Confirmation Notification

Say"You're all set! Your plan has been updated to plan.selected. The change is effective plan.effectiveDate, and your new monthly rate will be plan.monthlyCost. You'll get a confirmation sent to you shortly."

NotificationService.SendSMS to customer.phone with plan change summary, plan.selected, plan.effectiveDate, plan.monthlyCost

NotificationService.SendEmail to customer.email with full confirmation details and updated plan terms

CRM.UpdateAccountNotes with completed plan change, plan.selected, plan.effectiveDate

resolution

Follow-up Scheduling

Say"That's completely fine — take your time. Can I get a good number or email to reach you on? I can also note the plans we discussed so you don't have to start over when you're ready."

CRM.CreateFollowUpTask for customer.accountNumber, note: plans discussed, follow-up within 48 hours

CRM.UpdateAccountNotes with plan.selected, customer preference notes

  • Follow-up scheduled successfully resolution
  • Customer decides to proceed after all plan_selected plan-confirmation

Escalation to Human Agent

CRM.CreateCase priority: high, tagged: plan-change-escalation, linked to customer.accountNumber

Slack.Notify to #plan-change-escalations with customer.accountNumber, customer.currentPlan, plan.selected, escalation reason

Say"I want to make sure you get the right help here. I'm connecting you with a senior specialist now who can resolve this for you directly. Your account details and everything we've discussed will be passed along so you won't need to repeat yourself."

Resolution

Say"Is there anything else I can help you with today? We appreciate you being a customer and hope you enjoy your new plan."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ sms▣ email▣ chat

Patient Intake Pre-Visit

HealthcarePatient IntakePre-VisitScheduling

Pre-Visit Outreach

Twilio.SendSMS to patient.phone: "Hi patient.firstName, your appointment with appointment.provider is scheduled for appointment.date at appointment.time. Please complete your pre-visit intake at intake.linkUrl to help us serve you better. It takes about 5 minutes."

Twilio.SendEmail to patient.email with subject "Complete Your Pre-Visit Intake — appointment.date" and body including intake.linkUrl, appointment.provider, and appointment.time.

Detect
patient response and intake link engagement
  • Patient opens intake link and proceeds engaged identity-verification
  • Patient replies with an urgent symptom or distress signal urgent escalation-human
  • No response within 24 hours Twilio.SendSMS reminder to patient.phone intake-reminder
  • Patient replies they cannot access the portal access_issue assisted-intake

Identity Verification

Say"Before we begin, we need to confirm your identity. Please enter your full legal name and date of birth as they appear on your records."

PatientPortal.VerifyIdentity using patient.firstName, patient.lastName, patient.dateOfBirth, patient.portalId

  • Identity confirmed on first or second attempt identity_verified demographics-and-insurance
  • Identity cannot be verified after two attempts identity_failed escalation-human

Demographics and Insurance

Say"Great, patient.firstName! Let's confirm your contact and insurance information. Please review what we have on file and update anything that has changed."

EHR.GetPatientRecord for chart.id — pre-populate name, address, phone, email, emergency contact

Say"Please confirm or update: your preferred phone number, email address, and emergency contact name and phone number."

InsuranceEligibilityAPI.CheckEligibility using insurance.carrier, insurance.memberId, insurance.groupNumber

  • All demographic and insurance fields confirmed, eligibility verified confirmed health-history
  • Insurance ID does not match eligibility records eligibility_mismatch insurance-verification
  • Patient updates contact or emergency contact details updated EHR.UpdatePatientRecord health-history

Insurance Verification

Say"We weren't able to verify your insurance with the information on file. Please double-check your member ID and group number, or you can upload a photo of your insurance card for our team to review."

PatientPortal.RequestInsuranceCardUpload for patient.portalId

  • Patient re-enters corrected insurance details InsuranceEligibilityAPI.CheckEligibility insurance-recheck
  • Patient uploads insurance card photo EHR.FlagForManualVerification tagged insurance-review, linked to chart.id health-history
  • Patient is unable to provide insurance information EHR.FlagChart as insurance-unverified health-history

Insurance Recheck

InsuranceEligibilityAPI.CheckEligibility using updated insurance.carrier, insurance.memberId, insurance.groupNumber

  • Eligibility now confirmed eligibility_verified health-history
  • Still not matching after recheck eligibility_failed EHR.FlagForManualVerification tagged insurance-review health-history

Health History

Say"Now let's review your health history. Please confirm your current medications and any known allergies. If anything has changed or looks incorrect, let us know."

EHR.GetMedicationList for chart.id — display current medications on file

EHR.GetAllergyList for chart.id — display current allergies on file

  • Patient confirms medications and allergies as accurate confirmed reason-for-visit
  • Patient disputes a listed medication medication_dispute EHR.FlagMedication as needs-review linked to medication.flagged medications-flagged
  • Patient disputes a listed allergy allergy_dispute EHR.FlagAllergy as needs-review linked to allergy.flagged allergies-flagged
  • Patient reports a new urgent symptom during review urgent escalation-human

Medications Flagged

Say"Understood — we've marked that medication as needing review rather than removing it from your record. A clinician will confirm the correct information with you at your visit. Are there any other medications or allergies to flag?"

EHR.AddClinicalNote to chart.id: "Patient disputes medication on file. Item flagged as needs-review pending clinician reconciliation."

  • Additional items to dispute more_disputes health-history
  • No further disputes confirmed reason-for-visit

Allergies Flagged

Say"Thank you for letting us know — we've flagged that allergy entry as needing review. A clinician will reconcile it with you at your visit. Are there any other items to flag?"

EHR.AddClinicalNote to chart.id: "Patient disputes allergy on file. Item flagged as needs-review pending clinician reconciliation."

  • Additional items to dispute more_disputes health-history
  • No further disputes confirmed reason-for-visit

Reason for Visit

Say"Almost done! Please briefly describe the primary reason for your visit and your main concern or symptom. This helps your care team prepare."
Detect
urgency and content of reported symptom or chief complaint
  • Routine or previously known concern symptom.reported, no urgency flags routine pharmacy-and-preferences
  • Patient describes a new or worsening urgent symptom urgent urgent-symptom-triage
  • Patient indicates a mental health crisis or emergency crisis escalation-human

Urgent Symptom Triage

Say"Thank you for sharing that. Based on what you've described, we want to make sure you get the right level of care promptly."

kb.triage-guidelines — check symptom against urgency thresholds and same-day care criteria

Say"Rather than waiting for your scheduled appointment, we recommend you call our clinic directly at the number on file or visit an urgent care center as soon as possible. If this is a life-threatening emergency, please call 911 immediately."

CRM.CreateUrgentNote linked to chart.id and appointment.id, tagged triage-flagged

Twilio.SendSMS to patient.phone: "We've noted your symptom. Please call our clinic or visit urgent care. For emergencies, call 911."

  • Patient acknowledges and will seek immediate care acknowledged AppointmentScheduling.FlagAppointment as triage-pending intake-incomplete-flag
  • Patient insists on continuing intake continues pharmacy-and-preferences

Pharmacy and Preferences

Say"What is your preferred pharmacy for prescriptions? Please provide the pharmacy name and location, or confirm the one we have on file."

EHR.GetPreferredPharmacy for chart.id — display pharmacy on file if available

  • Patient confirms pharmacy on file confirmed intake-complete
  • Patient provides a new or updated pharmacy EHR.UpdatePreferredPharmacy for chart.id intake-complete

Intake Complete

EHR.UpdateChartStatus for chart.id as intake-complete

CRM.LogInteraction for patient.portalId tagged pre-visit-intake-completed, linked to appointment.id

Twilio.SendSMS to patient.phone: "Your intake is complete — thank you, patient.firstName! We look forward to seeing you on appointment.date at appointment.time."

Twilio.SendEmail to patient.email with appointment summary and any flagged items note if applicable

Say"You're all set! Your care team has been notified that your intake is ready for review. See you at your appointment."

AppointmentScheduling.NotifyCareTeam for appointment.id: "Intake complete. Chart chart.id ready for pre-visit review."

Intake Reminder

Twilio.SendSMS to patient.phone: "Hi patient.firstName, a reminder to complete your pre-visit intake before intake.cutoffTime: intake.linkUrl. It only takes a few minutes."

Detect
patient response after reminder
  • Patient engages with intake link after reminder engaged identity-verification
  • Patient does not respond by cutoff window no_response EHR.FlagChart as intake-incomplete intake-incomplete-flag
  • Patient replies with an urgent concern urgent escalation-human

Intake Incomplete Flag

EHR.UpdateChartStatus for chart.id as intake-incomplete

CRM.CreateTask assigned to front-desk, tagged collect-on-arrival, linked to appointment.id and chart.id

Twilio.SendEmail to front-desk team: "Patient patient.firstName patient.lastName (appointment.date, appointment.time) did not complete pre-visit intake. Please collect information on arrival."

Say"No problem — our front desk team will help you complete the remaining information when you arrive. See you on appointment.date!"

Assisted Intake

Say"No problem, patient.firstName. I can help you complete your intake right here via this conversation. Let's go through it together, starting with confirming your identity."

identity-verification

Escalation to Care Team

EHR.FlagChart for chart.id as escalation-required, tagged crisis-or-identity-failure

CRM.CreateUrgentCase priority: high, linked to patient.portalId and appointment.id, tagged patient-escalation

AppointmentScheduling.AlertClinicalStaff for appointment.id with escalation reason and chart.id

Twilio.SendSMS to patient.phone: "We want to make sure you get the right support. A member of our care team will reach out to you shortly. If this is an emergency, please call 911 now."

Say"I'm connecting you with a member of our care team right away. If you are experiencing a medical emergency, please call 911 immediately or go to your nearest emergency room."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ voice▣ email

Order Status Inquiry

RetailSupportShippingOrders

Greeting & Identity Verification

Say"Hi there! I'm here to help you track your order. Can I start with your order number and the email address on your account?"

IdentityVerification.VerifyCustomer using customer.accountEmail and customer.name

  • Identity verified, order number provided verified order-lookup
  • Customer cannot provide order number no_order_number lookup-by-email
  • Identity cannot be verified after two attempts escalation-human

Order Lookup by Email or Name

Say"No problem — let me try to find your order using your name or email address."

OMS.LookupOrderByEmail using customer.accountEmail or customer.name

  • Order found OMS.LookupOrderByEmail order_found order-lookup
  • Order still not found after email and name search not_found order-not-found

Order Not Found

Say"I wasn't able to locate an order under that information. Please check your confirmation email for your order number — it would have been sent to the address you used at checkout. Once you have it, feel free to reach back out and I'll get that sorted for you right away."
  • Customer provides order number from confirmation email order-lookup
  • Customer has no confirmation email and order remains unresolved escalation-human

Order Lookup & Status Check

OMS.GetOrderDetails using order.id and customer.accountEmail

  • Order is still processing, has not shipped yet processing order-still-processing
  • Order has shipped, tracking number available shipped retrieve-tracking
  • Order shows as delivered in OMS delivered delivered-not-received-check

Order Still Processing

Say"Your order is currently being processed in our warehouse and hasn't shipped yet. Based on current timelines, it's expected to ship by order.expectedShipDate. Once it ships, you'll receive a confirmation email with your tracking number."
  • Customer is satisfied and has no further questions confirmed resolution
  • Customer wants to know if the ship date can be expedited expedite_request escalation-human
  • Customer wants to cancel the unshipped order cancel_request escalation-human

Retrieve Tracking Data

CarrierAPI.GetTrackingStatus using carrier.trackingNumber

  • Live tracking data returned, last scan within 48 hours tracking_current communicate-status
  • Tracking has not updated in more than 72 hours tracking_stale stale-tracking

Communicate Status

Say"Great news — your order is on its way! Here's the latest update: your package was last scanned at carrier.lastScanLocation on carrier.lastScanDate. Your estimated delivery window is carrier.estimatedDelivery. You can also track it directly using tracking number carrier.trackingNumber."
  • Customer is satisfied confirmed resolution
  • Customer has a concern about the delivery address or timing address_concern escalation-human

Stale Tracking

Say"I can see your order shipped, but the tracking hasn't updated since carrier.lastScanDate. This can sometimes happen due to carrier delays between scan points. I'm flagging this for you now."

kb.shipping-delay-policy — review thresholds for carrier claim eligibility and customer communication guidelines

Agent
assess the stale tracking situation using carrier.lastScanDate, carrier.estimatedDelivery, and kb.shipping-delay-policy.
Goal:determine whether the package is within an acceptable delay window or if a carrier claim should be initiated.
Constraints:do not promise a replacement or refund without escalation approval; never file a carrier claim if fewer than 5 business days have elapsed since last scan; always advise the customer of next steps before closing.
Tools available:CarrierAPI.GetTrackingStatus, OMS.GetOrderDetails, kb.shipping-delay-policy
  • Within acceptable delay window, advise customer to wait within_window stale-tracking-advisory
  • Delay exceeds policy threshold, carrier claim warranted claim_warranted escalation-human

Stale Tracking Advisory

Say"Based on the current information, your package is within the window where carrier delays can occur without updates. I'd recommend checking back in 24 to 48 hours. If it still hasn't moved by then, please contact us and we'll file a carrier claim on your behalf right away."
  • Customer is willing to wait confirmed resolution
  • Customer wants to escalate now escalate_now escalation-human

Delivered But Not Received Check

Say"Our system shows your order was marked as delivered on carrier.deliveredDate. Did you receive it at customer.shippingAddress?"
Detect
customer response on whether package was received
  • Customer confirms receipt confirmed resolution
  • Customer says package was not received not_received lost-package-review
  • Customer is unsure — may have been left with a neighbor or in a safe spot unsure delivery-location-check

Delivery Location Check

Say"Sometimes carriers leave packages with a neighbor, in a mailroom, or in a designated safe spot. Could you check around your building entrance, with your building manager, or with neighbors before we proceed? I'll wait for you."
  • Customer finds the package confirmed resolution
  • Customer confirms the package is truly not there not_received lost-package-review

Lost Package Review

Say"I'm sorry to hear that — let me open a lost package review for you right now."

OMS.FlagOrderLostPackage on order.id

CRM.CreateCase tagged lost-package, linked to order.id and carrier.trackingNumber

kb.lost-package-policy — review carrier liability window, replacement vs. refund eligibility, and documentation requirements

Say"I've flagged your order and created a case for our team. Depending on the carrier's investigation timeline — typically 5 to 7 business days — you may be eligible for a replacement or refund. I'll now connect you with a specialist who can confirm next steps and options for you."
  • Package confirmed lost or stolen, or customer is requesting refund or replacement escalation-human

Escalation to Human Agent

CRM.CreateCase priority: high, tagged order-escalation, linked to order.id

CRM.LogInteractionSummary with customer.email, order.id, and current status context

Say"I'm going to connect you with one of our senior support specialists right now who can take care of this for you. I've already shared all your order details with them so you won't have to repeat yourself."

Resolution

Say"Is there anything else I can help you with today?"
  • Customer has another question another_question greeting-and-identity
  • Customer is done confirmed CRM.LogInteractionSummary with customer.email and order.id
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ chat▣ sms▣ email

Loyalty Tier / Points Inquiry

TravelHospitalityLoyaltyPointsTier

Identity Verification

Say"Welcome to loyalty support. I can help you with your points balance, tier status, or a points question. Could I please have your membership ID or the email address on your account?"

IdentityVerification.LookupMember using member.id or member.email

  • Member record found, proceed to secondary verification secondary-verification
  • Member record not found after two attempts identity-failure
  • Loyalty platform unavailable CaseManagement.LogInquiry system-outage

Secondary Verification

Say"Thank you. For security, could you please confirm your full name and either your date of birth or the phone number on your account?"

IdentityVerification.VerifySecondaryFactor using member.fullName and member.dateOfBirth or member.phone

  • Identity verified successfully account-overview
  • Identity verification fails once secondary-verification-retry
  • Identity verification fails twice identity-failure

Secondary Verification Retry

Say"I wasn't able to match that detail. Let's try one more time — could you confirm your date of birth or the phone number registered to your account?"

IdentityVerification.VerifySecondaryFactor using member.fullName and member.dateOfBirth or member.phone

  • Identity verified on retry account-overview
  • Identity fails again identity-failure

Account Overview

LoyaltyPlatform.GetMemberProfile for member.id — retrieve member.currentTier, member.pointsBalance, member.pendingPoints, member.expiringPoints, member.expiryDate, member.tierQualifyingNights, member.tierThreshold, member.tierExpiryDate

CRM.UpdateLastContactDate for member.id

Say"I've pulled up your account, member.fullName. You're currently a member.currentTier member with member.pointsBalance points available. You have member.pendingPoints points pending and member.expiringPoints points expiring on member.expiryDate."
Detect
intent of customer's follow-up question
  • Customer asks about tier status or how to reach the next tier tier-inquiry tier-status
  • Customer asks about a specific points discrepancy or missing points discrepancy discrepancy-intake
  • Customer is concerned about tier or points expiry expiry-concern expiry-review
  • Customer's question is fully answered satisfied resolution-summary
  • Customer asks about points earning or redemption history history-inquiry points-history

Tier Status

kb.loyalty-tier-thresholds — retrieve qualification criteria, benefits, and upgrade requirements for member.currentTier and the next tier

Say"As a member.currentTier member, you've qualified with member.tierQualifyingNights nights this year. To reach the next tier you'll need member.tierThreshold qualifying nights. Your current tier status is valid through member.tierExpiryDate."
  • Customer wants to know about tier benefits tier-status-benefits
  • Customer is upset that they are close but won't reach next tier frustrated tier-goodwill-check
  • Customer is satisfied with the information satisfied resolution-summary

Tier Status Benefits

kb.loyalty-tier-benefits — retrieve current and next-tier benefit details

Say"Your member.currentTier status includes benefits such as complimentary room upgrades when available, bonus points on stays, and dedicated check-in. Upgrading to the next tier would add additional perks including higher bonus earn rates and lounge access."
  • Customer has further questions follow-up account-overview
  • Customer is satisfied satisfied resolution-summary

Tier Goodwill Check

Agent
assess whether a goodwill tier extension or status match is permitted for member.id.
Goal:determine if the shortfall in qualifying nights falls within the policy threshold for a complimentary extension or one-time status courtesy, and apply it if so.
Constraints:never extend tier status if shortfall exceeds the policy ceiling in kb.loyalty-goodwill-policy; never apply more than one goodwill extension per rolling 24-month period per member; always confirm current extension history before acting.
Tools available:LoyaltyPlatform.GetExtensionHistory, LoyaltyPlatform.ApplyGoodwillExtension, kb.loyalty-goodwill-policy
  • Goodwill extension is within policy and applied LoyaltyPlatform.ApplyGoodwillExtension goodwill-confirmation
  • Shortfall exceeds policy limit or extension already used this period exceeds-policy escalation-loyalty-specialist

Goodwill Confirmation

Say"As a valued member.currentTier member, I've applied a one-time courtesy extension to your tier status. Your member.currentTier status has been extended through your next qualification anniversary. You'll receive a confirmation to member.email shortly."

CRM.LogInteraction note: goodwill tier extension applied for member.id

LoyaltyPlatform.SendConfirmationEmail to member.email

  • Customer has additional questions follow-up account-overview
  • Customer is satisfied satisfied resolution-summary

Points History

Say"I can pull up your recent points activity. Do you have a specific stay or booking reference you'd like me to look into, or would you like a general summary of recent transactions?"

LoyaltyPlatform.GetTransactionHistory for member.id

Detect
customer's response
  • Customer provides a specific booking reference specific-booking discrepancy-intake
  • Customer wants a general history summary general-history points-history-summary
  • Customer identifies a missing or incorrect transaction discrepancy discrepancy-intake

Points History Summary

LoyaltyPlatform.GetTransactionHistory for member.id — last 90 days of earn and redemption activity

Say"Over the past 90 days your account shows earn activity from stays and partner transactions, and any redemptions you've made. I can walk through specific entries if anything looks unfamiliar."
  • Customer spots a discrepancy discrepancy discrepancy-intake
  • Customer is satisfied with the summary satisfied resolution-summary

Discrepancy Intake

Say"I'm sorry to hear about that. To look into this properly, could you share the booking or stay reference number and the approximate date of the stay or transaction in question?"

LoyaltyPlatform.GetTransaction using booking.referenceNumber or transaction.id

PropertyManagementSystem.VerifyStay using booking.referenceNumber and member.id

Detect
outcome of transaction lookup
  • Transaction found and points gap confirmed gap-confirmed discrepancy-assessment
  • Transaction not found or stay not verified unverified discrepancy-unverified
  • Transaction involves a very large point volume or suspected fraud high-risk escalation-loyalty-specialist

Discrepancy Assessment

Agent
review transaction details against kb.loyalty-earn-rules to determine whether the points shortfall is an eligible auto-correction or requires a manual audit.
Goal:decide if the discrepancy can be corrected immediately using standard earn rules, or must be escalated to a manual audit queue with a follow-up commitment.
Constraints:never apply a points correction above 10,000 points without supervisor approval; always cross-reference the property's posted earn rate before correcting; log every correction attempt in the case management system.
Tools available:LoyaltyPlatform.GetTransactionHistory, LoyaltyPlatform.CalculateExpectedPoints, CaseManagement.CreateCase, kb.loyalty-earn-rules
  • Discrepancy is within auto-correction threshold and earn rules confirm the gap points-correction-approval
  • Discrepancy requires manual audit or exceeds auto-correction threshold needs-audit manual-audit-queue
  • Agent detects pattern suggesting account compromise suspected-fraud escalation-loyalty-specialist

Points Correction Approval

Approval
Slack.RequestApproval to #loyalty-ops-approvals, approver: loyalty_ops_lead
Context sent:member.id, member.fullName, transaction.id, transaction.date, transaction.property, transaction.points, agent's earn-rule assessment
  • Approved approved LoyaltyPlatform.AdjustPoints correction-confirmation
  • Rejected rejected manual-audit-queue
  • No response in 60 min manual-audit-queue

Correction Confirmation

CaseManagement.CreateCase linked to member.id and transaction.id, status: resolved

Say"Great news — the points adjustment has been approved. Your account will reflect the corrected balance within 24 hours. You'll also receive a confirmation email at member.email."

LoyaltyPlatform.SendConfirmationEmail to member.email

  • Customer has further questions follow-up account-overview
  • Customer is satisfied satisfied resolution-summary

Manual Audit Queue

CaseManagement.CreateCase priority: standard, tagged points-discrepancy, linked to member.id and transaction.id

CRM.LogInteraction note: points discrepancy flagged for manual audit, case case.id created

Say"I've flagged this transaction for a manual review by our loyalty team. You'll receive an update at member.email within 5 to 7 business days. Your case reference is case.id — please keep this handy if you follow up."
  • Customer is satisfied with the timeline satisfied resolution-summary
  • Customer escalates or disputes the timeline frustrated escalation-loyalty-specialist

Discrepancy Unverified

Say"I wasn't able to locate a matching stay or transaction with the details provided. This sometimes happens with partner properties or if the booking was made under a different profile. I'll open a case so our team can investigate further."

CaseManagement.CreateCase priority: standard, tagged unverified-discrepancy, linked to member.id

CRM.LogInteraction note: transaction unverified, manual investigation case created, case case.id opened

  • Customer accepts the outcome and case creation satisfied resolution-summary
  • Customer insists on immediate resolution frustrated escalation-loyalty-specialist

Expiry Review

kb.loyalty-expiry-policy — retrieve points and tier expiry rules, extension eligibility, and activity requirements

Say"Your member.expiringPoints points are set to expire on member.expiryDate, and your member.currentTier tier status is valid through member.tierExpiryDate. Points expiry can often be reset by completing a qualifying stay or partner activity before that date."
Detect
customer's reaction
  • Customer is calm and accepts the information satisfied resolution-summary
  • Customer is upset about imminent expiry and requests help frustrated expiry-goodwill-check
  • Customer wants to know what activity would prevent expiry activity-inquiry expiry-activity-options

Expiry Activity Options

kb.loyalty-earn-partners — retrieve list of qualifying partner activities that reset expiry clock

Say"To keep your points active you would need to complete a qualifying earn activity before member.expiryDate. This includes any eligible hotel stay, car rental with a partner, or a purchase through a loyalty-linked partner. Would you like me to send you the full list of qualifying partners?"

CRM.LogInteraction note: expiry activity options provided to member.id

  • Customer requests the list be sent LoyaltyPlatform.SendPartnerListEmail to member.email resolution-summary
  • Customer is satisfied with the verbal summary satisfied resolution-summary

Expiry Goodwill Check

Agent
assess whether a goodwill points expiry extension is permitted for member.id under current policy.
Goal:determine if the member's expiry situation qualifies for a one-time extension of points or tier, and apply it if within policy authority.
Constraints:never extend points expiry if the member has already received a goodwill extension within the past 12 months; never extend a balance exceeding the ceiling defined in kb.loyalty-goodwill-policy without escalating; always verify activity history before acting.
Tools available:LoyaltyPlatform.GetExtensionHistory, LoyaltyPlatform.ExtendPointsExpiry, kb.loyalty-goodwill-policy, kb.loyalty-expiry-policy
  • Extension is within policy and applied LoyaltyPlatform.ExtendPointsExpiry expiry-extension-confirmation
  • Extension not permitted under policy or limit already used exceeds-policy escalation-loyalty-specialist

Expiry Extension Confirmation

Say"I've applied a one-time courtesy extension to your points. Your member.expiringPoints points have been extended and will no longer expire on member.expiryDate. A confirmation will be sent to member.email."

CRM.LogInteraction note: one-time points expiry extension applied for member.id

LoyaltyPlatform.SendConfirmationEmail to member.email

  • Customer has additional questions follow-up account-overview
  • Customer is satisfied satisfied resolution-summary

System Outage

Say"I apologize — our loyalty system is currently unavailable and I'm unable to access your account right now. I'll log your inquiry and have a specialist contact you within 4 business hours."

CaseManagement.CreateCase priority: standard, tagged system-outage-callback, linked to member.email

CRM.LogInteraction note: loyalty platform unavailable, callback committed within 4 business hours

  • Customer accepts the callback commitment satisfied resolution-summary
  • Customer requests immediate escalation frustrated escalation-loyalty-specialist

Identity Failure

Say"I'm sorry, I wasn't able to verify your identity with the details provided. For the security of your account I'm unable to share account information at this time. You can reset your credentials through our member portal or visit a property front desk with a valid photo ID for in-person verification."

CRM.LogInteraction note: identity verification failed, member directed to self-service portal or property front desk

Escalation to Loyalty Specialist

CaseManagement.CreateCase priority: high, tagged loyalty-specialist-escalation, linked to member.id

CRM.LogInteraction note: escalated to loyalty specialist, reason captured in case case.id

Slack.Notify to #loyalty-specialist-queue with member summary, member.id, member.currentTier, member.pointsBalance, and reason for escalation

Say"I want to make sure this is handled properly for you. I'm escalating your case to one of our loyalty specialists who has the authority to resolve this. Your case reference is case.id and you'll hear from the team at member.email within 2 business hours."

Resolution Summary

Say"To recap: your account shows member.pointsBalance available points, member.pendingPoints pending, and your current status is member.currentTier valid through member.tierExpiryDate. Is there anything else I can help you with today?"

CRM.LogInteraction note: inquiry resolved, summary provided to member.id

  • Customer has another question follow-up account-overview
  • Customer is done satisfied farewell

Farewell

Say"Thank you for being a valued member.currentTier member. We appreciate your loyalty and look forward to welcoming you on your next stay. Have a wonderful day."

CRM.CloseInteraction for member.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ text▣ email▣ chat

Group / Event Booking Inquiry

TravelHospitalityGroup BookingsEventsSales

Inquiry Intake

Say"Welcome! I'd love to help you plan your group or event. To get started, could you tell me a little about what you're looking to book — for example, is this a wedding, corporate retreat, conference, or another type of event?"
Detect
intent from customer opening message
  • Customer describes a specific event type event-described gather-event-details
  • Customer is vague or asking general questions exploring scope-clarification
  • Customer states group size is 50 or more rooms / full venue buyout / custom SLA high-complexity escalation-event-sales-manager

Scope Clarification

Say"No problem — let me ask a few quick questions to point you in the right direction. Are you looking for guest room blocks, a venue or meeting space, or a full package that includes both?"
Detect
intent on scope of booking need
  • Customer clarifies event scope event-described gather-event-details
  • Customer remains unclear or needs guidance still-vague gather-event-details
  • Customer mentions scale that triggers complexity threshold high-complexity escalation-event-sales-manager

Gather Event Details

Say"Great! To find the best options for you, I'll need a few details. What are your preferred dates or a date range? Roughly how many guests or rooms are you expecting? Do you have a specific property or destination in mind? And do you have a budget range or any special requirements such as catering, AV equipment, transportation, or room blocks?"

Salesforce.CreateLead with customer.name, customer.email, customer.phone, source: group-inquiry

Detect
completeness of details provided
  • Customer provides all key details (dates, guest count, destination, budget) details-complete validate-group-size
  • Customer provides partial details details-partial clarify-missing-details
  • Customer declines to share budget or contact info details-minimal clarify-missing-details

Clarify Missing Details

Say"Thanks for sharing what you have so far. Just to make sure I can find the right fit — could you also confirm your estimated guest or room count, your preferred dates, and a rough budget range? Even a ballpark helps me tailor the options."

Salesforce.UpdateLead with any partial data already collected

  • Customer supplies remaining details details-complete validate-group-size
  • Customer still cannot confirm details still-incomplete capture-lead-for-follow-up

Capture Lead for Follow-up

Say"That's perfectly fine — let me save your details and have someone follow up with you once you have a clearer picture. Could I get your best contact email and a name to reference?"

Salesforce.UpdateLead with customer.name, customer.email, status: nurture

email-automation.EnrollSequence campaign: group-inquiry-nurture, contact: customer.email

  • Lead captured successfully resolution-lead-captured
  • Customer disengages with no contact info provided resolution-no-contact

Validate Group Size

Agent
evaluate event.guestCount and event.roomCount against group booking thresholds.
Goal:determine whether the inquiry can be handled by this agent or must be routed to a group sales specialist or event sales manager.
Constraints:route to group-sales-specialist if room count exceeds 20 and is under 50; route to escalation-event-sales-manager if room count is 50 or more, if the event involves a full venue buyout, or if custom SLA or contract terms are mentioned; never attempt to quote contracts above these thresholds without specialist involvement.
Tools available:kb.group-booking-thresholds, Salesforce.GetLeadRecord
  • Group size is 10–20 rooms and standard event type check-availability
  • Group size is 21–49 rooms or complexity is moderate route-to-group-sales-specialist
  • Group size is 50 or more rooms, full buyout, or custom SLA escalation-event-sales-manager

Check Availability

group-inventory-calendar.CheckAvailability for event.property, event.dates, event.roomCount, event.type

property-management-system.GetGroupRates for event.property, event.dates, event.roomCount

Detect
availability result from inventory check
  • Dates and room count are available available present-options
  • Requested dates are unavailable but alternatives exist partial-availability offer-alternatives
  • No availability at requested property or destination unavailable offer-alternatives

Present Options

Say"Good news — I've found availability that fits your event. Let me walk you through the options, including room rates, venue inclusions, and any packages that may suit your needs."

quoting-tool.GenerateProposal for event.type, event.dates, event.roomCount, event.budget, event.specialRequirements

Say"I'm putting together a formal proposal for you now. You'll receive it at customer.email shortly. It will include rates, inclusions, and a provisional hold on your preferred option. The quote reference is quote.id and it's valid until quote.expiryDate."

Salesforce.UpdateLead status: proposal-sent, quote.id

email-automation.SendEmail template: group-proposal, to: customer.email, attach: quote.id

  • Customer reviews and selects a preferred option option-selected confirm-provisional-hold
  • Customer has questions or wants adjustments needs-adjustment handle-quote-adjustment
  • Customer indicates budget does not align with presented options budget-misaligned offer-value-alternatives
  • Customer goes silent after proposal is sent quote-follow-up-sequence

Offer Alternatives

Say"I'm sorry — we don't have availability for those exact dates or at that property. Let me suggest a couple of alternatives that may work just as well for your group."

group-inventory-calendar.GetAlternativeDates for event.property, event.roomCount

property-management-system.GetNearbyProperties for event.destination, event.dates, event.roomCount

Say"Here are some options: alternativeDates at your preferred property, or alternativeProperties nearby with similar capacity and amenities. Would any of these work for your group?"
  • Customer accepts an alternative date or property alternative-accepted check-availability
  • Customer wants to explore further still-exploring route-to-group-sales-specialist
  • Customer declines all alternatives and disengages declined resolution-no-booking

Handle Quote Adjustment

Say"Absolutely — let me update the proposal to reflect your preferences. What would you like to adjust? For example, room count, dates, inclusions, or special requirements?"

quoting-tool.ReviseProposal for quote.id, updated event.roomCount, event.dates, event.specialRequirements

email-automation.SendEmail template: group-proposal-revised, to: customer.email, attach: quote.id

Say"I've sent the revised proposal to customer.email. The updated quote is still referenced as quote.id. Do you have any other questions, or would you like to move forward?"
  • Customer accepts revised proposal option-selected confirm-provisional-hold
  • Customer still has concerns needs-further-adjustment handle-quote-adjustment
  • Customer budget remains misaligned budget-misaligned offer-value-alternatives

Offer Value Alternatives

Say"I understand — let me see what we can do to work within your budget. There may be tiered packages, off-peak pricing, or value-adds like complimentary meeting space or breakfast that could make a difference."

quoting-tool.GetTieredOptions for event.type, event.dates, event.roomCount, event.budget

kb.group-value-add-packages

Say"Here are a few alternatives at different price points, along with some inclusions that could offset costs. I can also flag this for our group sales team if you'd like a more tailored solution."
  • Customer selects a tiered option option-selected confirm-provisional-hold
  • Customer wants specialist help with budget negotiation route-to-group-sales-specialist
  • Customer declines all options declined resolution-no-booking

Confirm Provisional Hold

Say"Wonderful choice! I'll place a provisional hold on that option for you right now while we finalize the details."

property-management-system.PlaceProvisionalHold for event.property, event.dates, event.roomCount, quote.id

Salesforce.UpdateLead status: hold-placed, hold.confirmationNumber

Say"Your provisional hold is confirmed. Your reference number is hold.confirmationNumber and it's held until hold.expiryDate. I'll send the contract and deposit instructions to customer.email shortly."

contract-management.GenerateContract for quote.id, customer.name, customer.email, event.type, event.dates

email-automation.SendEmail template: contract-and-deposit, to: customer.email, attach: contract.link

Say"Please review and sign the contract by hold.expiryDate and submit the deposit of deposit.amount by deposit.dueDate to secure your booking. Is there anything else I can help you with?"
  • Customer confirms they received the contract and will proceed proceeding resolution-booking-confirmed
  • Customer has contract or deposit questions has-questions handle-contract-questions
  • Customer has not responded by hold expiry date hold-expiry-follow-up

Handle Contract Questions

Say"Happy to help clarify. What questions do you have about the contract or deposit process?"

kb.group-contract-terms

kb.deposit-and-cancellation-policy

  • Questions answered and customer is ready to proceed proceeding resolution-booking-confirmed
  • Contract terms require negotiation or custom clauses requires-negotiation escalation-event-sales-manager
  • Customer declines after reviewing terms declined resolution-no-booking

Quote Follow-up Sequence

email-automation.EnrollSequence campaign: group-quote-follow-up, contact: customer.email, reference: quote.id

Salesforce.UpdateLead status: follow-up-in-progress

Say"I'll send you a quick reminder as your quote approaches its expiry. Please don't hesitate to reach out if you have any questions in the meantime."
  • Customer responds and re-engages re-engaged present-options
  • Customer responds and selects an option option-selected confirm-provisional-hold
  • Customer remains unresponsive after full follow-up sequence no-response route-to-group-sales-specialist

Hold Expiry Follow-up

email-automation.SendEmail template: hold-expiry-reminder, to: customer.email, reference: hold.confirmationNumber

Salesforce.UpdateLead status: hold-expiring-soon

Say"Just a reminder — your provisional hold hold.confirmationNumber is set to expire on hold.expiryDate. To secure your booking, please sign the contract and submit your deposit of deposit.amount by deposit.dueDate."
  • Customer responds and confirms they will proceed proceeding resolution-booking-confirmed
  • Customer requests an extension needs-extension escalation-event-sales-manager
  • Hold expires with no response expired resolution-hold-expired

Route to Group Sales Specialist

Say"Given the size and nature of your event, I'd like to connect you with one of our group sales specialists who can provide a fully tailored proposal and dedicated support throughout the planning process."

Salesforce.UpdateLead status: routed-to-specialist, owner: group-sales-team

Salesforce.CreateTask assign-to: group-sales-team, subject: group-inquiry-handoff, reference: customer.email, event.type, event.dates, event.roomCount

email-automation.SendEmail template: specialist-intro, to: customer.email, cc: salesSpecialist.email

Say"You'll hear from salesSpecialist.name at salesSpecialist.email within one business day. I've shared all your event details so you won't need to repeat anything."
  • Handoff confirmed and customer satisfied resolution-specialist-assigned
  • Customer requests immediate escalation to senior manager escalation-event-sales-manager

Escalation to Event Sales Manager

Salesforce.UpdateLead status: escalated, priority: high, tagged: high-value-event

Salesforce.CreateTask assign-to: event-sales-manager, subject: high-complexity-group-escalation, reference: customer.email, event.type, event.dates, event.roomCount, event.budget

email-automation.SendEmail template: escalation-acknowledgement, to: customer.email

Say"Your event requires the attention of our dedicated event sales manager, who handles large-scale and high-value bookings personally. I've escalated your inquiry and flagged all your details. You can expect a direct call or email within two business hours."

Resolution — Booking Confirmed

Say"Fantastic — your group booking is confirmed! You'll receive your signed contract and booking summary at customer.email. We're looking forward to hosting your event and will be in touch as your date approaches. Is there anything else I can help you with today?"

Salesforce.UpdateLead status: closed-won

property-management-system.ConfirmBooking for hold.confirmationNumber

Resolution — Specialist Assigned

Say"All set — your details are with our group sales team and you'll be hearing from a specialist shortly. Thank you for considering us for your event, and please don't hesitate to reach back out if anything comes up in the meantime."

Salesforce.UpdateLead status: specialist-assigned

Resolution — Lead Captured

Say"Perfect — I've saved your information and you'll hear from us as your plans take shape. Thank you for reaching out, and we look forward to helping you create a memorable event."

Resolution — Hold Expired

Say"It looks like the provisional hold on your event dates has expired. If you're still interested, I'd be happy to check current availability and set up a new hold. Just let us know."

Salesforce.UpdateLead status: hold-expired

property-management-system.ReleaseHold for hold.confirmationNumber

Resolution — No Booking

Say"I'm sorry we weren't able to find the right fit this time. If your plans change or you'd like to explore other options down the road, we'd love to hear from you. I'll keep your details on file."

Salesforce.UpdateLead status: closed-lost

Resolution — No Contact

Say"We weren't able to connect fully this time, but if you'd like to revisit your group or event needs in the future, please don't hesitate to reach out. We're here to help."

Salesforce.UpdateLead status: no-contact

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ text▣ chat▣ sms

General FAQ Insurance

InsuranceFAQSupportBillingClaims

Inbound Greeting

Say"Thank you for reaching out to insurance support. I'm here to help you with any questions about your policy, coverage, billing, or claims. May I start with your name and policy number?"
  • Customer provides name and policy number identity-verification
  • Customer asks a question before providing identity identity-first-prompt
  • Customer explicitly requests a human agent escalation-human

Identity First Prompt

Say"I'd be happy to help with that. To make sure I give you the most accurate information for your specific policy, could you please share your name and policy number first?"
  • Customer provides name and policy number identity-verification
  • Customer declines or cannot provide policy number unverified-general-info
  • Customer explicitly requests a human agent escalation-human

Identity Verification

IdentityVerification.Verify using customer.name and customer.policyNumber

  • Verification passes policy-lookup
  • Verification fails after two attempts unverified-general-info
  • Customer explicitly requests a human agent escalation-human

Policy Lookup

PolicyAdmin.GetRecord for customer.policyNumber

CRM.GetCustomerProfile for customer.name

Detect
customer.policyStatus from policy record
  • Policy is active topic-detection
  • Policy is lapsed lapsed-policy-notice
  • Policy record not found escalation-human

Topic Detection

Say"Thanks, customer.name — I've pulled up your customer.productType policy. What can I help you with today?"
Detect
intent on customer's question
  • Question is about coverage or what the plan includes coverage faq-coverage
  • Question is about billing, payment, or due dates billing faq-billing
  • Question is about how to file a claim claims-process faq-claims-process
  • Question is about an existing claim already in progress claim-status active-claim-redirect
  • Question is about policy documents, ID cards, or proof of insurance documents faq-documents
  • Question is about cancellation or reinstatement policy-changes faq-policy-changes
  • Question involves legal interpretation, dispute, or complaint legal-dispute escalation-human
  • Question does not match a known topic unknown clarification-prompt

FAQ — Coverage

kb.coverage-faq — retrieve coverage details relevant to customer.productType

Say"Your customer.productType policy covers the benefits outlined when you enrolled. I'll walk you through the key points now."

PolicyAdmin.GetCoverageDetails for customer.policyNumber

Say"Here's what your current plan includes: the specifics depend on your selected tier, deductibles, and any riders attached to your policy. I can see the details on your account and share them with you now. Is there a particular benefit or service you'd like me to focus on?"
  • Customer wants more detail on a specific benefit faq-coverage-detail
  • Customer's question is resolved confirmed resolution
  • Customer raises a dispute about what should be covered dispute escalation-human
  • Customer explicitly requests a human agent escalation-human

FAQ — Coverage Detail

kb.coverage-faq — look up specific benefit or exclusion matching question.topic

Say"Based on your policy, here is what applies to your question about question.topic. Please keep in mind that individual circumstances may affect how a benefit is applied — your policy documents are always the authoritative reference."
  • Customer confirms the answer resolves their question confirmed resolution
  • Customer disagrees with the coverage detail dispute escalation-human
  • Customer has a follow-up question topic-detection

FAQ — Billing

PolicyAdmin.GetBillingRecord for customer.policyNumber

kb.billing-faq — retrieve billing process and payment method information

Say"Your next payment is due on customer.paymentDueDate. You can pay online through the member portal, by phone, or by mailing a check. Would you like details on how to update your payment method or set up autopay?"
  • Customer wants to update payment method or set up autopay escalation-human
  • Customer questions a charge or amount billing-dispute escalation-human
  • Customer confirms the answer resolves their question confirmed resolution
  • Customer has a follow-up question topic-detection

FAQ — Claims Process

kb.claims-process-faq — retrieve step-by-step claims filing guidance for customer.productType

Say"To file a claim on your customer.productType policy, here are the steps: First, gather documentation related to your loss or event. Second, visit the claims portal or call our claims line directly. Third, submit your completed claim form along with any supporting documents. You'll receive a confirmation number and a timeline for review. Would you like me to send you the direct link or phone number for the claims team?"
  • Customer wants the claims contact or portal link CRM.SendClaimsInfo to customer.email resolution
  • Customer says they already have a claim in progress claim-in-progress active-claim-redirect
  • Customer confirms the answer resolves their question confirmed resolution
  • Customer has a follow-up question topic-detection

FAQ — Documents

kb.documents-faq — retrieve document request process for customer.productType

Say"I can help with that. Policy documents, ID cards, and proof of insurance can be accessed through your online member portal. I can also send a copy directly to your email on file. Would you like me to send those to customer.email now?"
  • Customer confirms email and requests document PolicyAdmin.SendDocuments to customer.email resolution
  • Customer wants a different email address PolicyAdmin.SendDocuments after confirming new address resolution
  • Customer has a follow-up question topic-detection

FAQ — Policy Changes

kb.policy-changes-faq — retrieve cancellation and reinstatement policy for customer.productType

Say"I can walk you through your options regarding your policy. Changes like cancellation or reinstatement may have timing requirements and potential impacts on your coverage. What specifically would you like to know — are you looking to cancel, reinstate, or make a change to your current policy?"
  • Customer asks about cancellation escalation-human
  • Customer asks about reinstatement faq-reinstatement
  • Customer has a general question confirmed resolution
  • Customer has a follow-up question topic-detection

FAQ — Reinstatement

kb.reinstatement-policy — retrieve reinstatement eligibility and process

Say"Reinstatement may be available depending on how long your policy has been lapsed and your payment history. I can share the general requirements with you, and if you'd like to move forward, a specialist can initiate the process. Would that be helpful?"
  • Customer wants to proceed with reinstatement escalation-human
  • Customer confirms the answer resolves their question confirmed resolution
  • Customer has a follow-up question topic-detection

Active Claim Redirect

Say"It looks like you have a question about a claim that may already be in progress. Let me connect you to the right workflow so you get the most up-to-date status on that."

CRM.LogInteraction tag: claim-status-inquiry, linked to customer.policyNumber

  • Claim ID is available claim.id claims-status-workflow
  • Claim ID is not available escalation-human

Lapsed Policy Notice

Say"I can see that your policy is currently lapsed. I'm happy to answer your question, but please be aware that coverage may not be active. I'll also share some reinstatement options with you at the end if you'd like."

kb.reinstatement-policy — check reinstatement eligibility window using customer.reinstatementDeadline

  • Customer wants to proceed with their original question topic-detection-lapsed
  • Customer wants reinstatement information first faq-reinstatement
  • Customer explicitly requests a human agent escalation-human

Topic Detection — Lapsed Policy

Detect
intent on customer's question
  • Question is about coverage coverage faq-coverage
  • Question is about billing billing faq-billing
  • Question is about how to file a claim claims-process faq-claims-process
  • Question is about documents documents faq-documents
  • Question involves legal interpretation, dispute, or complaint legal-dispute escalation-human
  • Question does not match a known topic unknown clarification-prompt

Unverified — General Info Only

Say"I wasn't able to verify your identity, so I'm only able to share general information and won't be able to access any account-specific details. I'm still happy to help with general questions about how our policies work."

kb.public-faq — retrieve general public-facing insurance information

Detect
intent on customer's question
  • Question is about coverage in general coverage faq-coverage-general
  • Question is about billing in general billing faq-billing-general
  • Question is about how to file a claim claims-process faq-claims-process
  • Customer wants account-specific help escalation-human
  • Customer explicitly requests a human agent escalation-human

FAQ — General Coverage (Unverified)

kb.public-faq — retrieve general coverage overview, not account-specific

Say"In general, our insurance policies cover the benefits selected at enrollment, subject to your plan's deductibles, limits, and exclusions. For the specifics of any individual policy, the policyholder would need to log in to the member portal or call us with their policy number handy."
  • Customer confirms this answers their question confirmed resolution
  • Customer has a follow-up question unverified-general-info
  • Customer wants to try verification again identity-verification

FAQ — General Billing (Unverified)

kb.public-faq — retrieve general billing and payment information

Say"Payments can generally be made through our online member portal, by phone, or by mail. Payment due dates are set at enrollment and shown on your billing statement. For your specific due date or payment history, you would need to log in or call with your policy number."
  • Customer confirms this answers their question confirmed resolution
  • Customer has a follow-up question unverified-general-info
  • Customer wants to try verification again identity-verification

Clarification Prompt

Say"I want to make sure I point you to the right information. Could you tell me a little more about what you're looking for? For example, are you asking about what your plan covers, your payment, how to file a claim, or something else?"
Detect
intent on customer's clarified response
  • Customer clarifies a known topic confirmed topic-detection
  • Customer's question still unclear after clarification escalation-human
  • Customer explicitly requests a human agent escalation-human

Escalation to Human Agent

CRM.LogInteraction tag: escalation, reason: question.topic, linked to customer.policyNumber

CRM.CreateCase priority: normal, linked to customer.policyNumber

Say"I'm going to connect you with one of our specialists who will be able to help you further with this. Please hold for just a moment — they'll have the context of our conversation so you won't need to repeat yourself."

Resolution

Say"I'm glad I could help with that. Is there anything else I can assist you with today?"

CRM.LogInteraction tag: faq-resolved, topic: question.topic, linked to customer.policyNumber

  • Customer has another question topic-detection
  • Customer confirms no further questions confirmed close-conversation

Close Conversation

Say"Thank you for contacting insurance support, customer.name. Have a great day, and don't hesitate to reach out if you need anything else."

CRM.CloseInteraction linked to customer.policyNumber

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat▣ sms▣ text

General FAQ — Healthcare

HealthcareFAQPatient Support

Intake

Say"Hello, thanks for reaching out to us today. I'm here to help answer your questions about our services, hours, billing, insurance, and more. Could you tell me briefly what you're looking for help with?"
Detect
intent on patient opening message
  • Patient asks about billing or payments billing category-billing
  • Patient asks about scheduling or appointments scheduling category-scheduling
  • Patient asks about insurance or coverage insurance category-insurance
  • Patient asks about services, procedures, or treatments services category-services
  • Patient asks about location, hours, or directions location category-location
  • Patient asks about prescriptions or medications prescriptions category-prescriptions
  • Patient mentions a symptom, pain, or medical concern clinical clinical-deflection
  • Patient expresses distress, fear, or emotional upset distressed escalation-human
  • Patient asks about their personal health record or account-specific details personal-record identity-verification
  • Patient requests a specific staff member or provider by name staff-request escalation-human
  • Question does not fit any known category unclear clarify-question

Clarify Question

Say"Thanks for reaching out. I want to make sure I point you in the right direction — could you share a bit more detail about your question? For example, is this about a bill, an upcoming appointment, our services, or something else?"
Detect
intent on follow-up message
  • Category becomes clear on follow-up billing category-billing
  • Category becomes clear on follow-up scheduling category-scheduling
  • Category becomes clear on follow-up insurance category-insurance
  • Category becomes clear on follow-up services category-services
  • Category becomes clear on follow-up location category-location
  • Category becomes clear on follow-up prescriptions category-prescriptions
  • Patient mentions a symptom or medical concern clinical clinical-deflection
  • Patient expresses distress distressed escalation-human
  • Still unclear after follow-up still_unclear knowledge-base-fallback

Category — Billing

kb.billing-faq — retrieve billing policies, payment options, balance inquiry process, financial assistance programs

Say"I can help with billing questions. Our billing team handles payments, payment plans, and statements. patient.name, are you asking about a specific bill or charge, or do you have a more general question about payment options?"
  • Patient has a question about a specific charge or balance on their account account_specific identity-verification
  • Patient asks a general question about payment options or financial assistance general deliver-billing-answer
  • Patient asks about payment plans payment_plan deliver-billing-answer
  • Patient is confused or frustrated about a charge frustrated escalation-human

Deliver Billing Answer

kb.billing-faq — confirm answer to patient's specific billing question

Say"Based on our billing policy: [answer from kb.billing-faq]. Does that answer your question, or is there anything else I can clarify for you?"
  • Patient confirms they have what they need confirmed resolution
  • Patient has a follow-up question follow_up intake
  • Patient is still confused or wants to speak with someone needs_agent escalation-human

Category — Scheduling

kb.scheduling-faq — retrieve scheduling policies, new patient process, cancellation policy, telehealth availability

Say"I can help with scheduling. Are you looking to book a new appointment, reschedule or cancel an existing one, or do you have a question about our scheduling process?"
  • Patient wants to book, reschedule, or cancel book_appt scheduling-action
  • Patient asks a general scheduling question general deliver-scheduling-answer
  • Patient mentions a specific provider staff-request escalation-human

Deliver Scheduling Answer

kb.scheduling-faq — confirm answer to scheduling question

Say"Here's what I can tell you about our scheduling: [answer from kb.scheduling-faq]. Would you like me to help you get connected to schedule directly, or is there anything else?"
  • Patient wants to schedule directly book_appt scheduling-action
  • Patient confirms they have what they need confirmed resolution
  • Patient has another question follow_up intake

Scheduling Action

Say"To get you scheduled, I'll connect you with our scheduling team or patient portal. Do you have a preferred provider or location, and are you an existing patient with us?"
  • Existing patient confirmed patient.status EHR.LookupPatient confirm-patient-identity-scheduling
  • New patient new_patient new-patient-intake
  • Patient declines to provide info and wants to self-schedule self_serve resolution

Confirm Patient Identity — Scheduling

Say"I just need to verify a couple of details so I can pull up your record. Could you please confirm your date of birth and the phone number or email we have on file?"
  • Identity confirmed EHR.LookupPatient verified escalation-human
  • Patient cannot verify identity unverified identity-fail

New Patient Intake

kb.new-patient-faq — retrieve new patient registration process, required documents, insurance accepted

Say"Welcome — we're glad you're considering us for your care. As a new patient, you'll want to complete our registration process. Here's how that works: [answer from kb.new-patient-faq]. Would you like me to share the link to our patient portal to get started, or connect you with our front desk?"
  • Patient wants portal link CRM.SendPortalLink resolution
  • Patient wants to speak with front desk speak_to_staff escalation-human
  • Patient confirms they have what they need confirmed resolution

Category — Insurance

kb.insurance-faq — retrieve accepted insurance carriers, coverage verification process, referral and prior authorization info

Say"I can help with insurance questions. Are you asking about which insurance plans we accept, how to verify your coverage, or something about a referral or authorization?"
  • Patient asks which insurance plans are accepted plans_accepted deliver-insurance-answer
  • Patient wants to verify their specific coverage verify_coverage identity-verification
  • Patient asks about referrals or prior authorization auth_referral deliver-insurance-answer
  • Patient asks a general insurance question general deliver-insurance-answer

Deliver Insurance Answer

kb.insurance-faq — confirm answer relevant to patient's insurance question

Say"Here's what I can share: [answer from kb.insurance-faq]. For the most accurate coverage details tied to your specific plan, our insurance team can verify your benefits directly. Would that be helpful?"
  • Patient confirms they have what they need confirmed resolution
  • Patient wants insurance team to verify their benefits verify_coverage identity-verification
  • Patient has a follow-up question follow_up intake
  • Patient is frustrated about coverage or a denial frustrated escalation-human

Category — Services

kb.services-faq — retrieve information on available specialties, procedures, telehealth, and referral requirements

Say"I can tell you about the services and specialties we offer. What would you like to know — are you asking about a specific procedure, a specialty area, or whether we offer telehealth visits?"
  • Patient asks about a specific procedure or treatment procedure deliver-services-answer
  • Patient asks about a specialty specialty deliver-services-answer
  • Patient asks about telehealth telehealth deliver-services-answer
  • Patient's question touches on clinical advice or personal symptoms clinical clinical-deflection

Deliver Services Answer

kb.services-faq — confirm answer relevant to patient's services question

Say"Here's what I can share about our services: [answer from kb.services-faq]. Keep in mind, for questions about whether a specific treatment is right for you personally, our clinical team would be the best resource. Is there anything else I can help you with?"
  • Patient confirms they have what they need confirmed resolution
  • Patient wants to schedule related to this service book_appt category-scheduling
  • Patient has a follow-up question follow_up intake
  • Patient's follow-up veers into clinical advice territory clinical clinical-deflection

Category — Location & Hours

kb.facility-directory — retrieve facility addresses, hours of operation, parking, and contact numbers

Say"I can help with location and hours. Do you have a specific facility or clinic in mind, or would you like general information about our locations?"
  • Patient names a specific facility or location facility.name deliver-location-answer
  • Patient wants a list of all locations all_locations deliver-location-answer
  • Patient asks about after-hours or urgent care availability after_hours deliver-location-answer

Deliver Location Answer

kb.facility-directory — confirm address, hours, and contact details for facility.name

Say"Here are the details for facility.name: [address, hours from kb.facility-directory]. Is there anything else you need, such as directions or a phone number?"
  • Patient confirms they have what they need confirmed resolution
  • Patient has another question follow_up intake
  • Patient cannot find the location or needs further help needs_agent escalation-human

Category — Prescriptions

kb.prescriptions-faq — retrieve prescription refill process, pharmacy partnerships, prior authorization for medications

Say"I can help with general questions about prescriptions. Are you asking about refilling a prescription, our pharmacy partners, or something about prior authorization for a medication?"
  • Patient asks about refills refill deliver-prescriptions-answer
  • Patient asks about pharmacy partners pharmacy deliver-prescriptions-answer
  • Patient asks about prior authorization for a specific medication prior_auth deliver-prescriptions-answer
  • Patient asks about dosage, interactions, or clinical guidance clinical clinical-deflection

Deliver Prescriptions Answer

kb.prescriptions-faq — confirm answer relevant to prescription question

Say"Here's what I can share: [answer from kb.prescriptions-faq]. For anything specific to your prescription or medical history, your care team or pharmacist will have the most accurate guidance. Is there anything else I can help with?"
  • Patient confirms they have what they need confirmed resolution
  • Patient has a follow-up question follow_up intake
  • Patient's question requires clinical judgment clinical clinical-deflection
  • Patient wants to speak with their care team needs_agent escalation-human

Identity Verification

Say"To access any account-specific information, I'll need to verify your identity first. Could you please provide your full name, date of birth, and the phone number or email address associated with your account?"

CRM.VerifyPatientIdentity using patient.name, patient.dob, patient.phone or patient.email

  • Identity verified successfully verified post-verification-routing
  • Identity cannot be verified unverified identity-fail

Post-Verification Routing

Say"Thank you — I've verified your identity. Let me pull up the information you need."
  • Original question was about billing billing EHR.LookupPatientAccount deliver-billing-answer
  • Original question was about insurance or coverage insurance InsuranceEligibility.VerifyCoverage deliver-insurance-answer
  • Original question was about scheduling scheduling EHR.LookupPatient confirm-patient-identity-scheduling
  • Original question required record access record EHR.LookupPatientAccount escalation-human

Identity Fail

Say"I wasn't able to verify your identity with the information provided. For security purposes, I'm not able to share account-specific details without verification. You're welcome to contact us directly by phone or visit one of our locations with a valid photo ID. Is there anything general I can help you with in the meantime?"
  • Patient wants to try a general question general intake
  • Patient wants to call or visit in person confirmed resolution
  • Patient is frustrated or upset frustrated escalation-human

Knowledge Base Fallback

Agent
search available knowledge sources to find the best available answer to the patient's question.
Goal:retrieve an accurate, policy-aligned answer from kb.general-faq, kb.billing-faq, kb.services-faq, or kb.facility-directory without guessing or fabricating information.
Constraints:never provide clinical advice, diagnoses, or medication guidance; if no confident answer is found, acknowledge uncertainty explicitly and do not speculate; never access patient records without verified identity.
Tools available:kb.general-faq, kb.billing-faq, kb.services-faq, kb.scheduling-faq, kb.insurance-faq, kb.facility-directory, kb.prescriptions-faq
  • Answer found with high confidence answer_found deliver-fallback-answer
  • No reliable answer found in knowledge base no_answer acknowledge-uncertainty

Deliver Fallback Answer

Say"Based on our available information, here's what I can share: [answer retrieved]. Is that helpful, or do you have any follow-up questions?"
  • Patient confirms they have what they need confirmed resolution
  • Patient has a follow-up question follow_up intake
  • Patient is unsatisfied or needs more detail needs_agent escalation-human

Acknowledge Uncertainty

Say"I want to make sure you get accurate information, and I don't have a confident answer to that specific question in our resources right now. Rather than guess, I'd recommend speaking directly with our team who can give you a verified answer. Would you like me to connect you with someone, or point you to our patient portal for more information?"
  • Patient wants to be connected to a staff member needs_agent escalation-human
  • Patient wants the patient portal link CRM.SendPortalLink resolution
  • Patient is okay waiting or will follow up themselves confirmed resolution

Clinical Deflection

Say"I appreciate you sharing that with me. I'm not able to provide clinical advice, diagnoses, or guidance on symptoms — that's something a licensed provider needs to assess for your safety. If you have a medical concern, I'd encourage you to contact your care team directly, schedule an appointment, or if it's urgent, please call 911 or go to your nearest emergency room. Would you like help scheduling an appointment or finding a location?"
  • Patient wants to schedule an appointment book_appt category-scheduling
  • Patient wants a facility location location category-location
  • Patient indicates this may be an emergency emergency escalation-emergency
  • Patient confirms they understand and has no further needs confirmed resolution
  • Patient is distressed or escalating distressed escalation-human

Escalation — Emergency

Say"If you or someone else is experiencing a medical emergency, please call 911 or go to your nearest emergency room immediately. Do not wait for a callback. Is there anything else I can do to help right now?"

Escalation to Human Agent

CRM.CreateCaseNote with question.category, conversation summary, and patient.name if provided

CRM.RouteToAgent with priority: standard, tagged with question.category

Say"I'm going to connect you with a member of our team who can help you further. Please hold for just a moment — or if you'd prefer, I can arrange for a callback. Thank you for your patience."

Resolution

Say"I'm glad I could help. If you have any other questions in the future, don't hesitate to reach out. Take care, and have a great day!"

CRM.LogInteraction with question.category and resolution status

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ sms

Dispute Escalation to Human Agent

Financial ServicesDisputesEscalationSupport

Dispute Intake

Say"Thank you for reaching out. I'm here to help you with your dispute. Could you please share your full name and account number so I can pull up your account?"
  • Customer provides name and account number identity-verification
  • Customer mentions an already-open dispute or prior case number existing-case-lookup
  • Customer immediately invokes legal rights (CFPB, arbitration, attorney) or threatens legal action legal_threat escalation-human
  • Customer is highly distressed or agitated distressed escalation-human

Identity Verification

Say"For your security, I need to verify your identity before we proceed. I'll ask you a few quick questions."

IdentityVerification.Verify against customer.accountNumber — check security questions, date of birth, and registered contact details.

Detect
identity verification outcome
  • Identity verified on first or second attempt verified account-and-dispute-lookup
  • Identity cannot be verified after two attempts unverified identity-failure
  • Customer refuses verification or abandons escalation-human

Identity Failure

Say"I'm sorry — I wasn't able to verify your identity through this channel. For your security, I'm unable to proceed with the dispute without verification."
Say"You can resolve this by logging into your secure online account, visiting your nearest branch with a government-issued ID, or calling back with your security details ready."

CRM.LogAttempt tag: identity-verification-failed, linked to customer.accountNumber

Account and Dispute Lookup

CoreBanking.GetAccountDetails for customer.accountNumber

CoreBanking.GetTransactionHistory for customer.accountNumber

Say"Thank you, customer.fullName. I can see your account. Can you tell me the date, amount, and any reference ID or merchant name for the charge or decision you'd like to dispute, and the reason for the dispute?"
  • Customer provides transaction or decision details dispute-eligibility-check
  • Agent cannot locate the transaction after two attempts escalation-human
  • Customer mentions fraud and amount is above USD 500 high_value_fraud escalation-human

Dispute Eligibility Check

kb.dispute-eligibility-policy — check whether transaction.date falls within the eligible dispute window and whether dispute.reason qualifies under policy.

Agent
assess dispute eligibility using transaction.date, transaction.amount, dispute.reason, and kb.dispute-eligibility-policy.
Goal:determine whether the dispute is within the allowable window and falls under a qualifying dispute category before logging a formal case.
Constraints:never log a formal dispute for transactions outside the eligible window without supervisor approval; never waive policy without flagging for human review; always document ineligible attempts in the CRM.
Tools available:CoreBanking.GetTransactionHistory, kb.dispute-eligibility-policy, CRM.LogAttempt
  • Dispute is within policy window and qualifies eligible dispute-logging
  • Dispute falls outside the eligible window or does not qualify under policy ineligible dispute-ineligible
  • Eligibility is ambiguous and requires human judgment ambiguous escalation-human

Dispute Ineligible

Say"I've reviewed your account and I want to be transparent with you — based on our policy, this dispute falls outside the eligible timeframe of dispute.windowDays days, or doesn't meet the qualifying criteria for a formal dispute."
Say"I've documented your concern and today's contact in your account record. If you believe there are exceptional circumstances, I can escalate this to a specialist for a secondary review."

CRM.LogAttempt tag: dispute-ineligible, linked to customer.accountNumber, note dispute.reason

  • Customer accepts the outcome and has no further questions resolution-closed
  • Customer requests secondary review or escalation escalation-human

Existing Case Lookup

Say"It sounds like you may already have an open dispute with us. Let me pull that up — could you share your prior case or reference number?"

CaseManagement.GetCase by dispute.priorCaseNumber or customer.accountNumber

Detect
case lookup outcome
  • Existing open case found case_found existing-case-update
  • No matching case found, treat as new dispute no_case identity-verification
  • Customer escalates frustration about lack of progress frustrated escalation-human

Existing Case Update

Say"I found your existing case — case number case.id, currently with a status of case.status. Let me update it with the new information you've shared today."

CaseManagement.UpdateCase on case.id with new dispute.reason and today's contact timestamp

CRM.LogInteraction linked to case.id, tag: customer-follow-up

Say"I've added your update to the case. A specialist will review the new information and you'll receive a follow-up via customer.preferredContact within the timeframe we originally communicated."
  • Customer is satisfied with the update resolution-closed
  • Customer escalates or expresses legal intent legal_threat escalation-human
  • Customer requests to speak with a human specialist escalation-human

Dispute Logging

Say"Everything looks good. I'm going to formally log your dispute now. This covers the charge of transaction.amount on transaction.date at transaction.merchant, reference ID transaction.referenceId, with reason: dispute.reason. Does that sound correct?"
  • Customer confirms details confirmed case-creation
  • Customer corrects or amends details correction account-and-dispute-lookup

Case Creation

DisputesManagement.CreateCase for customer.accountNumber with transaction.referenceId, transaction.amount, transaction.date, dispute.reason

CaseManagement.AssignCaseNumber and capture as case.id

CRM.LogInteraction tag: dispute-filed, linked to case.id

Say"Your dispute has been formally logged and assigned case number case.id. Here's what happens next — our disputes team will review the details within 3 to 5 business days and you'll receive a status update via customer.preferredContact."

dispute-confirmation

Dispute Confirmation

Twilio.SendSMS to customer.phone: "Your dispute (Case case.id) has been logged. Amount: transaction.amount. We'll follow up within 3–5 business days. Reply STOP to opt out."

Twilio.SendEmail to customer.email with full case summary including case.id, transaction.referenceId, transaction.amount, transaction.date, and next steps.

Say"I've sent a confirmation with your case number and next steps to your email and phone on file. Is there anything else I can help you with today?"
  • Customer has no further questions resolution-closed
  • Customer has additional questions or a separate dispute dispute-intake
  • Customer escalates or requests immediate human follow-up escalation-human

Escalation to Human Agent

Say"I completely understand, and I want to make sure you get the right support. I'm escalating this to a specialist right now who can handle this directly."

CRM.LogInteraction tag: escalation-triggered, linked to customer.accountNumber, note dispute.reason

CaseManagement.CreateOrUpdateCase priority: high, tag: human-escalation, linked to transaction.referenceId

DisputesManagement.FlagForReview on customer.accountNumber with escalation reason and agent transcript summary

Approval
Slack.RequestApproval to #disputes-escalation-queue, approver: disputes_team_lead
Context sent:customer.fullName, customer.accountNumber, case.id, transaction.amount, transaction.referenceId, dispute.reason, escalation trigger summary
  • Specialist accepts and takes over approved escalation-handoff-complete
  • No response within 10 min timeout escalation-handoff-complete

Escalation Handoff Complete

Say"A disputes specialist has been notified and will be in touch with you via customer.preferredContact shortly. Your case reference is case.id — please keep that handy. We're sorry for the difficulty and we'll make sure this is resolved for you."

Twilio.SendSMS to customer.phone: "You've been connected with a disputes specialist. Reference: case.id. Expect contact via customer.preferredContact shortly."

Resolution / Closed

Say"I'm glad we could assist you today. Your case reference is case.id — don't hesitate to reach out if you have any further questions. Take care."

CRM.LogInteraction tag: interaction-complete, linked to case.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ email

Complaint Intake & Routing

Financial ServicesComplaintsComplianceSupport

Intake & Greeting

Say"Thank you for contacting us. I understand you'd like to raise a concern or formally lodge a complaint — I'm here to help you through that process and make sure your matter is fully recorded."
Say"To get started, may I have your full name and the account number related to your complaint?"
  • Customer provides name and account number identity-verification
  • Customer refuses to provide details or cannot locate account number anonymous-record
  • Customer immediately mentions a lawyer, regulator, or media escalation-signal escalation-legal-regulatory

Identity Verification

IdentityVerification.VerifyCustomer using customer.fullName and customer.accountNumber

Detect
outcome of identity verification check
  • Identity confirmed verified complaint-details-collection
  • Identity cannot be confirmed after two attempts unverified anonymous-record
  • System error or timeout system_error CRM.LogAttempt escalation-human-agent

Complaint Details Collection

Say"Thank you, customer.fullName — your identity has been verified. I'll now collect the details of your complaint so we can log it accurately."
Say"Could you please tell me: what is the nature of your complaint, which product or service is involved, and approximately when did the issue occur?"

CRM.UpdateRecord with customer.accountNumber to flag active complaint intake

  • Customer provides complaint details prior-contact-check
  • Customer becomes highly distressed or threatening legal action distressed escalation-legal-regulatory
  • Customer is unclear or needs prompting complaint-clarification

Complaint Clarification

Say"I want to make sure I capture everything correctly. Let me ask a few specific questions to help document your complaint fully."
Say"Which product or service does this relate to — for example, a credit card, mortgage, current account, or a specific interaction with our team?"
Say"And can you recall the approximate date when this issue first occurred?"

kb.complaint-intake-guidelines — review required fields for a complete complaint record

  • Details now sufficient to proceed prior-contact-check
  • Customer remains unable to provide details CRM.LogPartialComplaint complaint-details-collection
  • Customer escalates tone or mentions legal action distressed escalation-legal-regulatory

Prior Contact Check

Say"Have you contacted us previously about this issue? If so, do you have a reference number from that interaction?"

ComplaintManagement.SearchExistingCases using customer.accountNumber and complaint.nature

Detect
whether a duplicate or related case exists
  • Duplicate case found duplicate_detected duplicate-complaint-handling
  • No prior case found, complaint is new no_duplicate regulatory-category-check
  • Customer provides prior reference number complaint.priorReference ComplaintManagement.LinkCase regulatory-category-check

Duplicate Complaint Handling

ComplaintManagement.RetrieveCase to get case.existingId and current status

Say"I can see that a complaint related to this matter is already on record with us, reference number case.existingId. I'll make sure your latest contact is noted against that case."

CRM.AddInteractionNote linked to case.existingId with today's contact details and any new information provided

Say"Your existing complaint is being reviewed and you'll receive a response within regulatory.responseWindow days. Would you like us to send you a status update to your preferred contact?"
  • Customer confirms preferred contact and accepts outcome Twilio.SendSMS to customer.preferredContact resolution-acknowledgment
  • Customer disputes that the duplicate is the same issue complaint-details-collection
  • Customer is dissatisfied with existing case handling frustrated escalation-human-agent

Regulatory Category Check

ComplianceFlagging.ClassifyComplaint using complaint.nature and complaint.product

kb.regulatory-complaint-categories — check whether complaint falls under fraud, discrimination, CFPB-reportable, FCA-reportable, or other regulated classification

Detect
complaint category classification result
  • Complaint classified as regulated category (fraud, discrimination, CFPB, FCA) regulated_category compliance-routing
  • Complaint classified as standard (service, billing, product experience) standard_category complaint-registration
  • Classification inconclusive inconclusive CRM.LogForManualReview escalation-compliance-team

Compliance Routing

Say"Based on the details you've shared, your complaint involves a matter that requires review by our specialist compliance team. I want to assure you this will be prioritised appropriately."

ComplianceFlagging.FlagCase with complaint.category, customer.accountNumber, and complaint.nature

CaseRouting.AssignToComplianceQueue with priority: high

CRM.CreateComplaintRecord tagged regulatory, linked to customer.accountNumber

Say"Your complaint has been assigned reference number complaint.referenceNumber and routed to our compliance team. You can expect a formal written response within regulatory.responseWindow days — this is a regulatory commitment we are required to meet."
  • Customer would like written confirmation now Twilio.SendSMS to customer.preferredContact resolution-acknowledgment
  • Customer has further information to add complaint-clarification
  • Customer escalates or mentions external bodies escalation-signal escalation-legal-regulatory

Complaint Registration

ComplaintManagement.CreateCase with customer.fullName, customer.accountNumber, complaint.nature, complaint.date, complaint.product, complaint.priorReference

CaseRouting.AssignToStandardQueue

ComplaintManagement.GenerateReferenceNumber to produce complaint.referenceNumber

Say"I've now formally logged your complaint. Your reference number is complaint.referenceNumber — please keep this for your records."
Say"Under our obligations, we aim to provide a full written response within regulatory.responseWindow days. You'll receive a written acknowledgment shortly at your preferred contact."
  • Customer confirms preferred contact method preferred-contact-capture
  • Customer wants to add anything further complaint-clarification
  • Customer is highly dissatisfied with the process frustrated escalation-human-agent

Preferred Contact Capture

Say"How would you prefer us to contact you with updates and our formal response — by email, phone, or secure message?"

CRM.UpdatePreferredContact for customer.accountNumber with customer.preferredContact

  • Customer confirms email Twilio.SendEmail to customer.email with acknowledgment letter and complaint.referenceNumber resolution-acknowledgment
  • Customer confirms phone or SMS Twilio.SendSMS to customer.phone with acknowledgment summary and complaint.referenceNumber resolution-acknowledgment
  • Customer has no preference, use address on file CRM.RetrieveContactDetails Twilio.SendEmail to customer.email resolution-acknowledgment

Resolution & Acknowledgment

Say"Your complaint has been recorded and an acknowledgment has been sent to your preferred contact. Your reference number is complaint.referenceNumber."
Say"A member of our team will review your complaint and aim to provide a full written response within regulatory.responseWindow days. If you need to contact us in the meantime, please quote your reference number."
Say"Is there anything else I can help you with today?"

CRM.CloseInteraction with outcome: complaint-logged, reference: complaint.referenceNumber

  • Customer has no further questions — flow ends here
  • Customer raises an additional issue intake-greeting
  • Customer requests to speak with someone now wants_agent escalation-human-agent

Anonymous Record

Say"I understand — I'm not able to access your account without verified details, but I can still log an anonymous record of your concern so it is on record."

ComplaintManagement.CreateAnonymousRecord with complaint.nature and any details provided

ComplaintManagement.GenerateReferenceNumber to produce complaint.referenceNumber

Say"I've created an anonymous reference — your number is complaint.referenceNumber. To allow us to fully investigate and respond to you, we would need you to contact us again with your account credentials or visit a branch with valid identification."
Say"Would you like me to note a preferred contact method in case you are able to verify your identity with us in future?"
  • Customer provides a contact method CRM.LogAnonymousContactPreference resolution-acknowledgment
  • Customer declines and ends the interaction — flow ends here
  • Customer becomes agitated or references legal action distressed escalation-legal-regulatory
Say"I understand this is a serious matter and I want to make sure it's handled with the urgency it deserves. I'm escalating your complaint immediately to a senior complaints handler who has the authority to address concerns of this nature."

ComplianceFlagging.FlagCase with priority: urgent, reason: legal-regulatory-signal

CaseRouting.AssignToSeniorComplaintsHandler

CRM.CreateComplaintRecord tagged escalated, legal-signal, linked to customer.accountNumber

ComplaintManagement.GenerateReferenceNumber to produce complaint.referenceNumber

Twilio.SendSMS to customer.preferredContact confirming escalation and complaint.referenceNumber

Say"Your reference number is complaint.referenceNumber. A senior handler will be in contact with you within one business day. You do not need to contact us again — we will reach out to you."

Escalation — Human Agent

CaseRouting.TransferToLiveAgent with context: complaint.referenceNumber, customer.accountNumber, complaint.nature

CRM.LogHandoffNote with reason: customer-requested or verification-failure or system-error

Say"I'm transferring you now to one of our team members who will be able to assist you directly. Your reference number is complaint.referenceNumber — they'll have full context of our conversation."

Escalation — Compliance Team

ComplianceFlagging.FlagCase with priority: high, reason: inconclusive-classification

CaseRouting.AssignToComplianceReviewTeam

CRM.CreateComplaintRecord tagged compliance-review-required, linked to customer.accountNumber

ComplaintManagement.GenerateReferenceNumber to produce complaint.referenceNumber

Say"Your complaint has been flagged for review by our compliance team to ensure it is handled through the correct process. Your reference number is complaint.referenceNumber and you will receive written confirmation of next steps within two business days."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat▣ email

Complaint Escalation — Insurance

InsuranceComplaintsEscalationRegulatory

Intake and Greeting

Say"Thank you for contacting us. I understand you'd like to raise a concern today — I'm here to help and I want to make sure we handle this properly for you. May I start with your full name and policy number?"
Detect
sentiment and distress level on customer's opening statement
  • Customer is calm or moderately frustrated neutral identity-verification
  • Customer is highly distressed, upset, or using strong escalation language distressed empathy-protocol
  • Customer explicitly mentions the ombudsman, legal action, or litigation legal_threat regulatory-flag

Empathy Protocol

Say"I can hear how frustrated you are, and I want you to know your complaint is being taken very seriously. I'd like to take the time to properly understand everything that's happened. You have my full attention."
  • Customer settles and is willing to continue confirmed identity-verification
  • Customer demands to speak with a manager immediately escalation_request escalation-human
  • Customer remains highly distressed and conversation cannot progress unresolvable escalation-human

Regulatory Flag

ComplaintsManagementSystem.SetPriorityFlag on case.existingId with tag regulatory-legal-threat

Say"I want to make sure we treat this with the urgency it deserves. I'm flagging this right now as a priority complaint. A senior handler will be involved in the resolution of this case."
  • Continue to identity verification identity-verification

Identity Verification

Say"Before I log your complaint and access your policy details, I need to verify your identity. Could you please confirm your date of birth and the postcode associated with your policy?"

IdentityVerification.Verify using policy.number and policy.holderId

  • Identity verified successfully verified complaint-capture
  • Identity cannot be verified after two attempts unverified unverified-complaint-log
  • Customer refuses to provide verification details refused unverified-complaint-log

Complaint Capture

Say"Thank you for confirming your details. I'd now like to understand your complaint fully. Please take as much time as you need — could you walk me through what happened, including when it occurred and any reference numbers you may have for an existing claim or case?"

PolicyAdministrationSystem.GetRecord for policy.number

CRM.GetCustomerProfile for policy.holderId

CaseManagement.SearchExistingCases using policy.number and claim.referenceNumber

Detect
whether an existing open case matches the incoming complaint
  • Existing open case found matching this complaint duplicate duplicate-case-update
  • No existing case found, proceed to log new complaint no_duplicate complaint-classification
  • Complaint involves a protected or vulnerable customer flag customer.vulnerableFlag vulnerable-customer-handling

Vulnerable Customer Handling

Say"I can see from your record that you may benefit from some additional support. I want to make sure we handle your complaint in the way that works best for you. Would you prefer we follow up by phone, email, or letter — and is there anything I can do right now to make this process easier for you?"

CRM.SetVulnerableFlag on policy.holderId

ComplaintsManagementSystem.SetPriorityFlag with tag vulnerable-customer

  • Customer confirms preferred contact method, continue to classification complaint-classification
  • Customer requests specialist support or senior handler escalation-human

Complaint Classification

Agent
classify the complaint using complaint.description and complaint.category against kb.complaint-category-taxonomy.
Goal:determine the correct complaint category (claim handling, policy administration, customer service, billing, regulatory) and assess whether a priority or legal flag should be applied.
Constraints:never dismiss or downgrade a complaint that contains keywords indicating legal threat, vulnerability, or regulatory referral; always apply the most protective classification when ambiguous.
Tools available:ComplaintsManagementSystem.GetCategoryList, kb.complaint-category-taxonomy, kb.regulatory-response-timeframes
  • Classification complete, no escalation triggers identified classified complaint-logging
  • Classification reveals regulatory or legal risk not yet flagged legal_threat regulatory-flag
  • Classification reveals vulnerable customer indicator not yet flagged vulnerable vulnerable-customer-handling

Duplicate Case Update

Say"I can see we already have an open case reference case.existingId related to this matter. Rather than creating a new complaint, I'll update that existing record with everything you've told me today so nothing is lost."

CaseManagement.UpdateCase on case.existingId with complaint.description and complaint.date

CRM.AddInteractionNote for policy.holderId with summary of call and updated complaint details

Say"I've updated your existing case case.existingId with today's information. You'll receive a follow-up via your preferred contact method, and you can reference that case number at any time."
  • Update complete, confirm timeframes with customer regulatory-timeframe-confirmation

Complaint Logging

ComplaintsManagementSystem.CreateComplaint with policy.number, customer.name, complaint.description, complaint.category, complaint.date, claim.referenceNumber

Say"I've formally logged your complaint and your reference number is complaint.referenceNumber. Please keep this safe — you can use it to check on the status of your complaint at any time."

CRM.AddInteractionNote for policy.holderId linking complaint.referenceNumber and complaint.category

  • Complaint logged, proceed to confirm response timeframes regulatory-timeframe-confirmation

Regulatory Timeframe Confirmation

kb.regulatory-response-timeframes — retrieve applicable acknowledgment and resolution deadlines based on complaint.category

Say"Under our regulatory obligations, you'll receive a written acknowledgment within 5 business days. We aim to resolve your complaint fully within 8 weeks. If we're unable to do so, we'll write to you explaining why and advising you of your right to refer your complaint to the Financial Ombudsman Service."
Say"We'll be in touch via customer.preferredContact. Is there anything else you'd like to add before we close today's call?"
  • Customer has nothing further to add confirmed resolution-confirmation
  • Customer raises an additional concern or asks a follow-up question further_query complaint-capture
  • Customer requests a callback from a senior handler escalation_request escalation-human

Unverified Complaint Log

Say"I completely understand — I want to make sure your complaint is still recorded even if we're unable to verify your identity right now. I'll log this as an unverified complaint. Once we're able to verify your identity at a later stage, we can link it to your policy record."

ComplaintsManagementSystem.CreateUnverifiedComplaint with complaint.description, complaint.date, and a note that identity verification is pending

CRM.AddUnverifiedInteractionNote with complaint.description

Say"Your complaint has been logged with reference number complaint.referenceNumber. To progress this further and link it to your policy, please contact us again with your policy number and identity documents. We're sorry we couldn't do more today."
  • Unverified log complete resolution-confirmation

Escalation to Human Agent

ComplaintsManagementSystem.SetPriorityFlag on complaint.referenceNumber with tag senior-handler-required

CRM.AddInteractionNote for policy.holderId with reason for escalation

CaseManagement.AssignToSeniorHandler and notify agent.seniorHandlerEmail

Say"I'm escalating your complaint to a senior handler right now. They will be in contact with you via customer.preferredContact within 24 hours. Your reference number is complaint.referenceNumber — please keep this to hand."

Resolution Confirmation

Say"Thank you for bringing this to our attention — your feedback is important to us and we take all complaints seriously. Your reference number is complaint.referenceNumber. We'll be in touch as discussed. Is there anything else I can help you with today?"

CRM.CloseInteraction for policy.holderId with outcome logged and complaint.referenceNumber attached

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat▣ text

Claims Intake

InsuranceClaimsIntake

Welcome & Policy Lookup

Say"Thank you for contacting us. I'm here to help you report a new claim. To get started, could you please provide your policy number or the name on the account?"

PolicyManagement.LookupPolicy using policy.number or customer.name

  • Policy record found, status active identity-verification
  • Policy record found, status lapsed or expired lapsed-policy
  • Policy record not found after two attempts escalation-human
  • System unavailable CRM.LogInteraction with caller details system-unavailable

Identity Verification

Say"I found an account. For your security, I need to verify your identity before we proceed. Could you please confirm your date of birth and the ZIP code on the policy?"

IdentityVerification.Verify using policy.number and provided identifiers

  • Identity verified on first or second attempt loss-details-collection
  • Identity not verified on primary identifiers secondary-identity-check

Secondary Identity Check

Say"I wasn't able to verify your identity with those details. Let me try a couple of alternative questions. Could you confirm the last four digits of the SSN on the account, or the email address we have on file?"

IdentityVerification.VerifySecondary using policy.number

  • Identity verified with secondary identifiers loss-details-collection
  • Identity still unverified identity_failed escalation-human

Loss Details Collection

Say"Thank you — your identity is confirmed. I'm sorry to hear you've experienced a loss. I'd like to gather a few details about what happened so we can open your claim. Please take your time."
Say"First, can you tell me the date the loss occurred, the location, and a brief description of what happened?"
  • Customer provides loss date, location, and description damages-and-injuries-check
  • Customer is distressed or mentions injuries or fatalities escalation-complex-loss

Damages & Injuries Check

Say"Thank you. Are there any injuries involved, and can you give me a rough sense of the damages — for example, is a vehicle undriveable, or is a property uninhabitable?"
Detect
severity indicators in customer response — injuries, fatalities, large-scale damage, legal intent
  • Customer reports injuries, fatality, or catastrophic loss high_severity escalation-complex-loss
  • Customer mentions intent to involve legal counsel legal_intent escalation-complex-loss
  • No injuries, damages appear routine coverage-check

Coverage Check

kb.coverage-rules — verify loss.type falls within policy.coverageType scope and that loss.date is within the active policy period

Agent
assess whether the reported loss type and circumstances fall within the active policy's coverage scope.
Goal:determine if the claim can proceed as standard intake, needs adjuster-review flagging, or falls into a clear exclusion category.
Constraints:never outright deny a claim to the customer — if exclusion is possible, flag for adjuster review rather than refusing; never proceed to claim creation if policy status is not confirmed active at time of loss.
Tools available:PolicyManagement.GetCoverageDetails, kb.coverage-rules
  • Coverage confirmed active and loss type within scope coverage_confirmed claim-record-creation
  • Loss type appears potentially excluded or ambiguous coverage_ambiguous flagged-adjuster-review
  • Policy was not active on loss.date coverage_inactive lapsed-policy

Claim Record Creation

Say"Everything looks good — I'm creating your claim record now. Just one moment."

ClaimsManagement.CreateClaim with policy.number, customer.name, loss.date, loss.location, loss.description, loss.damages, loss.type

CRM.UpdateContact with customer.preferredContact and claim reference

ClaimsManagement.GetClaimID -> claim.id

  • Claim record created successfully claim_created claim-confirmation
  • System error during claim creation system_error system-unavailable

Claim Confirmation

Say"Your claim has been successfully submitted. Your claim number is claim.id — please keep this for your records. A claims adjuster will be in touch within claim.adjusterContactWindow business days via your preferred contact method."
Say"In the meantime, please preserve any evidence, avoid disposing of damaged property, and document everything with photos if possible. Is there anything else you'd like to know before we wrap up?"

CRM.SendConfirmation to customer.email or customer.phone with claim.id and next-steps summary

  • Customer has additional questions claim-next-steps
  • Customer is satisfied, no further questions resolution

Claim Next Steps

kb.claims-process-guide — retrieve adjuster contact timeline, documentation requirements, and repair/replacement process for policy.coverageType

Say"Happy to walk you through what happens next. Once our adjuster reaches out, they'll schedule an inspection or request documentation depending on your coverage type. You can also track your claim status online using your claim number claim.id."
Say"Do you have any other questions, or is there anything else I can help you with today?"
  • Customer satisfied resolution
  • Customer wants to add more details to the claim ClaimsManagement.UpdateClaim claim-confirmation
  • Customer requests escalation escalation-human

Flagged for Adjuster Review

Say"Thank you for those details. Based on what you've described, I want to make sure your claim receives the right level of review. I'm going to open a claim record and flag it for a specialist who can assess the coverage details carefully."

ClaimsManagement.CreateClaim with policy.number, customer.name, loss.date, loss.location, loss.description, loss.damages, loss.type, flag: coverage_review_required

ClaimsManagement.GetClaimID -> claim.id

CRM.UpdateContact with customer.preferredContact and claim reference

Say"Your claim number is claim.id. A claims specialist will review your policy terms and contact you within claim.adjusterContactWindow business days. We won't make any coverage determination until that review is complete."

CRM.SendConfirmation to customer.email or customer.phone with claim.id and review-pending notice

resolution

Lapsed Policy

Say"I can see your policy — however, it appears that the coverage was not active on the date of the loss. Unfortunately, we're unable to open a claim for a period when the policy was lapsed or expired."

kb.reinstatement-options — retrieve available reinstatement paths for policy.coverageType

Say"I understand this is difficult news. I can share some options around reinstating your policy for future coverage. Would you like me to walk you through those options, or would you prefer to speak with a specialist?"
  • Customer wants reinstatement information CRM.LogInteraction tag: reinstatement-interest escalation-human
  • Customer acknowledges and ends interaction resolution

System Unavailable

Say"I apologize — our claims system is experiencing a temporary issue and I'm unable to create your claim record electronically right now. I want to make sure your report is captured so nothing is lost."

CRM.LogManualClaimDetails with customer.name, customer.phone, customer.email, loss.date, loss.location, loss.description, loss.damages, loss.type, policy.number, flag: manual_follow_up_required

Say"I've logged all of your details securely. You will receive a confirmation and a claim number via your preferred contact method within one business day once our systems are restored. I'm sorry for the inconvenience."
  • Customer accepts and ends interaction resolution
  • Customer is dissatisfied and requests immediate escalation escalation-human

Escalation — Complex or High-Severity Loss

CRM.LogInteraction with full loss details, flag: high_severity

ClaimsManagement.CreatePriorityAlert with loss.description, loss.injuries, policy.number

Say"Based on what you've described, I want to make sure you're connected immediately with a senior claims specialist who handles complex situations like this. I'm escalating your case right now — please stay on the line."

Escalation to Human Agent

CRM.LogInteraction with full context, flag: human_review_required

Say"I'm going to connect you with one of our team members who can assist you further. Please hold for just a moment — thank you for your patience."

Resolution

Say"Thank you for reaching out, and I'm sorry again about your loss. We'll be in touch soon, and please don't hesitate to contact us if you need anything in the meantime. Take care."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ sms

Card Lost / Stolen Replacement

Financial ServicesCard ServicesLoss Prevention

Intake

Say"Thank you for reaching out. I understand you'd like to report a lost or stolen card — I'll help you get this resolved right away. First, I need to verify your identity to protect your account."
  • Customer confirms card is lost confirmed identity-verification
  • Customer mentions unauthorized charges or suspected fraud fraud_concern identity-verification-fraud
  • Customer is unresponsive or unclear identity-verification

Identity Verification

Say"I'll need to verify a few details. Can you please provide your full name, date of birth, and either the last four digits of your Social Security Number or your card PIN?"

KYCVerification.VerifyIdentity with customer.name, customer.dob, customer.ssn_last4, customer.pin

Detect
identity verification outcome
  • Verification passes on first or second attempt verified card-block
  • Verification fails after multiple attempts failed verification-failure

Identity Verification — Fraud Path

Say"I'm sorry to hear that. Before we proceed, I need to verify your identity to protect your account. Can you please provide your full name, date of birth, and either the last four digits of your Social Security Number or your card PIN?"

KYCVerification.VerifyIdentity with customer.name, customer.dob, customer.ssn_last4, customer.pin

Detect
identity verification outcome
  • Verification passes verified card-block-fraud
  • Verification fails after multiple attempts failed verification-failure

Card Block

Say"Thank you — I've verified your identity. I'm blocking your card ending in card.last4 right now to prevent any unauthorized use."

CardManagement.BlockCard for card.id

CoreBanking.UpdateAccountStatus on account.id flagged: card-blocked

Salesforce.CreateCase type: card-lost-stolen, linked to account.id

Say"Your card has been blocked. Can you tell me approximately when and where you last used or had your card? This helps us note the details on your case."
  • Customer provides last seen details address-confirmation
  • Customer cannot recall details address-confirmation

Card Block — Fraud Path

Say"Thank you. I'm blocking your card ending in card.last4 immediately."

CardManagement.BlockCard for card.id

FraudDetection.FlagAccount on account.id tagged: unauthorized-transactions

CoreBanking.UpdateAccountStatus on account.id flagged: card-blocked-fraud

Salesforce.CreateCase type: fraud-card-lost-stolen, priority: high, linked to account.id

Say"Your card has been blocked. Because you've mentioned unauthorized transactions, I'll also need to connect you with our fraud team to open a dispute. Before I do, let me confirm your replacement card details."
  • Proceed to address confirmation for replacement address-confirmation-fraud

Address Confirmation

Say"To send your replacement card, I have your address on file as customer.address. Would you like us to ship to this address, or would you prefer a different one?"
Detect
customer address preference
  • Customer confirms existing address confirmed replacement-issuance
  • Customer requests a new or different address new_address address-review

Address Confirmation — Fraud Path

Say"I have your address on file as customer.address. Should we send the replacement card here, or would you prefer a different address?"
Detect
customer address preference
  • Customer confirms existing address confirmed replacement-issuance-fraud
  • Customer requests a new or different address new_address address-review

Address Review

Say"I've noted the new address you'd like us to use. Because this address is different from what we have on file, our team will need to verify it before we can ship your replacement — this usually takes one business day."

Salesforce.UpdateCase add: unrecognized-replacement-address, replacement.address, flagged-for-review

ShippingFulfillment.HoldOrder pending address verification on account.id

Approval
Slack.RequestApproval to #card-services-review, approver: card_ops_supervisor
Context sent:account.id, customer.name, replacement.address, case reference
  • Address approved approved replacement-issuance
  • Address flagged or rejected rejected escalation-human

Replacement Issuance

Say"Great — I'll get your replacement card ordered now. Would you like standard delivery, or do you need your card sooner? I can check if expedited or same-day delivery is available for you."

ShippingFulfillment.CheckExpedited for account.id

Detect
customer delivery preference
  • Customer requests expedited and delivery.expedited_eligible is true expedited replacement-expedited
  • Customer accepts standard delivery standard replacement-standard
  • Expedited requested but not eligible expedited replacement-standard

Replacement Issuance — Fraud Path

Say"I'll get your replacement card ordered now. Standard delivery typically takes five to seven business days. Would you also like to check expedited options?"

ShippingFulfillment.CheckExpedited for account.id

Detect
customer delivery preference
  • Customer requests expedited and delivery.expedited_eligible is true expedited replacement-expedited-fraud
  • Customer accepts standard delivery standard replacement-standard-fraud

Replacement — Standard

CardManagement.IssueReplacementCard for account.id, ship to customer.address, method: standard

ShippingFulfillment.CreateShipment linked to account.id, capture replacement.tracking_number

Salesforce.UpdateCase add: replacement-issued-standard, replacement.tracking_number

Say"Your replacement card has been ordered and will arrive in five to seven business days. You'll receive a tracking number at customer.email once it ships. In the meantime, would you like me to activate a temporary digital card for mobile or online use?"
  • Customer wants digital card digital-card-offer
  • Customer declines digital card resolution

Replacement — Expedited

CardManagement.IssueReplacementCard for account.id, ship to customer.address, method: expedited

ShippingFulfillment.CreateShipment linked to account.id, method: expedited, capture replacement.tracking_number

Salesforce.UpdateCase add: replacement-issued-expedited, replacement.tracking_number

Say"I've arranged expedited delivery — your replacement card should arrive within one to two business days. Tracking details will be sent to customer.email. Can I also set up a temporary digital card for you in the meantime?"
  • Customer wants digital card digital-card-offer
  • Customer declines resolution

Replacement — Standard (Fraud Path)

CardManagement.IssueReplacementCard for account.id, ship to customer.address, method: standard

ShippingFulfillment.CreateShipment linked to account.id, capture replacement.tracking_number

Salesforce.UpdateCase add: replacement-issued-standard, replacement.tracking_number

Say"Your replacement card is on its way — expected in five to seven business days. A tracking number will be sent to customer.email. I'm now going to transfer you to our fraud team so they can review the unauthorized charges and open a dispute on your behalf."

escalation-fraud

Replacement — Expedited (Fraud Path)

CardManagement.IssueReplacementCard for account.id, ship to customer.address, method: expedited

ShippingFulfillment.CreateShipment linked to account.id, method: expedited, capture replacement.tracking_number

Salesforce.UpdateCase add: replacement-issued-expedited, replacement.tracking_number

Say"Expedited delivery is confirmed — your card should arrive in one to two business days. Tracking details will go to customer.email. Let me now connect you with our fraud team to handle the unauthorized transactions."

escalation-fraud

Digital Card Offer

Agent
determine whether the customer's account and device are eligible for a temporary digital card provisioned via the card management system.
Goal:activate a digital card for the customer if eligible, so they have immediate card access while awaiting physical delivery.
Constraints:only provision digital card if account is in good standing beyond the lost card event; never provision if fraud flag is active on the account; do not override card management eligibility checks.
Tools available:CardManagement.CheckDigitalEligibility, CardManagement.ProvisionDigitalCard, CoreBanking.GetAccountStatus
  • Digital card provisioned successfully provisioned resolution
  • Customer not eligible or provisioning fails ineligible resolution

Verification Failure

Say"I'm sorry — I wasn't able to verify your identity with the information provided, and for your security I'm unable to make changes to the account without successful verification. To protect your account, I'd recommend visiting a branch with a government-issued photo ID, where our team can assist you in person."

Salesforce.CreateCase type: identity-verification-failure, priority: high, linked to account.id

Salesforce.LogNote add: customer-directed-to-branch, verification-failed

Say"Is there anything else I can help you with today, or would you like us to note your nearest branch location?"
  • Customer wants branch info escalation-human
  • Customer ends interaction resolution-no-action

Escalation — Fraud Team

FraudDetection.OpenDisputeCase linked to account.id, flagged: unauthorized-transactions, transaction.unauthorized_flag

Salesforce.UpdateCase priority: high, tagged: fraud-escalation, dispute-opened

Slack.Notify to #fraud-ops with case summary, account.id, card.last4

Say"I'm transferring you now to a fraud specialist who will review the disputed transactions and guide you through the dispute process. Your case reference has been shared with them. Thank you for your patience."

Escalation — Human Agent

Salesforce.UpdateCase priority: high, tagged: manual-review-required

Slack.Notify to #card-services-review with case summary, account.id, customer.name

Say"I'm connecting you with a senior member of our team who can assist you further. I've shared your case details with them so you won't need to repeat yourself. Thank you for your patience."

Resolution

Say"To recap: your card ending in card.last4 has been blocked, a replacement is on its way, and your tracking details will be sent to customer.email. Your account is secure. Is there anything else I can help you with today?"

Salesforce.CloseCase resolution: card-replaced, linked to account.id

Resolution — No Action Taken

Say"Understood. Your card has been blocked as a precaution to protect your account. When you're ready to request a replacement or visit a branch, don't hesitate to reach out. Take care."

Salesforce.CloseCase resolution: blocked-no-replacement-issued, linked to account.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ sms

Branch / ATM Locator & Appointment Booking

Financial ServicesBranchATMAppointmentsLocator

Greeting & Intent Capture

Say"Hello! I'm here to help you find a branch or ATM, or schedule an in-person appointment. Are you looking to find a location near you, or would you like to book an appointment at a branch?"
  • Customer wants to find a branch or ATM find-location location-capture
  • Customer wants to book an appointment book-appointment account-verification
  • Customer mentions a complaint or requests a manager complaint escalation-human
  • Intent is unclear or mixed unclear clarify-intent

Clarify Intent

Say"No problem — I can help with either! Just to make sure I point you in the right direction: are you primarily trying to find a nearby branch or ATM, or are you looking to schedule a visit with someone at a branch?"
  • Customer clarifies location lookup find-location location-capture
  • Customer clarifies appointment booking book-appointment account-verification
  • Customer remains unclear or frustrated frustrated escalation-human

Location Capture

Say"Great! To find the nearest branches and ATMs, could you share your current ZIP code or city?"

MapsGeolocation.DetectLocation from session context if available

  • Location detected automatically from session location-detected location-results
  • Customer provides ZIP code or city manually location-provided location-results
  • Customer cannot or will not provide location no-location location-fallback

Location Fallback

Say"No problem. You can also find branches and ATMs using our branch locator at bankname.com/locations, or call us at any time and we can search by city or state. Is there anything else I can help you with?"
  • Customer provides a ZIP or city after all location-provided location-results
  • Customer is satisfied and done done resolution
  • Customer wants to book an appointment instead book-appointment account-verification

Location Results

BranchATMLocator.Search using customer.zip or customer.city, return top 3 branches and nearest ATMs

Say"Here are the closest options I found for you:"

BranchATMLocator.SurfaceResults including branch.name, branch.address, branch.hours, branch.distance, branch.status, and atm.address, atm.distance

  • One or more branches show as temporarily closed branch-closed closed-branch-handling
  • Customer selects a branch and wants to book an appointment book-appointment account-verification
  • Customer is satisfied with location info only info-only resolution
  • Customer asks about accessibility or language services accessibility accessibility-check

Closed Branch Handling

Say"I see that one or more of those branches is currently closed or has limited hours. Let me pull up the most current hours and the next nearest alternative for you."

BranchATMLocator.GetUpdatedHours for branch.name, surface branch.hours and branch.status

BranchATMLocator.Search for next nearest open branch, surface branch.address and branch.distance

Say"The updated hours for branch.name are branch.hours. The nearest open alternative is branch.address, approximately branch.distance away. Would you like to book an appointment at the open branch, or is this information enough for now?"
  • Customer wants to book at the open alternative book-appointment account-verification
  • Customer satisfied with updated info info-only resolution
  • Customer frustrated or escalates frustrated escalation-human

Accessibility Check

Say"Of course. Could you let me know what you need — for example, wheelchair-accessible facilities, language interpretation services, or anything else? I want to make sure the branch I recommend can fully support you."

BranchATMLocator.FilterByAccessibility using customer.accessibilityNeeds and customer.languagePreference

  • Accessible branch found and customer wants to book book-appointment account-verification
  • Accessible branch found and customer wants info only info-only resolution
  • No fully accessible branch available nearby no-accessible-branch escalation-human

Account Verification

Say"To book an appointment, I just need to confirm a couple of details. Are you an existing account holder with us?"

CRM.LookupCustomer using customer.phone or customer.email

  • Existing customer confirmed account-verified appointment-type-capture
  • Customer is not an existing account holder no-account non-account-holder-handling
  • Unable to verify account status verification-failed manual-account-check

Manual Account Check

Say"I wasn't able to automatically pull up your account. Could you provide the phone number or email address associated with your account so I can look you up?"

CRM.LookupCustomer using customer.phone or customer.email

  • Account found account-verified appointment-type-capture
  • Still unable to verify verification-failed non-account-holder-handling

Non-Account Holder Handling

Say"No problem — you're welcome to visit any branch or use our ATMs without an account. I should let you know that certain appointment types, such as account openings or loan consultations, do require an existing account or a new-customer intake process. Would you like help finding a branch, or are you interested in learning about opening an account?"
  • Customer wants branch or ATM info only find-location location-capture
  • Customer interested in opening an account new-account escalation-specialist
  • Customer wants to book a general appointment anyway book-appointment appointment-type-capture

Appointment Type Capture

Say"What type of appointment are you looking to schedule? For example: general banking, account services, safe deposit box access, notary services, or a financial review. You can also just describe what you need."
  • Customer requests a standard appointment type standard-appointment datetime-capture
  • Customer requests a specialized appointment such as mortgage, business banking, or wealth management specialist-appointment escalation-specialist
  • Customer describes a complaint or sensitive issue complaint escalation-human

Date & Time Capture

Say"Great. What date and time works best for you? I'll check availability at your preferred branch."

AppointmentScheduler.CheckAvailability for appointment.type at branch.name on appointment.preferredDate at appointment.preferredTime

  • Slot is available slot-available appointment-confirmation
  • Requested slot is unavailable slot-unavailable offer-alternative-slot
  • Branch has no availability on preferred date no-availability offer-alternative-branch

Offer Alternative Slot

Say"It looks like appointment.preferredTime on appointment.preferredDate isn't available at branch.name. The next available slot is branch.nextAvailableSlot. Would that work for you, or would you prefer a different date?"

AppointmentScheduler.GetNextAvailable for appointment.type at branch.name

  • Customer accepts the next available slot accepts-slot appointment-confirmation
  • Customer wants a different date or time different-datetime datetime-capture
  • Customer wants to try a different branch different-branch offer-alternative-branch

Offer Alternative Branch

Say"I understand — let me check a nearby branch that may have better availability for you."

BranchATMLocator.Search for next nearest branch with availability for appointment.type on appointment.preferredDate

AppointmentScheduler.CheckAvailability at alternative branch

Say"The next closest branch with availability is branch.name at branch.address, with an opening on branch.nextAvailableSlot. Would you like to book there?"
  • Customer accepts alternative branch and slot accepts-slot appointment-confirmation
  • Customer wants to try yet another date or branch different-datetime datetime-capture
  • Customer frustrated or wants to escalate frustrated escalation-human

Appointment Confirmation

AppointmentScheduler.BookAppointment for customer.email, appointment.type, appointment.preferredDate, appointment.preferredTime at branch.name

Say"You're all set! Your appointment.type appointment is confirmed at branch.name, branch.address on appointment.preferredDate at appointment.preferredTime. Your confirmation number is appointment.confirmationNumber."

Twilio.SendSMS to customer.phone with confirmation details: appointment.confirmationNumber, branch.name, branch.address, appointment.preferredDate, appointment.preferredTime

Twilio.SendEmail to customer.email with the same confirmation details and a calendar invite attachment

Say"I've sent a confirmation to your phone and email. Is there anything else I can help you with — for example, accessibility needs at the branch, or directions?"
  • Customer has accessibility or special requirements accessibility accessibility-check
  • Customer is done done resolution
  • Customer wants to modify or cancel the appointment modify-appointment appointment-modification

Appointment Modification

Say"Of course. I can help you reschedule or cancel your appointment with confirmation number appointment.confirmationNumber. Would you like to reschedule to a new date and time, or cancel the appointment altogether?"

AppointmentScheduler.LookupAppointment using appointment.confirmationNumber

  • Customer wants to reschedule reschedule datetime-capture
  • Customer wants to cancel cancel AppointmentScheduler.CancelAppointment for appointment.confirmationNumber cancellation-confirmation
  • Customer is unsure or has another question other greeting-intent-capture

Cancellation Confirmation

Twilio.SendSMS to customer.phone confirming cancellation of appointment.confirmationNumber

Twilio.SendEmail to customer.email confirming cancellation

Say"Your appointment has been cancelled and you'll receive a confirmation shortly. If you'd like to rebook in the future, I'm happy to help. Is there anything else I can assist you with?"
  • Customer wants to rebook book-appointment appointment-type-capture
  • Customer is done done resolution

Escalation to Specialist

CRM.CreateCase tagged specialist-appointment, linked to customer.email and appointment.type

AppointmentScheduler.RouteToAdvisor for appointment.type, surface available advisor and earliest slot

Say"For a appointment.type appointment, I'll connect you with a dedicated advisor who can make sure you get the right level of service. Let me get that arranged for you."

Twilio.SendEmail to customer.email with advisor contact information and next steps

Say"A specialist will be in touch shortly to confirm your appointment details. Is there anything else I can help you with in the meantime?"
  • Customer has additional questions other greeting-intent-capture
  • Customer is satisfied done resolution

Escalation to Human Agent

CRM.CreateCase priority: high, tagged branch-escalation, linked to customer.phone and customer.email

Say"I want to make sure you get the right help. Let me connect you with one of our team members who can assist you directly."

Resolution

Say"You're all set! Don't hesitate to reach out if you need to find a location, book an appointment, or have any other questions. Have a great day!"
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ sms

Billing Inquiry / Dispute

TelecomBillingDisputeSupport

Greeting and Identity Verification

Say"Thank you for contacting us today. I'm here to help with your billing question. Can I start with your account number or the phone number on the account?"

IdentityVerification.LookupAccount using customer.accountNumber or customer.phoneNumber

Say"To protect your account, I'll need to verify your identity. Could you please provide your account PIN, date of birth, or the last four digits of your Social Security Number?"

IdentityVerification.Verify using customer.pin, customer.dob, or customer.ssn4

  • Identity verified successfully verified inquiry-intake
  • Identity verification fails after two attempts unverified identity-failure
  • Customer is unable to provide any credentials identity-failure

Identity Failure

Say"I'm sorry, I'm not able to pull up the account details without completing verification — this is to keep your account secure."
Say"You're welcome to visit any of our retail locations with a valid photo ID, or you can reset your PIN online using the email address on file. Would either of those work for you?"

CaseManagement.LogContact note: identity verification failed, customer redirected

  • Customer agrees to visit store or reset online resolution-no-account-access
  • Customer wants to escalate or is upset frustrated escalation-human

Resolution — No Account Access

Say"I've noted this contact on your account so that when you do verify, our team will have the full context. Is there anything else I can help you with that doesn't require account access?"

Inquiry Intake

CRM.PullAccount for customer.accountNumber, load customer.name, billing.previousCredits, billing.accountBalance

Say"Thanks for verifying, customer.name. I've got your account pulled up. Can you tell me which charge you're seeing a question about — do you have the amount or the description from your bill?"

BillingSystem.FetchBillDetail for billing.cycleAffected

  • Customer identifies a specific charge or line item charge-review
  • Customer is generally confused about the total bill amount full-bill-walkthrough
  • Customer mentions they never received a notification about a plan or rate change plan-change-review
  • Customer sounds upset or frustrated before details are gathered frustrated emotional-acknowledgment

Emotional Acknowledgment

Say"I completely understand — seeing an unexpected charge on your bill is frustrating, and I want to make sure we get to the bottom of this together. Let's take this one step at a time."
Detect
sentiment on customer response
  • Customer settles and is ready to continue neutral inquiry-intake
  • Customer remains highly agitated or begins demanding a supervisor escalating escalation-human

Full Bill Walkthrough

BillingSystem.FetchBillDetail for billing.cycleAffected

Say"Let me walk you through the main sections of your bill for this cycle. Your base plan charge is listed first, followed by any add-ons, taxes, and fees. I'll highlight anything that looks different from last month."

kb.telecom-billing-line-item-guide — review standard line items, taxes, and surcharge descriptions

  • Customer identifies a specific charge after walkthrough charge-review
  • Customer accepts the explanation confirmed resolution-explained
  • Customer remains confused or disputes a line charge-review

Plan Change Review

BillingSystem.FetchPlanChangeHistory for customer.accountNumber

Say"I can see any plan or rate changes that were applied to your account. Let me pull that history up now."

kb.telecom-plan-change-notification-policy — verify whether advance notice was required and sent

  • Notification was sent and change was valid charge-review
  • No notification found and change was applied without notice notification-missing error-confirmed
  • Customer disputes they authorized the change charge-review

Charge Review

BillingSystem.FetchChargeDetail for billing.chargeDate, billing.chargeDescription, billing.chargeAmount

Say"I'm looking at that charge now — billing.chargeDescription for billing.chargeAmount on your billing.cycleAffected bill. Give me just a moment to review the detail."

kb.telecom-billing-policy — check overage rules, promo expiration terms, and adjustment eligibility

Agent
analyze the charge detail against account plan, usage records, and billing policy.
Goal:determine whether the charge is valid, the result of a billing error, a promo expiration, an overage, or an unauthorized change.
Constraints:do not promise a credit before confirming eligibility; never access or modify financial records without completed identity verification; flag any pattern suggesting account fraud before proceeding.
Tools available:BillingSystem.FetchChargeDetail, BillingSystem.FetchUsageRecords, BillingSystem.FetchPlanChangeHistory, kb.telecom-billing-policy
  • Charge is valid and explainable explanation-delivery
  • Billing error confirmed error-confirmed error-confirmed
  • Charge is outside the 90-day policy adjustment window outside-policy-window
  • Usage or account pattern suggests possible fraud fraud-suspected escalation-human
  • Billing system is unavailable or returns an error system-down billing-system-down

Explanation Delivery

Say"Here's what I'm seeing: billing.chargeDescription was applied because billing.chargeAmount reflects the details I've reviewed. Let me walk you through exactly why this appeared."

kb.telecom-billing-policy — reference relevant policy language for promo expiration, overages, or rate changes

Say"Does that explanation make sense, or do you have any follow-up questions about this charge?"
Detect
customer acceptance or continued dispute
  • Customer accepts the explanation confirmed resolution-explained
  • Customer disputes the explanation or asks for a supervisor unsatisfied escalation-human
  • Customer accepts but asks for a goodwill credit goodwill-credit-evaluation

Error Confirmed

Say"You're right — I can see this charge was applied in error, and I sincerely apologize for that. I'm going to take care of this for you right now."

BillingSystem.FetchAccountBalance to confirm current billing.accountBalance and billing.previousCredits

  • Error amount is within agent authorization threshold within-auth credit-issuance
  • Error amount exceeds agent.authLimit exceeds-auth escalation-human

Outside Policy Window

Say"I can see this charge is from more than billing.policyWindowDays days ago. Our standard adjustment policy covers charges within that window, so I'm not able to issue a full reversal for charges older than that."

kb.telecom-goodwill-credit-policy — check goodwill credit eligibility and authorized limit

Say"What I can do is apply a goodwill credit within the amount I'm authorized to offer. Would that be helpful while we resolve this?"
  • Customer accepts goodwill credit offer goodwill-credit-evaluation
  • Customer rejects and requests further escalation escalation-human

Goodwill Credit Evaluation

Agent
determine the appropriate goodwill credit amount given account history, charge context, and policy limits.
Goal:offer the highest reasonable goodwill credit within authorized limits to retain the customer and resolve the inquiry.
Constraints:never exceed the goodwill credit cap defined in kb.telecom-goodwill-credit-policy; do not apply a second goodwill credit if one was issued within the last 90 days per billing.previousCredits.
Tools available:CRM.FetchAccountHistory, BillingSystem.FetchPreviousCredits, kb.telecom-goodwill-credit-policy
  • Goodwill credit is appropriate and within limits approved credit-issuance
  • Credit was already issued recently or customer is ineligible ineligible escalation-human

Credit Issuance

CreditAdjustmentModule.IssueCredit for credit.amount, linked to customer.accountNumber and billing.cycleAffected

BillingSystem.FetchAccountBalance to confirm updated billing.accountBalance post-credit

CRM.LogInteraction note: credit of credit.amount issued, reason, billing cycle, and agent ID

Say"I've applied a credit of credit.amount to your account. Your updated balance is billing.accountBalance. You should see this reflected on your next statement, and you may also receive a confirmation by email at customer.email."
Say"Is there anything else I can help you with today?"
  • Customer is satisfied and has no further questions confirmed resolution-credit-issued
  • Customer has an additional question or concern inquiry-intake

Billing System Down

Say"I'm sorry — I'm running into a system issue on my end that's preventing me from pulling up your full billing detail right now. I don't want to give you incomplete information."

CaseManagement.CreateCase priority: normal, note: billing inquiry pending system restoration, link customer.accountNumber

CaseManagement.GenerateReferenceNumber assign to case.referenceNumber

Say"I've logged your inquiry and assigned it reference number case.referenceNumber. Our team will reach out within one business day once the system is restored — would you prefer a callback or an email to customer.email?"

CRM.LogContact note: billing system unavailable, case created, reference case.referenceNumber

  • Customer confirms callback or email preference resolution-callback-scheduled
  • Customer is upset about the delay frustrated emotional-acknowledgment

Escalation to Human Agent

CRM.LogInteraction note: escalation triggered, reason, dispute amount billing.chargeAmount, account customer.accountNumber

CaseManagement.CreateCase priority: high, linked to customer.accountNumber, billing.chargeDescription, billing.chargeAmount

Say"I want to make sure you get the best possible resolution on this. I'm going to connect you with a senior billing specialist who has the authority to review this further. I'll make sure they have the full context so you won't need to repeat yourself."

Resolution — Charge Explained

Say"I'm glad I could help clarify that. If you ever have questions about a future bill, don't hesitate to reach out. Is there anything else I can help you with today?"

CRM.LogInteraction note: billing inquiry resolved via explanation, no credit issued

Resolution — Credit Issued

Say"Your account has been updated and the credit is confirmed. Thank you for bringing this to our attention, customer.name — we appreciate your patience. Take care!"

CRM.LogInteraction note: billing dispute resolved, credit issued, customer confirmed satisfied

Resolution — Callback Scheduled

Say"You're all set. Reference number case.referenceNumber is yours to keep, and we'll be in touch within one business day. Thank you for your patience, and I'm sorry for the inconvenience."

CRM.LogInteraction note: callback or email follow-up scheduled, system outage, reference case.referenceNumber

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ sms

Balance / Transaction Inquiry

Financial ServicesSupportBalanceTransactions

Intake

Say"Thank you for reaching out to Financial Services support. I can help you with your account balance or a transaction question. Could you please share your full name and either your account number or the last four digits of your card?"
Detect
customer intent from opening message
  • Customer asks about current balance balance-inquiry identity-verification
  • Customer asks about a specific transaction or unrecognized charge transaction-inquiry identity-verification
  • Customer immediately alleges fraud or unauthorized access fraud-allegation escalation-fraud
  • Intent unclear — ask a clarifying question, then identity-verification

Identity Verification

Say"To protect your account, I need to verify your identity. I'll send a one-time passcode to your phone number on file. Please share the code when you receive it."

OTPAuth.SendOTP to customer.phone

  • Customer provides correct OTP verified IdentityVerification.Confirm account-lookup
  • Customer cannot receive OTP, offer security question fallback otp-failed security-question-fallback
  • Customer has already failed one attempt — verification.attemptCount equals 1 second-attempt-warning

Second Attempt Warning

Say"That code didn't match. You have one attempt remaining before I'll need to pause access for your security. Please double-check the code and try again."
  • Customer provides correct OTP on second try verified IdentityVerification.Confirm account-lookup
  • Customer fails again unverified escalation-identity-failure

Security Question Fallback

Say"No problem — let me try another way. I'll ask you a security question linked to your account. Please answer as accurately as you can."

IdentityVerification.FetchSecurityQuestion for customer.accountNumber

Say"Here is your security question: please go ahead and answer when ready."
  • Customer answers correctly verified IdentityVerification.Confirm account-lookup
  • Customer answers incorrectly unverified escalation-identity-failure

Account Lookup

CoreBanking.GetAccountSummary for customer.accountNumber including account.status, account.balance, account.availableBalance, and customer.accountType

  • Account returned successfully and status is active account-found inquiry-routing
  • Account has a hold, freeze, or legal flag on it account-flagged escalation-account-flag
  • System returns an error or times out lookup-error system-error

Inquiry Routing

Detect
what the customer needs based on original request and account data
  • Customer needs current balance confirmed balance-inquiry balance-delivery
  • Customer needs a specific transaction explained transaction-inquiry transaction-lookup
  • Customer now mentions an unexpected fee fee-concern fee-review

Balance Delivery

CoreBanking.GetAccountSummary to retrieve account.balance and account.availableBalance for customer.accountType

Say"Here is your current account summary for your customer.accountType account. Your current balance is account.balance and your available balance is account.availableBalance. Is there anything specific about those figures you would like me to explain?"
  • Customer is satisfied and has no further questions satisfied resolution
  • Customer wants to see recent transactions as well wants-transactions transaction-lookup
  • Customer disputes a charge or says a transaction looks wrong transaction-dispute transaction-lookup
  • Customer raises concern about an unexpected fee fee-concern fee-review

Transaction Lookup

Say"I'll pull up the transactions for you now. Could you let me know the approximate date range or the amount you are looking into? That will help me find the right record quickly."

CoreBanking.GetTransactionHistory for customer.accountNumber over inquiry.dateRange

  • Transactions returned successfully transactions-found transaction-detail
  • No transactions found in the requested range no-results no-transaction-found
  • System returns an error lookup-error system-error

Transaction Detail

Say"I found the transaction. Here are the details: the charge of transaction.amount was made on transaction.date at transaction.merchant, categorized as transaction.category. Does that help explain what you were looking at?"

CRM.LogInteraction tagged balance-transaction-inquiry, linked to customer.accountNumber and transaction.id

  • Customer recognizes the transaction and is satisfied satisfied resolution
  • Customer does not recognize the transaction and believes it is fraudulent fraud-allegation escalation-fraud
  • Customer recognizes the merchant but wants to dispute the amount amount-dispute escalation-fraud
  • Customer has a question about a fee within the transaction fee-concern fee-review

No Transaction Found

Say"I wasn't able to find a transaction matching that description in the date range you gave me. It's possible it may appear under a different date or may still be pending. Would you like me to widen the search, or can you share any additional details?"
  • Customer provides more details — retry lookup transaction-lookup
  • Customer still cannot locate the transaction and suspects fraud fraud-allegation escalation-fraud
  • Customer is satisfied and wants to close satisfied resolution

Fee Review

Say"I can see you have a concern about a fee on your account. Let me take a look at the details and check whether any options are available to you."

CoreBanking.GetFeeDetail for fee.type and fee.amount on customer.accountNumber

kb.fee-waiver-policy — check one-time waiver eligibility criteria for customer.accountType and account standing

Agent
evaluate waiver eligibility for fee.type of fee.amount on customer.accountNumber using account history and kb.fee-waiver-policy.
Goal:determine whether the customer qualifies for a one-time courtesy fee waiver and, if so, apply it; if not, explain why clearly and empathetically.
Constraints:never apply more than one waiver per calendar year per account; never waive fees on accounts with an active hold or delinquency flag; do not promise a waiver before eligibility is confirmed.
Tools available:CoreBanking.GetFeeDetail, CoreBanking.ApplyFeeWaiver, CoreBanking.GetAccountStanding, kb.fee-waiver-policy
  • Customer is eligible and agent applies waiver waiver-applied CoreBanking.ApplyFeeWaiver fee-waiver-confirmation
  • Customer is not eligible for a waiver waiver-ineligible fee-waiver-declined
  • Customer is upset and escalation is warranted needs-escalation escalation-human

Fee Waiver Confirmation

Say"Good news — you qualify for a one-time courtesy waiver on that fee. I have applied it to your account and it should be reflected within one business day. Is there anything else I can help you with today?"

CRM.LogInteraction tagged fee-waiver-applied, linked to customer.accountNumber and fee.type

  • Customer is satisfied satisfied resolution
  • Customer has an additional question inquiry-routing

Fee Waiver Declined

Say"I reviewed your account and unfortunately I am not able to apply a waiver at this time. I want to be transparent — your account has already received a waiver this year, so another one isn't available under our current policy. I'm sorry I can't do more here. Would you like me to connect you with a specialist who may have additional options?"
  • Customer accepts the outcome satisfied resolution
  • Customer wants to speak to a specialist or is upset escalation-requested escalation-human

System Error

Say"I apologize — I'm having trouble retrieving your account information right now. This is a system issue on our end, not with your account. I'll log this so our team can look into it, and I can arrange for a callback at your convenience."

CRM.LogIncident tagged system-error, linked to customer.accountNumber and customer.phone

CRM.ScheduleCallback for customer.phone at next available slot

  • Customer agrees to callback and conversation ends satisfied resolution
  • Customer wants to try again immediately account-lookup
  • Customer is very frustrated and demands to speak with someone now escalation-requested escalation-human

Escalation — Fraud or Dispute

Say"I take this very seriously. Let me flag this right away and connect you with our fraud team who can open a formal investigation and protect your account immediately."

FraudDetection.FlagAccount for customer.accountNumber tagged suspected-fraud, linked to transaction.id

CRM.CreateCase priority: high, tagged fraud-dispute, linked to customer.accountNumber and transaction.id

fraud-alert-follow-up

Escalation — Identity Verification Failed

Say"For your protection, I'm not able to continue with the inquiry after multiple unsuccessful verification attempts. I'd encourage you to visit your nearest branch with a government-issued ID, or use our secure identity reset flow through the mobile app."

CRM.LogIncident tagged verification-failure, linked to customer.phone

CRM.CreateCase priority: high, tagged identity-lockout

Escalation — Account Flag

Say"I can see there is a restriction on your account that prevents me from sharing details through this channel. I'll need to connect you with a specialist who can review what's happening and assist you directly."

CRM.CreateCase priority: high, tagged account-flag-review, linked to customer.accountNumber

CRM.LogInteraction tagged account-flag-escalation

escalation-human

Escalation — Human Specialist

Say"I'm going to transfer you to one of our account specialists right now. They'll have the full context of our conversation so you won't need to repeat anything."

CRM.CreateCase priority: high, tagged specialist-handoff, linked to customer.accountNumber

CRM.LogInteraction tagged escalation-human, with case summary

Resolution

Say"I'm glad I could help. To summarize what we covered today: your account information has been confirmed and any actions taken are noted on your account. If you ever have another question, don't hesitate to reach out. Have a great day!"

CRM.LogInteraction tagged inquiry-resolved, linked to customer.accountNumber

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ chat▣ voice▣ sms

Amenity / Service Request

TravelHospitalityIn-StayGuest Serviceszinglekipsu

Greet and Identify

Say"Welcome! I'm happy to help with anything you need during your stay. Could I start with your name and room number?"
Detect
sentiment and intent on guest opening message
  • Guest provides name and room number confirmed verify-reservation
  • Guest expresses urgency or frustration upfront frustrated priority-flag
  • Guest message is unclear or incomplete unclear greet-and-identify

Verify Reservation

PMS.LookupReservation by guest.roomNumber and guest.name to confirm reservation.status

  • Active reservation found, room matches confirmed capture-request
  • Room number not found or name mismatch unverified secondary-verification
  • Reservation is checked out or future-dated inactive reservation-mismatch

Secondary Verification

Say"I want to make sure I have the right room. Could you share your reservation confirmation number or the email address used at check-in?"

PMS.LookupReservation by guest.reservationId as fallback

  • Identity confirmed on second attempt confirmed capture-request
  • Identity still cannot be confirmed unverified escalation-human

Reservation Mismatch

Say"I'm showing your reservation as either not yet checked in or already checked out. If you believe this is an error, I'd love to connect you with a team member who can look into it directly."
  • Guest believes it is an error escalation-human
  • Guest acknowledges wrong room or wrong stay greet-and-identify

Capture Request

Say"Great, thanks guest.name! You're all set in room guest.roomNumber. What can we bring or arrange for you today?"

kb.amenity-catalog — check available items, standard fees, and any quantity limits per room type

  • Guest states item or service clearly confirmed check-availability
  • Guest is unsure what is available unclear suggest-options
  • Guest raises a safety or accessibility concern safety escalation-human

Suggest Options

Say"Of course — here is a quick overview of what we can arrange: extra linens and towels, rollaway beds, cribs, toiletry top-ups, late checkout requests, luggage storage, and more. What sounds helpful for your stay?"
  • Guest selects an item or service confirmed check-availability
  • Guest still uncertain, requests human assistance unclear escalation-human

Check Availability

HousekeepingDispatch.CheckInventory for request.item against current stock and department capacity

  • Item is available and no fee applies available confirm-and-dispatch
  • Item is available with an associated fee fee_required disclose-fee
  • Item is unavailable or out of stock unavailable offer-alternative
  • Request is a late checkout or policy-bound service policy-check

Disclose Fee

Say"Just so you know, request.item carries a fee of item.fee which will be applied to your room account. Shall I go ahead and arrange it for you?"
  • Guest accepts the fee confirmed confirm-and-dispatch
  • Guest declines the fee declined offer-alternative
  • Guest disputes the fee frustrated escalation-human

Policy Check

kb.hotel-stay-policies — check late checkout availability, occupancy level, and any blackout conditions for reservation.checkoutDate

  • Late checkout is available within policy window available confirm-and-dispatch
  • Hotel is at full occupancy or request falls outside policy window unavailable policy-limitation

Policy Limitation

Say"I'm sorry — late checkout isn't available today due to high occupancy. What I can offer instead is complimentary luggage storage so you can enjoy the property until your departure. Would that work for you?"
  • Guest accepts the alternative confirmed confirm-and-dispatch
  • Guest requests a manager or fee waiver escalate escalation-human
  • Guest declines and has no further requests declined resolution-close

Offer Alternative

Agent
identify the closest available substitute for request.item using current inventory and kb.amenity-catalog.
Goal:propose one or two concrete alternatives that meet the guest's underlying need without over-promising on availability.
Constraints:only suggest items confirmed as in-stock by HousekeepingDispatch.CheckInventory; never promise a specific item that has not been verified available; do not offer complimentary upgrades without manager approval.
Tools available:HousekeepingDispatch.CheckInventory, kb.amenity-catalog
  • Suitable alternative identified and guest accepts confirmed confirm-and-dispatch
  • Guest declines all alternatives declined escalation-human

Confirm and Dispatch

HousekeepingDispatch.CreateTicket for request.item to room guest.roomNumber, urgency request.urgency, notes request.notes — returns dispatch.ticketId and dispatch.eta

CRM.LogInteraction for guest.reservationId tagged amenity-request, linked to dispatch.ticketId

Say"Perfect — I've sent that request through. You can expect request.item to arrive by dispatch.eta. Is there anything else I can help with during your stay?"
  • Guest confirms and has nothing further confirmed resolution-close
  • Guest has an additional request additional capture-request
  • Guest expresses dissatisfaction with the expected wait time frustrated priority-flag

Priority Flag

Say"I completely understand, and I apologize for the inconvenience. I'm marking this as a priority and re-dispatching now with a shortened delivery window."

HousekeepingDispatch.EscalateTicket for dispatch.ticketId, set priority: urgent — returns updated dispatch.eta

CRM.LogInteraction for guest.reservationId tagged priority-escalation

  • Re-dispatch confirmed and guest is satisfied confirmed resolution-close
  • Guest remains dissatisfied after re-dispatch frustrated escalation-human

Escalation to Human Agent

CRM.LogInteraction for guest.reservationId tagged escalation, with full request context and dispatch.ticketId

GuestMessaging.NotifyStaff to #guest-services-ops with guest.name, guest.roomNumber, request.item, and reason for escalation

Say"I want to make sure this is handled just right. I'm connecting you with a member of our team now who can assist you personally. Thank you for your patience, guest.name."

Resolution / Close

Say"You're all set, guest.name! Your request is confirmed and on its way. Don't hesitate to reach out if there is anything else we can do to make your stay more comfortable."

CRM.LogInteraction for guest.reservationId tagged resolved, linked to dispatch.ticketId

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat

SIM Swap / Number Porting

TelecomSIMPortingSecurity

Intake & Request Classification

Say"Thank you for contacting us. I can help you with a SIM swap or number transfer today. Could you tell me what you need — are you moving your number to a new SIM card, switching to a different carrier, or reporting a lost or stolen SIM?"
Detect
intent on customer reply
  • Customer requests SIM swap (upgrade or device change) sim-swap identity-verification
  • Customer requests port-out to another carrier port-out identity-verification
  • Customer reports lost or stolen SIM lost-stolen identity-verification
  • Customer reports a SIM change they did not request unauthorized suspected-hijacking

Identity Verification

Say"Before I can make any changes to your account, I need to verify your identity. Could you please provide your full name, date of birth, and your account PIN or security passphrase?"

IdentityVerification.CheckCustomer using customer.fullName, customer.dateOfBirth, customer.accountPIN against customer.phoneNumber

Detect
verification outcome
  • Verification passes verified account-eligibility-check
  • Verification fails on first attempt unverified verification-retry
  • Verification fails a second time or customer cannot provide credentials failed verification-lockout

Verification Retry

Say"I wasn't able to verify your identity with those details. Let's try once more — please double-check your date of birth and the PIN or passphrase on your account."

IdentityVerification.CheckCustomer using customer.fullName, customer.dateOfBirth, customer.accountPIN against customer.phoneNumber

Detect
verification outcome on retry
  • Verification passes verified account-eligibility-check
  • Verification fails again failed verification-lockout

Verification Lockout

Say"I'm sorry, I wasn't able to verify your identity after multiple attempts. For your security, I'm unable to proceed with this request over the phone or chat."

CRM.LogFailedVerification for customer.phoneNumber, flag request as locked

CRM.AddNote to account.id: "Identity verification failed — in-store ID required."

Say"Please visit any of our retail stores with a government-issued photo ID, and our team will be able to assist you there. Is there anything else I can help you with today?"

Account Eligibility Check

CRM.LookupAccount by customer.phoneNumber, retrieve account.id, account.fraudFlag, account.portFreeze

Detect
account status
  • Account has an active fraud flag fraud-flag fraud-hold-escalation
  • Account has an active port freeze port-freeze fraud-hold-escalation
  • Account is clear and eligible eligible request-routing

Request Routing

Detect
request type from request.type captured at intake
  • Request is a SIM swap sim-swap sim-swap-execution
  • Request is a port-out port-out port-out-execution
  • Request is for a lost or stolen SIM lost-stolen lost-stolen-sim

SIM Swap Execution

Say"Great — I've verified your identity and your account is in good standing. To complete the SIM swap, I'll need the ICCID number printed on your new SIM card. You can usually find it on the SIM card itself or its packaging."

SubscriberProvisioning.ValidateICCID for sim.newICCID

Detect
ICCID validation result
  • ICCID is valid and unassigned iccid-valid sim-swap-confirm
  • ICCID is invalid or already in use iccid-invalid sim-swap-iccid-error

SIM ICCID Error

Say"I wasn't able to validate that SIM card number. It may be invalid or already assigned to another account. Could you double-check the ICCID, or let me know if you have a different SIM card available?"
  • Customer provides a new ICCID to try sim-swap-execution
  • Customer cannot provide a valid ICCID escalation-human-agent

SIM Swap Confirm

Say"I'm about to move your number customer.phoneNumber to the new SIM card ending in the last four digits of your ICCID. This will deactivate your current SIM immediately. Can you confirm you'd like to proceed?"
Detect
customer confirmation
  • Customer confirms confirmed sim-swap-provisioning
  • Customer cancels or is unsure cancelled sim-swap-cancelled

SIM Swap Provisioning

SubscriberProvisioning.ExecuteSIMSwap for account.id, new ICCID sim.newICCID, deactivate old SIM

CRM.LogActivity on account.id: "SIM swap completed, new ICCID recorded."

CarrierMessagingGateway.SendSMS to customer.phoneNumber: "Your SIM swap is complete. If your service is not active within 15 minutes, please restart your device."

Say"Your SIM swap is done. Your number is now active on the new SIM card. Please restart your device if service doesn't appear within a few minutes."

resolution

SIM Swap Cancelled

Say"No problem — I've left your account unchanged. Please don't hesitate to reach out when you're ready to proceed. Is there anything else I can help you with?"

resolution

Port-Out Execution

Say"To transfer your number to a new carrier, I'll generate a port authorization code — sometimes called a PAC or transfer PIN — that your new carrier will need to initiate the transfer. Before I do, could you confirm the name of the carrier you're moving to?"

NumberPortabilityClearinghouse.LookupCarrier for port.receivingCarrier

Detect
carrier lookup result
  • Carrier found and eligible for port carrier-valid port-auth-code-generation
  • Carrier lookup fails or carrier not found carrier-not-found port-lookup-failure

Port Authorization Code Generation

NumberPortabilityClearinghouse.GeneratePAC for customer.phoneNumber, linked to account.id

CRM.LogActivity on account.id: "Port-out PAC generated for port.receivingCarrier."

Say"Your port authorization code is: port.authCode. Please provide this code to port.receivingCarrier when you activate your new service. The transfer typically completes within one business day, though it may take up to three days in some cases."
Say"Once the port completes, your current service on this account will end automatically. Is there anything else you'd like to know before you go?"

resolution

Port Lookup Failure

CRM.CreateTicket for account.id: "Port-out request — receiving carrier lookup failed. Carrier: port.receivingCarrier. Manual follow-up required."

CRM.LogActivity on account.id: "Carrier lookup failed during port-out request."

Say"I'm sorry — I wasn't able to reach the number portability system for your carrier right now. I've logged your request and a member of our team will follow up with your port authorization code within two business hours. Would you like us to reach you at customer.phoneNumber or a different number?"
Detect
callback preference
  • Customer provides callback number callback-provided port-callback-scheduled
  • Customer prefers email email-preferred port-callback-scheduled
  • Customer wants to wait and try again retry port-out-execution

Port Callback Scheduled

CRM.ScheduleCallback on case.id with customer contact preference

Say"You're all set — we'll be in touch shortly. I apologize for the inconvenience. Is there anything else I can help you with today?"

resolution

Lost or Stolen SIM

Say"I'm sorry to hear that. To protect your account right away, I'm going to suspend your current SIM immediately. Once that's done, I can issue a replacement SIM or walk you through your options."

SubscriberProvisioning.SuspendSIM for customer.phoneNumber, reason: lost-stolen

CRM.LogActivity on account.id: "SIM suspended — customer reported lost or stolen. Replacement process initiated."

FraudManagement.NotifyLostStolen for account.id

Say"Your current SIM has been suspended. Would you like me to arrange a replacement SIM now? You can have one shipped to your address on file or pick one up at a store."
Detect
customer preference for replacement
  • Customer wants replacement shipped ship-replacement replacement-sim-dispatch
  • Customer will pick up in store store-pickup store-pickup-guidance
  • Customer needs more time to decide undecided resolution

Replacement SIM Dispatch

SubscriberProvisioning.OrderReplacementSIM for account.id, ship to address on file

CRM.LogActivity on account.id: "Replacement SIM ordered — shipping to address on file."

CarrierMessagingGateway.SendSMS to customer.email: "Your replacement SIM has been ordered and will arrive in 3 to 5 business days. Activation instructions will be included."

Say"Your replacement SIM has been ordered and will arrive within 3 to 5 business days. Once you receive it, you can activate it through our app, website, or by calling us back. Is there anything else I can help you with?"

resolution

Store Pickup Guidance

Say"No problem — you can visit any of our retail locations to pick up a replacement SIM. Please bring your government-issued photo ID. Our team there can activate the new SIM for you on the spot. Would you like me to look up the nearest store to you?"

CRM.LogActivity on account.id: "Customer advised to pick up replacement SIM in store."

resolution

Suspected SIM Hijacking

Say"I understand — thank you for letting us know immediately. This is being treated as a priority security concern. I'm suspending your account right now to prevent any unauthorized use."

SubscriberProvisioning.SuspendAccount for customer.phoneNumber, reason: suspected-hijacking

FraudManagement.RaiseSIMHijackingAlert for account.id

CRM.CreateTicket for account.id: "Suspected SIM hijacking — customer did not authorize swap. Immediate fraud team review required."

Say"Your account has been suspended. Our fraud team has been alerted and will investigate this immediately. You'll receive a follow-up within one hour. Do not attempt to log into any accounts that use this phone number for two-factor authentication until you've heard from us."

escalation-fraud-team

Fraud Hold Escalation

Say"I can see there is a security hold on your account that needs to be reviewed before any changes can be made. I'm going to connect you with our fraud team right away — they're the only team authorized to make changes while this hold is active."

FraudManagement.EscalateAccount for account.id, reason: port-freeze-or-fraud-flag

CRM.LogActivity on account.id: "SIM/port request blocked — active fraud flag or port freeze. Escalated to fraud team."

escalation-fraud-team

Escalation — Fraud Team

FraudManagement.CreateCase for account.id, priority: high

CRM.NotifyFraudTeam with account.id, customer.phoneNumber, case summary

Say"I'm transferring you to our fraud and security specialists now. They have full visibility into your account and the authority to resolve this. Please stay on the line — I'll make sure they have all the context from our conversation."

Escalation — Human Agent

CRM.CreateTicket for account.id: "Customer requires human agent assistance — could not complete SIM swap or port automatically."

Say"I'm going to connect you with one of our senior support agents who can assist you further. Thank you for your patience — please stay on the line."

Resolution

Say"Is there anything else I can help you with today?"
Detect
customer response
  • Customer has another request new-request intake
  • Customer is done done close

Close

Say"Thank you for choosing us. Have a great day — goodbye!"

CRM.CloseInteraction for account.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ email▣ voice

Returns / Exchange Request

RetailReturnsExchangeSupport

Intake

Say"Hi there! I'm here to help with your return or exchange. To get started, could you please share your order ID or receipt number along with the email address on your account?"
  • Customer provides order ID and email order-verification
  • Customer says they don't have their order ID no_order_id order-lookup-fallback
  • Customer immediately states item is damaged or wrong damaged_wrong damaged-wrong-item

Order Lookup Fallback

Say"No problem — I can try to locate your order another way. Could you share your full name, email address, or the last four digits of the payment method used?"

CRM.LookupOrder by customer.name or customer.email or lookup.method

  • Order found order-verification
  • Order not found after lookup CRM.LogAttempt escalation-human

Order Verification

OrderManagement.GetOrder using order.id and customer.email

kb.return-exchange-policy — confirm return window, final sale rules, and eligible items for order.purchaseDate

  • Order verified and item is within return window reason-and-preference
  • Order verified but item is outside return window outside_window outside-return-window
  • Order verified and item is marked final sale final_sale final-sale-ineligible
  • Order cannot be verified after attempts escalation-human

Reason and Preference

Say"Great, I've pulled up your order. Could you let me know the reason for the return and whether you'd prefer a refund to your original payment method or an exchange for a different size, color, or item?"
  • Customer states reason and wants a refund wants_refund refund-path
  • Customer states reason and wants an exchange wants_exchange exchange-path
  • Customer is unsure — offer both options Say: "I can process either a full refund back to your original payment method or place a new exchange order — whichever works best for you." reason-and-preference

Refund Path

Agent
evaluate the refund request against policy and order data.
Goal:confirm eligibility, calculate refund amount for order.total, and determine whether to auto-process or route for approval based on refund value.
Constraints:never auto-approve refunds above USD 300 without escalation; always verify item condition stated by customer matches return.reason before proceeding.
Tools available:OrderManagement.GetOrder, ReturnsManagement.CheckEligibility, kb.return-exchange-policy
  • Refund is eligible and amount is within auto-approve threshold approved generate-return-label
  • Refund amount exceeds threshold high_value refund-approval
  • Item flagged as ineligible based on stated reason ineligible policy-exception-check

Generate Return Label

ReturnsManagement.CreateReturnShipment for item.sku linked to order.id

ShippingCarrier.GenerateLabel and capture return.label

EmailNotification.Send to customer.email with return.label, return instructions, and expected refund timeline

Say"You're all set! I've emailed your prepaid return shipping label to customer.email. Once we receive the item, your refund will be processed within 5 to 7 business days. Is there anything else I can help you with?"

resolution

Exchange Path

Say"Happy to set up an exchange for you. What size, color, or item would you like instead? Please also confirm the item you're returning and the reason for the exchange."

ReturnsManagement.CheckEligibility for item.sku and order.id

OrderManagement.CheckInventory for the requested replacement item

  • Replacement item is in stock place-exchange-order
  • Replacement item is out of stock Say: "Unfortunately the item you requested isn't available right now. I can set up a refund instead, or hold the exchange until it's restocked — which would you prefer?" reason-and-preference
  • Item is ineligible for exchange ineligible policy-exception-check

Place Exchange Order

OrderManagement.CreateExchangeOrder linked to order.id, capture exchange.orderId

ReturnsManagement.CreateReturnShipment for original item.sku

ShippingCarrier.GenerateLabel and capture return.label

EmailNotification.Send to customer.email with return.label, exchange.orderId, and exchange confirmation details

Say"Your exchange is confirmed! I've emailed you a prepaid return label for the original item and a confirmation for your new order exchange.orderId. The replacement will ship once we receive the return. Anything else I can help with?"

resolution

Refund Approval

Approval
Slack.RequestApproval to #returns-approvals, approver: returns_ops_lead
Context sent:order.id, order.total, customer.email, return.reason, agent risk assessment
  • Approved approved generate-return-label
  • Rejected rejected escalation-human
  • No response within 30 min escalation-human

Damaged or Wrong Item

Say"I'm really sorry about that — receiving a damaged or incorrect item is never acceptable. I want to get this resolved quickly for you. Could you share your order ID and email so I can pull up the details?"

OrderManagement.GetOrder using order.id and customer.email

CRM.LogIssue tagged damaged-or-wrong, linked to order.id

Agent
assess whether to reship immediately without requiring a return or to request photo evidence before reshipping.
Goal:resolve the customer's issue as fast as possible while following fraud-prevention guidelines for order.total.
Constraints:never skip return requirement for orders above USD 150 without manager approval; always log the issue in CRM before taking action.
Tools available:OrderManagement.GetOrder, OrderManagement.CreateReplacementOrder, ReturnsManagement.WaiveReturn, kb.damaged-item-policy
  • Low value order — waive return and reship immediately OrderManagement.CreateReplacementOrder EmailNotification.Send resolution
  • Higher value order — request photo evidence then reship evidence_required Say: "Could you reply with a photo of the item? Once I have that I'll get a replacement out to you right away." damaged-evidence-review
  • Ambiguous or high-risk needs_review escalation-human

Damaged Evidence Review

Say"Thanks for sending that over — I've reviewed the details and will get a replacement on its way to you now."

OrderManagement.CreateReplacementOrder linked to order.id

ReturnsManagement.WaiveReturn for item.sku

EmailNotification.Send to customer.email with replacement order confirmation and apology note

resolution

Outside Return Window

Say"I completely understand your frustration. Looking at your order, the purchase date of order.purchaseDate falls outside our policy.returnWindowDays-day return window, so I'm unable to process a standard return."

kb.return-exchange-policy — check goodwill store credit eligibility for borderline cases

  • Purchase is borderline outside window (within 7 days past deadline) — offer store credit as goodwill gesture Say: "As a one-time courtesy, I'd be happy to offer you store credit for the value of the item. Would that work for you?" goodwill-store-credit
  • Purchase is well outside window — explain policy firmly outside_window_firm Say: "Unfortunately I'm not able to make exceptions beyond our standard window, but I'd love to help you with anything else." resolution
  • Customer disputes and is highly dissatisfied highly_dissatisfied escalation-human

Goodwill Store Credit

ReturnsManagement.IssueStoreCredit for order.total linked to customer.email

EmailNotification.Send to customer.email with store credit amount and redemption instructions

CRM.LogNote tagged goodwill-credit, linked to order.id

Say"I've applied a store credit equal to the item value to your account — you'll receive an email with details shortly. We appreciate your understanding and hope to see you shop with us again."

resolution

Final Sale Ineligible

Say"I can see this item was purchased as a final sale item, which means it isn't eligible for returns or exchanges under our policy. I'm sorry for the inconvenience."

kb.return-exchange-policy — confirm no exceptions apply for final sale items

  • Customer accepts the policy resolution
  • Customer reports the item arrived damaged or wrong damaged_wrong damaged-wrong-item
  • Customer disputes and is highly dissatisfied highly_dissatisfied escalation-human

Policy Exception Check

Agent
review the specific reason the item was flagged ineligible and determine whether any documented policy exception applies.
Goal:find a fair resolution that aligns with policy while preserving customer satisfaction where possible.
Constraints:never override a final sale classification without manager-level approval; never issue a refund outside policy without an escalation record in CRM.
Tools available:ReturnsManagement.CheckEligibility, CRM.LogNote, kb.return-exchange-policy
  • Exception applies — proceed with return or exchange generate-return-label
  • No exception — inform customer and offer alternative support final-sale-ineligible
  • Requires manager judgment needs_review escalation-human

Escalation to Human Agent

CRM.CreateCase priority: high, tagged returns-escalation, linked to order.id and customer.email

Slack.Notify to #returns-escalations with case summary, order.id, order.total, and return.reason

Say"I want to make sure this gets the attention it deserves. I'm escalating your case to a senior member of our team who will be in touch shortly with a resolution. I'm sorry for the inconvenience and appreciate your patience."

Resolution

Say"Is there anything else I can help you with today? If you have any questions about your return or exchange, don't hesitate to reach out — we're always happy to help."

CRM.UpdateCase status: resolved, linked to order.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat

Prior Authorization Status Inquiry

HealthcarePrior AuthorizationMember ServicesProvider Services

Intake & Caller Identification

Say"Thank you for contacting member services. I'm here to help with a prior authorization inquiry. May I ask — are you calling as the member, or as a provider or practice staff member?"
Detect
caller relationship to member
  • Caller identifies as the patient or member confirmed member-identity-verification
  • Caller identifies as provider staff or office provider provider-identity-verification
  • Caller relationship unclear or caller does not respond unclear intake-verification

Member Identity Verification

Say"I'll need to verify your identity before I can share any authorization details. Could you please provide me with your Member ID and date of birth?"

EligibilitySystem.VerifyMember using member.id and member.dob

CRM.PullMemberRecord for member.id

  • Identity verified, coverage active verified auth-lookup
  • Identity verified but coverage inactive coverage_inactive coverage-issue
  • Identity cannot be confirmed after two attempts unverified escalation-human

Provider Identity Verification

Say"Thank you for calling on behalf of your practice. Could you please provide the member's Member ID or date of birth, your practice NPI, and the authorization reference number if you have it?"

ProviderDirectory.VerifyProvider using provider.npi or provider.practiceName

EligibilitySystem.VerifyMember using member.id and member.dob

  • Provider and member both verified, coverage active verified auth-lookup
  • Member coverage inactive coverage_inactive coverage-issue
  • Provider NPI not found in directory provider_not_found escalation-human
  • Identity cannot be confirmed unverified escalation-human

Coverage Issue

Say"Before we discuss the authorization, I want to let you know that the member's coverage appears to be inactive as of today. I'll flag this on the record. Depending on the coverage dates, this may affect the authorization request."

CRM.LogCoverageFlag for member.id with status member.coverageStatus

  • Caller wants to continue to auth lookup regardless auth-lookup
  • Caller wants to resolve coverage issue first escalation-human

Authorization Lookup

Say"Thank you. I'm pulling up the authorization request now. Could you confirm the medication or procedure being authorized and the date the request was submitted?"

AuthManagement.LookupAuthorization using auth.referenceNumber or member.id and auth.submittedDate and medication.name or procedure.name

  • Authorization record found, status is pending pending status-pending
  • Authorization record found, status is approved approved status-approved
  • Authorization record found, status is denied denied status-denied
  • Authorization record found, clinical info still outstanding info_outstanding clinical-info-outstanding
  • Authorization record cannot be located not_found auth-not-found

Status — Pending

Say"I can see that the authorization request for medication.name or procedure.name is currently pending review. It was submitted on auth.submittedDate and is within the standard review window."

AuthManagement.CheckReviewDeadline for auth.referenceNumber

  • Request is still within the payer's mandated review timeframe pending-next-steps
  • Request has exceeded the mandated review timeframe overdue escalation-urgent

Pending — Next Steps

Say"The expected decision date is auth.reviewDeadline. You don't need to take any action right now. If you haven't received a decision by that date, please contact us and we'll escalate on your behalf. Is there anything else I can help you with?"

CRM.LogInteraction for member.id with status pending and next review date auth.reviewDeadline

  • Caller has additional questions intake-verification
  • Caller is satisfied and ends interaction resolution

Status — Approved

Say"Great news — the authorization for medication.name or procedure.name has been approved. The approval is effective auth.effectiveDates. An approval letter has been or will be sent to both the member and the ordering provider."

CRM.LogInteraction for member.id with outcome approved

Portal.ConfirmLetterDelivery for auth.referenceNumber

  • Caller needs the approval reference number or letter resent resend-approval
  • Caller has no further questions resolution

Resend Approval Letter

Say"I'll arrange for the approval letter to be resent right away. Can you confirm the best delivery method — secure portal message or mailing address on file?"

Portal.ResendApprovalLetter for auth.referenceNumber to member.id

CRM.LogInteraction noting resend requested

  • Letter resent successfully letter_sent resolution
  • Delivery fails or address needs updating delivery_failed escalation-human

Status — Denied

Say"I'm sorry to share that the authorization request for medication.name or procedure.name has been denied. The reason on file is: auth.denialReason. I want to make sure you understand your options from here."

kb.appeal-rights-policy — confirm appeal window, peer-to-peer review rights, and deadline rules for auth.denialReason

Say"You have the right to appeal this decision. The appeal must be submitted by auth.appealDeadline. If the treating provider would like to speak directly with the medical reviewer, a peer-to-peer review can also be requested within that same window. Would you like me to note a formal appeal intent on this record?"

CRM.LogDenialOutcome for member.id and auth.referenceNumber with reason auth.denialReason

  • Denial involves urgent or life-sustaining treatment urgent escalation-urgent
  • Caller confirms intent to appeal appeal_intent escalation-appeal
  • Caller wants to discuss denial reason further denial-detail
  • Caller accepts denial and has no further questions resolution

Denial Detail

Say"The denial reason provided is: auth.denialReason. This determination was based on the clinical criteria applied to the submitted documentation. If additional clinical evidence is available, that can be included as part of a formal appeal."

kb.clinical-criteria-policy — look up criteria applied to medication.name or procedure.name

  • Caller now wants to initiate appeal appeal_intent escalation-appeal
  • Caller has no further questions resolution

Clinical Info Outstanding

Say"The authorization is currently on hold because additional clinical information is needed before a determination can be made. The outstanding documentation is: auth.outstandingDocs."
Say"The ordering provider's office will need to submit this information directly to the payer's clinical review team. Once received, the review will resume. Would you like me to send a notification to the provider's portal?"

Portal.SendClinicalInfoRequest to provider.npi with list auth.outstandingDocs

CRM.LogInteraction for member.id noting outstanding documents and notification sent

  • Notification sent and caller is satisfied notified resolution
  • Provider disputes what is listed as outstanding disputed escalation-human

Authorization Not Found

Say"I wasn't able to locate an authorization request matching the details you provided. Let me confirm what we have: Member ID member.id, submitted date auth.submittedDate, for medication.name or procedure.name."
Say"If those details are correct, it's possible the request did not process successfully. I'd recommend the submitting provider resubmit the request through the portal or by fax, and retain the submission confirmation number. I can also escalate this to our intake team to investigate."

CRM.LogInteraction for member.id noting authorization not found and submission details provided

  • Caller wants to escalate to intake team for investigation escalate_intake escalation-intake
  • Caller will resubmit and has no further questions resolution

Escalation — Urgent or Life-Sustaining Denial

CRM.FlagUrgentCase for member.id and auth.referenceNumber with priority high

AuthManagement.EscalateForExpediteReview for auth.referenceNumber

Say"Given the urgent nature of this request, I'm flagging this case for immediate escalation to our clinical review team and escalating for an expedited review. A specialist will be in contact within 24 hours. You'll receive a reference number for this escalation shortly."

CRM.LogInteraction noting urgent escalation initiated

Escalation — Formal Appeal

CRM.OpenAppealCase for member.id and auth.referenceNumber with deadline auth.appealDeadline

Portal.SendAppealInstructions to member.id and provider.npi

Say"I've noted your intent to appeal and opened an appeal case on your account. You'll receive written instructions outlining the appeal process and submission requirements. The deadline to submit is auth.appealDeadline. A dedicated appeals coordinator will follow up with you."

CRM.LogInteraction noting appeal case opened

Escalation — Intake Investigation

CRM.CreateIntakeInvestigationTicket for member.id with submission details auth.submittedDate and medication.name or procedure.name

CRM.LogInteraction noting intake escalation for missing authorization record

Say"I've created a ticket for our intake team to investigate. They will review submission records and follow up within two business days. Your ticket reference has been added to your account. Is there anything else I can help with?"
  • Caller has additional questions intake-verification
  • Caller is satisfied resolution

Escalation — Human Agent

CRM.LogInteraction for member.id noting reason for escalation

CRM.RouteToSpecialist priority standard

Say"I want to make sure you get the right help here. I'm transferring you to a member services specialist who can assist further. Please hold for just a moment, and thank you for your patience."

Resolution

Say"Thank you for contacting us today. To recap: I've provided you with the current status of your authorization request and any next steps. If you have further questions or need follow-up, don't hesitate to call back or send a message through the member portal. Take care."

CRM.LogInteraction for member.id with outcome resolved and summary of interaction

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ sms▣ email▣ chat

Policy Renewal Reminder / Confirmation

InsuranceRenewalRetentionBilling

Renewal Outreach

Twilio.SendSMS to customer.phone: "Hi customer.name, your policy policy.number is due for renewal on policy.renewal_date. Your updated premium is policy.renewal_premium. Reply CONFIRM to renew, CHANGE to update coverage, or call us to speak with an agent."

Twilio.SendEmail to customer.email with full renewal notice including policy.coverage_summary, policy.renewal_premium, and policy.expiry_deadline.

Detect
customer intent from inbound reply or inbound call
  • Customer responds CONFIRM or calls to confirm renewal confirmed identity-verification
  • Customer responds CHANGE or requests a coverage update change_coverage identity-verification
  • Customer calls or replies to dispute the premium amount dispute_premium identity-verification
  • Customer calls or replies with intent not to renew cancel_intent identity-verification
  • No response within 5 days Twilio.SendSMS follow-up reminder, then renewal-outreach-followup

Renewal Outreach Follow-up

Twilio.SendSMS to customer.phone: "Reminder: your policy policy.number expires on policy.expiry_deadline. Please confirm your renewal to avoid a lapse in coverage. Reply CONFIRM or call us."

Twilio.SendEmail to customer.email with final renewal warning and policy.expiry_deadline highlighted.

Detect
customer intent from inbound reply or call
  • Customer responds or calls to confirm confirmed identity-verification
  • Customer responds or calls to dispute or change dispute_premium identity-verification
  • Customer calls or replies with intent not to renew cancel_intent identity-verification
  • No response before expiry deadline CRM.LogNoResponse, flag policy for lapse review escalation-lapse-review

Identity Verification

Say"Thank you for reaching out about your policy renewal. For security purposes, I'll need to verify your identity before we proceed. Could you please provide your date of birth and the last four digits of your Social Security Number?"

PolicyManagement.VerifyIdentity using customer.dob and customer.ssn_last4 against policy.number

  • Identity verified successfully identity_verified policy-review
  • Identity cannot be verified after two attempts identity_failed escalation-human

Policy Review

PolicyManagement.GetPolicyDetails for policy.number to load policy.coverage_summary, policy.current_premium, policy.renewal_premium, and policy.renewal_date.

BillingPlatform.GetAccountBalance for policy.number to check billing.outstanding_balance.

Say"I've pulled up your policy policy.number. Your current premium is policy.current_premium and your renewal premium is policy.renewal_premium. Your renewal date is policy.renewal_date."
  • Customer has an outstanding balance and billing.outstanding_balance is greater than zero balance_due outstanding-balance-resolution
  • Customer's intent was to dispute the premium dispute_premium premium-dispute
  • Customer's intent was to change coverage change_coverage coverage-change-request
  • Customer's intent was to cancel cancel_intent cancellation-intent
  • No outstanding balance and customer is ready to confirm renewal confirmed renewal-confirmation

Outstanding Balance Resolution

Say"I can see there is an outstanding balance of billing.outstanding_balance on your account. Unfortunately, we'll need to resolve this before we can process your renewal to avoid a lapse in coverage. I can help you pay the balance now, or we can explore a payment plan."

BillingPlatform.GetPaymentOptions for policy.number

Agent
assess the customer's situation and determine the best path to resolve billing.outstanding_balance.
Goal:resolve the outstanding balance so renewal can proceed, either by collecting full payment now or arranging an approved payment plan.
Constraints:never proceed with renewal while a balance remains unresolved; payment plans must comply with kb.billing-payment-plan-policy; never waive balances without supervisor approval.
Tools available:BillingPlatform.ProcessPayment, BillingPlatform.CreatePaymentPlan, kb.billing-payment-plan-policy, CRM.LogInteraction
  • Customer agrees to pay balance in full now payment-processing
  • Customer agrees to a payment plan and plan is within policy limits payment_plan_arranged renewal-confirmation
  • Customer refuses to pay or situation is too complex for self-service balance_unresolved escalation-billing

Premium Dispute

Say"I completely understand — a premium change can be surprising. Let me walk you through the factors that contributed to the updated rate."

UnderwritingEngine.GetRateChangeFactors for policy.number

Say"The adjustment to policy.renewal_premium reflects changes in policy.coverage_summary, along with updated risk factors and market conditions. I'm happy to explain any of these in more detail."

kb.rate-change-explanations — retrieve standard explanations for common rate change drivers

Detect
customer reaction to the explanation
  • Customer accepts the explanation and is ready to renew accepted renewal-confirmation
  • Customer wants to explore lower-cost coverage tiers explore_options coverage-change-request
  • Customer formally disputes the rate and wants an official review formal_dispute escalation-underwriting
  • Customer still intends to cancel after explanation cancel_intent cancellation-intent

Coverage Change Request

Say"No problem — I can log your requested coverage changes. These will need to be reviewed before we finalize your renewal. Please go ahead and describe the changes you'd like to make."

CRM.LogCoverageChangeRequest for policy.number with customer's requested modifications.

Agent
review the requested coverage changes against underwriting eligibility rules.
Goal:determine whether the requested changes can be approved automatically or require underwriter review before renewal is finalized.
Constraints:never finalize renewal with unapproved coverage changes; changes outside standard guidelines must be escalated; do not quote a revised premium without system confirmation.
Tools available:UnderwritingEngine.CheckEligibility, PolicyManagement.GetCoverageOptions, kb.underwriting-guidelines, CRM.LogInteraction
  • Requested changes are within auto-approval parameters changes_approved renewal-confirmation
  • Requested changes require underwriter review needs_underwriter escalation-underwriting
  • Customer decides not to change coverage after all and wants to renew as-is confirmed renewal-confirmation

Cancellation Intent

Say"I'm sorry to hear you're considering not renewing. Before I process anything, I'd love to understand what's driving that decision — is it the premium, coverage, or something else?"
Detect
primary reason for cancellation intent
  • Price is the concern price_concern premium-dispute
  • Coverage or service concern coverage_concern coverage-change-request
  • Customer is switching to another insurer switching_insurer retention-offer
  • Customer confirms firm decision to cancel after retention scripting firm_cancel cancellation-logging

Retention Offer

kb.retention-offers — look up eligible discounts, bundling options, and loyalty incentives for policy.number

Say"I appreciate your loyalty and I'd like to see if we can find a better fit for you before you go. Based on your policy, here are some options that might help."

CRM.LogRetentionAttempt for policy.number

Agent
select and present the most relevant retention offers from kb.retention-offers based on the customer's stated reason for leaving.
Goal:retain the customer by presenting a genuinely compelling option — a discount, loyalty reward, or alternative coverage tier — that addresses their concern.
Constraints:never promise a discount that hasn't been confirmed as available via kb.retention-offers; do not exceed authorized discount thresholds without supervisor approval.
Tools available:kb.retention-offers, PolicyManagement.GetCoverageOptions, BillingPlatform.GetDiscountEligibility, CRM.LogInteraction
  • Customer accepts a retention offer and agrees to renew retention_accepted renewal-confirmation
  • Customer declines all offers and confirms cancellation intent firm_cancel cancellation-logging
  • Situation is complex or customer is very high value high_value_at_risk escalation-retention

Cancellation Logging

Say"I understand, and I respect your decision. I've noted your intent not to renew policy policy.number. Your coverage will remain active until policy.expiry_deadline. You'll receive written confirmation of non-renewal shortly."

PolicyManagement.LogNonRenewalIntent for policy.number with cancellation reason.

CRM.UpdateCustomerRecord with non-renewal status and reason code.

DocumentDelivery.SendNonRenewalConfirmation to customer.email.

Renewal Confirmation

Say"Great — let's confirm your renewal. Your policy policy.number will be renewed at a premium of policy.renewal_premium. Your current payment method on file is billing.payment_method ending in billing.payment_method_last4. Would you like to use this method, or update it?"
Detect
customer payment method preference
  • Customer confirms existing payment method use_existing_payment payment-processing
  • Customer wants to update payment method update_payment payment-method-update
  • Customer wants to schedule payment for a later date schedule_payment payment-scheduling

Payment Method Update

Say"Of course — please provide your new payment details and I'll update them securely on your account."

BillingPlatform.UpdatePaymentMethod for policy.number

  • Payment method updated successfully payment_updated payment-processing
  • Payment method update fails or customer has trouble payment_update_failed escalation-billing

Payment Scheduling

Say"I can schedule your renewal payment. Please note the payment must be received by policy.expiry_deadline to avoid any lapse in coverage. What date works for you?"

BillingPlatform.SchedulePayment for policy.number on customer's chosen date

  • Payment successfully scheduled payment_scheduled renewal-complete
  • Requested date is after expiry deadline date_invalid escalation-billing

Payment Processing

BillingPlatform.ProcessPayment for policy.number using billing.payment_method for policy.renewal_premium.

  • Payment processed successfully payment_success renewal-complete
  • Payment declined or failed payment_failed escalation-billing

Renewal Complete

PolicyManagement.ConfirmRenewal for policy.number and generate renewal.confirmation_number.

DocumentDelivery.SendRenewalConfirmation to customer.email with updated policy documents, policy.renewal_premium, and renewal.confirmation_number.

CRM.UpdateCustomerRecord with renewal status and renewal.confirmation_number.

Say"Your policy policy.number has been successfully renewed. Your confirmation number is renewal.confirmation_number and a full copy of your updated policy documents has been sent to customer.email. Is there anything else I can help you with today?"

Escalation — Human Agent

CRM.CreateCase priority: high, reason: identity-verification-failure, linked to policy.number.

Twilio.NotifyAgent on #renewal-support-queue with case summary and policy.number.

Say"I want to make sure you're taken care of, so I'm going to connect you with a specialist who can assist you further. Please hold for just a moment."

Escalation — Underwriting Review

CRM.CreateCase priority: high, reason: underwriting-review-required, linked to policy.number.

UnderwritingEngine.SubmitReviewRequest for policy.number with supporting details and customer's stated concerns.

Twilio.NotifyAgent on #underwriting-queue with case summary.

Say"I've submitted your policy for underwriting review. A specialist will be in touch within two business days to discuss your options. You'll receive an email at customer.email confirming the review has been opened."

Escalation — Billing

CRM.CreateCase priority: high, reason: billing-issue, linked to policy.number.

Twilio.NotifyAgent on #billing-support-queue with case summary, billing.outstanding_balance, and policy.renewal_date.

Say"I'm going to connect you with our billing team who has the tools to resolve this quickly and ensure your coverage doesn't lapse. Thank you for your patience."

Escalation — Retention Specialist

CRM.CreateCase priority: urgent, reason: high-value-cancellation-risk, linked to policy.number.

CRM.FlagForRetentionSpecialist for policy.number.

Twilio.NotifyAgent on #retention-team with customer summary, policy.renewal_premium, and cancellation reason.

Say"I want to make sure we do everything we can to find the right solution for you. I'm transferring you to one of our senior retention specialists right now who can work with you directly."

Escalation — Lapse Review

PolicyManagement.FlagPolicyForLapse for policy.number.

CRM.CreateCase priority: high, reason: no-response-lapse-risk, linked to policy.number.

Twilio.SendSMS to customer.phone: "Urgent: your policy policy.number has not been renewed and is at risk of lapsing on policy.expiry_deadline. Please call us immediately to avoid a gap in coverage."

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ voice▣ email

Payment / Billing Issue

RetailBillingPaymentsRefunds

Identity Verification

Say"Thank you for reaching out. I'm happy to help you sort out this billing concern. To get started, could you please confirm your full name and the email address on your account?"

CRM.LookupAccount using customer.email

  • Account found, identity confirmed transaction-lookup
  • Account not found or details do not match identity-retry
  • Customer reports suspected fraud or unauthorized access escalation-fraud

Identity Retry

Say"I wasn't able to locate an account with those details. Could you double-check the email address, or try an alternate one you may have used when placing your order?"

CRM.LookupAccount using customer.email

  • Account found on second attempt transaction-lookup
  • Still unable to locate account escalation-back-office

Transaction Lookup

Say"Thanks, customer.name — I've pulled up your account. Can you share the order ID or transaction ID and the charge amount and date you're seeing?"

OrderManagement.GetOrder using order.id

PaymentProcessor.GetTransaction using transaction.id

  • Transaction located and discrepancy confirmed discrepancy-assessment
  • Transaction found but charge appears valid valid-charge-explanation
  • Transaction cannot be found in any system manual-collection

Discrepancy Assessment

Agent
assess the billing discrepancy using transaction.id, transaction.amount, transaction.date, payment.method, and kb.billing-policy.
Goal:determine whether the discrepancy is a duplicate charge, an erroneous fee, a missing refund that was already issued, or a failed payment requiring retry.
Constraints:never initiate a refund above USD 150 without escalating for approval; always verify refund has not already been processed before initiating a new one; never modify account payment details without customer consent.
Tools available:PaymentProcessor.GetTransaction, PaymentProcessor.GetRefundStatus, OrderManagement.GetOrder, RefundPortal.CheckRefundHistory, kb.billing-policy
  • Duplicate or erroneous charge confirmed, refund not yet issued refund-initiation
  • Charge is valid upon review valid-charge-explanation
  • Refund was already issued, customer has not received it refund-status-check
  • Payment failed due to card or funds issue failed-payment-recovery
  • Refund amount exceeds agent authorization limit high_value escalation-approval
  • Issue cannot be reproduced or confirmed in any system manual-collection

Refund Initiation

Say"I can confirm that charge should not have been applied. I'm going to process a refund of refund.amount to your payment.method right now."

RefundPortal.InitiateRefund for transaction.id, amount refund.amount, linked to customer.accountId

EmailNotifications.Send to customer.email with refund confirmation, refund.id, and refund.timeline

Say"Your refund of refund.amount has been submitted. You should see it back on your payment.method within refund.timeline. I've also sent a confirmation to customer.email. Is there anything else I can help with?"
  • Customer confirms resolution resolution-confirmed
  • Customer has additional questions resolution-confirmed

Valid Charge Explanation

Say"I've reviewed the charge and I can see it was applied for a specific reason. Let me walk you through what happened."

kb.billing-policy — retrieve applicable policy documentation (restocking fees, subscription renewals, promotional terms)

Say"This charge of transaction.amount on transaction.date relates to your order order.id. Based on our billing policy, this was applied as — [restocking fee / subscription renewal / promotional adjustment]. I can send you the full policy documentation for your records."

EmailNotifications.Send to customer.email with charge explanation and relevant kb.billing-policy documentation

  • Customer accepts the explanation resolution-confirmed
  • Customer disputes the explanation and still believes charge is incorrect escalation-back-office
  • Customer reports the charge was not authorized by them escalation-fraud

Refund Status Check

PaymentProcessor.GetRefundStatus using refund.id

RefundPortal.CheckRefundHistory for customer.accountId

Say"Our records show a refund of refund.amount was issued on transaction.date with reference number refund.id. Refunds to payment.method typically take refund.timeline to appear, depending on your bank's processing times."
Say"If it has been longer than that window, I'd recommend contacting your bank or card issuer with this reference number: refund.id — they can trace it on their end."

EmailNotifications.Send to customer.email with refund.id, refund.status, and bank follow-up instructions

  • Customer is satisfied with the status and reference number resolution-confirmed
  • Refund is still within processing window, customer accepts resolution-confirmed
  • Refund is overdue and processor shows an error or failed status refund_failed escalation-back-office

Failed Payment Recovery

Say"It looks like this payment didn't go through. The most common reasons are an expired card or insufficient funds. Let me help you get this sorted."
  • Error message indicates expired card card_expired update-payment-method
  • Error message indicates insufficient funds insufficient_funds update-payment-method
  • Error message is unclear or system shows another reason unknown_error escalation-back-office

Update Payment Method

Say"I can guide you through updating your payment information so we can retry the charge. For security, you'll need to do this directly in your account settings — I can walk you through it step by step."

kb.billing-policy — retrieve payment update and retry procedures

Say"Once you've updated your card details, the system will automatically retry the payment within 24 hours, or you can place the order again. Would you like me to send you a direct link to update your payment method?"

EmailNotifications.Send to customer.email with payment update link and retry instructions

  • Customer confirms they have updated their payment method payment-retry-confirmed
  • Customer is unable to update payment method and needs further help escalation-back-office

Payment Retry Confirmed

Say"Great — your updated payment details are in place. The retry will process within 24 hours and you'll receive a confirmation email once it goes through. I'll send a summary to customer.email now."

EmailNotifications.Send to customer.email with payment retry confirmation and order.id status

  • Customer confirms resolution resolution-confirmed
  • Customer has additional questions resolution-confirmed

Manual Collection

Say"I wasn't able to locate that transaction in our systems right now, but I don't want to leave this unresolved. Let me collect the details so our back-office team can investigate."
Say"Could you please confirm the order ID or transaction ID, the exact charge amount, the date it appeared, the payment method used, and any error messages you received?"

CRM.CreateCase for customer.accountId, tagged billing-discrepancy, with transaction.amount, transaction.date, payment.method, and error.message

EmailNotifications.Send to customer.email confirming case has been opened with expected response timeline

  • Details collected and case created escalation-back-office

Escalation — Back-Office Review

CRM.CreateCase priority: high, tagged billing-review, linked to customer.accountId and order.id

CRM.AssignToBackOfficeQueue with all collected transaction details

Say"I've escalated this to our billing specialist team who have the tools to investigate further. You'll receive a follow-up at customer.email within one to two business days. Your case reference is available in your account."

EmailNotifications.Send to customer.email with case reference, summary of issue, and expected resolution timeline

Escalation — High-Value Refund Approval

Approval
Slack.RequestApproval to #billing-approvals, approver: billing_manager
Context sent:customer.accountId, transaction.id, transaction.amount, transaction.date, agent's discrepancy assessment, payment.method
  • Approved approved refund-initiation
  • Rejected rejected valid-charge-explanation
  • No response within 60 min escalation-back-office

Escalation — Fraud or Unauthorized Access

Say"I take this very seriously. I'm flagging your account immediately and connecting you with our fraud and security team who are equipped to handle this."

CRM.CreateCase priority: urgent, tagged fraud-suspected, linked to customer.accountId

CRM.FlagAccount for customer.accountId with fraud-hold status

PaymentProcessor.NotifyFraudTeam with transaction.id and customer.accountId

Say"Your account has been secured and our fraud team will be in touch at customer.email within 24 hours. Please do not attempt to use your payment method until you hear from them."

EmailNotifications.Send to customer.email with fraud case reference and next steps

Resolution Confirmed

Say"I'm glad we were able to get that sorted for you. Is there anything else I can help you with today?"

CRM.UpdateCase status: resolved, linked to customer.accountId and order.id

EmailNotifications.Send to customer.email with resolution summary and case closure confirmation

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ sms

Password / Login Recovery

Financial ServicesAccount AccessSecuritySupport

Intake — Login Issue

Say"Thank you for reaching out. I'm here to help you regain access to your account. Can you briefly describe what's happening when you try to log in?"
Detect
nature of login issue reported by customer
  • Customer states forgotten password or cannot log in forgotten-password identity-verification
  • Customer states account appears locked or suspended account-locked account-status-check
  • Customer states they did not initiate any lockout or suspects unauthorised access unauthorised-access escalation-fraud-review
  • Issue is unclear or customer is unsure unclear CRM.LogInteraction, ask one clarifying question identity-verification

Identity Verification

Say"Before I can make any changes to your account, I need to verify your identity. I'll ask you a few quick questions — please have your account details handy."

CRM.PullCustomerRecord using customer.registeredEmail or customer.accountNumber

IdentityVerification.InitiateCheck for customer.fullName, customer.dateOfBirth, customer.lastFourSSN

Say"Can you please confirm your full name, date of birth, and either your account number or the email address registered on the account?"
Detect
identity verification outcome from verification.attemptCount and submitted details
  • Identity confirmed on first or second attempt identity-confirmed account-status-check
  • Identity fails first attempt identity-failed-once CRM.IncrementAttemptCount, prompt retry identity-verification-retry
  • Account already shows two or more failed attempts max-attempts-reached escalation-identity-lockout

Identity Verification — Retry

Say"I wasn't able to match those details. You have one more attempt before the account must be secured for your protection. Please double-check and try again — confirm your full name, date of birth, and the last four digits of your Social Security Number."

IdentityVerification.InitiateCheck for customer.fullName, customer.dateOfBirth, customer.lastFourSSN

CRM.IncrementAttemptCount

Detect
identity verification outcome on retry
  • Identity confirmed on retry identity-confirmed account-status-check
  • Identity fails again on retry identity-failed-twice escalation-identity-lockout

Account Status Check

CoreBanking.GetAccountStatus for customer.accountNumber

FraudMonitoring.CheckFraudFlag for customer.accountNumber

Detect
account status returned by core banking and fraud monitoring systems
  • Account is clear with no flags or locks account-clear contact-info-check
  • Account is locked due to repeated failed login attempts account-locked-cooldown cooldown-notice
  • Account is flagged for suspicious or fraudulent activity fraud-flag-active escalation-fraud-review
  • Account status is suspended or otherwise restricted account-suspended escalation-account-review

Contact Info Check

Say"Great — your identity is confirmed and your account looks clear. I'll send a password reset link now. Just to confirm: should I send it to the email address or phone number we have on file?"

CRM.VerifyContactInfo for customer.registeredEmail and customer.registeredPhone

Detect
whether registered contact information is current and reachable
  • Registered email or phone confirmed current by customer contact-confirmed mfa-challenge
  • Customer states contact info is outdated or no longer accessible contact-outdated escalation-manual-id-verification

MFA Challenge

MFAOTP.SendCode to customer.registeredEmail or customer.registeredPhone based on reset.linkDeliveryMethod

Say"I've just sent a one-time verification code to your registered contact. Please share that code with me once you receive it so we can proceed."
Detect
MFA code submission and validation outcome
  • Customer provides correct OTP code otp-valid password-reset-initiation
  • Customer provides incorrect code otp-invalid escalation-mfa-failure
  • Customer states they did not receive the code otp-not-received MFAOTP.ResendCode, confirm delivery method mfa-challenge
  • Customer states the contact they received it on is not theirs otp-wrong-contact escalation-fraud-review

Password Reset Initiation

CoreBanking.InitiatePasswordReset for customer.accountNumber

EmailSMSDelivery.SendResetLink to customer.registeredEmail or customer.registeredPhone

Say"A secure password reset link has been sent to you now. The link is valid for 15 minutes. Once you've reset your password, please try logging in and let me know if access is restored."
Detect
customer confirmation of access outcome
  • Customer confirms new password set and login successful access-restored resolution-access-confirmed
  • Customer states link expired or not received link-expired EmailSMSDelivery.ResendResetLink password-reset-initiation
  • Customer states they are still unable to log in after reset reset-failed escalation-account-review

Cooldown Notice

CoreBanking.GetCooldownStatus for customer.accountNumber

Say"Your account was temporarily secured after several unsuccessful login attempts, which is a standard security measure. A mandatory waiting period is currently in effect before a reset can be issued."
Say"Once the cooling-off period has passed, you're welcome to contact us again and we can proceed with the reset right away. If you believe you did not make those login attempts yourself, please let me know now."
Detect
customer response to cooldown notice
  • Customer acknowledges and agrees to wait customer-accepts-cooldown resolution-cooldown-advised
  • Customer states they did not make those login attempts customer-denies-attempts escalation-fraud-review

Resolution — Access Confirmed

Say"Wonderful — I'm glad we got that sorted. Your access has been restored. For your security, I'd recommend choosing a strong, unique password and enabling two-factor authentication if you haven't already."

CRM.LogInteraction tagged password-reset-successful, linked to customer.accountNumber

CoreBanking.ClearLockStatus for customer.accountNumber

Resolution — Cooldown Advised

Say"Thank you for your patience. Your account remains protected in the meantime. Please reach back out once the waiting period has passed and we'll get the reset sent to you right away."

CRM.LogInteraction tagged cooldown-in-effect, linked to customer.accountNumber

Escalation — Identity Lockout

Say"I'm sorry — I wasn't able to verify your identity through this channel after the maximum number of attempts. For your protection, your account has been secured and the reset cannot proceed remotely."
Say"To restore access, you'll need to visit a branch in person with a valid government-issued photo ID, or complete our document verification process. I'll create a case for you now so the team is ready when you arrive."

CoreBanking.LockAccount for customer.accountNumber

CRM.CreateCase priority: high, tagged identity-verification-failed, linked to customer.accountNumber

CRM.LogInteraction tagged max-attempts-reached

Escalation — Fraud Review

Say"I want to make sure your account is fully protected. There's an indicator on your account that requires our fraud team to review it before any changes can be made. I'm going to escalate this to them now and a specialist will follow up with you shortly."

CoreBanking.FreezeAccount for customer.accountNumber

FraudMonitoring.EscalateCase for customer.accountNumber, flag: suspicious-activity

CRM.CreateCase priority: high, tagged fraud-review-required, linked to customer.accountNumber

CRM.LogInteraction tagged fraud-flag-escalation

Escalation — Manual ID Verification

Say"Because the contact information we have on file may not be current, I'm not able to send the reset link through our standard process. I'll need to pass this to our verification team who can walk you through an alternative identity confirmation method."

CRM.CreateCase priority: medium, tagged outdated-contact-info-manual-review, linked to customer.accountNumber

CRM.LogInteraction tagged contact-info-outdated-escalation

Escalation — MFA Failure

Say"The one-time code didn't match what we sent. For your account's security, I'm unable to proceed with the reset at this time. I'll refer this to our account security team who will reach out to you directly to complete the verification safely."

CRM.CreateCase priority: medium, tagged mfa-failure-escalation, linked to customer.accountNumber

CRM.LogInteraction tagged otp-verification-failed

Escalation — Account Review

Say"It looks like there may be an additional restriction on your account that I'm not able to resolve through this channel. I'm escalating this to our account management team who can investigate and get back to you promptly."

CRM.CreateCase priority: medium, tagged account-status-restricted, linked to customer.accountNumber

CRM.LogInteraction tagged account-review-escalation

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ voice▣ email

Order Modification / Cancellation

RetailOrdersCancellationModification

Identity Verification

Say"Hi, thanks for reaching out! I'd be happy to help with your order. To get started, can you please share your order number and the email address or phone number on your account?"

CRM.LookupCustomer using provided email or phone against customer.email or customer.phone

Detect
whether identity can be confirmed from customer's reply
  • Identity verified successfully confirmed order-status-check
  • Customer cannot provide matching credentials unverified identity-failure
  • Customer provides partial info — try one additional prompt partial identity-retry

Identity Retry

Say"No problem — let me try one more way to verify. Can you confirm the billing address or the last four digits of the payment method used for this order?"

CRM.LookupCustomer with alternate verification field

Detect
outcome of second verification attempt
  • Identity confirmed on second attempt confirmed order-status-check
  • Still unable to verify unverified identity-failure

Identity Failure

Say"I'm sorry — I wasn't able to verify your identity with the information provided. For your account security, I'm unable to make changes without verification. You're welcome to log in to your account directly and make modifications through self-service, or contact us again once you have your order confirmation email handy."

EmailNotification.Send to customer.email with self-service portal link and instructions

Order Status Check

Say"Got it — let me pull up order order.id for you right now."

OrderManagement.GetOrder using order.id to retrieve order.status, order.items, order.total, order.shippingAddress, order.paymentMethod

kb.order-modification-policy — check modification and cancellation window rules against order.status

  • Order is still in a modifiable state (not yet shipped) confirmed change-intent
  • Order has already shipped or is out for delivery shipped order-already-shipped
  • Order is flagged for fraud review fraud_flag escalation-fraud

Change Intent

Say"Great news — your order is still within our modification window. What change would you like to make? For example, I can update items or quantities, change your shipping address, or cancel the order entirely."
Detect
type of modification customer is requesting
  • Customer wants to cancel the full order cancel cancellation-confirm
  • Customer wants to change item or quantity item_change item-modification
  • Customer wants to update shipping address address_change address-modification
  • Customer is unsure or wants to discuss options unclear change-intent

Cancellation Confirm

Say"I can cancel order order.id for you. Just to confirm, you'd like to cancel all items in this order and receive a refund of order.total to your order.paymentMethod. Is that correct?"

kb.order-cancellation-policy — confirm refund eligibility and timeline for order.paymentMethod

Detect
customer confirmation of full cancellation
  • Customer confirms cancellation confirmed process-cancellation
  • Customer changes their mind or wants partial cancellation instead partial item-modification
  • Customer wants to reconsider — pause and re-engage uncertain change-intent

Process Cancellation

OrderManagement.CancelOrder for order.id

PaymentProcessor.InitiateRefund for refund.amount to order.paymentMethod

EmailNotification.Send to customer.email with cancellation confirmation and refund.timeline

Say"Your order has been successfully cancelled. A refund of refund.amount will be returned to your order.paymentMethod — typically within refund.timeline. You'll receive a confirmation email shortly."

resolution-complete

Item Modification

Say"Sure, I can help adjust the items on your order. Which item would you like to change, and what would you prefer instead — a different size, colour, quantity, or would you like to remove it entirely?"

OrderManagement.CheckInventory for the requested replacement or updated quantity against change.requested

  • Requested item or quantity is available apply-item-change
  • Requested substitution is out of stock out_of_stock offer-alternatives
  • Customer wants to remove item and remainder falls below free-shipping threshold below_threshold shipping-cost-warning

Offer Alternatives

Say"Unfortunately, the item you've requested isn't currently available. I have a few similar options I can suggest — would you like me to check what's in stock, or would you prefer to remove that item from your order or cancel entirely?"

OrderManagement.GetSimilarItems for item.substitute recommendations

Detect
customer response to alternative options
  • Customer selects an available alternative confirmed apply-item-change
  • Customer wants to remove the item instead remove shipping-cost-warning
  • Customer wants to cancel the full order cancel cancellation-confirm
  • Customer wants to keep the original order as-is keep resolution-complete

Shipping Cost Warning

Say"Just a heads-up — removing that item would bring your order total below our free-shipping threshold of order.freeShippingThreshold, which means a shipping fee of order.shippingCost would apply. Would you still like to proceed with the removal, or would you prefer to keep the item or choose an alternative?"
Detect
customer decision after being informed of shipping cost impact
  • Customer accepts the added shipping cost and confirms removal confirmed apply-item-change
  • Customer decides to keep the item keep resolution-complete
  • Customer wants to cancel the full order instead cancel cancellation-confirm

Apply Item Change

OrderManagement.ModifyOrder for order.id with updated order.items and quantities

PaymentProcessor.AdjustCharge if order total has changed, updating refund.amount as applicable

EmailNotification.Send to customer.email with updated order summary

Say"Done — I've updated your order. You'll receive a confirmation email with the revised details shortly. Is there anything else you'd like to adjust?"
Detect
whether customer has additional requests
  • Customer has another change to make more_changes change-intent
  • Customer is satisfied confirmed resolution-complete

Address Modification

Say"Of course — what is the new shipping address you'd like to use for this order?"

OrderManagement.UpdateShippingAddress for order.id with new order.shippingAddress

EmailNotification.Send to customer.email confirming the address update

Say"Your shipping address has been updated successfully. You'll receive a confirmation email with the new details. Is there anything else I can help you with?"
Detect
whether customer has additional requests
  • Customer has another change more_changes change-intent
  • Customer is satisfied confirmed resolution-complete

Order Already Shipped

Say"I'm sorry — it looks like your order has already shipped, so we're unable to make changes or cancel it at this stage. Once your package arrives, you're welcome to initiate a return and we'll process a refund from there. Would you like me to send you the return instructions?"

kb.return-policy — retrieve return window and process details

Detect
customer response
  • Customer wants return instructions sent confirmed EmailNotification.Send to customer.email with return instructions resolution-complete
  • Customer disputes the charge or is not satisfied disputed escalation-dispute
  • Customer accepts the outcome accepted resolution-complete

Escalation — Fraud Review

Say"I can see your order is currently under a brief security review. I'm going to connect you with a specialist who can look into this further and assist you directly."

CRM.CreateCase priority: high, tagged fraud-review, linked to order.id

Slack.Notify to #fraud-ops with order.id, customer.email, and order summary

Escalation — Dispute or High-Value Refund

Say"I want to make sure this is handled properly for you. I'm escalating this to a senior specialist who has the authorization to review and resolve this fully. You'll hear from them very shortly."

CRM.CreateCase priority: high, tagged charge-dispute, linked to order.id and refund.amount

Slack.Notify to #support-escalations with order.id, customer.name, refund.amount, and case summary

Resolution Complete

Say"You're all set! Is there anything else I can help you with today?"

CRM.UpdateCase status: resolved, linked to order.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ voice▣ email

Loyalty / Rewards Inquiry

RetailLoyaltyRewardsSupport

Intake & Account Lookup

Say"Welcome! I'd be happy to help with your rewards account. Could you share the email address or phone number linked to your loyalty account?"

LoyaltyPlatform.LookupAccount by customer.email or customer.phone

  • Account found, no fraud flag identity-verification
  • Account found with fraud flag fraud_flag escalation-human
  • Account not found account-not-found

Identity Verification

IdentityVerification.Verify using customer.fullName and customer.accountId

Say"Just to protect your account, can you confirm your full name and the last four digits of the phone number on file?"
  • Identity confirmed on first or second attempt verified inquiry-classification
  • Identity fails after two attempts unverified escalation-human

Account Not Found

Say"I wasn't able to find an account with that information. Let's try a different detail — do you have an alternate email address or phone number you may have used when signing up?"

LoyaltyPlatform.LookupAccount secondary attempt using alternate customer.email or customer.phone

  • Account found on secondary lookup identity-verification
  • Account still not found after secondary attempt escalation-human

Inquiry Classification

Say"Great, I've pulled up your account, customer.fullName. Your current balance is loyalty.pointsBalance points and your tier is loyalty.tier. What can I help you with today — checking your balance, redeeming rewards, reporting missing points, or something about expiration?"
Detect
customer intent from reply
  • Customer asks about balance or tier status balance_inquiry balance-and-tier-summary
  • Customer wants to redeem rewards redeem redemption-assistance
  • Customer reports missing points after a purchase missing_points missing-points-investigation
  • Customer asks about or disputes expiration expiration_inquiry expiration-review
  • Customer expresses frustration or perceived unfair treatment frustrated empathy-and-policy-explanation

Balance & Tier Summary

LoyaltyPlatform.GetAccountDetails for customer.accountId

Say"You currently have loyalty.pointsBalance points in your account. You're at the loyalty.tier tier, and your points are set to expire on loyalty.expirationDate. Would you like to know how to use your points, or is there anything else I can help with?"

kb.loyalty-rewards-policy — confirm tier benefits and point value rules

  • Customer wants to know how to redeem redeem redemption-assistance
  • Customer is satisfied and has no further questions resolved resolution
  • Customer raises a new concern new_concern inquiry-classification

Redemption Assistance

kb.loyalty-rewards-policy — retrieve current redemption options, minimum threshold, and any active promotions

Say"You can redeem your points in a few ways: as a discount at checkout online or in-store, for gift cards, or toward eligible products. Your current balance of loyalty.pointsBalance points is worth — shall I walk you through how to apply them right now?"

LoyaltyPlatform.GetRedemptionOptions for customer.accountId

  • Customer wants to apply reward to a current or upcoming purchase LoyaltyPlatform.ApplyReward redemption-confirmed
  • Customer wants to know options only, no redemption yet info_only resolution
  • Customer's balance is below the redemption minimum below_minimum below-minimum-notice

Below Minimum Notice

Say"It looks like your current balance of loyalty.pointsBalance points is just below the minimum needed to redeem. I can let you know exactly how many more points you'd need, and share some ways to earn them faster if that's helpful."

kb.loyalty-rewards-policy — confirm minimum redemption threshold and earning opportunities

  • Customer is satisfied with the explanation resolved resolution
  • Customer is frustrated or disputes the threshold frustrated empathy-and-policy-explanation

Redemption Confirmed

Say"Your reward has been applied successfully. You'll see the discount reflected at checkout. Is there anything else I can help you with?"

CRM.LogInteraction tagged reward-redeemed, linked to customer.accountId

  • Customer has no further questions resolved resolution
  • Customer has another question new_concern inquiry-classification

Missing Points Investigation

Say"I'm sorry to hear your points didn't post — let's look into that. Can you share the receipt number or order number and the approximate date of the purchase?"

OrderManagement.LookupTransaction by transaction.receiptNumber and transaction.purchaseDate

  • Transaction found and points not yet posted LoyaltyPlatform.CheckPendingPoints points-adjustment-review
  • Transaction found and points already posted points-already-posted
  • Transaction not found in order history unverified-transaction

Points Already Posted

Say"Good news — it looks like those points actually did post to your account, though they may take up to 48 hours to appear in your balance display. Your current total is loyalty.pointsBalance points. Does that match what you're seeing?"
  • Customer confirms the issue is resolved resolved resolution
  • Customer says the balance still looks wrong disputed escalation-human

Unverified Transaction

Say"I wasn't able to locate that transaction in our system with those details. Could you double-check the receipt number or share any other details — like the store location or the total amount? That will help me dig further."

OrderManagement.LookupTransaction secondary attempt using transaction.amount and transaction.purchaseDate

  • Transaction found on secondary lookup points-adjustment-review
  • Transaction still not found after second attempt escalation-human

Points Adjustment Review

Agent
evaluate whether a manual points adjustment is warranted based on transaction details and loyalty account history.
Goal:determine if the missing points qualify for a manual credit under policy, and calculate the correct points amount to award.
Constraints:never issue a points adjustment above the policy maximum without manager approval; cross-reference kb.loyalty-rewards-policy for eligible purchase categories before approving any credit.
Tools available:LoyaltyPlatform.GetAccountDetails, OrderManagement.LookupTransaction, kb.loyalty-rewards-policy
  • Adjustment is within policy limits and clearly supported low_risk_adjustment adjustment-approval
  • Adjustment amount is high, ambiguous, or flags a pattern high_risk_adjustment escalation-human

Adjustment Approval

Approval
Slack.RequestApproval to #loyalty-ops-approvals, approver: loyalty_ops_manager
Context sent:customer.accountId, customer.fullName, transaction.receiptNumber, transaction.purchaseDate, transaction.amount, agent's assessment of missing points
  • Approved approved LoyaltyPlatform.CreditPoints adjustment-confirmed
  • Rejected rejected adjustment-declined
  • No response in 30 min escalation-human

Adjustment Confirmed

Say"Great news — the missing points have been added to your account. Your updated balance is loyalty.pointsBalance points. You should see this reflected immediately. Is there anything else I can help you with?"

CRM.LogInteraction tagged points-adjustment-approved, linked to customer.accountId, reference adjustment.requestId

  • Customer is satisfied resolved resolution
  • Customer has another question new_concern inquiry-classification

Adjustment Declined

Say"I reviewed the details with our team, and unfortunately we weren't able to apply a points credit for this transaction based on our current policy. I know that's not the answer you were hoping for. I can share exactly why if that would be helpful, or connect you with a specialist who can look at this further."

kb.loyalty-rewards-policy — confirm decline reason to share with customer

  • Customer accepts the explanation resolved resolution
  • Customer remains dissatisfied or requests an exception frustrated escalation-human

Expiration Review

kb.loyalty-rewards-policy — retrieve expiration policy, grace window rules, and reinstatement eligibility criteria

Say"Your points are currently set to expire on loyalty.expirationDate. Our policy allows points to remain active as long as there's account activity within a set window. Would you like me to walk you through the details or check if any of your points are at risk?"
  • Points have not yet expired, customer wants prevention tips info_only resolution
  • Points expired recently and fall within the grace window within_grace_window escalation-human
  • Points expired outside the grace window outside_grace_window expiration-outside-grace
  • Customer is upset about the expiration frustrated empathy-and-policy-explanation

Expiration Outside Grace

Say"I understand how frustrating that is, especially when you've worked hard to earn those points. Unfortunately, the expiration date of loyalty.expirationDate falls outside the window where we're able to reinstate points under our current policy. I want to make sure I'm giving you the full picture — would you like me to explain how to keep future points active?"

kb.loyalty-rewards-policy — confirm grace window boundaries and prevention steps

  • Customer accepts the explanation resolved resolution
  • Customer is still dissatisfied and requests a policy exception frustrated escalation-human

Empathy & Policy Explanation

Say"I completely understand your frustration, and I want you to know your loyalty to us genuinely matters. Let me make sure I explain our policy as clearly as possible so this makes sense."

kb.loyalty-rewards-policy — retrieve relevant policy section to explain to customer

Detect
customer sentiment after explanation
  • Customer feels heard and is satisfied satisfied resolution
  • Customer remains dissatisfied and wants to escalate escalate escalation-human

Escalation to Human Agent

CRM.LogInteraction tagged escalation, linked to customer.accountId, with full interaction summary

Slack.Notify to #loyalty-ops with customer.accountId, customer.fullName, reason for escalation

Say"I want to make sure you get the best possible resolution on this. I'm connecting you with a member of our loyalty specialist team right now who has the authority to look into this further. Please hold just a moment."

Resolution

Say"I'm glad I could help sort that out for you today! Is there anything else you need before we wrap up?"

CRM.LogInteraction tagged resolved, linked to customer.accountId

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ text▣ chat▣ sms

General FAQ Telecom

TelecomFAQSupport

Intake

Say"Hi, thanks for reaching out to support! I'm here to help. What's your question today?"
Detect
intent category on question.raw
  • Question is purely general / no account data needed general general-lookup
  • Question requires account-specific details account-specific identity-verification
  • Question reveals a billing dispute or unexpected charge billing-dispute escalation-billing
  • Question reveals a service outage or technical fault technical-issue escalation-technical
  • Customer sounds frustrated or complaint is embedded in the question frustrated acknowledge-concern

Acknowledge Concern

Say"I hear you — that sounds frustrating, and I want to make sure we get this sorted for you properly. Let me help you with that now."
Detect
whether the underlying topic is account-specific or general
  • Underlying topic is general general general-lookup
  • Underlying topic requires account data account-specific identity-verification
  • Underlying topic is a billing dispute billing-dispute escalation-billing
  • Underlying topic is a technical fault technical-issue escalation-technical
  • Concern is a formal complaint requiring case handling complaint escalation-complaint

Identity Verification

Say"To pull up your account details, I'll need to verify your identity first. Could you please provide your account number or the phone number registered to your account?"

IdentityVerification.RequestAccountLookup using customer.accountNumber or customer.phone

Say"Thanks — and can you confirm your name and either your account PIN or the last 4 digits of your SSN?"

IdentityVerification.VerifyIdentity using customer.name, customer.pin, customer.ssn4

  • Identity verified successfully verified account-lookup
  • Identity verification fails after two attempts unverified unverified-general-only

Unverified — General Info Only

Say"I wasn't able to verify your identity, so I'm not able to access your specific account details right now. I can still share general information about our plans and policies, which may help. For anything account-specific, you're welcome to log in through the app or visit a store with a valid ID."

kb.general-plans-policy — retrieve publicly available plan and policy information relevant to question.topic

  • Customer accepts general information and asks a follow-up general general-lookup
  • Customer wants to try a different verification channel retry escalation-human
  • Customer has no further questions resolution

Account Lookup

CRM.GetAccountProfile using customer.accountNumber

AccountManagement.GetCurrentPlan to retrieve customer.currentPlan and customer.serviceType

Say"Got it — I can see your account. Let me look into that for you now."

account-specific-answer

Account-Specific Answer

Agent
answer question.raw using customer.currentPlan, customer.serviceType, and account profile from CRM alongside kb.faq-content.
Goal:deliver a precise, complete answer to the customer's question based on their actual account data and relevant policy, minimising back-and-forth.
Constraints:never disclose account credentials or full SSN; never make plan changes or billing adjustments without transferring to the appropriate change playbook; do not promise credits or refunds — route those to the billing escalation path.
Tools available:CRM.GetAccountProfile, AccountManagement.GetCurrentPlan, AccountManagement.GetBillingHistory, kb.faq-content, kb.general-plans-policy
  • Answer delivered and customer is satisfied confirmed resolution
  • Answer reveals a billing discrepancy or charge dispute billing-dispute escalation-billing
  • Answer reveals a service or network issue technical-issue escalation-technical
  • Topic is outside knowledge base coverage kb-gap escalation-human
  • Customer wants to make a plan change plan-change escalation-plan-change

General Lookup

kb.faq-content — retrieve answer matching question.topic

kb.general-plans-policy — supplement with plan or policy details if applicable

Say"Great question — let me find that for you."
Agent
compose a clear, plain-language answer to question.raw using kb.faq-content and kb.general-plans-policy.
Goal:give the customer a complete, accurate answer that does not require a follow-up, using only publicly available information.
Constraints:do not reference or imply any account-specific data; do not promise promotional offers not listed in kb.general-plans-policy; do not make commitments about network coverage beyond published service maps.
Tools available:kb.faq-content, kb.general-plans-policy
  • Answer delivered and customer confirms it resolved their question confirmed resolution
  • Customer follow-up question is still general general general-lookup
  • Customer follow-up requires account details account-specific identity-verification
  • Topic falls outside knowledge base coverage kb-gap kb-gap-acknowledgement
  • Customer reveals frustration or complaint frustrated acknowledge-concern

Knowledge Base Gap

Say"That's a great question, and I want to make sure you get an accurate answer — this one falls outside what I can confirm directly. I'd rather connect you with someone who has the full picture than give you incomplete information."
  • Customer agrees to be escalated confirmed escalation-human
  • Customer has a different, simpler question general general-lookup
  • Customer wants to try self-service and end the call self-service resolution

Escalation — Human Agent

CRM.CreateCase tagged faq-escalation, linked to customer.accountNumber, notes include question.raw

Say"I'm going to connect you with a specialist who can give you a definitive answer on this. One moment please."

Escalation — Billing

CRM.CreateCase tagged billing-dispute, priority: high, linked to customer.accountNumber

Say"It sounds like there may be a billing issue here — let me get you over to our billing team who can review the details and take action on your account."

Escalation — Technical Issue

CRM.CreateCase tagged technical-issue, linked to customer.accountNumber, notes include customer.serviceType

Say"This sounds like it needs a technical look — I'm routing you to our technical support team now so they can diagnose and fix this properly."

Escalation — Plan Change

Say"I can absolutely help you explore a plan change. Let me transfer you to the right flow to walk through your options and make that update."

plan-change-telecom

Escalation — Complaint

CRM.CreateCase tagged formal-complaint, priority: high, linked to customer.accountNumber, notes include question.raw

Say"I want to make sure your concern is properly recorded and handled. I'm escalating this to our customer relations team who will follow up with you directly."

Resolution

Say"Is there anything else I can help you with today?"
Detect
whether the customer has a follow-up question
  • Customer has another question follow-up intake
  • Customer confirms they are done confirmed close

Close

Say"Wonderful — glad I could help. Thanks for reaching out, and don't hesitate to contact us if anything else comes up. Have a great day!"
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ text▣ chat▣ sms

General FAQ / Product Info

Financial ServicesFAQProduct InfoSupport

Intake

Say"Thanks for reaching out. I'm here to help with any questions about our products, accounts, rates, fees, or policies. What would you like to know today?"
Detect
customer intent on opening message
  • Customer asks about a specific product or account type (HYSA, CD, checking, savings, loan) product-inquiry topic-identification
  • Customer asks about rates or current pricing rate-inquiry topic-identification
  • Customer asks about fees or charges fee-inquiry topic-identification
  • Customer asks about a policy or terms policy-inquiry topic-identification
  • Customer references their own account balance, transaction, or personal account detail account-detail-request identity-verification
  • Customer mentions a complaint, dispute, or expresses frustration complaint escalation-human
  • Customer explicitly asks to speak with a human human-request escalation-human
  • Intent unclear or ambiguous unclear clarify-question

Clarify Question

Say"Happy to help — could you give me a bit more detail? For example, are you asking about a specific product like a high-yield savings account or CD, or about a fee or policy on an existing account?"
Detect
clarified intent on follow-up reply
  • Customer clarifies a product, rate, fee, or policy topic product-inquiry topic-identification
  • Customer clarifies they need account-specific information account-detail-request identity-verification
  • Customer still unclear or asks for a human unclear escalation-human

Topic Identification

Agent
identify the precise product, fee, rate, or policy topic from query.topic and query.product, then determine the right knowledge base source to query.
Goal:pinpoint exactly what information the customer needs — product mechanics, current rate, fee schedule, or policy rule — so the correct, up-to-date record is retrieved.
Constraints:never guess at rates, fees, or policy details; never surface a rate or fee that has not been confirmed as current from the rate-fee-database or faq-cms; always note if customer.state may affect product availability or terms.
Tools available:FAQCMS.LookupTopic, RateFeeDatabase.QueryProduct, CRM.GetCustomerProfile, kb.product-catalog
  • Topic identified and maps to a standard product or policy kb.product-catalog knowledge-base-lookup
  • Topic identified and is rate- or fee-specific RateFeeDatabase.QueryProduct rate-fee-retrieval
  • Topic involves investment products or securities investment-topic investment-disclaimer-check
  • Topic cannot be matched to any known product or policy no-match knowledge-gap-handling

Knowledge Base Lookup

FAQCMS.LookupTopic for query.topic filtered by customer.state

CRM.GetCustomerProfile for customer.id to confirm customer.status (existing or prospective)

Detect
lookup result quality
  • Clear, current, single result returned result-found deliver-answer
  • Result returned but flagged as recently updated or version-changed stale-or-updated change-flag-review
  • No result or conflicting entries returned no-result knowledge-gap-handling

Rate / Fee Retrieval

RateFeeDatabase.QueryProduct for product.name filtered by customer.state

FAQCMS.LookupTopic for any associated fee-schedule or policy footnotes

Detect
promotional or time-sensitive context
  • Current rate or fee confirmed, no promotional flag result-found deliver-answer
  • Promotional rate or limited-time offer applies promo-active promo-terms-delivery
  • Rate or fee recently changed rate-changed change-flag-review
  • Query returns no data or an error no-result knowledge-gap-handling

Change Flag Review

RateFeeDatabase.QueryProduct to pull the most current record and confirm effective date

FAQCMS.LookupTopic to retrieve any change notice or customer communication linked to query.topic

Say"Just so you know, there was a recent update to this information — I want to make sure I give you the latest. One moment."
  • Most current version confirmed and retrieved deliver-answer
  • Change is tied to a promotional window promo-active promo-terms-delivery
  • Conflict persists or effective date is ambiguous conflict knowledge-gap-handling

Promo Terms Delivery

Say"Great news — there's a current promotional offer that applies here. Let me share the details, including when it expires."
Say"The current promotional rate or terms are: promo.terms. This offer is available until promo.expiry. Standard terms apply after that period."
Say"Would you like me to walk you through how to take advantage of this, or do you have any other questions?"
Detect
customer follow-up intent
  • Customer wants to know how to apply or enroll apply-intent escalation-human
  • Customer has another question more-questions intake
  • Customer is satisfied and has no further questions satisfied close-interaction

Investment Disclaimer Check

ComplianceDisclaimerLibrary.GetDisclaimer for query.product

Detect
nature of investment question
  • Customer is asking for general product information only (no personalized recommendation) general-info knowledge-base-lookup
  • Customer is asking for a recommendation or advice on what to buy or invest in advice-request escalation-human
  • Regulatory disclaimer required before answering kb.compliance-disclaimer-library deliver-answer-with-disclaimer

Deliver Answer

Agent
compose a clear, plain-language response to the customer's question using retrieved content from product.rateInfo, product.feeInfo, or product.policyInfo.
Goal:give the customer an accurate, complete, and easy-to-understand answer that directly addresses query.topic without jargon; tailor any state-specific nuances if customer.state affects the answer.
Constraints:never paraphrase or interpolate policy or rate data beyond what was retrieved; do not omit material terms or conditions; do not present promotional terms as permanent; always surface any applicable footnotes or conditions attached to the retrieved record.
Tools available:FAQCMS.LookupTopic, RateFeeDatabase.QueryProduct, kb.product-catalog, kb.fee-schedule
Say"Here's what you need to know about product.name: product.policyInfo"
Say"Is there anything about that I can clarify, or do you have another question?"
Detect
customer follow-up intent
  • Customer has a follow-up question on the same topic follow-up deliver-answer
  • Customer has a new question on a different topic new-topic intake
  • Customer asks something that now touches on their specific account account-detail-request identity-verification
  • Customer is satisfied satisfied close-interaction
  • Customer expresses frustration or dissatisfaction frustrated escalation-human

Deliver Answer With Disclaimer

Agent
compose a plain-language answer to the customer's general investment product question using retrieved content, then append the required regulatory disclaimer from disclaimer.text.
Goal:answer the general informational question accurately while ensuring the required compliance language is delivered before closing the topic.
Constraints:the disclaimer from ComplianceDisclaimerLibrary.GetDisclaimer must be appended verbatim and in full — it may not be shortened, paraphrased, or omitted; if the customer asks for a personalized recommendation, stop and route to escalation immediately.
Tools available:FAQCMS.LookupTopic, ComplianceDisclaimerLibrary.GetDisclaimer, kb.product-catalog, kb.compliance-disclaimer-library
Say"Here's a general overview of product.name: product.policyInfo"
Say"disclaimer.text"
Say"Do you have any other questions I can help with?"
Detect
customer follow-up intent
  • Customer has another general question more-questions intake
  • Customer asks for a personalized recommendation or advice advice-request escalation-human
  • Customer is satisfied satisfied close-interaction

Identity Verification

Say"To access any details specific to your account, I'll need to verify your identity first. This should only take a moment."

IdentityVerification.InitiateCheck for customer.id via query.channel

Detect
verification outcome
  • Verification passed identity-verified account-detail-lookup
  • Verification failed or customer unable to complete it identity-failed escalation-human
  • Customer declines verification declined offer-general-only

Offer General Only

Say"No problem — I'm not able to pull up account-specific information without verification, but I'm happy to answer any general questions about our products, rates, or policies."
Detect
customer response
  • Customer accepts general answer and asks a product question product-inquiry intake
  • Customer still wants account detail or requests a human human-request escalation-human
  • Customer has no further questions satisfied close-interaction

Account Detail Lookup

CRM.GetCustomerProfile for customer.id

RateFeeDatabase.QueryProduct for customer.accountType filtered by customer.state

Say"Thanks for verifying. I can now look into the details for your account."
Detect
nature of account detail requested
  • Customer is asking about their current rate or fee on an existing product rate-fee-detail deliver-answer
  • Customer is asking about a balance or recent transaction transaction-request escalation-human
  • Customer is asking about a policy as it applies to their account policy-detail deliver-answer

Knowledge Gap Handling

Say"I want to make sure I give you accurate information, and I don't have a confident answer to that specific question right now. Rather than guess, I'd like to connect you with someone who can give you a definitive answer."

CRM.LogInteraction with query.topic flagged as unresolved, route note to specialist.queue

  • Route to specialist queue escalation-human

Escalation to Human

CRM.LogInteraction with full conversation context, query.topic, customer.id, and escalation reason

CRM.CreateCase tagged faq-escalation, linked to customer.id and query.topic

Say"I'm going to connect you with one of our specialists who will be able to help you fully with this. You won't need to repeat yourself — I'm passing along everything we've covered."

Close Interaction

Say"You're all set. If you ever have more questions about our products or accounts, don't hesitate to reach out. Have a great day!"

CRM.LogInteraction with query.topic marked resolved and customer.status updated

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ sms▣ chat

Fraud Alert Follow-up

Financial ServicesFraudSupport

Alert Notification

FraudDetectionPlatform.FetchFlaggedTransaction to retrieve transaction.id, transaction.amount, transaction.merchant, transaction.datetime, and transaction.riskScore.

  • System lookup succeeds and transaction details are retrieved identity-verification
  • System lookup fails or returns no transaction record system_error system-lookup-failure

Identity Verification

Say"Hello, this is your Financial Services support agent reaching out about a recent alert on your account ending in card.last4. For your security, I need to verify your identity before we continue."
Say"Can you please confirm your full name, date of birth, and either your PIN or the answer to your security question on file?"

IdentityVerification.VerifyCustomer using customer.name, customer.dob, and customer.pin or customer.securityAnswer.

Detect
verification outcome from IdentityVerification.VerifyCustomer result
  • Identity verified successfully confirmed transaction-confirmation
  • Identity cannot be verified after two attempts failed verification-failure
  • Customer is uncertain or provides partial information partial verification-retry

Verification Retry

Say"No problem — let's try a different credential. Could you confirm your date of birth and the answer to your security question instead?"

IdentityVerification.VerifyCustomer retry with alternate credentials.

Detect
verification outcome on retry
  • Identity verified on retry confirmed transaction-confirmation
  • Identity still cannot be verified failed verification-failure

Verification Failure

Say"I'm sorry, but I'm unable to verify your identity at this time, so I'm not able to share any account details for your security. Please visit your nearest branch with a valid photo ID, or call us back once you have your credentials available."

CRM.LogInteraction tagged verification-failure, linked to account.id, noting no transaction details were disclosed.

Transaction Confirmation

Say"Thank you, customer.name — your identity is confirmed. We flagged a transaction on your account ending in card.last4: a charge of transaction.amount at transaction.merchant on transaction.datetime. Do you recognize this transaction?"
  • Customer confirms the transaction is theirs confirmed resolution-clear
  • Customer says the transaction is not theirs denied disputed-transaction
  • Customer is unsure or asks for more time uncertain transaction-detail-review

Transaction Detail Review

Say"Completely understandable — let me give you a moment. The charge was transaction.amount at transaction.merchant, dated transaction.datetime. Does that help you recall whether this was you?"

kb.fraud-dispute-policy — review dispute eligibility window for transaction.datetime.

  • Customer recognizes the transaction after further detail confirmed resolution-clear
  • Customer confirms the transaction is not theirs denied disputed-transaction
  • Customer remains unsure and cannot confirm or deny uncertain CRM.LogInteraction tagged pending-customer-response escalation-human

Disputed Transaction

Say"I'm sorry to hear that. I'm going to take immediate steps to secure your account. First, let me block your current card ending in card.last4 to prevent any further unauthorized use."

CardManagement.BlockCard for card.last4.

CRM.UpdateCase flagged as fraud-reported, linked to account.id and transaction.id.

Say"Your card has been blocked. Before I open a formal dispute, I also want to check — are there any other recent transactions on your account that you don't recognize?"
Detect
customer response regarding additional unrecognized transactions
  • Customer confirms only the single flagged transaction is unrecognized single-transaction open-dispute
  • Customer flags additional unrecognized transactions multiple-transactions expanded-fraud-event
  • Customer is distressed, upset, or requests immediate escalation distressed escalation-human

Expanded Fraud Event

Say"Thank you for letting me know — this is very important. I'm escalating your case immediately for a full account review. A specialist will contact you shortly, and your account will be secured while the review is underway."

CoreBanking.FreezeAccount for account.id.

FraudDetectionPlatform.FlagAccountCompromised linked to account.id.

CRM.CreateCase priority: critical, tagged expanded-fraud-account-review, linked to account.id.

DisputeManagement.OpenExpandedReview for account.id, noting all flagged transactions.

  • Case created and account frozen escalation-human

Open Dispute

DisputeManagement.OpenDispute for transaction.id, transaction.amount, transaction.merchant, linked to account.id. Capture dispute.caseId.

Say"I've opened a dispute for the charge of transaction.amount at transaction.merchant. Your dispute reference number is dispute.caseId. Our team will investigate and you'll receive an update within 5 to 7 business days."

replacement-card

Replacement Card

Say"I'll now arrange a replacement card for you. Can you confirm your current mailing address so we can get that sent out?"

CardManagement.IssueReplacementCard for card.last4, ship to replacement.deliveryAddress.

Approval
Slack.RequestApproval to #fraud-ops-approvals, approver: fraud_ops_lead
Context sent:account.id, transaction.id, transaction.amount, dispute.caseId, card block confirmed, replacement card address
  • Approved approved dispute-wrap-up
  • Rejected rejected escalation-human
  • No response within 30 min escalation-human

Dispute Wrap-up

CRM.UpdateCase with dispute.caseId, card block status, and replacement card shipping confirmation.

CoreBanking.ClearFraudAlert on transaction.id.

Say"Your replacement card will arrive within 5 to 7 business days. Your dispute is filed under reference dispute.caseId, and your account is now secured. Is there anything else I can help you with today?"
  • Customer has further questions or concerns escalation-human
  • Customer is satisfied and call can close resolution-clear

System Lookup Failure

CRM.LogInteraction tagged system-error-transaction-lookup, linked to account.id, noting transaction details could not be retrieved.

Say"I apologize — I'm experiencing a technical issue and I'm unable to retrieve the transaction details at this moment. I've flagged this for our team to review manually. Please call us back in a short while or visit your nearest branch, and we'll have this sorted for you as quickly as possible."

FraudDetectionPlatform.FlagForManualReview linked to account.id, tagged system-lookup-failure.

Escalation to Human Agent

CRM.CreateCase priority: high, tagged fraud-escalation, linked to account.id and transaction.id.

Slack.Notify to #fraud-ops with case summary including account.id, transaction.id, transaction.amount, card.last4, and reason for escalation.

Say"I'm connecting you now with a fraud specialist who has full visibility into your account and can take immediate action. Please hold for just a moment — you're in good hands."

Resolution — Clear

CoreBanking.ClearFraudAlert on transaction.id.

CRM.LogInteraction tagged alert-cleared-customer-confirmed, linked to account.id.

Say"Great — I've cleared the alert on that transaction and your account remains fully active with no further action needed. Thank you for confirming, customer.name. If you ever spot anything unfamiliar, don't hesitate to reach out. Have a great day."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ text

Device Troubleshooting

TelecomSupportDeviceTroubleshooting

Identity Verification

Say"Thanks for reaching out to support. I'm here to help get your device working again. Can I start by pulling up your account? Please share your name and the phone number or account number associated with your account."

CRM.LookupAccount using customer.phone or customer.accountId

  • Account found, identity confirmed verified device-details
  • Account not found or system lookup fails lookup_failed manual-account-collection
  • Customer cannot verify identity after two attempts escalation-human

Manual Account Collection

Say"No problem — I can look into this manually. Could you give me your full name, the device's phone number, and if you have it handy, the IMEI number printed on your device or in Settings?"

CRM.CreateManualRecord with collected details

Ticketing.FlagForDataSyncReview tagged data-sync-error, linked to customer.accountId

  • Details collected and record created device-details
  • Customer unable to provide sufficient details escalation-human

Device Details

Say"Great, I've got your account. Now let's look at the device. Can you confirm the make and model of the device you're having trouble with, and roughly when the issue started?"

DeviceManagement.LookupDevice using device.imei or customer.accountId

  • Device record found, pulling device.make, device.model, device.imei issue-intake
  • Device record not found CRM.NoteManualDevice collect device.make, device.model, device.imei manually issue-intake

Issue Intake

Say"Thanks. Tell me what's been happening with your device.make device.model — what does the problem look like, and have you already tried anything to fix it?"

CRM.LogInteraction note issue.description, issue.startDate, issue.stepsTried

Ticketing.CheckPriorContacts for customer.accountId, device.imei

Detect
prior contact history and issue severity
  • Same issue reported three or more times repeat_contact escalation-specialist
  • Customer expresses significant frustration or urgency frustrated escalation-specialist
  • Physical damage mentioned (cracked screen, water damage, etc.) physical_damage physical-damage-assessment
  • No prior contacts or fewer than three, standard issue basic-troubleshooting

Basic Troubleshooting

Say"Let's start with the most common fixes — these resolve the majority of issues. I'll walk you through each one and we can check as we go."

kb.device-troubleshooting-standard-steps — retrieve model-specific restart and reset instructions for device.make device.model

Say"First, let's do a full restart. Hold down the power button and select Restart — let me know once it's back up."

NetworkDiagnostics.RunCheck on device.imei — scan for signal, data connectivity, and provisioning issues

  • Network or provisioning fault detected network_fault NetworkDiagnostics.PushProvisioningFix post-basic-check
  • No network fault, continue with device-side steps software-update-check

Software Update Check

Say"Good. Now let's make sure your software is up to date. Go to Settings, then General or About, then Software Update. Do you see an update available?"
  • Customer confirms update available, guides them to install DeviceManagement.LogUpdateInitiated post-basic-check
  • Device already on latest software, no update available network-settings-reset

Network Settings Reset

Say"The next step is resetting your network settings — this won't delete your apps or photos, but it will clear saved Wi-Fi passwords. Go to Settings, then General, then Transfer or Reset, then Reset Network Settings."

kb.network-reset-instructions — confirm steps for device.make device.model

  • Customer completes reset and reconnects post-basic-check
  • Customer declines to proceed or step causes a new error advanced-troubleshooting

Post-Basic Check

Say"Let's see where we are — is the issue resolved now, or are you still seeing the same problem?"
Detect
customer confirmation of issue status
  • Issue resolved confirmed resolution-confirmed
  • Issue still present unresolved advanced-troubleshooting

Advanced Troubleshooting

Agent
diagnose the remaining fault using device.imei diagnostics, issue.description, issue.stepsTried, and kb.advanced-device-troubleshooting.
Goal:identify whether the fault is software-recoverable (factory reset candidate), network/provisioning-related, or hardware in nature, and recommend the correct next step.
Constraints:never recommend a factory reset without explicitly warning the customer that all data will be erased and confirming backup; never promise a replacement device without first confirming warranty or insurance eligibility.
Tools available:NetworkDiagnostics.DeepScan, DeviceManagement.GetDiagnosticsReport, kb.advanced-device-troubleshooting
  • Agent determines factory reset is appropriate path factory_reset_candidate factory-reset-guidance
  • Agent determines hardware fault likely hardware_fault physical-damage-assessment
  • Agent determines issue is unresolvable through scripted steps unresolved_scripted escalation-specialist

Factory Reset Guidance

Say"Based on the diagnostics, a factory reset is the most likely fix. This will erase everything on the device and restore it to out-of-box settings. Before we go further — do you have your data backed up, or would you like help with that first?"

kb.factory-reset-instructions — retrieve step-by-step for device.make device.model

  • Customer confirms backup complete and agrees to proceed DeviceManagement.LogFactoryResetInitiated post-factory-check
  • Customer wants to back up first CRM.NoteBackupPending callback-scheduling
  • Customer declines factory reset escalation-specialist

Post-Factory Check

Say"Give the device a moment to come back up — this can take a few minutes. Once you're back to the setup screen, let me know and we'll confirm everything is working."
Detect
customer confirmation of issue status after factory reset
  • Issue resolved confirmed resolution-confirmed
  • Issue still present after factory reset unresolved escalation-specialist

Physical Damage Assessment

Say"I'm sorry to hear the device has physical damage. Let me check what coverage options are available on your account."

WarrantyInsurance.CheckEligibility for device.imei, customer.accountId — retrieve device.warrantyStatus, device.insuranceStatus

  • Device under active warranty, damage type covered warranty_eligible warranty-repair-route
  • Device covered by insurance insurance_eligible insurance-claim-route
  • No warranty or insurance coverage no_coverage out-of-warranty-options

Warranty Repair Route

Say"Good news — your device is covered under warranty. I'll get a repair or replacement order started for you now."

WarrantyInsurance.InitiateWarrantyClaim for device.imei, customer.accountId

Ticketing.CreateTicket tagged warranty-repair, linked to device.imei

CRM.LogInteraction note warranty claim initiated

Say"I've opened a warranty claim. You'll receive a confirmation at customer.email with next steps — typically within one business day. Is there anything else I can help with today?"

resolution-confirmed

Insurance Claim Route

Say"Your device is covered under your insurance plan. I'll transfer you to the claims workflow now, where a specialist will walk you through filing your claim and arranging a replacement or repair."

Ticketing.CreateTicket tagged insurance-claim, linked to device.imei

CRM.LogInteraction note insurance claim routed

insurance-claims-workflow

Out-of-Warranty Options

Say"Unfortunately the device isn't covered under warranty or insurance for this type of damage. I can walk you through a couple of options — a paid repair through an authorized service center, or an upgrade to a new device on your account."

kb.repair-center-locator — retrieve authorized repair centers near customer

kb.device-upgrade-eligibility — check upgrade options for customer.accountId

  • Customer wants paid repair CRM.LogInteraction note repair referral provided, share repair center details resolution-confirmed
  • Customer wants to explore upgrade escalation-human
  • Customer wants to think it over CRM.LogInteraction note options presented resolution-confirmed

Callback Scheduling

Say"No problem at all — let's get a time scheduled for a senior tech specialist to call you back, so you have the time you need to get your backup sorted first."

CRM.ScheduleCallback for customer.phone, note issue.description and steps completed

Ticketing.CreateTicket tagged callback-pending, linked to device.imei

Say"You're all set — you'll receive a confirmation at customer.phone. The specialist will have the full notes from today so you won't have to repeat yourself."

resolution-confirmed

Escalation to Specialist

Say"I want to make sure you get the best help here. I'm escalating this to one of our senior tech specialists who has the tools to dig deeper into this. I'll make sure they have all the notes from today."

Ticketing.CreateTicket tagged specialist-escalation, priority: high, linked to device.imei, customer.accountId

CRM.LogInteraction note escalation reason: issue.description, prior contacts ticket.priorContactCount, steps completed

CRM.NotifySpecialistQueue with ticket summary

Say"A specialist will be with you shortly — or if you prefer a callback, just let me know and I can schedule that instead."
  • Customer prefers callback callback-scheduling
  • Customer holds for specialist escalation-human

Escalation to Human Agent

Ticketing.CreateTicket tagged human-handoff, priority: high, linked to device.imei, customer.accountId

CRM.LogInteraction note full interaction summary

Say"I'm connecting you with a team member right now who can take it from here. I've passed along everything from our conversation so you're all set."

Resolution Confirmed

Say"Glad we could sort that out! Just to confirm — is everything working as expected now, or is there anything else I can help you with today?"

Ticketing.CreateTicket tagged resolved, linked to device.imei, customer.accountId

CRM.LogInteraction note resolution summary, steps taken, outcome

CRM.CloseInteraction for customer.accountId

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ chat▣ email▣ sms

Complaint Escalation Stay/Trip Issue

TravelHospitalityComplaintsEscalation

Intake & Verification

Say"Thank you for reaching out. I'm sorry to hear you experienced an issue — I want to make sure we get this resolved for you. Could you please share your booking or reservation ID along with the property name and dates of your stay?"

CRM.LookupCustomer by customer.phone or customer.email

PropertyManagementSystem.LookupReservation by booking.id

  • Reservation found and account matched complaint-capture
  • Reservation not found in system manual-case-creation
  • Customer mentions a prior unresolved case CaseManagement.LookupCase by complaint.priorCaseNumber complaint-capture

Complaint Capture

Say"Thank you, customer.name — I can see your stay at booking.propertyName from booking.checkIn to booking.checkOut. I'm sorry things didn't go as expected. Could you walk me through what happened so I can fully understand the situation?"

LoyaltyPlatform.GetProfile by customer.loyaltyNumber

Detect
sentiment and escalation signals in customer description
  • Customer describes issue calmly and provides clear details neutral policy-check
  • Customer is highly upset, distressed, or emotional frustrated empathy-de-escalation
  • Customer explicitly mentions legal action, regulatory body, health or safety incident threatened escalation-human

Empathy & De-escalation

Say"I completely understand how frustrating this must have been, and I sincerely apologize for the experience you had. Your feedback matters enormously to us, and I am personally going to make sure this is handled properly. Please take your time."
Detect
whether customer de-escalates after empathy response
  • Customer calms and continues describing the issue neutral policy-check
  • Customer remains highly distressed or repeats legal / safety threat threatened escalation-human

Policy Check

kb.complaint-resolution-policy — verify complaint window, eligible remedy types, and authorization limits for booking.checkOut and complaint.nature

PropertyManagementSystem.GetReservationDetails for booking.id to confirm rate, room type, and recorded amenities

  • Stay is within complaint window and issue is policy-eligible remedy-assessment
  • Stay falls outside complaint window or issue is partially out of scope out-of-scope-partial-remedy
  • Booking channel is a third-party OTA OTAPartnerPortal.CheckBookingOwnership ota-redirect

Remedy Assessment

Agent
evaluate the appropriate remedy for complaint.nature and complaint.details against booking.id history and kb.complaint-resolution-policy.
Goal:determine whether to offer a full refund, partial refund, loyalty credit, apology voucher, or formal complaint documentation, and at what value.
Constraints:never authorize a refund or credit above USD 500 without human approval; never promise compensation before verifying the stay record; always document every remedy offer in the case management system regardless of outcome.
Tools available:PropertyManagementSystem.GetReservationDetails, LoyaltyPlatform.GetProfile, RefundBillingSystem.CheckEligibility, kb.complaint-resolution-policy
  • Remedy is within authorization limits and straightforward remedy-confirmation
  • Requested or warranted compensation exceeds authorization limit exceeds_limit escalation-human
  • Complaint involves a safety or health element safety_flag escalation-human

Remedy Confirmation

Say"Based on what you've described and your reservation details, I'd like to offer you remedy.type valued at remedy.value as a remedy for your experience. Does that sound acceptable to you?"
Detect
customer response to proposed remedy
  • Customer accepts the remedy confirmed process-remedy
  • Customer rejects and requests higher compensation dissatisfied escalation-review
  • Customer requests time to think and asks to be followed up case-documentation

Process Remedy

RefundBillingSystem.ProcessRefundOrCredit for booking.id with remedy.type and remedy.value

LoyaltyPlatform.ApplyCredit if remedy.type is loyalty credit

CaseManagement.CreateCase tagged complaint-resolved, linked to booking.id and customer.loyaltyNumber

CRM.UpdateCustomerRecord with case reference case.id and remedy details

Say"I've processed your remedy.type — you should see it reflected within 3 to 5 business days. I've also created case case.id as a record of this interaction. Is there anything else I can help you with today?"
  • Customer confirms receipt and has no further issues resolution-close
  • Customer raises an additional complaint complaint-capture

Escalation Review

Approval
Slack.RequestApproval to #hospitality-resolutions, approver: resolutions_manager
Context sent:booking.id, booking.propertyName, booking.checkIn, booking.checkOut, complaint.nature, complaint.details, customer.desiredResolution, remedy.type, remedy.value, customer.loyaltyNumber
  • Approved approved process-remedy
  • Rejected rejected remedy-final-offer
  • No response in 60 min escalation-human

Remedy Final Offer

Say"I've reviewed your case with our resolutions team. While we aren't able to meet the full amount requested, we'd like to offer remedy.type at remedy.value as our best available resolution. I understand this may not be everything you hoped for, and I want to sincerely apologize again for the inconvenience."
Detect
customer response to final offer
  • Customer accepts confirmed process-remedy
  • Customer declines and wishes to escalate further dissatisfied escalation-human

OTA Redirect

Say"I can see that your booking was made through a third-party platform, which means the payment and refund for your reservation are managed on their end. Unfortunately I'm not able to process a direct refund from our side, but I want to make sure you're not left without support."

CaseManagement.CreateCase tagged ota-redirect, linked to booking.id

OTAPartnerPortal.InitiateDisputeReferral for booking.id with complaint.nature and complaint.details

Say"I've created an internal record of your complaint as case case.id, and I've flagged the issue with the booking platform on your behalf. I'd recommend also contacting them directly to request the refund. Can I help you with anything else, or provide any documentation to support your claim?"
  • Customer is satisfied with the redirect guidance resolution-close
  • Customer is unsatisfied and escalates frustration frustrated escalation-human

Out-of-Scope / Partial Remedy

Say"I've reviewed your reservation details and I want to be transparent with you — based on our policy, this type of complaint typically needs to be raised within a specific window after checkout, and we're slightly outside that timeframe. I'm sorry for any confusion around that."

kb.complaint-resolution-policy — identify any goodwill or partial remedy options available outside the standard window

Say"While I'm not able to process a full remedy in this case, I do want to acknowledge the experience you had. I can offer remedy.type as a goodwill gesture, and I'll make sure your feedback is formally documented."

CaseManagement.CreateCase tagged out-of-scope, linked to booking.id

  • Customer accepts the partial or goodwill remedy confirmed process-remedy
  • Customer is dissatisfied and escalates frustrated escalation-human

Manual Case Creation

Say"I wasn't able to locate a reservation with those details in our system right now — that can sometimes happen if the booking is very recent or was made under a different contact. No worries; let me gather your information manually so we can investigate and follow up with you."

CRM.LookupCustomer by customer.email or customer.loyaltyNumber

CaseManagement.CreateCase tagged pending-lookup, with booking.propertyName, booking.checkIn, booking.checkOut, complaint.nature, customer.email, customer.phone

Say"I've created a pending case reference for you — case.id. Our team will investigate and reach out to you at customer.email within 2 business days. I'm sorry we couldn't resolve this immediately."
  • Customer accepts the follow-up path resolution-close
  • Customer is unwilling to wait and is highly agitated frustrated escalation-human

Escalation to Human Agent

CaseManagement.CreateCase priority: urgent, tagged escalation, linked to booking.id and customer.loyaltyNumber

CRM.UpdateCustomerRecord with escalation flag and complaint.details

Slack.Notify to #hospitality-escalations with case summary, booking.id, complaint.nature, and customer.desiredResolution

Say"I completely understand, and I want to make sure you're speaking with someone who has the full authority to address this. I'm escalating your case to our senior resolutions team right now — you'll be connected with a specialist shortly. Your case reference is case.id."

Case Documentation & Follow-up

Say"Of course — I'll document everything we've discussed and make sure your case is ready whenever you'd like to proceed. Your case reference is case.id, and you can reach us at any time to continue."

CaseManagement.CreateCase tagged pending-customer-response, linked to booking.id with complaint.details and proposed remedy.type

CRM.UpdateCustomerRecord with case.id and follow-up flag

SendEmail to customer.email with case summary, proposed remedy, and contact instructions

  • Customer returns and accepts remedy confirmed process-remedy
  • Customer returns and escalates dissatisfied escalation-human

Resolution & Close

Say"I'm glad we were able to work through this together. Your experience has been documented as case case.id, and we truly value your feedback — it helps us improve. We hope to welcome you back and provide the experience you deserve. Is there anything else I can help you with today?"

CaseManagement.CloseCase for case.id with resolution status

CRM.UpdateCustomerRecord with resolved status and remedy applied

LoyaltyPlatform.LogInteraction for customer.loyaltyNumber tagged complaint-resolved

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ voice▣ chat▣ email

Complaint Escalation

RetailComplaintsEscalationSupport

Greeting & Acknowledgement

Say"Thank you for reaching out. I'm sorry to hear you've had a difficult experience — I'm here to help get this sorted for you. Could I start with your name and order or account number?"
Detect
sentiment on customer opening message or tone
  • Customer provides details calmly or with mild frustration neutral identity-verification
  • Customer is immediately hostile or uses escalation language ("speak to a manager", "unacceptable") escalation_language pre-escalation-check
  • Customer is highly distressed or emotional frustrated empathy-bridge

Empathy Bridge

Say"I can hear how frustrating this has been, and I want you to know I take this seriously. Let me pull up your details right now so we can focus on finding a resolution for you."
  • Customer settles and is willing to continue identity-verification
  • Customer continues to demand a manager or escalate escalation_language pre-escalation-check

Identity Verification

CRM.LookupCustomer using customer.accountId or order.id

ContactHistory.GetLog for customer.accountId to retrieve prior contact history on this issue

  • Customer identity and order verified successfully verified complaint-review
  • Identity or order cannot be verified unverified proof-request

Proof Request

Say"I want to make sure I'm looking at the right account. Could you provide an alternative proof of purchase — such as a receipt, confirmation email, or the card used for payment?"
  • Alternate proof provided and accepted verified complaint-review
  • Customer cannot provide any proof unverified policy-exception-flag
  • Customer becomes agitated or refuses frustrated empathy-bridge

Complaint Review

OrderManagement.GetOrderDetails for order.id including order.value, order.date, and item details

ContactHistory.GetLog to confirm complaint.nature and complaint.date and any previous resolution attempts

Say"Thank you — I can see your order from order.date. Just to make sure I have everything right, can you walk me through what happened and what you were hoping we could do for you?"
Detect
nature of complaint submitted by customer
  • Complaint relates to a product defect or damage product_issue remedy-assessment
  • Complaint relates to a missing, late, or incorrect order fulfilment_issue remedy-assessment
  • Complaint relates to a service or staff experience service_issue remedy-assessment
  • Complaint involves a potential safety or legal concern safety_legal escalation-supervisor

Remedy Assessment

Agent
evaluate the appropriate remedy for complaint.nature based on order.value, contact.history, and kb.returns-compensation-policy.
Goal:identify the most suitable remedy — refund, replacement, discount, or formal apology — that falls within agent compensation authority and policy limits.
Constraints:never approve a refund or compensation exceeding the agent authority threshold for order.value without supervisor approval; never offer a remedy that contradicts kb.returns-compensation-policy; always check contact.history for prior remedy offers before making a new one.
Tools available:OrderManagement.GetOrderDetails, ContactHistory.GetLog, RefundCompensationTool.CheckEligibility, kb.returns-compensation-policy
  • Remedy identified within policy and agent authority remedy_ready remedy-offer
  • Order value or complexity exceeds agent authority threshold authority_exceeded escalation-supervisor
  • Issue falls outside return or compensation policy out_of_policy policy-exception-flag

Remedy Offer

Say"Based on what you've described, here's what I'd like to offer you: remedy.offered. Does that work for you?"
  • Customer accepts the remedy accepted resolution-logging
  • Customer rejects the remedy and gives a reason rejected alternative-remedy-offer
  • Customer demands a manager explicitly escalation_language pre-escalation-check

Alternative Remedy Offer

Agent
construct one alternative remedy within policy limits, accounting for the customer's stated reason for rejecting remedy.offered.
Goal:offer a single alternative that meaningfully addresses the customer's concern without exceeding compensation authority or policy.
Constraints:only one alternative offer is permitted before mandatory escalation; cannot exceed agent compensation authority; must not duplicate remedy.offered.
Tools available:RefundCompensationTool.CheckEligibility, ContactHistory.GetLog, kb.returns-compensation-policy
Say"I completely understand — let me see what else I can do. remedy.alternative — would that be acceptable?"
  • Customer accepts the alternative remedy accepted resolution-logging
  • Customer rejects the alternative remedy as well rejected pre-escalation-check
  • Customer demands a manager escalation_language pre-escalation-check

Pre-Escalation Check

Detect
whether situation involves abusive language or conduct
  • Customer language is abusive or threatening abusive conduct-warning
  • Customer is demanding escalation but not abusive escalation_language escalation-supervisor
  • Two remedy offers have been refused remedies_exhausted escalation-supervisor

Conduct Warning

Say"I want to help you resolve this, and I'll do everything I can — but I do need to ask that we keep the conversation respectful so I'm able to assist you. Can we continue on that basis?"
  • Customer agrees and calms down neutral remedy-offer
  • Customer continues to use abusive language abusive escalation-conduct

Policy Exception Flag

Say"I want to be upfront with you — based on our current policy, this situation falls outside what I'm able to action directly. I'm going to document your case and flag it for a supervisor review so it receives the right attention."

CRM.UpdateCase with complaint.nature, order.id, and exception request details

RefundCompensationTool.FlagException tagged policy-exception, linked to order.id

Approval
SupervisorQueue.RequestReview to #complaints-supervisor, approver: complaints_supervisor
Context sent:customer.accountId, order.id, order.value, complaint.nature, complaint.date, contact.history, reason for policy exception
  • Approved approved remedy-offer
  • Rejected rejected escalation-supervisor
  • No response within 30 min timeout escalation-supervisor

Escalation to Supervisor

CRM.UpdateCase with full complaint summary, remedy.offered, remedy.alternative, contact.history, and escalation reason

SupervisorQueue.Assign priority: high, tagged complaint-escalation, linked to order.id

Say"I want to make sure you get the best possible help here. I'm transferring you to a senior member of our team right now who has full authority to resolve this for you. I've passed them everything we've discussed so you won't need to repeat yourself."

Escalation — Conduct Transfer

CRM.UpdateCase with complaint.nature, contact.history, and conduct flag

SupervisorQueue.Assign priority: high, tagged conduct-escalation, linked to customer.accountId

Say"I'm going to transfer you to a senior agent who may be better placed to assist you. Thank you for your patience."

Resolution Logging

RefundCompensationTool.ApplyRemedy for order.id with agreed remedy details

CRM.UpdateCase with complaint.nature, remedy applied, and resolution status: closed

ContactHistory.LogResolution for customer.accountId with outcome summary

Say"Brilliant — I've gone ahead and processed that for you. You should receive a confirmation shortly. I'm really sorry again for the experience, and thank you for giving us the chance to put it right. Is there anything else I can help you with today?"
  • Customer has further queries greeting-acknowledgement
  • Customer is satisfied and done confirmed resolution-complete

Resolution Complete

Say"Wonderful. Thank you for your patience, customer.name — take care and have a great day."

CRM.UpdateCase status: resolved, satisfaction: confirmed

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat▣ text

Claim Status Inquiry

InsuranceClaimsSupport

Intake and Verification

Say"Thank you for contacting us. I'm here to help with your claim. Can I please have your full name, policy number, and either your claim number or date of loss?"

CRM.LookupCustomer using customer.fullName and policy.number

Say"To protect your account, I'll need to verify your identity. Could you please provide your date of birth or the last four digits of your Social Security Number?"

IdentityVerification.Verify using customer.dateOfBirth or customer.ssnLast4 against policy.number

  • Identity verified successfully verified claim-record-lookup
  • Identity verification fails or information does not match unverified identity-failure
  • Customer mentions legal action, complaint, or attorney representation escalation-intent escalation-special-handling

Claim Record Lookup

ClaimsManagementSystem.GetClaim using claim.number or claim.dateOfLoss and policy.number

  • Claims system returns record successfully claim-triage
  • Claims system is unavailable or returns an error system-down system-unavailable

Claim Triage

Detect
special handling flags on claim record — litigation, attorney-represented, fatality, major injury, or special handling
  • claim.litigationFlag or claim.attorneyFlag or claim.specialHandlingFlag is set special_handling escalation-special-handling
  • claim.fatalityFlag or major injury indicator is set major_injury escalation-special-handling
  • Claim status is denied denied denial-status
  • Claim status is approved, paid, under review, received, or closed standard_status standard-status-delivery

Standard Status Delivery

Say"I've pulled up your claim. Here's the current status: claim.status."

PolicyAdministrationSystem.GetOutstandingItems for claim.number

  • Outstanding action items exist for the customer items_outstanding outstanding-items-review
  • No outstanding items and claim is closed or paid resolution-and-close
  • No outstanding items and claim is still in progress resolution-and-close

Outstanding Items Review

Say"There are a few things we still need from you to move your claim forward. Let me go through those now."

kb.claims-outstanding-items-guide — reference for explaining document or action requirements to policyholders

Say"The outstanding items on your claim are: claim.outstandingItems. Once we receive those, our team will continue processing your claim. Would you like me to send a summary of these items to your preferred contact on file?"

CRM.LogInteraction with claim.number, customer.fullName, outstanding items noted, preferred contact customer.preferredContact

  • Customer requests follow-up summary TicketingPlatform.SendSummary to customer.preferredContact resolution-and-close
  • Customer has no further requests resolution-and-close

Denial Status

Say"I can see that a decision was made on your claim. I'm sorry to share that it was denied. The reason noted on file is: claim.denialReasonCode."

kb.claims-appeals-process — retrieve current appeals eligibility window, required forms, and submission instructions

Say"You do have the right to appeal this decision. I can walk you through the appeals process, including the timeframe and what documentation you'll need to submit. Would you like me to do that?"

CRM.LogInteraction with claim.number, denial reason claim.denialReasonCode, appeals information provided

  • Customer wants appeals information explained appeals-guidance
  • Customer expresses intent to file complaint or legal action escalation-intent escalation-special-handling
  • Customer declines appeals information and has no further questions resolution-and-close

Appeals Guidance

kb.claims-appeals-process — confirm deadlines, required forms, and submission address or portal link

Say"To file an appeal, you'll need to submit a written request along with any supporting documentation within the timeframe specified in your policy. I can send the appeal form and instructions directly to your preferred contact. Is there anything else you'd like me to clarify about the process?"

TicketingPlatform.SendAppealInstructions to customer.preferredContact with claim.number

CRM.LogInteraction with claim.number, appeals guidance provided, instructions sent to customer.preferredContact

  • Customer has additional questions resolution-and-close
  • Customer has no further questions resolution-and-close

Identity Failure

Say"I'm sorry — I wasn't able to verify your identity with the information provided, which means I'm unable to share claim details at this time. This is to protect the security of your account."

IdentityVerification.SendSecureLink to customer.preferredContact

Say"I've sent a secure verification link to the contact information we have on file. Once you complete that step, you'll be able to access your claim details through the portal, or you're welcome to call back and we can try again. Is there anything else I can help you with today?"

CRM.LogInteraction with policy.number, identity verification failed, secure link sent

System Unavailable

Say"I apologize — our claims system appears to be temporarily unavailable, and I'm not able to pull up your record right now. I don't want to leave you without an answer."

TicketingPlatform.CreateInquiry with customer.fullName, policy.number, claim.number, claim.dateOfLoss, customer.preferredContact — generate ticket.referenceNumber

Say"I've logged your inquiry and assigned it a reference number: ticket.referenceNumber. A member of our claims team will follow up with you within one business day using your preferred contact method. Is there anything else I can note on your behalf?"

CRM.LogInteraction with ticket.referenceNumber, system unavailability noted, callback committed

Escalation — Special Handling

Agent
assess the case context to prepare a complete handoff package for the claims legal or special handling team.
Goal:compile all available claim identifiers, flags, and customer-stated concerns so the receiving team can act immediately without re-contacting the customer for basic information.
Constraints:do not comment on claim merits, liability, settlement posture, or legal strategy; do not confirm or deny specific claim details beyond what has already been shared prior to flag detection; always notify the customer that a specialist is taking over before transferring.
Tools available:CRM.LogInteraction, TicketingPlatform.CreatePriorityCase, kb.special-handling-routing-guide
Say"I want to make sure your situation receives the right level of attention. I'm going to transfer you to our specialized claims team who handles cases like yours directly. They'll have your information and will be able to assist you fully."

TicketingPlatform.CreatePriorityCase with customer.fullName, policy.number, claim.number, claim.specialHandlingFlag, claim.litigationFlag, claim.fatalityFlag, claim.attorneyFlag, escalation reason noted

CRM.LogInteraction with claim.number, escalation to special handling team, reason flagged

  • Handoff package complete and specialist team notified escalation_ready escalation-human

Escalation to Human Specialist

Say"I'm now connecting you with a claims specialist. Please hold for just a moment — they have your information and will pick up right where we left off. Thank you for your patience."

CRM.UpdateCase priority: high, assigned to claims-special-handling-team, ticket.referenceNumber noted

Resolution and Close

Say"Just to recap: your claim claim.number is currently showing as claim.status. If anything changes or you have additional questions, don't hesitate to reach back out — we're happy to help."

CRM.LogInteraction with claim.number, inquiry resolved, status communicated, no further action required

Say"Is there anything else I can help you with today?"
  • Customer has additional questions or a new topic intake-and-verification
  • Customer confirms no further questions — interaction complete
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat▣ email

Cancellation Request

InsuranceCancellationRetention

Intake & Identity Verification

Say"Thank you for contacting us. I can help you with a cancellation request today. To get started, I'll need to verify your identity. Could you please provide your full name, date of birth, and policy number?"

CRM.LookupCustomer using customer.fullName and customer.dateOfBirth

PolicyManagement.LookupPolicy using policy.number

Detect
identity verification outcome
  • Identity confirmed and policy found confirmed reason-capture
  • Identity cannot be confirmed after two attempts unverified escalation-identity-failure
  • Policy number not found or does not match customer record mismatch escalation-identity-failure

Reason Capture

Say"Thank you, I've verified your account. Before I process your cancellation request, could you tell me the reason you'd like to cancel, and what effective date you have in mind for the cancellation?"

CRM.LogInteraction tag: cancellation-request, policy.number

Detect
cancellation reason category
  • Customer states price is too high or service dissatisfaction price-or-service retention-offer
  • Customer states they are switching providers switching active-claim-check
  • Customer states coverage no longer needed coverage-not-needed active-claim-check
  • Any other stated reason other-reason active-claim-check

Retention Offer

Say"I'm sorry to hear that. Before we proceed with the cancellation, I'd like to see if there's something we can do to address your concerns. We may be able to offer a premium discount, adjust your coverage levels, or explore a payment plan that better fits your budget."

kb.retention-offers — check available discounts and coverage adjustment options for policy.type

  • Customer is open to hearing options interested present-retention-options
  • Customer declines and confirms they want to cancel declines-retention active-claim-check

Present Retention Options

Agent
present the best-fit retention option to the customer based on cancellation.reason, policy.type, and kb.retention-offers.
Goal:identify and offer one or two targeted retention alternatives — discount, coverage adjustment, or payment plan — that directly address the customer's stated reason for cancelling.
Constraints:never promise a discount not listed in kb.retention-offers; never modify the policy without explicit customer confirmation; always confirm the customer understands the new terms before applying any change.
Tools available:PolicyManagement.GetPolicyDetails, BillingPayments.GetPaymentHistory, kb.retention-offers
  • Customer accepts a retention offer and wants to keep the policy retained PolicyManagement.ApplyRetentionChange retention-confirmed
  • Customer hears the options and still wants to cancel still-cancelling active-claim-check

Retention Confirmed

Say"Wonderful — I've applied the change to your policy. You'll receive a confirmation email shortly outlining the updated terms. Is there anything else I can help you with today?"

DocumentDelivery.SendEmail to customer.email with updated policy summary

Active Claim Check

PolicyManagement.CheckActiveClaims for policy.number

Detect
active claim status on policy
  • No active claims found no-claims effective-date-check
  • Active claim found on policy active-claim escalation-active-claim

Effective Date Check

PolicyManagement.ValidateCancellationDate using cancellation.requestedDate and policy.effectiveDate

kb.cancellation-backdating-rules — check whether backdating is permitted for policy.type

Detect
requested effective date validity
  • Requested date is today or in the future date-valid cancellation-terms-review
  • Requested date is in the past and backdating is permitted per policy rules backdating-permitted cancellation-terms-review
  • Requested date is in the past and backdating is not permitted backdating-not-permitted flag-backdating-issue

Flag Backdating Issue

Say"I see you've requested a cancellation date that falls in the past. Unfortunately, our policy guidelines don't allow us to backdate cancellations to that date. The earliest effective date we can process is today. Would you like to proceed with today's date, or would you prefer a future date?"
Detect
customer response to backdating limitation
  • Customer accepts today's date or a future date accepts-new-date cancellation-terms-review
  • Customer disputes the backdating limitation and refuses disputes-backdating escalation-fee-or-policy-dispute

Cancellation Terms Review

BillingPayments.GetOutstandingBalance for policy.number

BillingPayments.CalculateRefund for policy.number and cancellation.requestedDate

Say"Before I finalize the cancellation, let me go over the terms with you. Your policy will be cancelled effective cancellation.requestedDate. Any outstanding balance of policy.cancellationFee will need to be settled, and your estimated refund is policy.refundAmount. Do you have any questions about these terms before we proceed?"
Detect
customer response to cancellation terms
  • Customer confirms and wants to proceed confirmed-terms authorization-check
  • Customer disputes the cancellation fee disputes-fee escalation-fee-or-policy-dispute
  • Customer wants to reconsider reconsider reason-capture

Authorization Check

kb.cancellation-authorization-rules — check whether policy.type requires a licensed agent or supervisor to authorize

Detect
authorization requirement for policy type
  • Standard policy — no additional authorization required standard-auth process-cancellation
  • Policy type requires licensed agent or supervisor authorization requires-supervisor escalation-supervisor-authorization

Process Cancellation

PolicyManagement.CancelPolicy policy: policy.number, effectiveDate: cancellation.requestedDate

BillingPayments.ProcessRefund amount: policy.refundAmount, to: customer.email

CRM.UpdateRecord tag: policy-cancelled, policy.number, cancellation.reason

DocumentDelivery.SendEmail to customer.email with cancellation confirmation and cancellation.confirmationNumber

Say"Your policy has been successfully cancelled effective cancellation.requestedDate. You'll receive a confirmation email at customer.email shortly, which includes your confirmation number and refund details. Is there anything else I can help you with today?"

cancellation-complete

Cancellation Complete

Say"Thank you for being a customer with us. If you ever need coverage again in the future, we'd be happy to help. Take care."

CRM.LogInteraction tag: cancellation-complete, policy.number, cancellation.confirmationNumber

Escalation — Active Claim on Policy

Say"I've found that there is currently an active claim on your policy. We're unable to process a cancellation while a claim is open, as this could affect your coverage for that claim. I'm going to connect you with a specialist who can walk you through your options and the implications in detail."

CRM.LogInteraction tag: escalation-active-claim, policy.number, claim.id, claim.status

CRM.CreateCase priority: high, tag: cancellation-blocked-active-claim, policy.number

Escalation — Identity Failure

Say"I'm sorry, but I'm unable to verify your identity with the information provided, which means I can't process this request over the phone. For your security, cancellation requests can be submitted in writing by visiting a branch or mailing a signed request to the address on your policy documents. We can also send a secure email link if you have your email on file with us."

CRM.LogInteraction tag: identity-verification-failed, policy.number

Escalation — Fee or Policy Dispute

Say"I understand your concern, and I want to make sure this is handled fairly. I'm going to escalate this to a senior member of our team who has the authority to review and address your dispute directly."

CRM.CreateCase priority: high, tag: cancellation-dispute, policy.number, cancellation.reason

CRM.LogInteraction tag: escalation-dispute, policy.number

Escalation — Supervisor Authorization Required

Say"Your policy type requires authorization from a licensed agent or supervisor before the cancellation can be finalized. I'm going to transfer you now — everything we've discussed is noted on your account so you won't need to repeat it."

CRM.LogInteraction tag: escalation-supervisor-auth-required, policy.number, policy.type

CRM.CreateCase priority: normal, tag: supervisor-auth-cancellation, policy.number

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ chat▣ voice▣ email

Booking Modification

TravelHospitalityBookingsSupport

Verify Customer

Say"Thank you for reaching out. I'd be happy to help you modify your reservation. Could you please provide your booking reference or confirmation number and the name on the reservation?"

CRM.LookupCustomer using customer.name and booking.reference

  • Customer provides valid reference and name, identity confirmed verified retrieve-booking
  • Customer cannot provide reference or name fails to match identity-not-found
  • Customer mentions a group booking or multi-leg itinerary escalation-complex-booking

Identity Not Found

Say"I wasn't able to locate a reservation with those details. Let's try a different approach — could you provide the email address used at the time of booking, or a phone number?"

CRM.LookupByContact using customer.email or customer.phone

  • Record found and customer confirmed verified retrieve-booking
  • Still no match after second attempt escalation-complex-booking

Retrieve Booking

ReservationSystem.GetBooking using booking.reference

LoyaltyDB.GetCustomerTier using customer.name to resolve customer.loyaltyTier

Say"I can see your reservation. Here are the current details: booking reference booking.reference, dates booking.currentDates, room or travel type booking.roomType, and guest name booking.passengerName. What change would you like to make today?"
Detect
intent on customer's requested modification
  • Customer wants to change dates change-dates check-date-availability
  • Customer wants to change room or cabin type change-room-type check-room-availability
  • Customer wants to update passenger or guest name change-name process-name-change
  • Customer requests multiple changes at once multiple-changes escalation-complex-booking
  • Booking was made through a third party third-party-booking third-party-advisory

Check Date Availability

Say"Let me check availability for your requested new dates."

AvailabilityEngine.CheckDates using booking.reference and change.newDates

ReservationSystem.GetRateRules using booking.reference to evaluate booking.rateType

  • Requested dates are available and rate is modifiable available review-fare-difference
  • Requested dates are available but rate is non-modifiable non-modifiable non-modifiable-rate
  • Requested dates are unavailable unavailable suggest-alternative-dates

Suggest Alternative Dates

AvailabilityEngine.GetNearestAvailable using booking.reference to resolve availability.nearestDates

Say"Unfortunately, your requested dates aren't available. The nearest available options are availability.nearestDates. Would any of these work for you?"
  • Customer accepts an alternative date review-fare-difference
  • Customer declines all alternatives and wants to cancel cancel-request cancellation-advisory
  • Customer wants to think it over and call back defer wrap-up-no-change

Check Room Availability

Say"Let me check whether your preferred room or cabin type is available."

AvailabilityEngine.CheckRoomType using booking.reference and change.newRoomType

ReservationSystem.GetRateRules using booking.reference to evaluate booking.rateType

  • Room type available and rate is modifiable available review-fare-difference
  • Room type available but rate is non-modifiable non-modifiable non-modifiable-rate
  • Room type unavailable unavailable suggest-alternative-room

Suggest Alternative Room

AvailabilityEngine.GetAlternativeRooms using booking.reference

Say"That room type isn't available for your dates. Here are comparable alternatives that are open. Would any of these suit you?"
  • Customer selects an alternative review-fare-difference
  • Customer declines all alternatives and wants to cancel cancel-request cancellation-advisory
  • Customer wants to think it over defer wrap-up-no-change

Review Fare Difference

PaymentProcessor.CalculateDifference using booking.reference, change.newDates, change.newRoomType to resolve fare.difference and fee.modification

Say"Here's a summary of the change: the fare difference is fare.difference and the modification fee is fee.modification. The total additional charge to your payment method on file would be reflected accordingly. Would you like to proceed?"
  • Customer accepts the cost and confirms confirmed apply-modification
  • Customer disputes the modification fee disputes-fee fee-waiver-review
  • Customer declines and wants to cancel cancel-request cancellation-advisory
  • Customer declines and wants to keep original booking keep-original wrap-up-no-change

Fee Waiver Review

LoyaltyDB.GetCustomerTier using customer.name to confirm customer.loyaltyTier

kb.goodwill-waiver-policy — check eligibility based on customer.loyaltyTier and fee.modification

Agent
determine whether the modification fee qualifies for a waiver based on loyalty status and goodwill policy.
Goal:decide if the fee can be waived automatically or requires supervisor approval.
Constraints:never waive fees above USD 150 without supervisor approval; always document the waiver reason in the CRM; do not offer goodwill waivers more than once per customer per calendar year.
Tools available:LoyaltyDB.GetCustomerTier, CRM.GetWaiverHistory, kb.goodwill-waiver-policy
  • Agent determines fee is auto-waivable under loyalty or goodwill policy auto-waiver apply-modification
  • Agent determines fee waiver requires supervisor sign-off needs-approval waiver-approval
  • Agent determines fee is not waivable and customer still disputes disputed escalation-fee-dispute

Waiver Approval

Approval
Slack.RequestApproval to #reservations-supervisors, approver: reservations_supervisor
Context sent:booking.reference, customer.name, customer.loyaltyTier, fee.modification, agent's waiver rationale
  • Approved approved CRM.LogWaiverGranted apply-modification
  • Rejected rejected fee-waiver-declined
  • No response in 20 min escalation-fee-dispute

Fee Waiver Declined

Say"I wasn't able to get the fee waived on this occasion. The modification fee of fee.modification would still apply. Would you like to proceed with the change, or would you prefer to keep your current booking as is?"
  • Customer agrees to pay the fee confirmed apply-modification
  • Customer declines and wants to cancel cancel-request cancellation-advisory
  • Customer wants to keep original booking keep-original wrap-up-no-change
  • Customer escalates and demands supervisor escalate escalation-fee-dispute

Process Name Change

Say"I can help with a name correction. Could you confirm the correct full name as it should appear on the reservation, and let me know whether this is a minor correction or a full name transfer?"

kb.name-change-policy — verify permissible name change rules for booking.rateType

  • Minor spelling correction permitted under policy minor-correction apply-modification
  • Full name transfer or legal name change required escalation-complex-booking

Apply Modification

ReservationSystem.UpdateBooking with booking.reference, change.newDates, change.newRoomType, change.newPassengerName, change.requestedDetail

PaymentProcessor.ChargeBalance using booking.paymentMethod for fare.difference and any approved fee.modification

CRM.UpdateRecord for customer.name with new booking details

NotificationService.SendConfirmation to customer.email and customer.phone with updated itinerary

Say"Your booking has been updated successfully. I've sent a confirmation with your revised itinerary to customer.email. Is there anything else I can help you with?"
  • Customer has additional requests more-changes retrieve-booking
  • Customer is satisfied and done done wrap-up-confirmed

Non-Modifiable Rate

Say"I can see that the rate on your current booking is non-modifiable, which means changes to the reservation aren't permitted under the original fare rules. I have a couple of options for you: I can look into cancelling the booking subject to the applicable refund policy, or I can check whether a same-rate rebooking is available for your new dates."

kb.cancellation-refund-policy — review applicable refund terms for booking.rateType

  • Customer wants to explore cancellation and refund cancel-request cancellation-advisory
  • Customer wants to check same-rate rebooking availability rebook check-date-availability
  • Customer wants to keep original booking keep-original wrap-up-no-change

Cancellation Advisory

kb.cancellation-refund-policy — retrieve applicable terms for booking.rateType and booking.currentDates

Say"Based on your fare type, here are the cancellation terms that would apply: the refund or credit eligibility depends on your booking's rate rules. Would you like me to go ahead and initiate the cancellation, or would you prefer to keep the booking?"
  • Customer confirms cancellation confirmed escalation-cancellation-processing
  • Customer changes mind and wants to keep booking keep-original wrap-up-no-change
  • Customer disputes refund terms and demands exception dispute escalation-fee-dispute

Third-Party Advisory

Say"I can see that your reservation was originally made through a third-party provider — such as an online travel agency or travel management company. Unfortunately, modifications to third-party bookings must be processed directly through the channel where you booked, as we're unable to alter those reservations on their behalf. I'd recommend contacting them directly and referencing booking reference booking.reference. Is there anything else I can assist you with?"
  • Customer understands and has no further questions done wrap-up-no-change
  • Customer disagrees and insists we process it anyway disputes escalation-complex-booking

Wrap-Up — No Change Made

Say"No problem at all — your original booking remains exactly as it was. If you change your mind or need anything else, don't hesitate to reach out. Have a great trip!"

CRM.LogInteraction for customer.name with outcome: no modification made

Wrap-Up — Change Confirmed

Say"Wonderful — everything is confirmed. Your updated booking details have been sent to customer.email. We look forward to welcoming you. Have a great trip!"

CRM.LogInteraction for customer.name with outcome: modification successful

Escalation — Complex Booking

CRM.CreateCase priority: high, tagged complex-modification, linked to booking.reference

Slack.Notify to #reservations-complex with case summary, booking.reference, and customer.name

Say"Your request involves details that I'd like to have our specialist team handle to make sure everything is done perfectly. I'm transferring you now — they'll have full context and can take it from here."

Escalation — Fee Dispute

CRM.CreateCase priority: high, tagged fee-dispute, linked to booking.reference

Slack.Notify to #reservations-supervisors with customer.name, booking.reference, fee.modification, and dispute summary

Say"I completely understand your concern. Let me escalate this to a supervisor who has the authority to review your case in full. You'll be connected shortly, and they'll have all the details."

Escalation — Cancellation Processing

CRM.CreateCase priority: normal, tagged cancellation-request, linked to booking.reference

ReservationSystem.InitiateCancellation using booking.reference

NotificationService.SendCancellationSummary to customer.email with refund terms and timeline

Say"I've initiated the cancellation for booking booking.reference and sent a summary to customer.email, including the applicable refund terms and expected timeline. A specialist will follow up if any further action is needed."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat▣ sms

Billing / Statement Inquiry

HealthcareBillingPatient Support

Patient Greeting

Say"Thank you for contacting our billing support team. My name is your Healthcare Support Agent. To protect your privacy and access your account, I'll need to verify your identity first. May I have your full name, date of birth, and your account or guarantor ID?"
  • Patient provides all required identifiers identity-verification
  • Patient is unable or unwilling to provide identifiers hipaa-decline
  • Patient is clearly distressed or immediately demands a supervisor frustrated escalation-human

Identity Verification

CRM.LookupPatient using patient.name, patient.dob, and patient.accountId

Detect
identity verification outcome
  • All three identifiers match confirmed in system verified inquiry-intake
  • Partial match — one identifier missing or mismatched partial_match identity-retry
  • No matching record found no_match hipaa-decline

Identity Retry

Say"I want to make sure I'm protecting your information. I was unable to fully confirm your identity with what you provided. Could you double-check your account or guarantor ID — you can find it in the top right corner of your paper statement or in the patient portal?"
  • Patient provides corrected identifiers CRM.LookupPatient identity-verification
  • Patient still cannot provide matching information hipaa-decline

HIPAA Decline

Say"I'm sorry, but under federal HIPAA privacy regulations I'm unable to access or share any account or billing details without confirming your identity. I'd encourage you to log into the patient portal at your convenience, or visit our billing office in person with a valid photo ID. Is there anything general I can help you with today?"

CRM.LogInteraction note: identity verification failed, HIPAA protocol applied, no account data disclosed

Inquiry Intake

Say"Thank you, patient.name — I've verified your account. I can see your billing record. Could you tell me which charge or balance you have a question about? If you have your statement handy, the date of service or the specific line item description would be very helpful."

PatientBillingSystem.PullAccount using patient.accountId

  • Patient identifies a specific charge or line item charge-lookup
  • Patient has a general question about their total balance balance-explanation
  • Patient reports they believe there is a billing error billing-error-flag
  • Patient disputes the clinical service itself was rendered or necessary clinical-dispute
  • Patient mentions possible fraud or identity theft suspected_fraud escalation-human

Charge Lookup

PatientBillingSystem.GetChargeDetail for charge.lineItem on charge.dateOfService

InsuranceEligibilityClaims.GetClaimStatus using insurance.memberId and claim.id

EOBLookup.GetEOB for claim.id

Detect
claim and EOB status
  • EOB received and processed, patient responsibility calculated eob_received charge-explanation
  • Claim submitted but EOB not yet issued — claim still pending claim_pending pending-claim-advisory
  • Claim was denied by insurer claim_denied claim-denial-review
  • Charge not found or appears duplicated charge_anomaly billing-error-flag

Charge Explanation

Say"I've pulled up that charge. The service on charge.dateOfService for charge.description was billed at charge.amount. Your insurer insurance.planName processed the claim and applied your benefits — your portion after insurance is eob.patientResponsibility. This reflects your current deductible, copay, or coinsurance as outlined in your plan."

kb.billing-patient-responsibility — reference plan benefit structure and cost-sharing explanation guidance

Say"Does that explanation make sense, or would you like me to walk through how your benefits were applied in more detail?"
  • Patient understands and accepts the explanation confirmed payment-options
  • Patient disagrees with the insurance calculation or wants to dispute the claim disputed claim-denial-review
  • Patient still has questions about the charge needs_clarification charge-explanation-detail

Charge Explanation Detail

Agent
provide a detailed line-by-line walkthrough of how insurance.planName applied benefits to charge.lineItem, referencing the EOB and plan cost-sharing rules.
Goal:ensure the patient fully understands what each component of their bill represents and why eob.patientResponsibility is the amount owed.
Constraints:never speculate about future insurance decisions or promise adjustments not yet authorized; only describe what is documented in the EOB and billing system.
Tools available:PatientBillingSystem.GetChargeDetail, EOBLookup.GetEOB, kb.billing-patient-responsibility
  • Patient satisfied with detailed explanation confirmed payment-options
  • Patient remains unconvinced and wishes to dispute claim-denial-review
  • Patient becomes distressed frustrated escalation-human

Balance Explanation

PatientBillingSystem.GetAccountSummary for patient.accountId

Say"I can see your current account balance. Let me walk you through the outstanding charges, how insurance has been applied to each, and what remains as your patient responsibility."

kb.billing-patient-responsibility — use for explaining deductible, copay, and coinsurance terms

  • Patient understands the balance and wants to pay payment-options
  • Patient questions a specific line item on the account charge-lookup
  • Patient believes the total is incorrect billing-error-flag
  • Patient is unable to pay and asks about financial assistance kb.financial-assistance-programs payment-options

Pending Claim Advisory

Say"It looks like your insurance claim for the service on charge.dateOfService is still being processed by insurance.planName. We haven't yet received the Explanation of Benefits that tells us your exact patient responsibility. I'd recommend waiting until that EOB is issued — typically within 30 days of the claim submission date — before making any payment on this charge."
Say"I'm going to make a note on your account so our team is aware you called, and I'll flag this for a follow-up outreach once the EOB is received. Is there a preferred contact method — phone or email — for that follow-up?"

CRM.LogInteraction note: patient inquiry on pending claim claim.id, follow-up requested

CaseManagement.CreateCase type: pending-eob-followup, linked to claim.id, patient.accountId

  • Patient is satisfied and wants no further action resolution-close
  • Patient wants to escalate because the claim has been pending an unusually long time frustrated escalation-human

Claim Denial Review

InsuranceEligibilityClaims.GetDenialReason for claim.id

kb.claim-denial-codes — reference insurer denial code definitions and standard appeal pathways

Agent
assess the denial reason for claim.id and determine whether the denial is due to a technical/administrative issue correctable by rebilling, a coverage exclusion, or a clinical necessity decision requiring formal appeal.
Goal:advise the patient on the correct next step — administrative correction, insurance appeal, or billing specialist referral.
Constraints:never promise that an appeal will succeed or that a charge will be waived; do not initiate a claim adjustment without billing specialist authorization; always document the denial reason before routing.
Tools available:InsuranceEligibilityClaims.GetDenialReason, InsuranceEligibilityClaims.GetClaimStatus, kb.claim-denial-codes, CaseManagement.CreateCase
  • Denial is administrative or technical — can be corrected by rebilling admin_denial CaseManagement.CreateCase type: rebilling-request billing-error-flag
  • Denial is a coverage or clinical necessity issue requiring appeal clinical_denial escalation-human
  • Patient wishes to proceed independently and is satisfied with the information confirmed resolution-close

Billing Error Flag

Say"Thank you for bringing this to our attention. Based on what you've described, this may need to be reviewed by our billing specialists. I'm going to document this now and open a case so a specialist can investigate and correct the record if needed."

CaseManagement.CreateCase type: billing-review, priority: standard, linked to patient.accountId, charge.lineItem, charge.dateOfService

CRM.LogInteraction note: potential billing error flagged on charge.lineItem, case opened for specialist review

Say"A billing specialist will review this within 3 to 5 business days and will reach out to you at patient.phone or patient.email. You will not need to make any payment on a disputed charge while it is under active review. Is there anything else I can help you with today?"
  • Patient is satisfied and the case is documented resolution-close
  • Patient is not satisfied and demands immediate resolution frustrated escalation-human

Clinical Dispute

Say"I understand — disputes about whether a service was rendered or was medically appropriate are taken very seriously. Our billing team is not able to make clinical determinations, so I'll need to document your concern and route it to the appropriate clinical or patient relations department."

CRM.LogInteraction note: patient disputes clinical service on charge.dateOfService, charge.description — routed to clinical review

CaseManagement.CreateCase type: clinical-dispute, priority: high, linked to patient.accountId, charge.dateOfService

Say"A member of our patient relations team will contact you within 2 business days to discuss your concern. You should not receive any collections activity on this charge while it is under review."
  • Patient acknowledges and accepts the routing resolution-close
  • Patient is distressed or requests immediate supervisor contact frustrated escalation-human

Payment Options

Say"I can help you take care of this balance now or set up an arrangement that works for you. You have a few options: you can pay online through the patient portal, pay by phone with a credit or debit card right now, or set up an interest-free monthly payment plan if your balance qualifies."

kb.financial-assistance-programs — check eligibility criteria for charity care, sliding scale, or hardship plans

  • Patient wants to pay now PaymentPortal.ProcessPayment using patient.accountId payment-confirmation
  • Patient wants to set up a payment plan PaymentPortal.CreatePaymentPlan using patient.accountId payment-plan-setup
  • Patient wants to apply for financial assistance CaseManagement.CreateCase type: financial-assistance-referral resolution-close
  • Patient declines to pay at this time and has no further questions resolution-close

Payment Confirmation

PaymentPortal.ProcessPayment confirm transaction for patient.accountId, charge.amount

CRM.LogInteraction note: payment processed for charge.amount on account patient.accountId

Say"Your payment has been processed and a confirmation will be sent to patient.email. Your updated account balance will reflect this payment within one to two business days. Is there anything else I can help you with?"
  • Patient has additional questions inquiry-intake
  • Patient is done resolution-close

Payment Plan Setup

PaymentPortal.CreatePaymentPlan for patient.accountId

Say"I've set up a payment plan on your account. You'll receive a confirmation at patient.email with the payment schedule and amounts. Each installment will be automatically applied to your balance. If your financial situation changes, please contact us and we can review the plan."

CRM.LogInteraction note: payment plan established for patient.accountId

  • Patient confirms and is satisfied resolution-close
  • Patient has additional questions inquiry-intake

Escalation to Human Agent

CRM.LogInteraction note: escalation triggered — reason documented, all context preserved for handoff

CaseManagement.CreateCase type: escalation, priority: high, linked to patient.accountId, claim.id

Say"I completely understand, and I want to make sure you get the help you need. I'm going to connect you with a senior billing specialist or supervisor who can take this further. Please hold for just a moment — I'll make sure they have all the details from our conversation so you don't have to repeat yourself."

CRM.TransferWithContext to billing-escalation-queue, include patient.accountId, claim.id, charge.lineItem, interaction summary

Resolution / Close

Say"I'm glad we could assist you today. To summarize: we reviewed the charge for charge.description from charge.dateOfService, and your next steps are clear. If you have any further questions about your bill, don't hesitate to contact us — you can also view your account and statements at any time through the patient portal."

CRM.LogInteraction note: inquiry resolved, case closed

CaseManagement.CloseCase for case.id if open

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat▣ sms

Appointment Scheduling

HealthcareSchedulingPatient Support

Patient Intake

Say"Thank you for reaching out. I'm here to help you schedule, reschedule, or cancel an appointment. Can I start with your full name and date of birth?"

EHR.LookupPatient using patient.fullName and patient.dateOfBirth

  • Patient record found and identity confirmed verified appointment-intent
  • Patient record not found or details do not match identity-retry
  • Patient describes urgent or emergent symptoms at any point escalation-clinical

Identity Retry

Say"I wasn't able to match those details in our system. Let's try once more — could you double-check the name and date of birth on file with us?"

EHR.LookupPatient retry with corrected input

  • Record found on second attempt verified appointment-intent
  • Still no match after retry escalation-human

Appointment Intent

Say"Got it, patient.fullName — I've confirmed your record. Are you looking to book a new appointment, reschedule an existing one, or cancel?"
  • Patient wants to book a new appointment book insurance-verification
  • Patient wants to reschedule an existing appointment reschedule reschedule-lookup
  • Patient wants to cancel an appointment cancel cancel-lookup
  • Patient describes urgent or emergent symptoms escalation-clinical

Insurance Verification

Say"Before I check availability, I'll need your insurance information. What is your insurance provider and member ID?"

InsuranceEligibilityAPI.VerifyEligibility using patient.insurance.provider and patient.insurance.memberId

kb.insurance-eligibility-policy — check referral requirements for appointment.type

  • Insurance verified, no referral required eligible gather-preferences
  • Insurance verified, referral required and on file eligible referral_present gather-preferences
  • Insurance verified, referral required but not on file referral_missing referral-hold
  • Insurance verification fails or returns inactive coverage ineligible insurance-unverified
  • Patient has no insurance or declines to provide self-pay-offer

Self-Pay Offer

kb.selfpay-rates — retrieve selfpay.rate for appointment.type

Say"No problem. Our self-pay rate for this type of visit is selfpay.rate. Would you like to proceed on a self-pay basis, or would you prefer to contact your insurer first and call us back?"
  • Patient agrees to self-pay confirmed gather-preferences
  • Patient wants to contact insurer first callback intake-close-callback
  • Patient is unsure escalation-human

Insurance Unverified

Say"I wasn't able to verify active coverage with patient.insurance.provider at this time. This could be a data mismatch or a lapse in coverage. I'd recommend contacting your insurer directly to confirm. In the meantime, would you like to hear our self-pay rates or hold off until coverage is confirmed?"
  • Patient wants self-pay rates self-pay-offer
  • Patient wants to wait and call back intake-close-callback
  • Patient wants to escalate or is frustrated escalation-human

Referral Hold

Say"It looks like a referral is required for this appointment type, and we don't currently have one on file for you. I can place a soft reservation to hold a slot while you obtain the referral from your primary care provider. Would you like me to do that?"

SchedulingModule.HoldSoftReservation for patient.fullName, appointment.type, appointment.preferredDates

  • Patient agrees to soft hold confirmed CRM.CreateTask referral-pending note intake-close-referral
  • Patient does not want a hold intake-close-callback
  • Patient says referral is already submitted escalation-human

Gather Preferences

Say"Great. What is the reason for your visit, and do you have a preferred provider or location? Also, what dates and times work best for you?"

EHR.GetProviderList filtered by appointment.preferredLocation and appointment.type

  • Preferences collected, preferred provider specified slot-search-provider
  • Preferences collected, no provider preference slot-search-open

Slot Search — Provider Preference

SchedulingModule.GetAvailableSlots for appointment.preferredProvider, appointment.preferredDates, appointment.preferredTimes, appointment.type

  • Matching slots found slot-selection
  • No slots match preferences for preferred provider slot-no-match

Slot Search — Open Availability

SchedulingModule.GetAvailableSlots for appointment.preferredLocation, appointment.preferredDates, appointment.preferredTimes, appointment.type

  • Matching slots found slot-selection
  • No slots match preferences slot-no-match

Slot Selection

Say"I have a few openings that match what you're looking for. Let me share those with you now."

PatientPortal.DisplaySlots or read aloud up to three options from appointment.selectedSlot candidates

Say"Which of these works best for you?"
  • Patient selects a slot confirmed booking-confirmation
  • Patient wants to hear more options slot-search-open
  • Patient wants to go on a waitlist instead waitlist-enrollment
  • Patient changes their mind and wants to cancel the process intake-close-callback

Slot No Match

Say"I wasn't able to find an opening that matches all of your preferences right now. I can offer you the next closest available slot, or I can add you to our waitlist so you're notified as soon as something opens up. Which would you prefer?"

SchedulingModule.GetNextAvailable for appointment.type, appointment.preferredLocation

  • Patient accepts next closest slot confirmed booking-confirmation
  • Patient wants waitlist waitlist-enrollment
  • Patient wants to try different dates or times gather-preferences

Waitlist Enrollment

Say"I'll add you to the waitlist for appointment.type. You'll be contacted at patient.phone or patient.email as soon as a matching slot opens up."

SchedulingModule.AddToWaitlist patient.fullName, appointment.type, appointment.preferredProvider, appointment.preferredDates

CRM.UpdateRecord waitlist status for patient.fullName

Say"You're all set on the waitlist. Is there anything else I can help you with today?"
  • Patient has another request appointment-intent
  • Patient is done intake-close-complete

Booking Confirmation

SchedulingModule.BookAppointment for patient.fullName, appointment.selectedSlot, appointment.type, appointment.preferredProvider

CRM.UpdateRecord appointment booked, appointment.confirmationNumber

Twilio.SendSMS to patient.phone: "Your appointment is confirmed for appointment.selectedSlot. Confirmation number: appointment.confirmationNumber. Reply CANCEL to cancel or call us to make changes."

Twilio.SendEmail to patient.email with appointment details, preparation instructions, and location or telehealth link

Say"You're all booked. Your confirmation number is appointment.confirmationNumber and I've sent the details to your phone and email. Is there anything else I can help you with?"
  • Patient has another request appointment-intent
  • Patient is done intake-close-complete

Reschedule Lookup

Say"I can help you reschedule. Let me pull up your existing appointment — can you confirm the date and type of visit, or your confirmation number?"

SchedulingModule.GetAppointment using appointment.existingId or patient.fullName and patient.dateOfBirth

  • Appointment found reschedule-preferences
  • Appointment not found escalation-human

Reschedule Preferences

Say"I found your appointment. What new dates or times work better for you, and would you like to keep the same provider and location?"

SchedulingModule.CancelAppointment for appointment.existingId

SchedulingModule.GetAvailableSlots for updated appointment.preferredDates, appointment.preferredTimes, appointment.type, appointment.preferredProvider

  • New slots found slot-selection
  • No slots match new preferences slot-no-match

Cancel Lookup

Say"I can help with that. Can you confirm the appointment date and type, or share your confirmation number?"

SchedulingModule.GetAppointment using appointment.existingId or patient.fullName and patient.dateOfBirth

kb.cancellation-policy — check short-notice window and applicable cancellation.fee for appointment.selectedSlot

  • Appointment found, cancellation outside short-notice window cancel-confirm
  • Appointment found, cancellation within short-notice window short_notice cancel-fee-notice
  • Appointment not found escalation-human

Cancel Fee Notice

Say"I can cancel this appointment. Please be aware that because this is within our short-notice window, a cancellation fee of cancellation.fee may apply per our policy. Would you still like to proceed?"
  • Patient confirms cancellation despite fee confirmed cancel-confirm
  • Patient wants to reschedule instead reschedule-preferences
  • Patient disputes the fee or wants to escalate escalation-human

Cancel Confirm

SchedulingModule.CancelAppointment for appointment.existingId

CRM.UpdateRecord cancellation logged for patient.fullName

Twilio.SendSMS to patient.phone: "Your appointment has been cancelled. Confirmation: appointment.confirmationNumber. Contact us to rebook."

Twilio.SendEmail to patient.email with cancellation confirmation

Say"Your appointment has been cancelled and you'll receive a confirmation shortly. Is there anything else I can help you with?"
  • Patient wants to book a new appointment appointment-intent
  • Patient is done intake-close-complete

Intake Close — Callback

Say"Understood — no problem at all. When you're ready to move forward, you can reach us by phone, through the patient portal, or by replying to this message. We're happy to help whenever you're set."

CRM.UpdateRecord contact reason, outcome pending callback, patient.fullName

Intake Close — Referral Pending

Say"We've placed a soft hold for you while you get the referral sorted. Once it's submitted by your referring provider, give us a call or message us and we'll confirm that slot right away. Take care!"

CRM.UpdateRecord soft hold active, referral pending, patient.fullName

Intake Close — Complete

Say"You're all set, patient.fullName. Thank you for reaching out, and we look forward to seeing you. Have a great day!"

CRM.UpdateRecord interaction complete, outcome successful, patient.fullName

Escalation — Clinical

Say"What you're describing sounds like it may need immediate attention. Please call 911 or go to your nearest emergency room if you're experiencing a medical emergency. I'm also connecting you with a clinical team member right now who can assist further."

CRM.CreateCase priority: urgent, tagged clinical-escalation, patient.fullName

Twilio.NotifyOnCall clinical triage staff with patient name and reported symptoms

Escalation — Human Agent

Say"I want to make sure you get the right help here. Let me connect you with one of our scheduling specialists who can take it from here."

CRM.CreateCase priority: high, tagged scheduling-escalation, patient.fullName, interaction summary

Twilio.TransferCall or route chat to live scheduling specialist queue

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ sms

Account Closure Request

Financial ServicesAccount ManagementComplianceRetention

Intake and Identity Verification

Say"Thank you for contacting us. I understand you'd like to close an account today. Before we proceed, I'll need to verify your identity. Can I have your full name and date of birth?"

CRM.LookupCustomer using customer.fullName and customer.dateOfBirth

IdentityVerification.InitiateCheck for customer.fullName and customer.dateOfBirth

Detect
identity verification outcome
  • Verification passes confirmed account-selection
  • Verification fails on first attempt unconfirmed verification-retry
  • Account has an active fraud or legal hold flagged by IdentityVerification.InitiateCheck hold_detected escalation-human
  • Customer is linked to a business or trust account entity_account escalation-human

Verification Retry

Say"I wasn't able to verify your identity with those details. Let me try one more method — can you confirm the last four digits of your Social Security Number and the phone number on file?"

IdentityVerification.SecondaryCheck using additional customer-provided details

Detect
secondary verification outcome
  • Verification passes on retry confirmed account-selection
  • Verification fails again unconfirmed escalation-human

Account Selection

Say"Thank you, customer.fullName — your identity is verified. Which account or accounts would you like to close today? Please provide the account number or I can list the accounts currently on file."

CoreBanking.GetAccountList for verified customer record

Say"I can see the following accounts associated with your profile. Please confirm the account number or numbers you'd like to close."
Detect
customer intent on account selection
  • Customer provides a valid account number confirmed compliance-screening
  • Customer is unsure which account or requests guidance needs_help account-selection-assist
  • Customer becomes uncooperative or hostile hostile escalation-human

Account Selection Assist

Say"No problem — let me walk you through the accounts on your profile so we can identify the right one."

CoreBanking.GetAccountList — surface account type, last four digits, and current status for each account

Say"Can you confirm which of these is the account you'd like to close? I want to make sure we process the correct one."
  • Customer confirms account selection confirmed compliance-screening
  • Customer still cannot identify the account unconfirmed escalation-human

Compliance and AML Screening

ComplianceAML.ScreenAccount for account.number

CRM.LogInteraction note: closure request initiated for account.number

Detect
compliance screening outcome
  • Account clears compliance screening confirmed account-balance-check
  • Account flagged for elevated risk or AML concern high_risk compliance-review
  • Account has an existing legal or regulatory hold legal_hold escalation-human

Compliance Review

Agent
assess the flagged account against compliance.riskScore, account.status, and kb.aml-compliance-policy.
Goal:determine whether the closure request can proceed, must be held pending review, or must be escalated to the compliance team.
Constraints:never approve closure of a flagged account without documented risk assessment; never communicate hold details that would tip off a potentially fraudulent actor; always log the screening outcome to agent.caseId.
Tools available:ComplianceAML.ScreenAccount, ComplianceAML.GetRiskDetail, CRM.LogInteraction, kb.aml-compliance-policy
  • Agent determines low-risk flag, safe to proceed account-balance-check
  • Agent determines elevated risk requiring human review needs_review escalation-human

Account Balance and Pending Transaction Check

CoreBanking.GetAccountDetail for account.number — retrieve account.balance, account.pendingTransactions, and account.status

Detect
account financial state
  • Balance is zero and no pending transactions clear closure-reason-collection
  • Pending transactions exist on the account pending pending-transactions-hold
  • Outstanding balance or linked loan exists on the account balance_owed outstanding-balance-hold

Pending Transactions Hold

Say"I can see there are pending transactions on this account that haven't settled yet. Account closure will be processed automatically once all pending transactions have cleared — typically within three to five business days."

kb.account-closure-policy — confirm settlement window and closure processing rules for account.type

Say"Would you like us to proceed with the closure request now so it triggers automatically after settlement, or would you prefer to call back once the transactions have cleared?"
Detect
customer preference
  • Customer agrees to automatic post-settlement closure confirmed CoreBanking.QueueClosureRequest for account.number closure-reason-collection
  • Customer prefers to wait and call back declined closure-pending-confirmation
  • Customer escalates or disputes the pending transactions disputed escalation-human

Closure Pending Confirmation

Say"Understood — no problem. Your closure request has not been submitted. Please contact us again once your pending transactions have settled and we'll process the closure at that time. Is there anything else I can help you with today?"

CRM.LogInteraction note: customer deferred closure for account.number pending transaction settlement

Outstanding Balance Hold

Say"I'm showing an outstanding balance or a linked loan associated with this account. Before we can process the closure, the balance will need to be resolved — either paid in full or transferred to another eligible account."

kb.account-closure-policy — confirm balance resolution requirements for account.type

Say"Would you like me to walk you through your options for resolving the balance, or would you prefer to speak with a specialist?"
Detect
customer response
  • Customer agrees to resolve balance and requests options confirmed escalation-human
  • Customer requests more time and wants to call back declined closure-pending-confirmation
  • Customer disputes the balance disputed escalation-human

Closure Reason Collection

Say"Before we finalize the closure, I'd like to note the reason for your request — this helps us improve our services. Common reasons include switching to another institution, account no longer needed, fee concerns, or a change in financial goals. What's the primary reason for closing your account today?"
Detect
closure reason and customer sentiment
  • Customer cites fees or dissatisfaction with service frustrated retention-offer
  • Customer cites a neutral or logistical reason neutral funds-destination-collection
  • Customer shows signs of financial distress distressed financial-distress-flag

Financial Distress Flag

ComplianceAML.FlagForReview note: potential financial distress indicator on account.number

CRM.LogInteraction note: distress signal detected during closure request for customer.fullName

Say"I want to make sure we're exploring every option available to you before we proceed. We have resources that may help — would it be okay if I connected you with a financial wellness specialist?"
Detect
customer response
  • Customer agrees to speak with a specialist confirmed escalation-human
  • Customer declines and wishes to continue closure declined funds-destination-collection

Retention Offer

Say"I hear you, and I'm sorry to hear you've had that experience. Before we proceed, I'd like to see if there's anything we can do — such as a fee waiver, a rate adjustment, or a product that better fits your needs. Would you be open to hearing your options?"

kb.retention-offers-policy — surface eligible retention offers for account.type and customer.fullName profile

Detect
customer response to retention offer
  • Customer is open to retention options interested escalation-human
  • Customer declines and confirms they want to close confirmed funds-destination-collection

Funds Destination Collection

Say"To transfer your remaining balance, I'll need the destination account details — the bank name, routing number, and account number you'd like the funds sent to."

ACHTransfer.ValidateDestination for transfer.destinationAccount and transfer.destinationBank

Detect
destination verification outcome
  • Destination account validated successfully confirmed closure-confirmation
  • Destination account cannot be verified unconfirmed funds-destination-hold
  • Customer has no external account and requests a check CoreBanking.GetAccountDetail closure-confirmation

Funds Destination Hold

Say"I wasn't able to verify the destination account details you provided. To protect your funds, we'll need to place the closure on hold until we can confirm a valid transfer destination."
Say"You can provide updated banking details by calling us back, visiting a branch, or sending a secure message through your online banking portal. Once we have verified details on file, we'll process your closure and fund transfer right away."

CRM.LogInteraction note: closure held for account.number — destination account unverifiable

SecureMessaging.SendConfirmation to customer.email note: closure request on hold pending valid transfer details

Closure Confirmation

CoreBanking.SubmitClosureRequest for account.number — generate closure.requestId and closure.timeline

ACHTransfer.InitiateTransfer of account.balance to transfer.destinationAccount

CRM.LogInteraction note: closure submitted for account.number, request ID closure.requestId

SecureMessaging.SendConfirmation to customer.email with closure.requestId and closure.timeline

Say"Your closure request has been submitted. Your confirmation number is closure.requestId. Any remaining balance will be transferred to your destination account within closure.timeline business days. You'll receive a written confirmation at the email address on file."
Say"Is there anything else I can help you with today?"
Detect
customer response
  • Customer has additional questions or requests needs_help post-closure-support
  • Customer is satisfied and ends interaction confirmed resolution

Post-Closure Support

Say"Of course — I'm happy to help. What else can I assist you with?"

kb.account-closure-policy — reference post-closure FAQs including statement access, tax documents, and credit impact

Detect
nature of follow-up question
  • Question answered and customer satisfied confirmed resolution
  • Issue requires specialist involvement or account access complex escalation-human

Escalation to Human Agent

CRM.CreateCase priority: high, tagged account-closure-escalation, linked to account.number

CRM.LogInteraction note: escalation triggered — reason logged under agent.caseId

SecureMessaging.SendNotification to assigned specialist with customer profile, account.number, and case summary

Say"I'm going to connect you with a specialist who has the tools and authority to assist you further. They'll have full context on your request so you won't need to repeat yourself. Please hold for just a moment."

Resolution

Say"Thank you for contacting us today, customer.fullName. Your request has been handled and you'll receive written confirmation shortly. We appreciate your time and wish you all the best. Have a great day."

CRM.LogInteraction note: closure interaction completed for customer.fullName, account account.number

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ text

Symptom Triage / Nurse Line Routing

HealthcareTriageNursingPatient Support

Identity Verification

Say"Thank you for calling. I'm your Healthcare Support Agent. To get started, can I get your full name and date of birth?"

EHR.LookupPatient by patient.fullName and patient.dateOfBirth

  • Identity confirmed, record found CRM.OpenRecord symptom-intake
  • Identity confirmed but DOB mismatch — ask for patient.memberId EHR.LookupPatientById symptom-intake
  • Caller is a caregiver, not the patient — collect patient.caregiverName and relationship, then verify patient identity symptom-intake
  • Identity cannot be verified after two attempts CRM.FlagUnverified unverified-caller-triage

Symptom Intake

Say"I'm going to ask you a few questions about your symptoms so I can make sure you get the right care as quickly as possible. Please describe what you're experiencing today."

Collect patient.primarySymptom, patient.symptomDuration, and patient.symptomTrend.

Say"Are you currently taking any medications, or do you have any conditions I should know about — such as diabetes, heart disease, or a compromised immune system?"

Collect patient.currentMedications and patient.knownConditions.

  • Caller mentions chest pain, pressure, or tightness emergency-redirect
  • Caller mentions difficulty breathing or shortness of breath at rest emergency-redirect
  • Caller mentions sudden face drooping, arm weakness, or speech difficulty emergency-redirect
  • Caller mentions severe bleeding that won't stop or loss of consciousness emergency-redirect
  • Caller explicitly requests to speak with a nurse escalation-nurse-callback
  • Symptoms collected, no red-flag keywords detected triage-assessment

Emergency Redirect

Say"What you're describing could be a medical emergency. Please call 911 right now or have someone nearby call for you. Do not drive yourself. I will stay on the line with you while you do this."

CRM.CreateCase priority: critical, tagged emergency-redirect, linked to patient.memberId

NurseQueue.AlertOnCall with patient.primarySymptom and case.id

EHR.AddEncounterNote "Emergency redirect issued. Patient advised to call 911. Symptoms: patient.primarySymptom. Duration: patient.symptomDuration."

  • Caller confirms they are calling 911 or help is on the way emergency-documentation
  • Caller refuses to call 911 — document refusal, stay on the line, re-advise care-refusal
  • No response or line goes silent NurseQueue.AlertOnCall escalate immediately escalation-nurse-callback

Emergency Documentation

Say"Help is on the way. Stay as calm as you can, stay on the line if you're able, and unlock your door if someone can do that safely. We are documenting this call and your care team will be notified."

EHR.AddEncounterNote "Patient acknowledged emergency redirect. 911 advised. Case case.id created."

CRM.UpdateCase case.id status: emergency-dispatched

Triage Assessment

Agent
evaluate patient.primarySymptom, patient.symptomDuration, patient.symptomTrend, patient.currentMedications, and patient.knownConditions against triage protocols.
Goal:determine the appropriate care tier — self-care, nurse callback, urgent care within 4 hours, or emergency services — using validated clinical decision support.
Constraints:never downgrade a symptom set that includes high-risk modifiers (immunocompromised, anticoagulant use, age over 65 with fever, pediatric under 3 months with fever); always escalate to nurse if the protocol confidence score is below threshold; never advise the patient that symptoms are "nothing to worry about" without a completed protocol match.
Tools available:TriageEngine.EvaluateSymptoms, TriageEngine.GetProtocol, kb.schmitt-thompson-protocols, EHR.GetPatientRiskFlags
  • Triage engine returns tier: self-care tier_selfcare self-care-guidance
  • Triage engine returns tier: nurse callback tier_nurse escalation-nurse-callback
  • Triage engine returns tier: urgent care tier_urgent urgent-care-routing
  • Triage engine returns tier: emergency tier_emergency emergency-redirect
  • Triage engine lookup fails or confidence below threshold needs_review escalation-nurse-callback

Self-Care Guidance

kb.schmitt-thompson-protocols — retrieve home-care instructions matching triage.protocol

Say"Based on what you've described, this sounds like something you can manage safely at home. Here's what I'd recommend: triage.protocol. Please monitor your symptoms over the next 24 hours."
Say"If your symptoms worsen — especially if you develop a fever above 103°F, difficulty breathing, or you feel significantly worse — please call us back right away or go to your nearest urgent care."

EHR.AddEncounterNote "Triage complete. Tier: self-care. Protocol: triage.protocol. Guidance delivered. Symptoms: patient.primarySymptom. Duration: patient.symptomDuration."

CRM.UpdateCase case.id status: self-care-guidance-provided

  • Patient accepts guidance and has no further questions resolution
  • Patient is uncertain or wants a nurse to confirm escalation-nurse-callback
  • Patient refuses self-care recommendation care-refusal

Urgent Care Routing

Scheduling.FindNearestUrgentCare by patient.zip -> facility.nearest

Say"Based on your symptoms, I recommend you visit an urgent care center within the next 4 hours. The nearest in-network location to you is facility.nearest. Do you need directions or help finding another location?"
Say"Please do not delay — if at any point your symptoms feel significantly worse before you arrive, call 911 immediately."

EHR.AddEncounterNote "Triage complete. Tier: urgent care within 4 hours. Facility: facility.nearest. Symptoms: patient.primarySymptom. Protocol: triage.protocol."

CRM.UpdateCase case.id status: urgent-care-routed

SecureMessaging.SendSummary to patient.phone with facility address and care instructions

  • Patient confirms they will go resolution
  • Patient requests a different facility Scheduling.FindNearestUrgentCare alternate urgent-care-routing
  • Patient refuses urgent care recommendation care-refusal
  • Patient requests nurse confirmation before going escalation-nurse-callback

Escalation to Nurse Callback

NurseQueue.AddToCallbackQueue patient.memberId, patient.primarySymptom, patient.symptomDuration, patient.symptomTrend, patient.knownConditions, patient.currentMedications, triage.riskScore

NurseQueue.GetEta -> nurse.callbackEta

CRM.CreateCase priority: high, tagged nurse-callback, linked to patient.memberId

Say"I'm connecting you with one of our registered nurses who will call you back at patient.phone. Your estimated wait time is nurse.callbackEta. Please stay near your phone and call 911 immediately if your symptoms get significantly worse before then."

EHR.AddEncounterNote "Escalated to nurse callback queue. ETA: nurse.callbackEta. Symptoms: patient.primarySymptom. Risk score: triage.riskScore. Case: case.id."

SecureMessaging.SendSummary to patient.phone confirming callback and safety instructions

  • Nurse callback queued and patient is stable resolution
  • Patient's condition appears to be worsening during call emergency-redirect

Unverified Caller Triage

Say"I wasn't able to verify your identity in our system, but your health and safety are the priority. I'm going to collect your symptoms now and make sure a nurse follows up with you."

Collect patient.primarySymptom, patient.symptomDuration, patient.symptomTrend.

CRM.CreateCase priority: high, tagged unverified-caller, flagged for nurse review

NurseQueue.AddToCallbackQueue unverified, patient.primarySymptom, patient.symptomDuration, patient.phone

Say"I've flagged your case for a nurse to review and call you back. Can I confirm the best number to reach you?"

EHR.AddEncounterNote "Unverified caller. Symptoms collected for nurse review. Callback number: patient.phone."

  • Caller mentions any emergency symptom emergency-redirect
  • Case queued successfully resolution
  • Caller explicitly requests nurse immediately escalation-nurse-callback

Care Refusal

Say"I understand, and I respect your decision. I do want to make sure you have all the information — based on your symptoms, our recommendation is triage.tier level care. Delaying care in some situations can lead to symptoms becoming more serious."
Say"If you change your mind, please don't hesitate to call us back at any time, day or night. I'm going to note your preference in your record."

EHR.AddEncounterNote "Patient declined recommended care tier: triage.tier. Symptoms: patient.primarySymptom. Refusal documented per protocol. Case: case.id."

CRM.UpdateCase case.id status: care-refusal-documented

NurseQueue.AlertOnCall with refusal note and patient.memberId for awareness

  • Patient reconsiders and agrees to recommended care tier triage-assessment
  • Patient maintains refusal but accepts lower-acuity guidance self-care-guidance
  • Patient ends call resolution

Resolution

Say"Is there anything else I can help you with today? Please remember — if your symptoms change or worsen at any point, call us back right away or call 911 if it feels like an emergency. Take care."

EHR.AddEncounterNote "Encounter complete. Final routing: triage.tier. Case: case.id. Patient acknowledged next steps."

CRM.UpdateCase case.id status: resolved

SecureMessaging.SendSummary to patient.phone with encounter summary and care instructions

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ voice▣ sms▣ text

Size / Fit / Product Recommendation

RetailProductSizingRecommendations

Opening

CRM.LookupCustomer by customer.id or session identity to pre-load customer.purchaseHistory and any saved preferences.

Say"Hi customer.name! I'm here to help you find exactly the right size or product. Are you looking for sizing help on something specific, trying to choose between a couple of options, or not sure where to start?"
Detect
customer intent from opening message
  • Customer wants sizing or fit help for a specific item size-help collect-item-and-measurements
  • Customer is comparing two or more products compare product-comparison
  • Customer is unsure what they need / browsing browsing discover-needs
  • Customer mentions a previous bad fit or return past-issue review-past-purchase

Collect Item and Measurements

ProductCatalog.GetProduct to load product.category, product.attributes, and product.sizeGuide for the item the customer mentioned.

Say"Great choice! To make sure I get the fit right for you, could you share a couple of quick details? For product.name I'll need your product.sizeGuide measurements — things like height, weight, chest, waist, or inseam depending on the item. Do you have those handy?"
Detect
customer response about measurements
  • Customer provides measurements has-measurements run-size-lookup
  • Customer doesn't know measurements or is unsure no-measurements guide-self-measure
  • Customer mentions they are between sizes between-sizes between-sizes-advice

Guide Self-Measure

kb.self-measure-guide — retrieve step-by-step measurement instructions relevant to product.category

Say"No worries at all — it only takes about two minutes! Here's how to measure yourself at home for product.category:"
Say"For the most accurate fit, use a soft measuring tape. Measure your chest at the fullest point, your natural waist about an inch above your navel, and your hips at the widest point. If you're measuring inseam, stand straight and measure from your crotch to the floor. Once you have those, I can match you to the perfect size."
  • Customer provides measurements after guide has-measurements run-size-lookup
  • Customer still can't measure or prefers not to skip-measure recommend-size-up
  • Customer wants to escalate or speaks with frustration frustrated escalation-specialist

Between Sizes Advice

kb.sizing-policy — check brand fit philosophy (relaxed, true-to-size, runs small/large) for product.id

Say"Being between sizes is really common! For product.name, I'd generally recommend going product.sizeGuide based on your larger measurement to ensure comfort — especially for customer.preferences.fitStyle fit. That said, it also depends on how you prefer things to feel. Do you usually prefer a snugger or a more relaxed fit?"
  • Customer prefers snug fit snug run-size-lookup
  • Customer prefers relaxed fit relaxed run-size-lookup
  • Customer is still unsure unsure recommend-size-up

Recommend Size Up

Say"When in doubt, I always recommend going one size up — it's much easier to tailor down slightly than to deal with something that's too tight. I'll use that as the basis for your recommendation."

run-size-lookup

Run Size Lookup

SizingGuideDB.MatchSize using customer.measurements, customer.preferences.fitStyle, and product.sizeGuide to generate recommendation.primary.

InventoryManagement.CheckStock for recommendation.primary in product.id to confirm product.stockStatus and product.availableSizes.

  • Size is in stock in-stock present-recommendation
  • Size is out of stock out-of-stock out-of-stock-handling
  • Lookup error or ambiguous result lookup-error escalation-specialist

Present Recommendation

Say"Based on your measurements and your preference for a customer.preferences.fitStyle fit, I'd recommend a recommendation.primary in product.name. Here's why it works for you:"
Say"It should sit comfortably across your customer.measurements, with the right amount of room for customer.preferences.intendedUse. The product.attributes also align well with your preference for customer.preferences.material."
Say"Would you like me to add the recommendation.primary in product.name to your cart, or do you have any questions before you decide?"
  • Customer is ready to add to cart ready-to-buy add-to-cart
  • Customer wants to see an alternative or compare wants-options present-alternate
  • Customer has more questions more-questions answer-questions
  • Customer expresses strong uncertainty or frustration frustrated escalation-specialist

Present Alternate

ProductCatalog.GetAlternates using product.id, customer.preferences.budget, and customer.preferences.fitStyle to generate recommendation.alternate.

InventoryManagement.CheckStock for recommendation.alternate.

Say"Of course! Here's another option worth considering: recommendation.alternate. Compared to recommendation.primary, this one product.attributes — so it's a great pick if you prioritize customer.preferences.material or are working within a tighter budget of around customer.preferences.budget."
Say"Both are solid choices — would you like to go with recommendation.primary, recommendation.alternate, or would it help to talk through the differences a bit more?"
  • Customer selects primary recommendation chose-primary add-to-cart
  • Customer selects alternate recommendation chose-alternate add-to-cart
  • Customer wants more comparison detail compare-detail product-comparison
  • Customer is stuck or frustrated frustrated escalation-specialist

Product Comparison

ProductCatalog.GetProduct for each product the customer is comparing, loading product.attributes for both.

kb.product-comparison-guides — retrieve any curated head-to-head notes for these items.

Say"Happy to help you compare! Let me pull up the details on both."
Say"Here's the honest breakdown: recommendation.primary is the better fit if product.attributes — especially for customer.preferences.intendedUse. recommendation.alternate makes more sense if you want product.attributes or your budget is closer to customer.preferences.budget. For most people with your profile, I'd lean toward recommendation.primary, but either will serve you well."
Say"Does that help you land on one, or would you like me to check sizing or stock on both before you decide?"
  • Customer is ready to choose and buy ready-to-buy add-to-cart
  • Customer wants sizing checked on one of the options size-help collect-item-and-measurements
  • Customer still undecided still-undecided present-alternate
  • Customer frustrated or overwhelmed frustrated escalation-specialist

Discover Needs

Say"No problem — let's figure it out together! A few quick questions: What's the item or category you're shopping for? What will you mainly be using it for? And do you have a sense of the fit or style you prefer — relaxed, athletic, slim — or a budget range?"
Detect
customer response completeness
  • Customer provides enough detail to proceed sufficient-detail collect-item-and-measurements
  • Customer provides partial detail partial-detail collect-item-and-measurements
  • Customer is very unclear or disengaged disengaged escalation-specialist

Review Past Purchase

CRM.GetPurchaseHistory for customer.id to retrieve customer.purchaseHistory including prior sizes, items, and any returns or exchanges.

kb.return-reason-codes — look up fit-related return notes linked to customer.id if available.

Say"Thanks for mentioning that — let me take a look at what you've ordered before so we can avoid repeating the same issue."
Say"I can see you previously purchased customer.purchaseHistory. It looks like the fit concern was around customer.preferences.fitStyle. Based on that, I'd suggest we adjust by going recommendation.primary this time — that should address the issue directly."
  • Customer is happy with the adjusted recommendation accepts-advice run-size-lookup
  • Customer wants to explore a different product entirely different-product discover-needs
  • Customer is frustrated about the past experience frustrated escalation-specialist

Out-of-Stock Handling

InventoryManagement.GetAvailableAlternates for product.id filtered by recommendation.primary size and customer.preferences.budget to find nearest in-stock alternative.

InventoryManagement.GetRestockDate for recommendation.primary in product.id if available.

Say"Unfortunately, recommendation.primary in product.name isn't available right now. Here's what I can do for you:"
Say"Option 1 — I can put you on the waitlist and notify you the moment it's back in stock. Option 2 — there's a very similar alternative, recommendation.alternate, that's available now and fits your profile just as well. Option 3 — if you'd like, I can check other size variants that might still work."
  • Customer wants the waitlist option wants-waitlist join-waitlist
  • Customer wants the in-stock alternative wants-alternate present-alternate
  • Customer wants to check other sizes check-other-sizes run-size-lookup
  • Customer frustrated or wants to leave frustrated escalation-specialist

Join Waitlist

InventoryManagement.AddToWaitlist for customer.email on product.id in size recommendation.primary.

Say"Done! I've added you to the waitlist for recommendation.primary in product.name. We'll email you at customer.email the moment it's back — usually within a week or two. Is there anything else I can help you with in the meantime, like finding something to hold you over?"
  • Customer wants to keep browsing keep-browsing discover-needs
  • Customer is done done resolution
  • Customer wants to add the alternate to cart instead wants-alternate add-to-cart

Answer Questions

kb.product-faq — retrieve relevant FAQs for product.id covering fabric, care, returns, sizing tolerances, and fit philosophy.

Say"Of course — happy to answer any questions before you commit. What would you like to know about product.name?"
  • Customer asks about fabric, care, or material material-question answer-questions
  • Customer asks about returns or exchanges returns-question answer-questions
  • Customer is satisfied and ready to buy ready-to-buy add-to-cart
  • Customer wants a different recommendation different-option present-alternate
  • Customer frustrated or escalating frustrated escalation-specialist

Add to Cart

EcommerceCart.AddItem with product.id, recommendation.primary, and customer.id to add the confirmed selection.

Say"Perfect! I've added recommendation.primary in product.name to your cart. Here's your cart link: order.cartUrl"
Say"You're all set to check out whenever you're ready. Is there anything else I can help you find today — maybe something to complete the look or a coordinating item?"
  • Customer wants to keep shopping keep-shopping discover-needs
  • Customer is done and happy done resolution
  • Customer has a cart or checkout issue cart-issue escalation-specialist

Escalation to Specialist

CRM.CreateCase for customer.id tagged fit-escalation, logging all collected preferences, measurements, and conversation context.

Say"I completely understand — I want to make sure you get the right answer here, and this one deserves a closer look from one of our specialist team members. I'm flagging this for them now with all the details you've shared so you won't need to repeat yourself."
Say"A specialist will be with you shortly. If you're on chat they'll join this thread; if you prefer, we can also arrange a callback at customer.email. Thank you for your patience!"

Resolution

Say"Wonderful — I'm really glad we could find the right fit for you today! If your order arrives and anything feels off, our exchanges are easy and hassle-free. Don't hesitate to reach out anytime. Enjoy your new product.name!"
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat

SIM Swap / Number Porting

TelecomSIMPortingSecurity

Intake & Request Classification

Say"Thank you for contacting us. I can help you with a SIM swap or number transfer today. Could you tell me what you need — are you moving your number to a new SIM card, switching to a different carrier, or reporting a lost or stolen SIM?"
Detect
intent on customer reply
  • Customer requests SIM swap (upgrade or device change) sim-swap identity-verification
  • Customer requests port-out to another carrier port-out identity-verification
  • Customer reports lost or stolen SIM lost-stolen identity-verification
  • Customer reports a SIM change they did not request unauthorized suspected-hijacking

Identity Verification

Say"Before I can make any changes to your account, I need to verify your identity. Could you please provide your full name, date of birth, and your account PIN or security passphrase?"

IdentityVerification.CheckCustomer using customer.fullName, customer.dateOfBirth, customer.accountPIN against customer.phoneNumber

Detect
verification outcome
  • Verification passes verified account-eligibility-check
  • Verification fails on first attempt unverified verification-retry
  • Verification fails a second time or customer cannot provide credentials failed verification-lockout

Verification Retry

Say"I wasn't able to verify your identity with those details. Let's try once more — please double-check your date of birth and the PIN or passphrase on your account."

IdentityVerification.CheckCustomer using customer.fullName, customer.dateOfBirth, customer.accountPIN against customer.phoneNumber

Detect
verification outcome on retry
  • Verification passes verified account-eligibility-check
  • Verification fails again failed verification-lockout

Verification Lockout

Say"I'm sorry, I wasn't able to verify your identity after multiple attempts. For your security, I'm unable to proceed with this request over the phone or chat."

CRM.LogFailedVerification for customer.phoneNumber, flag request as locked

CRM.AddNote to account.id: "Identity verification failed — in-store ID required."

Say"Please visit any of our retail stores with a government-issued photo ID, and our team will be able to assist you there. Is there anything else I can help you with today?"

Account Eligibility Check

CRM.LookupAccount by customer.phoneNumber, retrieve account.id, account.fraudFlag, account.portFreeze

Detect
account status
  • Account has an active fraud flag fraud-flag fraud-hold-escalation
  • Account has an active port freeze port-freeze fraud-hold-escalation
  • Account is clear and eligible eligible request-routing

Request Routing

Detect
request type from request.type captured at intake
  • Request is a SIM swap sim-swap sim-swap-execution
  • Request is a port-out port-out port-out-execution
  • Request is for a lost or stolen SIM lost-stolen lost-stolen-sim

SIM Swap Execution

Say"Great — I've verified your identity and your account is in good standing. To complete the SIM swap, I'll need the ICCID number printed on your new SIM card. You can usually find it on the SIM card itself or its packaging."

SubscriberProvisioning.ValidateICCID for sim.newICCID

Detect
ICCID validation result
  • ICCID is valid and unassigned iccid-valid sim-swap-confirm
  • ICCID is invalid or already in use iccid-invalid sim-swap-iccid-error

SIM ICCID Error

Say"I wasn't able to validate that SIM card number. It may be invalid or already assigned to another account. Could you double-check the ICCID, or let me know if you have a different SIM card available?"
  • Customer provides a new ICCID to try sim-swap-execution
  • Customer cannot provide a valid ICCID escalation-human-agent

SIM Swap Confirm

Say"I'm about to move your number customer.phoneNumber to the new SIM card ending in the last four digits of your ICCID. This will deactivate your current SIM immediately. Can you confirm you'd like to proceed?"
Detect
customer confirmation
  • Customer confirms confirmed sim-swap-provisioning
  • Customer cancels or is unsure cancelled sim-swap-cancelled

SIM Swap Provisioning

SubscriberProvisioning.ExecuteSIMSwap for account.id, new ICCID sim.newICCID, deactivate old SIM

CRM.LogActivity on account.id: "SIM swap completed, new ICCID recorded."

CarrierMessagingGateway.SendSMS to customer.phoneNumber: "Your SIM swap is complete. If your service is not active within 15 minutes, please restart your device."

Say"Your SIM swap is done. Your number is now active on the new SIM card. Please restart your device if service doesn't appear within a few minutes."

resolution

SIM Swap Cancelled

Say"No problem — I've left your account unchanged. Please don't hesitate to reach out when you're ready to proceed. Is there anything else I can help you with?"

resolution

Port-Out Execution

Say"To transfer your number to a new carrier, I'll generate a port authorization code — sometimes called a PAC or transfer PIN — that your new carrier will need to initiate the transfer. Before I do, could you confirm the name of the carrier you're moving to?"

NumberPortabilityClearinghouse.LookupCarrier for port.receivingCarrier

Detect
carrier lookup result
  • Carrier found and eligible for port carrier-valid port-auth-code-generation
  • Carrier lookup fails or carrier not found carrier-not-found port-lookup-failure

Port Authorization Code Generation

NumberPortabilityClearinghouse.GeneratePAC for customer.phoneNumber, linked to account.id

CRM.LogActivity on account.id: "Port-out PAC generated for port.receivingCarrier."

Say"Your port authorization code is: port.authCode. Please provide this code to port.receivingCarrier when you activate your new service. The transfer typically completes within one business day, though it may take up to three days in some cases."
Say"Once the port completes, your current service on this account will end automatically. Is there anything else you'd like to know before you go?"

resolution

Port Lookup Failure

CRM.CreateTicket for account.id: "Port-out request — receiving carrier lookup failed. Carrier: port.receivingCarrier. Manual follow-up required."

CRM.LogActivity on account.id: "Carrier lookup failed during port-out request."

Say"I'm sorry — I wasn't able to reach the number portability system for your carrier right now. I've logged your request and a member of our team will follow up with your port authorization code within two business hours. Would you like us to reach you at customer.phoneNumber or a different number?"
Detect
callback preference
  • Customer provides callback number callback-provided port-callback-scheduled
  • Customer prefers email email-preferred port-callback-scheduled
  • Customer wants to wait and try again retry port-out-execution

Port Callback Scheduled

CRM.ScheduleCallback on case.id with customer contact preference

Say"You're all set — we'll be in touch shortly. I apologize for the inconvenience. Is there anything else I can help you with today?"

resolution

Lost or Stolen SIM

Say"I'm sorry to hear that. To protect your account right away, I'm going to suspend your current SIM immediately. Once that's done, I can issue a replacement SIM or walk you through your options."

SubscriberProvisioning.SuspendSIM for customer.phoneNumber, reason: lost-stolen

CRM.LogActivity on account.id: "SIM suspended — customer reported lost or stolen. Replacement process initiated."

FraudManagement.NotifyLostStolen for account.id

Say"Your current SIM has been suspended. Would you like me to arrange a replacement SIM now? You can have one shipped to your address on file or pick one up at a store."
Detect
customer preference for replacement
  • Customer wants replacement shipped ship-replacement replacement-sim-dispatch
  • Customer will pick up in store store-pickup store-pickup-guidance
  • Customer needs more time to decide undecided resolution

Replacement SIM Dispatch

SubscriberProvisioning.OrderReplacementSIM for account.id, ship to address on file

CRM.LogActivity on account.id: "Replacement SIM ordered — shipping to address on file."

CarrierMessagingGateway.SendSMS to customer.email: "Your replacement SIM has been ordered and will arrive in 3 to 5 business days. Activation instructions will be included."

Say"Your replacement SIM has been ordered and will arrive within 3 to 5 business days. Once you receive it, you can activate it through our app, website, or by calling us back. Is there anything else I can help you with?"

resolution

Store Pickup Guidance

Say"No problem — you can visit any of our retail locations to pick up a replacement SIM. Please bring your government-issued photo ID. Our team there can activate the new SIM for you on the spot. Would you like me to look up the nearest store to you?"

CRM.LogActivity on account.id: "Customer advised to pick up replacement SIM in store."

resolution

Suspected SIM Hijacking

Say"I understand — thank you for letting us know immediately. This is being treated as a priority security concern. I'm suspending your account right now to prevent any unauthorized use."

SubscriberProvisioning.SuspendAccount for customer.phoneNumber, reason: suspected-hijacking

FraudManagement.RaiseSIMHijackingAlert for account.id

CRM.CreateTicket for account.id: "Suspected SIM hijacking — customer did not authorize swap. Immediate fraud team review required."

Say"Your account has been suspended. Our fraud team has been alerted and will investigate this immediately. You'll receive a follow-up within one hour. Do not attempt to log into any accounts that use this phone number for two-factor authentication until you've heard from us."

escalation-fraud-team

Fraud Hold Escalation

Say"I can see there is a security hold on your account that needs to be reviewed before any changes can be made. I'm going to connect you with our fraud team right away — they're the only team authorized to make changes while this hold is active."

FraudManagement.EscalateAccount for account.id, reason: port-freeze-or-fraud-flag

CRM.LogActivity on account.id: "SIM/port request blocked — active fraud flag or port freeze. Escalated to fraud team."

escalation-fraud-team

Escalation — Fraud Team

FraudManagement.CreateCase for account.id, priority: high

CRM.NotifyFraudTeam with account.id, customer.phoneNumber, case summary

Say"I'm transferring you to our fraud and security specialists now. They have full visibility into your account and the authority to resolve this. Please stay on the line — I'll make sure they have all the context from our conversation."

Escalation — Human Agent

CRM.CreateTicket for account.id: "Customer requires human agent assistance — could not complete SIM swap or port automatically."

Say"I'm going to connect you with one of our senior support agents who can assist you further. Thank you for your patience — please stay on the line."

Resolution

Say"Is there anything else I can help you with today?"
Detect
customer response
  • Customer has another request new-request intake
  • Customer is done done close

Close

Say"Thank you for choosing us. Have a great day — goodbye!"

CRM.CloseInteraction for account.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ sms

Service Activation / New Line Setup

TelecomActivationNew LineSales

Identity Verification

Say"Welcome! I can help you get a new line activated today. First, I need to verify your account. Can I have your account holder name, account number, and PIN?"

CRM.LookupAccount using account.holder_name and account.id

CRM.VerifyPIN against account.pin

  • Identity verified on first or second attempt confirmed eligibility-check
  • Identity fails first attempt unconfirmed CRM.LogVerificationAttempt secondary-verification
  • Fraud flag raised on account fraud_flag escalation-fraud
  • Identity fails after two attempts verification_failed escalation-identity

Secondary Verification

Say"I wasn't able to verify with that PIN. Let me try a secondary check — can you confirm the billing address on the account and the last four digits of the payment method on file?"

CRM.VerifySecondaryIdentity using account.billing_address and account.payment_method

  • Secondary verification passes confirmed eligibility-check
  • Secondary verification fails unconfirmed escalation-identity

Eligibility Check

Say"Great, I've verified your identity. Let me check if your account is eligible to add a new line."

BillingPlatform.CheckEligibility for account.id

  • Account is eligible for a new line eligible device-and-sim-collection
  • Account has outstanding balance or restrictions ineligible eligibility-resolution

Eligibility Resolution

Say"I can see there's a hold or outstanding balance on your account that needs to be resolved before we can add a new line. Let me pull up the details."

BillingPlatform.GetAccountStatus for account.id

  • Customer agrees to resolve balance now confirmed BillingPlatform.ProcessPayment device-and-sim-collection
  • Customer wants to handle it later or disputes the hold declined escalation-billing

Device and SIM Collection

Say"Perfect. Now I'll need a few details about the device and SIM. Could you provide the IMEI number of the device and the SIM card number you'll be using?"

SIMIMEIProvisioning.ValidateIMEI using device.imei

SIMIMEIProvisioning.ValidateSIM using sim.number

  • IMEI and SIM both valid confirmed plan-selection
  • IMEI is blacklisted or incompatible imei_flagged device-issue
  • SIM number is unrecognized or already active sim_invalid sim-issue

Device Issue

Say"I'm sorry — the IMEI you've provided is either flagged as blacklisted or isn't compatible with our network. I can't activate service on that device."

kb.compatible-device-catalog — retrieve compatible device options and current upgrade promotions for account.id

Say"Here are some compatible options available to you, including any current upgrade or trade-in offers. Would you like to explore one of those, or do you have another device you'd like to try?"
  • Customer wants to use a different device confirmed device-and-sim-collection
  • Customer wants to explore upgrade or purchase options interested escalation-device-upgrade
  • Customer wants to end the interaction declined resolution-closed

SIM Issue

Say"The SIM number provided doesn't appear to be recognized in our system, or it may already be linked to another line. Let's sort that out."

kb.sim-replacement-policy — check eligibility for a new SIM

  • Customer can obtain or activate a replacement SIM confirmed device-and-sim-collection
  • Issue requires physical store visit or mailed SIM store_required escalation-store-referral

Plan Selection

Say"Your device and SIM look good. Now let's choose the right plan. What kind of plan or package are you looking for? I can walk you through current options, or if you already have one in mind, just let me know."

kb.plan-catalog — retrieve available plans, pricing, and promotional offers for account.id

Say"Based on your account, here are the plans available to you. Can you confirm which one you'd like to go with?"
  • Customer selects a plan confirmed number-selection
  • Customer is unsure or wants more information undecided plan-recommendation

Plan Recommendation

Agent
recommend the best-fit plan for the customer based on account usage history, plan.selected interest signals, and kb.plan-catalog.
Goal:identify and present up to three plan options that match the customer's stated needs (data, budget, family vs. individual) and close on a selection.
Constraints:never recommend a plan above the customer's stated budget ceiling; always disclose activation fees and contract terms upfront; do not offer promotions not currently active in kb.plan-catalog.
Tools available:CRM.GetUsageHistory, kb.plan-catalog, kb.current-promotions
  • Customer selects a plan after recommendation confirmed number-selection
  • Customer still undecided or wants to call back deferred resolution-deferred
  • Customer declines all plans declined resolution-closed

Number Selection

Say"Now let's set up your phone number. Would you like us to assign you a new number, or would you like to port an existing number from another carrier?"
  • Customer wants a new number assigned new_number CarrierNetworkAPI.AssignNumber for account.id payment-processing
  • Customer wants to port an existing number port_in port-in-collection

Port-In Collection

Say"No problem — we can port your number over. I'll need a few details from your current carrier: the phone number you want to port, the account number with your current carrier, the PIN or password on that account, and the billing address they have on file."

NumberPortabilityDB.ValidatePortRequest using port.number, port.carrier, port.account_number, port.pin

  • Port request validated and eligible confirmed port-in-initiated
  • Port request rejected or information mismatch invalid port-in-issue

Port-In Initiated

NumberPortabilityDB.SubmitPortRequest for port.number linked to account.id

Say"Your port request has been submitted. The number transfer can take up to 24 hours depending on your current carrier. In the meantime, we'll assign a temporary number so your line is active right away. You'll receive a notification once your original number has fully transferred."

CarrierNetworkAPI.AssignTemporaryNumber for account.id

  • Temporary number assigned and port submitted confirmed payment-processing
  • Port submission fails due to carrier-side issue port_error escalation-porting

Port-In Issue

Say"I wasn't able to validate the port request with the details provided. This can happen if the account number or PIN with your current carrier doesn't match their records. Could you double-check those details and try again?"
  • Customer provides corrected details confirmed port-in-collection
  • Customer is unable to provide correct details unconfirmed escalation-porting
  • Customer prefers to take a new number instead new_number payment-processing

Payment Processing

Say"Almost there. There is an activation fee of plan.activation_fee for this line. I'll apply that to the payment method on file. Shall I go ahead?"

PaymentProcessor.ChargeActivationFee of plan.activation_fee to account.payment_method

  • Payment succeeds payment_success line-provisioning
  • Payment declines payment_declined payment-retry

Payment Retry

Say"It looks like the payment didn't go through on the card on file. You can try a different payment method, or I can check if you're eligible for an installment option to spread out the activation cost."

kb.installment-eligibility — check if account.id qualifies for installment plan on activation fee

  • Customer provides alternate payment method alternate_payment PaymentProcessor.ChargeActivationFee line-provisioning
  • Customer qualifies for and accepts installment option installment_approved BillingPlatform.SetupInstallment line-provisioning
  • Customer declines all payment options declined resolution-payment-abandoned

Line Provisioning

Say"Payment confirmed — I'm now provisioning your new line. This will just take a moment."

CarrierNetworkAPI.ProvisionLine for account.id with sim.number, device.imei, plan.selected

CRM.UpdateAccount with line.assigned_number and new line details

BillingPlatform.AddLineToAccount for account.id with plan.selected

  • Line provisioned successfully line_active activation-confirmation
  • Provisioning error returned by network provisioning_error escalation-provisioning

Activation Confirmation

Say"Your new line is live! Your number is line.assigned_number. To confirm everything is working, try making a quick call or loading a webpage — let me know what you see."
Detect
customer confirms service is working
  • Customer confirms call or data is working confirmed resolution-success
  • Customer reports no signal or data issues not_working activation-troubleshooting

Activation Troubleshooting

Say"Let's do a quick check. First, try restarting the device and make sure it isn't in airplane mode. Also confirm the SIM is seated properly."

CarrierNetworkAPI.CheckLineStatus for line.assigned_number

SIMIMEIProvisioning.VerifyProvisioningStatus for sim.number

  • Network confirms line is active and issue resolves resolved resolution-success
  • Line status shows error or provisioning incomplete provisioning_error escalation-provisioning
  • Issue persists despite active line status unresolved escalation-technical

Escalation — Identity Verification Failed

Say"I'm sorry — I wasn't able to verify your identity after two attempts. For your account's security, I'm unable to proceed with the activation. You're welcome to visit one of our stores with a valid photo ID to complete this in person."

CRM.LogFailedVerification for account.id with verification.attempts

CRM.CreateTicket tagged identity-verification-failed, linked to account.id

Escalation — Fraud Flag

Say"I'm not able to process this request at the moment. A specialist will reach out to you to assist further. Please don't worry — no changes have been made to your account."

CRM.FlagAccountForReview tagged fraud, for account.id

CRM.CreateTicket priority: high, tagged fraud-flag, linked to account.id

Escalation — Billing or Eligibility

Say"Let me connect you with our billing team who can look into your account balance and eligibility in more detail and get this sorted for you."

CRM.CreateTicket tagged billing-hold, linked to account.id

Escalation — Device Upgrade

Say"I'm transferring you to our device sales team. They'll walk you through compatible devices, upgrade programs, and any current trade-in offers."

CRM.CreateTicket tagged device-upgrade-referral, linked to account.id

Escalation — Store Referral

Say"For the SIM issue, the easiest path is to visit one of our stores where they can issue a new SIM and activate it on the spot. I'll note your account so they have the full context when you arrive."

CRM.CreateTicket tagged sim-store-referral, linked to account.id

Escalation — Porting Issue

Say"I wasn't able to complete the port request from our side — this sometimes requires direct coordination with your current carrier. I'm escalating this to our porting specialist team, who will contact you within one business day."

CRM.CreateTicket priority: high, tagged port-in-escalation, linked to account.id, including port.number and port.carrier

Escalation — Provisioning Error

Say"It looks like there was a technical issue provisioning your line on our network. I'm escalating this to our technical team right now — they'll have this resolved and will reach out to confirm once your line is fully active."

CRM.CreateTicket priority: high, tagged provisioning-error, linked to account.id and line.assigned_number

Escalation — Technical Support

Say"Since the line shows as active on our end but you're still having trouble, I'm escalating to our technical support team who can run a deeper diagnostic. They'll follow up with you shortly."

CRM.CreateTicket tagged device-technical-issue, linked to account.id and line.assigned_number

Resolution — Success

Say"Fantastic — everything is up and running. Your new line is active, your number is line.assigned_number, and your plan is set. Is there anything else I can help you with today?"

CRM.CloseTicket for account.id tagged activation-complete

Resolution — Deferred

Say"No problem at all — take your time. When you're ready to move forward, just reach back out and we'll have everything ready to pick up right where we left off. Have a great day!"

CRM.SaveSessionState for account.id with plan.selected and device.imei

Resolution — Payment Abandoned

Say"Understood — we'll hold the order details for now. When you're ready to complete the activation, just contact us again and we'll resume from here. Thanks for your time."

CRM.SaveSessionState for account.id with plan.selected and line.assigned_number tagged payment-pending

Resolution — Closed

Say"Of course — no problem. If you change your mind or need anything else, we're always here to help. Have a great day!"

CRM.LogInteraction for account.id tagged activation-not-completed

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ sms

Roaming / International Add-on Request

TelecomRoamingInternationalAdd-onsTravel

Identity Verification

Say"Thanks for reaching out! I'd be happy to help you with international coverage. To get started, can I have your account number or the phone number on the account, followed by your account PIN or passcode?"

CRM.LookupAccount using customer.phone or customer.accountNumber

CRM.VerifyPIN against customer.pin

  • Identity verified successfully verified account-review
  • PIN incorrect on first attempt — prompt once more identity-retry
  • Account not found or unresolvable escalation-human

Identity Retry

Say"I wasn't able to match that PIN. Let's try one more time — please re-enter your account PIN or passcode."

CRM.VerifyPIN against customer.pin

  • Identity verified on second attempt verified account-review
  • Second attempt fails failed escalation-human

Account Review

CRM.GetAccountDetails for customer.accountNumber — pull customer.currentPlan, customer.outstandingBalance, customer.accountFlags

Detect
account status flags on customer.accountFlags
  • Account flagged for fraud or suspension flagged escalation-human
  • Account has a past-due balance outstanding pastdue past-due-balance
  • Account in good standing, no flags clear trip-details

Past-Due Balance

Say"I can see there's an outstanding balance of customer.outstandingBalance on your account. Add-on activations are on hold until the balance is cleared. Would you like to make a payment now so we can get your roaming plan set up right away?"
  • Customer agrees to pay payment-collection
  • Customer declines or requests a payment arrangement escalation-human

Payment Collection

PaymentProcessing.InitiatePayment for customer.outstandingBalance on customer.accountNumber

Say"I'll bring up the payment flow now. Once that goes through, we'll be all set to activate your international add-on."
  • Payment successful payment_cleared CRM.UpdateAccountStatus trip-details
  • Payment declined or failed payment_failed escalation-human

Trip Details

Say"Great! Let's find the best plan for your trip. Which country or countries will you be visiting, and what are your travel dates?"

CRM.SetTripContext with trip.destinationCountry, trip.departureDate, trip.returnDate

  • Travel dates are upcoming or current and destination captured device-check
  • Customer is already abroad and reports unexpected charges already-abroad

Device Check

DeviceCompatibilityChecker.Assess using device.imei, device.model, device.simStatus for trip.destinationCountry

CarrierInternationalAPI.CheckPartnerCoverage for trip.destinationCountry

  • Device is compatible with international bands and destination network device_ok addon-selection
  • Device is CDMA-only or SIM-locked for destination device_incompatible device-incompatibility
  • Coverage unavailable in destination through partner network no_coverage escalation-human

Device Incompatibility

Say"I've checked your device and unfortunately it isn't compatible with the networks in trip.destinationCountry — it may be CDMA-only or SIM-locked for that region. I can offer you a couple of alternatives: an international SIM card or a temporary rental device that's fully unlocked and compatible. Would either of those work for you?"
  • Customer wants international SIM option sim-rental-offer
  • Customer wants rental device option sim-rental-offer
  • Customer declines alternatives and wants to explore further escalation-human

SIM / Rental Offer

Say"Perfect. I'll connect you with our device services team who can get that arranged before your trip. They'll confirm availability, pricing, and delivery or in-store pickup options."

CRM.CreateCase tagged device-compatibility-roaming, linked to customer.accountNumber

escalation-human

Add-on Selection

AddonCatalog.GetEligibleAddons for customer.currentPlan, trip.destinationCountry, trip.departureDate, trip.returnDate

Say"Great news — your device is compatible. Here are the international add-on options available for your plan and destination. I'll walk you through the options, including pricing and any usage caps."

kb.roaming-addon-policy — review eligible plans, pricing tiers, promotional offers, and usage caps for trip.destinationCountry

  • Customer selects a preferred add-on pricing-confirmation
  • Customer disputes the pricing or expected charges pricing-dispute
  • Customer requests a plan not currently eligible for their account escalation-human

Pricing Confirmation

Say"Just to confirm — you'd like to add addon.name for addon.price, which covers you in trip.destinationCountry. Your usage cap is addon.usageCap. This will activate on addon.effectiveDate. Does that all look correct?"
  • Customer confirms selection confirmed addon-activation
  • Customer wants to change selection addon-selection
  • Customer wants to cancel the request resolution-no-change

Add-on Activation

BillingPlatform.ActivateAddon with addon.name, addon.effectiveDate on customer.accountNumber

CRM.LogInteraction with add-on details, trip.destinationCountry, trip.departureDate, trip.returnDate

BillingPlatform.SendConfirmationEmail to customer.email with addon.name, addon.price, addon.usageCap, addon.effectiveDate

Say"You're all set! Your addon.name has been activated and takes effect on addon.effectiveDate. You'll receive a confirmation to customer.email shortly. Remember, your usage cap is addon.usageCap — you'll get an alert if you're approaching the limit. Is there anything else I can help you with?"
  • Customer has additional questions or requests trip-details
  • Customer is satisfied, no further needs resolution-complete

Already Abroad

Say"I'm sorry to hear your service isn't working as expected. Let me pull up your account and check what's been happening since your arrival."

BillingPlatform.GetRecentCharges for customer.accountNumber — review charge.amount for pay-per-use international activity

kb.roaming-retroactive-credit-policy — check eligibility window and thresholds for credit.eligibility

  • Customer has been incurring pay-per-use charges within the retroactive credit window credit_eligible retroactive-credit-review
  • Charges are outside the policy window or ineligible for credit addon-selection
  • Customer is disputing a large existing international charge charge-dispute

Retroactive Credit Review

Agent
assess retroactive credit eligibility for charge.amount against kb.roaming-retroactive-credit-policy.
Goal:determine whether a courtesy credit for pay-per-use roaming charges can be applied and activate the appropriate add-on going forward.
Constraints:never approve a retroactive credit above USD 75 without supervisor approval; always activate the going-forward add-on before issuing any credit; confirm credit eligibility against policy window before proceeding.
Tools available:BillingPlatform.GetRecentCharges, BillingPlatform.ApplyCredit, kb.roaming-retroactive-credit-policy, AddonCatalog.GetEligibleAddons
  • Credit is within agent approval threshold and eligible credit_approved apply-retroactive-credit
  • Credit amount exceeds agent threshold or policy bars it credit_escalate escalation-human

Apply Retroactive Credit

BillingPlatform.ApplyCredit of credit.amount to customer.accountNumber tagged retroactive-roaming-adjustment

CRM.LogInteraction with credit amount, reason, and linked charges

Say"I've applied a credit of credit.amount to your account for the roaming charges you incurred. It will appear on your next billing cycle. Now let's get a proper international add-on activated so you're covered for the rest of your trip."

addon-selection

Charge Dispute

Say"I understand — let's take a close look at those charges. Can you confirm the total amount you're disputing?"

BillingPlatform.GetChargeDetail for charge.disputeAmount on customer.accountNumber

kb.roaming-dispute-policy — review dispute thresholds and agent authorization limits

  • Dispute amount is within agent adjustment authority within_threshold pricing-dispute
  • Dispute amount exceeds agent authority exceeds_threshold escalation-human

Pricing Dispute

Say"I hear you — let me review any current promotions or adjustments that might apply to your account."

kb.roaming-addon-policy — check active promotional offers, loyalty discounts, and goodwill adjustment eligibility

Detect
outcome of promotion or adjustment review
  • A valid promotion or discount applies and resolves the concern promotion_found BillingPlatform.ApplyPromotion addon-selection
  • No promotion available but a courtesy adjustment is warranted and within threshold courtesy_ok BillingPlatform.ApplyCredit addon-selection
  • No resolution possible within agent authority no_resolution escalation-human

Escalation to Human Agent

CRM.CreateCase priority: high, tagged roaming-escalation, linked to customer.accountNumber

CRM.LogInteraction with full context: trip.destinationCountry, customer.currentPlan, charge.disputeAmount, customer.accountFlags

Say"I want to make sure this gets fully resolved for you. I'm escalating your case to a specialist who has the tools and authority to handle this. They'll have all the details so you won't need to repeat yourself."

Resolution — Complete

Say"Wonderful — you're all set for your trip to trip.destinationCountry. Safe travels, and don't hesitate to reach out if you need anything while you're away!"

CRM.LogInteraction with resolved add-on, addon.effectiveDate, trip.destinationCountry, trip.returnDate

Resolution — No Change

Say"No problem at all — no changes have been made to your account. If you'd like to revisit your options before your trip, we're here anytime. Have a great day!"

CRM.LogInteraction tagged no-change-requested, customer.accountNumber

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ email▣ voice

Returns / Exchange Request

RetailReturnsExchangeSupport

Intake

Say"Hi there! I'm here to help with your return or exchange. To get started, could you please share your order ID or receipt number along with the email address on your account?"
  • Customer provides order ID and email order-verification
  • Customer says they don't have their order ID no_order_id order-lookup-fallback
  • Customer immediately states item is damaged or wrong damaged_wrong damaged-wrong-item

Order Lookup Fallback

Say"No problem — I can try to locate your order another way. Could you share your full name, email address, or the last four digits of the payment method used?"

CRM.LookupOrder by customer.name or customer.email or lookup.method

  • Order found order-verification
  • Order not found after lookup CRM.LogAttempt escalation-human

Order Verification

OrderManagement.GetOrder using order.id and customer.email

kb.return-exchange-policy — confirm return window, final sale rules, and eligible items for order.purchaseDate

  • Order verified and item is within return window reason-and-preference
  • Order verified but item is outside return window outside_window outside-return-window
  • Order verified and item is marked final sale final_sale final-sale-ineligible
  • Order cannot be verified after attempts escalation-human

Reason and Preference

Say"Great, I've pulled up your order. Could you let me know the reason for the return and whether you'd prefer a refund to your original payment method or an exchange for a different size, color, or item?"
  • Customer states reason and wants a refund wants_refund refund-path
  • Customer states reason and wants an exchange wants_exchange exchange-path
  • Customer is unsure — offer both options Say: "I can process either a full refund back to your original payment method or place a new exchange order — whichever works best for you." reason-and-preference

Refund Path

Agent
evaluate the refund request against policy and order data.
Goal:confirm eligibility, calculate refund amount for order.total, and determine whether to auto-process or route for approval based on refund value.
Constraints:never auto-approve refunds above USD 300 without escalation; always verify item condition stated by customer matches return.reason before proceeding.
Tools available:OrderManagement.GetOrder, ReturnsManagement.CheckEligibility, kb.return-exchange-policy
  • Refund is eligible and amount is within auto-approve threshold approved generate-return-label
  • Refund amount exceeds threshold high_value refund-approval
  • Item flagged as ineligible based on stated reason ineligible policy-exception-check

Generate Return Label

ReturnsManagement.CreateReturnShipment for item.sku linked to order.id

ShippingCarrier.GenerateLabel and capture return.label

EmailNotification.Send to customer.email with return.label, return instructions, and expected refund timeline

Say"You're all set! I've emailed your prepaid return shipping label to customer.email. Once we receive the item, your refund will be processed within 5 to 7 business days. Is there anything else I can help you with?"

resolution

Exchange Path

Say"Happy to set up an exchange for you. What size, color, or item would you like instead? Please also confirm the item you're returning and the reason for the exchange."

ReturnsManagement.CheckEligibility for item.sku and order.id

OrderManagement.CheckInventory for the requested replacement item

  • Replacement item is in stock place-exchange-order
  • Replacement item is out of stock Say: "Unfortunately the item you requested isn't available right now. I can set up a refund instead, or hold the exchange until it's restocked — which would you prefer?" reason-and-preference
  • Item is ineligible for exchange ineligible policy-exception-check

Place Exchange Order

OrderManagement.CreateExchangeOrder linked to order.id, capture exchange.orderId

ReturnsManagement.CreateReturnShipment for original item.sku

ShippingCarrier.GenerateLabel and capture return.label

EmailNotification.Send to customer.email with return.label, exchange.orderId, and exchange confirmation details

Say"Your exchange is confirmed! I've emailed you a prepaid return label for the original item and a confirmation for your new order exchange.orderId. The replacement will ship once we receive the return. Anything else I can help with?"

resolution

Refund Approval

Approval
Slack.RequestApproval to #returns-approvals, approver: returns_ops_lead
Context sent:order.id, order.total, customer.email, return.reason, agent risk assessment
  • Approved approved generate-return-label
  • Rejected rejected escalation-human
  • No response within 30 min escalation-human

Damaged or Wrong Item

Say"I'm really sorry about that — receiving a damaged or incorrect item is never acceptable. I want to get this resolved quickly for you. Could you share your order ID and email so I can pull up the details?"

OrderManagement.GetOrder using order.id and customer.email

CRM.LogIssue tagged damaged-or-wrong, linked to order.id

Agent
assess whether to reship immediately without requiring a return or to request photo evidence before reshipping.
Goal:resolve the customer's issue as fast as possible while following fraud-prevention guidelines for order.total.
Constraints:never skip return requirement for orders above USD 150 without manager approval; always log the issue in CRM before taking action.
Tools available:OrderManagement.GetOrder, OrderManagement.CreateReplacementOrder, ReturnsManagement.WaiveReturn, kb.damaged-item-policy
  • Low value order — waive return and reship immediately OrderManagement.CreateReplacementOrder EmailNotification.Send resolution
  • Higher value order — request photo evidence then reship evidence_required Say: "Could you reply with a photo of the item? Once I have that I'll get a replacement out to you right away." damaged-evidence-review
  • Ambiguous or high-risk needs_review escalation-human

Damaged Evidence Review

Say"Thanks for sending that over — I've reviewed the details and will get a replacement on its way to you now."

OrderManagement.CreateReplacementOrder linked to order.id

ReturnsManagement.WaiveReturn for item.sku

EmailNotification.Send to customer.email with replacement order confirmation and apology note

resolution

Outside Return Window

Say"I completely understand your frustration. Looking at your order, the purchase date of order.purchaseDate falls outside our policy.returnWindowDays-day return window, so I'm unable to process a standard return."

kb.return-exchange-policy — check goodwill store credit eligibility for borderline cases

  • Purchase is borderline outside window (within 7 days past deadline) — offer store credit as goodwill gesture Say: "As a one-time courtesy, I'd be happy to offer you store credit for the value of the item. Would that work for you?" goodwill-store-credit
  • Purchase is well outside window — explain policy firmly outside_window_firm Say: "Unfortunately I'm not able to make exceptions beyond our standard window, but I'd love to help you with anything else." resolution
  • Customer disputes and is highly dissatisfied highly_dissatisfied escalation-human

Goodwill Store Credit

ReturnsManagement.IssueStoreCredit for order.total linked to customer.email

EmailNotification.Send to customer.email with store credit amount and redemption instructions

CRM.LogNote tagged goodwill-credit, linked to order.id

Say"I've applied a store credit equal to the item value to your account — you'll receive an email with details shortly. We appreciate your understanding and hope to see you shop with us again."

resolution

Final Sale Ineligible

Say"I can see this item was purchased as a final sale item, which means it isn't eligible for returns or exchanges under our policy. I'm sorry for the inconvenience."

kb.return-exchange-policy — confirm no exceptions apply for final sale items

  • Customer accepts the policy resolution
  • Customer reports the item arrived damaged or wrong damaged_wrong damaged-wrong-item
  • Customer disputes and is highly dissatisfied highly_dissatisfied escalation-human

Policy Exception Check

Agent
review the specific reason the item was flagged ineligible and determine whether any documented policy exception applies.
Goal:find a fair resolution that aligns with policy while preserving customer satisfaction where possible.
Constraints:never override a final sale classification without manager-level approval; never issue a refund outside policy without an escalation record in CRM.
Tools available:ReturnsManagement.CheckEligibility, CRM.LogNote, kb.return-exchange-policy
  • Exception applies — proceed with return or exchange generate-return-label
  • No exception — inform customer and offer alternative support final-sale-ineligible
  • Requires manager judgment needs_review escalation-human

Escalation to Human Agent

CRM.CreateCase priority: high, tagged returns-escalation, linked to order.id and customer.email

Slack.Notify to #returns-escalations with case summary, order.id, order.total, and return.reason

Say"I want to make sure this gets the attention it deserves. I'm escalating your case to a senior member of our team who will be in touch shortly with a resolution. I'm sorry for the inconvenience and appreciate your patience."

Resolution

Say"Is there anything else I can help you with today? If you have any questions about your return or exchange, don't hesitate to reach out — we're always happy to help."

CRM.UpdateCase status: resolved, linked to order.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ chat▣ voice▣ sms

Quote Request Intake

InsuranceSalesQuotes

Intake Greeting

Say"Hi there! I'm your insurance support agent. I'd be happy to help you get a quote today. To get started, could you tell me what type of coverage you're looking for — for example, auto, home, life, renters, or something else?"
Detect
intent on customer reply
  • Customer names a specific coverage type confirmed coverage-type-selected
  • Customer is unsure or asks for a recommendation uncertain coverage-guidance
  • Customer wants to speak with a person directly escalation_request escalation-human

Coverage Guidance

Say"No problem at all — let me ask a few quick questions so I can point you in the right direction."
Agent
recommend the most appropriate coverage product based on the customer's situation.
Goal:identify the best-fit coverage type (auto, home, life, renters, umbrella, etc.) by asking clarifying questions about assets, dependents, and existing coverage.
Constraints:never recommend a specific policy dollar amount without running the quoting engine; only recommend product categories; ask no more than three clarifying questions before making a recommendation.
Tools available:kb.coverage-product-guide, kb.underwriting-eligibility-overview
  • Agent identifies a suitable coverage type and customer agrees confirmed coverage-type-selected
  • Customer remains undecided or disengages disengaged partial-intake-save
  • Customer requests a human advisor escalation_request escalation-human

Coverage Type Selected

Say"Great choice. I'll now collect a few details so we can generate your quote. This should only take a couple of minutes."

CRM.LookupCustomer by customer.phone or customer.email to check for an existing record.

  • Existing customer record found returning_customer risk-detail-collection
  • No existing record found new_customer personal-info-collection

Personal Info Collection

Say"First, could I get your full name, email address, phone number, and mailing address?"

CRM.CreateContact with customer.name, customer.email, customer.phone, customer.address

  • All required contact details collected info_complete risk-detail-collection
  • Customer provides partial info then stops responding disengaged partial-intake-save

Risk Detail Collection

Say"Thanks, customer.name. Now I'll need a few details specific to the coverage you're looking for. I'll guide you through them one at a time."
Agent
collect all risk-relevant details required for the selected coverage.type.
Goal:gather complete risk inputs — vehicle make/model/year and VIN for auto (risk.vehicleInfo), property address and year built for home (risk.propertyAddress), age and health status for life (risk.age, risk.healthStatus) — plus coverage.desiredLimits, coverage.startDate, and coverage.currentProvider.
Constraints:never ask for Social Security Number or financial account numbers; if a customer declines to answer a required field, note it as missing and continue; do not proceed to quoting with fewer than 80% of required fields complete.
Tools available:CRM.UpdateContact, kb.risk-field-requirements, kb.coverage-product-guide
  • All required risk fields collected fields_complete underwriting-check
  • Critical fields missing after follow-up prompts fields_incomplete partial-intake-save
  • Customer disengages mid-collection disengaged partial-intake-save

Underwriting Check

UnderwritingRulesAPI.Evaluate with coverage.type, risk.vehicleInfo, risk.propertyAddress, risk.age, risk.healthStatus, coverage.desiredLimits

Detect
underwriting eligibility result
  • Risk profile passes standard guidelines eligible quote-generation
  • Risk profile flagged — outside standard guidelines flagged high_risk underwriter-review
  • API returns an error or timeout error quoting-system-error

Quote Generation

QuotingEngine.GenerateQuote with customer.name, coverage.type, risk.vehicleInfo, risk.propertyAddress, risk.age, risk.healthStatus, coverage.desiredLimits, coverage.startDate

Detect
quoting engine response
  • Quote successfully generated quote_ready quote-presentation
  • Quoting engine error or timeout on first attempt error quoting-retry

Quoting Retry

Say"I'm sorry — our quoting system took a moment. Let me try one more time."

QuotingEngine.GenerateQuote retry with same inputs

  • Quote successfully generated on retry quote_ready quote-presentation
  • Second attempt also fails error quoting-system-error

Quote Presentation

Say"Great news, customer.name! I have your quote ready. Your estimated premium for coverage.type coverage is quote.premium per month, at the quote.tier coverage tier, with your requested limits. Your quote ID is quote.id."

NotificationService.SendEmail to customer.email with quote summary: quote.id, quote.premium, quote.tier, coverage.desiredLimits, coverage.startDate

NotificationService.SendSMS to customer.phone with quote summary link

Say"I've sent a copy to your email and a summary link to your phone. Would you like to move forward and bind this coverage, get a different tier, or have a licensed agent walk you through your options?"
Detect
customer response intent
  • Customer wants to bind coverage now bind_now next-steps-binding
  • Customer wants to explore different tiers or limits adjust_quote risk-detail-collection
  • Customer wants to speak with a licensed agent escalation_request escalation-human
  • Customer acknowledges receipt but wants to decide later defer resolution-follow-up

Next Steps — Binding

Say"Wonderful! I'll connect you with our policy team to complete the binding process. Your quote ID quote.id and all your details are ready for them."

PolicyManagement.InitiateBinding with quote.id, customer.name, customer.email, coverage.startDate

CRM.UpdateContact status: quote-accepted, linked to quote.id

Say"You're all set. Someone from our team will reach out within one business day to finalize your policy documents and payment details. Is there anything else I can help you with today?"
  • Customer has additional questions intake-greeting
  • Customer is done — no further questions resolution-complete

Underwriter Review

Say"Thank you for sharing those details, customer.name. Your risk profile requires a brief review by one of our underwriting specialists before we can finalize a quote. This is a standard step for certain coverage requests."

CRM.UpdateContact status: pending-underwriter-review, flag: underwriting.flagReason

NotificationService.SendEmail to customer.email confirming review is in progress, expected timeline 1 to 2 business days

UnderwritingRulesAPI.CreateReviewCase with customer.name, coverage.type, underwriting.flagReason, all risk fields

Say"We'll reach out to you at customer.email within 1 to 2 business days with your quote or any follow-up questions. Would you like me to also arrange a call with a licensed agent in the meantime?"
  • Customer wants an agent callback confirmed escalation-human
  • Customer is satisfied to wait defer resolution-follow-up

Partial Intake Save

CRM.SavePartialIntake with all collected fields, status: incomplete, customer.phone, customer.email

NotificationService.ScheduleFollowUp outreach in 24 hours to customer.phone and customer.email

Say"No problem at all — I've saved everything you've shared so far. One of our team members will follow up with you within 24 hours to help complete your quote at a time that's convenient for you. Is there a preferred time or contact method we should use?"

CRM.UpdateContact preferred_contact: as stated by customer

  • Customer provides a preferred follow-up time or method resolution-follow-up
  • Customer does not respond or disengages resolution-follow-up

Quoting System Error

Say"I apologize — our quoting system is not available right now, and I want to make sure you get an accurate quote as quickly as possible. I'm going to connect you with a licensed agent who can complete this for you directly."

CRM.LogQuoteAttempt status: system-error, customer.name, coverage.type, all collected risk fields

NotificationService.AlertLicensedAgent with customer.name, customer.phone, customer.email, coverage.type, collected risk fields

  • Handoff to licensed agent escalation-human

Escalation to Human Agent

CRM.UpdateContact status: escalated-to-agent

CRM.CreateTask priority: high, assigned: licensed_agent_queue, linked to customer.name, coverage.type, quote.id

NotificationService.AlertLicensedAgent with full intake summary: customer.name, customer.email, customer.phone, coverage.type, coverage.desiredLimits, coverage.startDate, all risk fields, quote.id if available

Say"I'm transferring you now to a licensed agent who has all the details you've shared with me. You won't need to repeat anything. Thank you for your patience, customer.name."

Resolution — Follow-up Scheduled

Say"You're all set, customer.name. We'll be in touch soon to continue where we left off. Don't hesitate to reach back out if you have any questions in the meantime."

CRM.UpdateContact status: follow-up-scheduled

Resolution — Complete

Say"Thank you for choosing us, customer.name. Your quote is confirmed and our team will be in touch shortly. Have a great day!"

CRM.UpdateContact status: quote-delivered

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ voice▣ text▣ chat▣ sms

Product Availability / Stock Inquiry

RetailInventorySupport

Gather Product Details

Say"Hi there! I'd be happy to help you check on product availability. Could you share the product name, SKU, or a quick description of what you're looking for?"
Detect
intent on customer message
  • Customer provides a clear product name or SKU product-identified gather-variant-details
  • Customer gives a vague or partial description product-unclear clarify-product
  • Customer is already frustrated or mentions previous failed lookup frustrated escalation-human

Clarify Product

Say"No problem — let me help narrow that down. Do you have a SKU from a receipt or the website, or can you describe the item a bit more — for example, the category, brand, or color?"
  • Customer provides enough detail to identify the product product-identified gather-variant-details
  • Customer still cannot identify the product product-unclear ProductCatalog.Search to surface closest matches suggest-alternatives
  • Customer expresses frustration frustrated escalation-human

Gather Variant Details

Say"Got it — do you have a preferred size, color, or any other variant you need? And are you looking to pick it up at a store near you, or would online ordering work for you?"
  • Customer provides variant and prefers in-store pickup in-store gather-location
  • Customer provides variant and prefers online online check-online-inventory
  • Customer has no variant preference and prefers in-store in-store gather-location
  • Customer has no variant preference and prefers online online check-online-inventory
  • Customer is flexible on channel flexible check-online-inventory

Gather Location

Say"What's your zip code or the store location you'd like to check?"
  • Customer provides zip code or store name location-provided StoreLocator.FindNearestStores using customer.zipCode check-store-inventory
  • Customer cannot provide location location-unknown check-online-inventory
  • Customer expresses frustration frustrated escalation-human

Check Online Inventory

InventoryManagement.GetOnlineStock for product.sku, variant product.variant.size, product.variant.color

  • Online stock confirmed available in-stock confirm-online-availability
  • Online stock is zero or unavailable out-of-stock check-store-inventory
  • Lookup returns no data or an error lookup-error inventory-lookup-failure

Check Store Inventory

InventoryManagement.GetStoreStock for product.sku at customer.preferredStore, variant product.variant.size, product.variant.color

  • Stock confirmed at preferred or nearest store in-stock confirm-store-availability
  • In-stock only at a distant store distant-stock offer-ship-or-transfer
  • Out of stock at all nearby stores and online out-of-stock check-discontinued
  • Lookup returns no data or an error lookup-error inventory-lookup-failure

Confirm Online Availability

Say"Great news — product.name is available online right now. You can add it to your cart and check out at your convenience. Would you like me to send you a direct link, or is there anything else I can help you with?"

CRM.LogInteraction tagged availability-confirmed-online, linked to product.sku

  • Customer wants a link SendEmail or SendSMS with product URL to customer.email or customer.phone resolution
  • Customer is satisfied and needs nothing else confirmed resolution
  • Customer mentions price match, special hold, or bulk quantity special-request escalation-human

Confirm Store Availability

Say"Good news — product.name is in stock at store.name. You can head in to grab it, or in some cases we can reserve it for you. Would you like to reserve it, or do you have any other questions?"

CRM.LogInteraction tagged availability-confirmed-store, linked to product.sku

  • Customer wants to reserve the item wants-reservation InventoryManagement.PlaceHold for product.sku at store.name reservation-confirmed
  • Customer is satisfied and will go to the store confirmed resolution
  • Customer requests price match, special hold, or bulk quantity special-request escalation-human
  • Customer expresses frustration frustrated escalation-human

Reservation Confirmed

Say"Perfect — I've placed a hold on product.name at store.name for you. You'll typically have 24 to 48 hours to pick it up. Is there anything else I can help you with?"

CRM.LogInteraction tagged reservation-placed, linked to product.sku

  • Customer is satisfied confirmed resolution
  • Customer has another question follow-up gather-product-details

Offer Ship or Transfer

Say"I can see product.name is available, but the nearest store with stock is store.name, which is about store.distance away. We may be able to ship it directly to you from that store, or arrange a transfer to a closer location — would either of those work for you?"

InventoryManagement.CheckShipFromStore for product.sku at store.name

InventoryManagement.CheckTransferEligibility for product.sku

  • Ship-from-store is available and customer agrees ship-available InventoryManagement.InitiateShipFromStore ship-from-store-confirmed
  • Transfer to closer store is available and customer prefers pickup transfer-available InventoryManagement.InitiateTransfer transfer-initiated
  • Neither option is available or customer declines both declined check-discontinued
  • Customer requests special handling or bulk quantity special-request escalation-human

Ship From Store Confirmed

Say"I've arranged for product.name to be shipped to you from store.name. You'll receive a confirmation and tracking info at customer.email once it ships. Is there anything else I can help with?"

CRM.LogInteraction tagged ship-from-store-initiated, linked to product.sku

  • Customer is satisfied confirmed resolution
  • Customer has another question follow-up gather-product-details

Transfer Initiated

Say"I've submitted a transfer request to bring product.name to your preferred store. Once it arrives — usually within a few business days — we'll reach out to let you know it's ready. Can I grab your contact info to make sure you get that notification?"

CRM.UpdateContactInfo with customer.email, customer.phone

CRM.LogInteraction tagged transfer-requested, linked to product.sku

  • Customer provides contact info contact-provided resolution
  • Customer declines contact info declined resolution

Check Discontinued

ProductCatalog.CheckDiscontinuedStatus for product.sku

  • Product is confirmed discontinued discontinued product-discontinued
  • Product is not discontinued but broadly out of stock out-of-stock offer-restock-notification

Product Discontinued

Say"I'm sorry to share that product.name has been discontinued and is no longer available through us. I know that's not the news you were hoping for. I can suggest a few comparable items that might work for you — would that be helpful?"

ProductCatalog.GetSimilarItems for product.sku

  • Customer wants to see alternatives wants-alternatives suggest-alternatives
  • Customer does not want alternatives declined resolution
  • Customer is upset about the discontinuation frustrated escalation-human

Offer Restock Notification

Say"Unfortunately product.name is out of stock right now — both online and at nearby stores. I can sign you up for a restock alert so you'll be notified as soon as it's available again. Would you like me to do that?"
  • Customer agrees to restock alert confirmed RestockNotification.Subscribe with product.sku, customer.email, customer.phone restock-signup-confirmed
  • Customer declines and wants to see similar items wants-alternatives suggest-alternatives
  • Customer declines all options declined resolution

Restock Signup Confirmed

Say"You're all set — we'll send a notification to customer.email or customer.phone as soon as product.name is back in stock. Is there anything else I can help you with today?"

CRM.LogInteraction tagged restock-alert-registered, linked to product.sku

  • Customer has another question follow-up gather-product-details
  • Customer is satisfied confirmed resolution

Suggest Alternatives

Agent
review the product catalog and customer context to recommend up to three comparable alternatives for product.name.
Goal:identify alternatives that match the customer's likely intent — same category, similar price point, available in the preferred channel (online or in-store).
Constraints:only recommend items confirmed in stock; never suggest items with an active recall or items flagged as discontinued; limit suggestions to three.
Tools available:ProductCatalog.GetSimilarItems, InventoryManagement.GetOnlineStock, InventoryManagement.GetStoreStock, kb.product-substitution-guidelines
  • Suitable alternatives found and customer is interested alternatives-found present-alternatives
  • No suitable alternatives found or customer declines no-match resolution
  • Customer expresses frustration or demands a manager frustrated escalation-human

Present Alternatives

Say"Here are a few options I think you'd like as alternatives to product.name: alternative.name (SKU alternative.sku) is currently available and very similar in features and price. Would any of these work for you, or would you like more details on one of them?"
  • Customer selects an alternative and wants to check availability selected check-online-inventory
  • Customer wants to know more about an alternative wants-details ProductCatalog.GetProductDetails present-alternatives
  • Customer declines all alternatives declined resolution
  • Customer expresses frustration frustrated escalation-human

Inventory Lookup Failure

Say"I'm sorry — I ran into a technical issue pulling up the inventory details right now. I'd recommend checking the website directly for the most up-to-date stock information, or you can call store.name at store.phone and they can look it up in-store. I'm logging this on our end so we can look into it."

CRM.LogSystemError with lookup.errorCode, product.sku, tagged inventory-lookup-failure

  • Customer is okay with the workaround confirmed resolution
  • Customer is frustrated or wants further help frustrated escalation-human

Escalation to Human Agent

Say"I completely understand — let me connect you with a team member who can take care of this for you right away."

CRM.CreateCase priority: high, tagged availability-escalation, linked to product.sku, customer.name

CRM.LogInteraction tagged escalated-to-human

Resolution

Say"Thanks for reaching out — happy to help anytime. Have a great day!"

CRM.LogInteraction tagged inquiry-resolved, linked to product.sku

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat

Prior Authorization Status Inquiry

HealthcarePrior AuthorizationMember ServicesProvider Services

Intake & Caller Identification

Say"Thank you for contacting member services. I'm here to help with a prior authorization inquiry. May I ask — are you calling as the member, or as a provider or practice staff member?"
Detect
caller relationship to member
  • Caller identifies as the patient or member confirmed member-identity-verification
  • Caller identifies as provider staff or office provider provider-identity-verification
  • Caller relationship unclear or caller does not respond unclear intake-verification

Member Identity Verification

Say"I'll need to verify your identity before I can share any authorization details. Could you please provide me with your Member ID and date of birth?"

EligibilitySystem.VerifyMember using member.id and member.dob

CRM.PullMemberRecord for member.id

  • Identity verified, coverage active verified auth-lookup
  • Identity verified but coverage inactive coverage_inactive coverage-issue
  • Identity cannot be confirmed after two attempts unverified escalation-human

Provider Identity Verification

Say"Thank you for calling on behalf of your practice. Could you please provide the member's Member ID or date of birth, your practice NPI, and the authorization reference number if you have it?"

ProviderDirectory.VerifyProvider using provider.npi or provider.practiceName

EligibilitySystem.VerifyMember using member.id and member.dob

  • Provider and member both verified, coverage active verified auth-lookup
  • Member coverage inactive coverage_inactive coverage-issue
  • Provider NPI not found in directory provider_not_found escalation-human
  • Identity cannot be confirmed unverified escalation-human

Coverage Issue

Say"Before we discuss the authorization, I want to let you know that the member's coverage appears to be inactive as of today. I'll flag this on the record. Depending on the coverage dates, this may affect the authorization request."

CRM.LogCoverageFlag for member.id with status member.coverageStatus

  • Caller wants to continue to auth lookup regardless auth-lookup
  • Caller wants to resolve coverage issue first escalation-human

Authorization Lookup

Say"Thank you. I'm pulling up the authorization request now. Could you confirm the medication or procedure being authorized and the date the request was submitted?"

AuthManagement.LookupAuthorization using auth.referenceNumber or member.id and auth.submittedDate and medication.name or procedure.name

  • Authorization record found, status is pending pending status-pending
  • Authorization record found, status is approved approved status-approved
  • Authorization record found, status is denied denied status-denied
  • Authorization record found, clinical info still outstanding info_outstanding clinical-info-outstanding
  • Authorization record cannot be located not_found auth-not-found

Status — Pending

Say"I can see that the authorization request for medication.name or procedure.name is currently pending review. It was submitted on auth.submittedDate and is within the standard review window."

AuthManagement.CheckReviewDeadline for auth.referenceNumber

  • Request is still within the payer's mandated review timeframe pending-next-steps
  • Request has exceeded the mandated review timeframe overdue escalation-urgent

Pending — Next Steps

Say"The expected decision date is auth.reviewDeadline. You don't need to take any action right now. If you haven't received a decision by that date, please contact us and we'll escalate on your behalf. Is there anything else I can help you with?"

CRM.LogInteraction for member.id with status pending and next review date auth.reviewDeadline

  • Caller has additional questions intake-verification
  • Caller is satisfied and ends interaction resolution

Status — Approved

Say"Great news — the authorization for medication.name or procedure.name has been approved. The approval is effective auth.effectiveDates. An approval letter has been or will be sent to both the member and the ordering provider."

CRM.LogInteraction for member.id with outcome approved

Portal.ConfirmLetterDelivery for auth.referenceNumber

  • Caller needs the approval reference number or letter resent resend-approval
  • Caller has no further questions resolution

Resend Approval Letter

Say"I'll arrange for the approval letter to be resent right away. Can you confirm the best delivery method — secure portal message or mailing address on file?"

Portal.ResendApprovalLetter for auth.referenceNumber to member.id

CRM.LogInteraction noting resend requested

  • Letter resent successfully letter_sent resolution
  • Delivery fails or address needs updating delivery_failed escalation-human

Status — Denied

Say"I'm sorry to share that the authorization request for medication.name or procedure.name has been denied. The reason on file is: auth.denialReason. I want to make sure you understand your options from here."

kb.appeal-rights-policy — confirm appeal window, peer-to-peer review rights, and deadline rules for auth.denialReason

Say"You have the right to appeal this decision. The appeal must be submitted by auth.appealDeadline. If the treating provider would like to speak directly with the medical reviewer, a peer-to-peer review can also be requested within that same window. Would you like me to note a formal appeal intent on this record?"

CRM.LogDenialOutcome for member.id and auth.referenceNumber with reason auth.denialReason

  • Denial involves urgent or life-sustaining treatment urgent escalation-urgent
  • Caller confirms intent to appeal appeal_intent escalation-appeal
  • Caller wants to discuss denial reason further denial-detail
  • Caller accepts denial and has no further questions resolution

Denial Detail

Say"The denial reason provided is: auth.denialReason. This determination was based on the clinical criteria applied to the submitted documentation. If additional clinical evidence is available, that can be included as part of a formal appeal."

kb.clinical-criteria-policy — look up criteria applied to medication.name or procedure.name

  • Caller now wants to initiate appeal appeal_intent escalation-appeal
  • Caller has no further questions resolution

Clinical Info Outstanding

Say"The authorization is currently on hold because additional clinical information is needed before a determination can be made. The outstanding documentation is: auth.outstandingDocs."
Say"The ordering provider's office will need to submit this information directly to the payer's clinical review team. Once received, the review will resume. Would you like me to send a notification to the provider's portal?"

Portal.SendClinicalInfoRequest to provider.npi with list auth.outstandingDocs

CRM.LogInteraction for member.id noting outstanding documents and notification sent

  • Notification sent and caller is satisfied notified resolution
  • Provider disputes what is listed as outstanding disputed escalation-human

Authorization Not Found

Say"I wasn't able to locate an authorization request matching the details you provided. Let me confirm what we have: Member ID member.id, submitted date auth.submittedDate, for medication.name or procedure.name."
Say"If those details are correct, it's possible the request did not process successfully. I'd recommend the submitting provider resubmit the request through the portal or by fax, and retain the submission confirmation number. I can also escalate this to our intake team to investigate."

CRM.LogInteraction for member.id noting authorization not found and submission details provided

  • Caller wants to escalate to intake team for investigation escalate_intake escalation-intake
  • Caller will resubmit and has no further questions resolution

Escalation — Urgent or Life-Sustaining Denial

CRM.FlagUrgentCase for member.id and auth.referenceNumber with priority high

AuthManagement.EscalateForExpediteReview for auth.referenceNumber

Say"Given the urgent nature of this request, I'm flagging this case for immediate escalation to our clinical review team and escalating for an expedited review. A specialist will be in contact within 24 hours. You'll receive a reference number for this escalation shortly."

CRM.LogInteraction noting urgent escalation initiated

Escalation — Formal Appeal

CRM.OpenAppealCase for member.id and auth.referenceNumber with deadline auth.appealDeadline

Portal.SendAppealInstructions to member.id and provider.npi

Say"I've noted your intent to appeal and opened an appeal case on your account. You'll receive written instructions outlining the appeal process and submission requirements. The deadline to submit is auth.appealDeadline. A dedicated appeals coordinator will follow up with you."

CRM.LogInteraction noting appeal case opened

Escalation — Intake Investigation

CRM.CreateIntakeInvestigationTicket for member.id with submission details auth.submittedDate and medication.name or procedure.name

CRM.LogInteraction noting intake escalation for missing authorization record

Say"I've created a ticket for our intake team to investigate. They will review submission records and follow up within two business days. Your ticket reference has been added to your account. Is there anything else I can help with?"
  • Caller has additional questions intake-verification
  • Caller is satisfied resolution

Escalation — Human Agent

CRM.LogInteraction for member.id noting reason for escalation

CRM.RouteToSpecialist priority standard

Say"I want to make sure you get the right help here. I'm transferring you to a member services specialist who can assist further. Please hold for just a moment, and thank you for your patience."

Resolution

Say"Thank you for contacting us today. To recap: I've provided you with the current status of your authorization request and any next steps. If you have further questions or need follow-up, don't hesitate to call back or send a message through the member portal. Take care."

CRM.LogInteraction for member.id with outcome resolved and summary of interaction

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat▣ sms

Prescription Refill Request

HealthcarePharmacyRefill

Patient Verification

Say"Thank you for calling. I'm here to help with your prescription refill. To get started, can I have your full name and date of birth?"

PatientIdentityVerification.LookupPatient using patient.fullName and patient.dateOfBirth

  • Identity verified successfully verified prescription-lookup
  • Identity cannot be confirmed after two attempts unverified escalation-human
  • Patient reports urgent clinical concern or adverse reaction urgent escalation-clinical

Prescription Lookup

Say"Thank you, patient.fullName. Which prescription would you like to refill today — including the medication name and dosage?"

Epic.GetPrescriptionRecord using patient.memberId, prescription.name, prescription.dosage

  • Prescription found, refills remaining and not expired pharmacy-confirmation
  • Prescription found, no refills remaining no_refills no-refills-remaining
  • Prescription found but expired expired prescription-expired
  • Prescription flagged as controlled substance controlled escalation-clinical
  • Prescription not found in record escalation-human

Pharmacy Confirmation

Say"I can see your prescription for prescription.name prescription.dosage, last filled on prescription.lastFillDate, with prescription.refillsRemaining refill(s) remaining. Your pharmacy on file is pharmacy.onFile. Would you like to send it there, or use a different pharmacy?"
  • Patient confirms pharmacy on file confirmed submit-refill-request
  • Patient requests a different pharmacy change_pharmacy update-pharmacy
  • Patient is unresponsive or unclear escalation-human

Update Pharmacy

Say"No problem. Please provide the name and address of your preferred pharmacy and I'll update that for you now."

Epic.UpdatePreferredPharmacy with pharmacy.name and pharmacy.address

CRM.UpdatePatientRecord with updated pharmacy.name

Say"Your preferred pharmacy has been updated to pharmacy.name. I'll send your refill request there."

submit-refill-request

Submit Refill Request

Surescripts.SendRefillRequest for prescription.name prescription.dosage to pharmacy.name on behalf of patient.memberId

CRM.LogInteraction with patient.memberId, prescription.name, pharmacy.name

Say"Your refill request for prescription.name has been sent to pharmacy.name. It should be ready by refill.estimatedReadyTime. Is there anything else I can help you with?"
  • Patient has another request another patient-verification
  • Patient confirms they are done done resolution-confirmed

No Refills Remaining

Say"It looks like there are no refills remaining on your prescription.name prescription. I'll send a refill authorization request to your prescribing provider, provider.name, on your behalf. They'll review it and respond typically within one to two business days."

Epic.SendRefillAuthorizationRequest to prescription.prescriberId for patient.memberId and prescription.name

CRM.LogInteraction with patient.memberId, note: refill authorization requested, no refills remaining

Say"The request has been sent. You'll be notified once your provider responds. If you have an urgent need, please let me know and I can escalate this."
  • Patient indicates urgent medical need urgent escalation-clinical
  • Patient acknowledges and is satisfied acknowledged resolution-pending-authorization

Prescription Expired

Say"I can see that your prescription for prescription.name expired on prescription.expiryDate. A new prescription requires your provider to issue a fresh script, which typically means scheduling an appointment. I can help you get that set up."

CRM.LogInteraction with patient.memberId, note: prescription expired, appointment recommended

  • Patient wants to schedule an appointment schedule appointment-scheduling
  • Patient declines and has no urgent need decline resolution-no-action
  • Patient reports an urgent clinical concern urgent escalation-clinical

Appointment Scheduling

Say"I'll connect you to scheduling now so you can book a time with provider.name to get a new prescription issued."

Epic.InitiateAppointmentRequest for patient.memberId with prescription.prescriberId

CRM.LogInteraction with patient.memberId, note: appointment scheduling initiated for expired prescription

  • Appointment request successfully initiated scheduled resolution-appointment-booked
  • Scheduling system unavailable unavailable escalation-human

Escalation to Clinical Staff

Say"I want to make sure you get the right support. I'm transferring you to a clinical staff member now who can assist with your request directly."

Epic.CreateClinicalAlert priority: high, patient.memberId, prescription.name, prescription.isControlled

CRM.CreateCase tagged: clinical-escalation, controlled-substance, linked to patient.memberId

Escalation to Human Agent

Say"Let me connect you with a member of our support team who can look into this further and make sure everything is taken care of."

CRM.CreateCase priority: high, tagged: refill-escalation, linked to patient.memberId, prescription.name

Resolution — Confirmed

Say"Wonderful — your refill for prescription.name is on its way to pharmacy.name and should be ready by refill.estimatedReadyTime. Take care and don't hesitate to reach out if you need anything."

CRM.LogInteraction with patient.memberId, note: refill successfully submitted, case closed

Resolution — Pending Authorization

Say"We've sent your refill authorization request to provider.name. Once they respond, your pharmacy will be notified. If you haven't heard back in two business days, please don't hesitate to call us again."

CRM.LogInteraction with patient.memberId, note: patient informed of pending provider authorization

Resolution — Appointment Booked

Say"Your appointment request has been submitted with provider.name. You'll receive a confirmation shortly. Once you're seen, your provider can issue a new prescription for prescription.name."

CRM.LogInteraction with patient.memberId, note: appointment booked for expired prescription renewal

Resolution — No Action

Say"Understood — no action taken today. If you change your mind or your situation becomes more urgent, please don't hesitate to call us back. Take care."

CRM.LogInteraction with patient.memberId, note: patient declined appointment scheduling, no refill action taken

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat

Premium Payment / Billing Inquiry

InsuranceBillingPayments

Inbound Greeting

Say"Thank you for contacting insurance support. My name is your virtual support agent. I can help you with billing questions, premium payments, and policy account inquiries. May I have your policy number to get started?"

CRM.LookupCustomer on policy.number

  • Policy number provided and record found identity-verification
  • Customer cannot locate policy number identity-verification
  • No response or line is silent escalation-human

Identity Verification

Say"To protect your account, I need to verify your identity before I can share any account details. Could you please confirm your date of birth, the last four digits of your Social Security Number, or your account security passphrase?"

PolicyManagement.VerifyIdentity using customer.dob, customer.ssn_last4, or customer.passphrase

Detect
verification outcome
  • Identity verified successfully verified policy-overview
  • Identity cannot be verified after two attempts unverified identity-failure
  • Customer hesitant or asks why it is needed frustrated verification-explain

Verification Explain

Say"Completely understandable — your security is our top priority. We require identity verification before sharing any account details to protect you from unauthorized access. I can verify using your date of birth, the last four digits of your Social Security Number, or your security passphrase — whichever you prefer."
  • Customer agrees and provides credentials identity-verification
  • Customer refuses to verify and wants to end call escalation-human

Identity Failure

Say"I'm sorry — I wasn't able to verify your identity with the information provided. For the security of your account, I'm unable to share policy or billing details over this channel."
Say"You're welcome to visit one of our branch locations with a valid photo ID, or submit a written inquiry through our secure customer portal. I can also transfer you to a specialist who can walk you through those options."
  • Customer wants branch or written request information CRM.LogContactAttempt escalation-human
  • Customer agrees to end call CRM.LogContactAttempt session-close

Policy Overview

PolicyManagement.GetPolicyDetails on policy.number

BillingLedger.GetCurrentBalance returning policy.premium_amount, policy.due_date, payment.outstanding_balance, payment.last_payment_date, payment.method_on_file

Detect
policy lapse or cancellation-pending status against policy.lapse_status
  • Policy is active and in good standing active billing-inquiry-triage
  • Policy is in lapsed status lapsed escalation-lapsed-policy
  • Policy is cancellation-pending cancellation_pending escalation-lapsed-policy

Billing Inquiry Triage

Say"I've pulled up your account. Your current premium is policy.premium_amount, due on policy.due_date. Your outstanding balance is payment.outstanding_balance, and your payment method on file is payment.method_on_file. How can I help you today?"
Detect
customer's primary billing intent
  • Customer wants to make a payment now pay_now process-payment
  • Customer questions or disputes the premium amount dispute_amount premium-explanation
  • Customer reports a missed or failed payment missed_payment missed-payment-review
  • Customer asks about an upcoming renewal renewal_question renewal-review
  • Customer asks about an unexpected or unrecognized charge unexpected_charge premium-explanation
  • Customer wants to update payment method update_payment update-payment-method
  • Customer requests supervisor or escalation wants_supervisor escalation-human

Premium Explanation

Say"I understand — let me review any recent changes to your policy that may have affected your premium."

BillingLedger.GetChangeHistory on policy.number returning billing.recent_changes, billing.endorsements, billing.rate_adjustment_reason

kb.premium-rate-adjustment-policy — review applicable rate change rules and endorsement billing guidelines

  • Change explained by endorsement or coverage adjustment CRM.LogExplanation explanation-confirmed
  • Change explained by annual rate adjustment CRM.LogExplanation explanation-confirmed
  • Change cannot be explained by visible account data unexplained_charge escalation-human

Explanation Confirmed

Say"The change to your premium is due to billing.rate_adjustment_reason. This is consistent with the terms of your policy. I'm happy to email or text you a summary of this breakdown for your records."
  • Customer accepts explanation and wants to pay now process-payment
  • Customer accepts explanation but has no payment due confirmation-send
  • Customer still disputes the explanation still_disputing escalation-human

Missed Payment Review

Say"I can see your last payment was on payment.last_payment_date and there is an outstanding balance of payment.outstanding_balance. Let me check whether your account is eligible for a payment plan or grace period extension."

kb.payment-plan-eligibility-policy — check grace period rules, payment plan thresholds, and eligibility criteria

  • Account is within grace period and customer wants to pay now within_grace process-payment
  • Account is eligible for a payment plan payment_plan_eligible payment-plan-setup
  • Grace period has expired and policy is at risk grace_expired escalation-lapsed-policy

Payment Plan Setup

Say"Good news — your account qualifies for a payment plan. I can break your outstanding balance of payment.outstanding_balance into installments. Would you like me to walk you through the available options?"

kb.payment-plan-options — retrieve available installment schedules and terms

Agent
present payment plan options based on payment.outstanding_balance and kb.payment-plan-options.
Goal:identify the most suitable installment schedule for the customer and confirm their agreement before enrolling.
Constraints:never enroll a customer in a payment plan that extends beyond the policy renewal date without supervisor approval; never waive fees without approved authorization; always confirm the first installment amount and date before proceeding.
Tools available:BillingLedger.GetPaymentPlanOptions, BillingLedger.EnrollPaymentPlan, kb.payment-plan-options
  • Customer agrees to a plan and first payment is collected BillingLedger.EnrollPaymentPlan confirmation-send
  • Customer declines plan and wants to pay full balance now process-payment
  • Customer declines all options escalation-human

Renewal Review

Say"Your policy is scheduled for renewal on policy.due_date. Your renewal premium will be policy.premium_amount. I can walk you through what's included, any coverage changes, or help you make a payment in advance if you'd like."

kb.renewal-billing-policy — review renewal terms, auto-pay rules, and advance payment options

  • Customer wants to make an advance renewal payment process-payment
  • Customer has questions about coverage changes at renewal coverage_question escalation-human
  • Customer wants to update payment method before renewal update-payment-method
  • Customer is satisfied with the renewal information confirmation-send

Update Payment Method

Say"No problem — I can update your payment method right now. For security, the new payment details you provide will be verified before being saved to your account. Please go ahead and share the new payment method you'd like to use."

PaymentGateway.UpdatePaymentMethod with new details provided by customer

BillingLedger.ConfirmMethodUpdate on policy.number

  • Payment method updated successfully method_updated billing-inquiry-triage
  • New payment method declined or invalid method_declined payment-declined

Process Payment

Say"I'll process a payment of payment.outstanding_balance using your payment.method_on_file. Shall I go ahead?"

PaymentGateway.ProcessPayment for payment.outstanding_balance on policy.number

Detect
payment processing outcome
  • Payment approved and processed successfully payment_success confirmation-send
  • Payment method declined payment_declined payment-declined
  • Payment gateway timeout or system error system_error escalation-human

Payment Declined

Say"I'm sorry — the payment method on file was unable to be processed. This can happen due to insufficient funds, an expired card, or a bank hold. Would you like to try a different payment method, or would you prefer to set up a payment plan?"
  • Customer provides an alternate payment method update-payment-method
  • Customer wants to explore a payment plan payment-plan-setup
  • Customer wants to call back later CRM.LogDeclinedPayment CRM.SetFollowUpFlag session-close
  • Customer requests supervisor escalation-human

Confirmation Send

Say"Your account is in good standing. I'll send a confirmation of today's activity to customer.email and customer.phone right now."

Twilio.SendSMS to customer.phone with payment confirmation and payment.confirmation_number

CRM.SendConfirmationEmail to customer.email with policy status, payment amount, and next due date

CRM.LogInteraction with summary of inquiry type, actions taken, and outcome

  • Confirmation sent and customer has no further questions session-close
  • Customer has an additional question additional_question billing-inquiry-triage

Escalation — Lapsed or Cancellation-Pending Policy

Say"I can see your policy is currently in a lapsed or cancellation-pending status. I'm not able to process a standard payment for a policy in this state — I'll need to connect you with a specialist who handles reinstatement."

CRM.LogEscalation tagged lapse-reinstatement, linked to policy.number

CRM.FlagForReinstatementReview on policy.number

  • Transferring to reinstatement workflow policy-reinstatement-workflow
  • Customer disconnects before transfer CRM.LogContactAttempt session-close

Escalation to Human Agent

Say"I'm going to connect you with a specialist who can assist you further. Please hold for just a moment — I'm passing along your account details so you won't need to repeat yourself."

CRM.LogEscalation with inquiry summary, policy.number, and reason for escalation

CRM.CreateCase priority: high, tagged billing-escalation, linked to policy.number

Session Close

Say"Thank you for contacting insurance support. Is there anything else I can help you with today?"
  • Customer has another question another_question inbound-greeting
  • Customer is done — closing interaction CRM.LogInteraction tagged session-complete
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ sms▣ email▣ chat

Policy Renewal Reminder / Confirmation

InsuranceRenewalRetentionBilling

Renewal Outreach

Twilio.SendSMS to customer.phone: "Hi customer.name, your policy policy.number is due for renewal on policy.renewal_date. Your updated premium is policy.renewal_premium. Reply CONFIRM to renew, CHANGE to update coverage, or call us to speak with an agent."

Twilio.SendEmail to customer.email with full renewal notice including policy.coverage_summary, policy.renewal_premium, and policy.expiry_deadline.

Detect
customer intent from inbound reply or inbound call
  • Customer responds CONFIRM or calls to confirm renewal confirmed identity-verification
  • Customer responds CHANGE or requests a coverage update change_coverage identity-verification
  • Customer calls or replies to dispute the premium amount dispute_premium identity-verification
  • Customer calls or replies with intent not to renew cancel_intent identity-verification
  • No response within 5 days Twilio.SendSMS follow-up reminder, then renewal-outreach-followup

Renewal Outreach Follow-up

Twilio.SendSMS to customer.phone: "Reminder: your policy policy.number expires on policy.expiry_deadline. Please confirm your renewal to avoid a lapse in coverage. Reply CONFIRM or call us."

Twilio.SendEmail to customer.email with final renewal warning and policy.expiry_deadline highlighted.

Detect
customer intent from inbound reply or call
  • Customer responds or calls to confirm confirmed identity-verification
  • Customer responds or calls to dispute or change dispute_premium identity-verification
  • Customer calls or replies with intent not to renew cancel_intent identity-verification
  • No response before expiry deadline CRM.LogNoResponse, flag policy for lapse review escalation-lapse-review

Identity Verification

Say"Thank you for reaching out about your policy renewal. For security purposes, I'll need to verify your identity before we proceed. Could you please provide your date of birth and the last four digits of your Social Security Number?"

PolicyManagement.VerifyIdentity using customer.dob and customer.ssn_last4 against policy.number

  • Identity verified successfully identity_verified policy-review
  • Identity cannot be verified after two attempts identity_failed escalation-human

Policy Review

PolicyManagement.GetPolicyDetails for policy.number to load policy.coverage_summary, policy.current_premium, policy.renewal_premium, and policy.renewal_date.

BillingPlatform.GetAccountBalance for policy.number to check billing.outstanding_balance.

Say"I've pulled up your policy policy.number. Your current premium is policy.current_premium and your renewal premium is policy.renewal_premium. Your renewal date is policy.renewal_date."
  • Customer has an outstanding balance and billing.outstanding_balance is greater than zero balance_due outstanding-balance-resolution
  • Customer's intent was to dispute the premium dispute_premium premium-dispute
  • Customer's intent was to change coverage change_coverage coverage-change-request
  • Customer's intent was to cancel cancel_intent cancellation-intent
  • No outstanding balance and customer is ready to confirm renewal confirmed renewal-confirmation

Outstanding Balance Resolution

Say"I can see there is an outstanding balance of billing.outstanding_balance on your account. Unfortunately, we'll need to resolve this before we can process your renewal to avoid a lapse in coverage. I can help you pay the balance now, or we can explore a payment plan."

BillingPlatform.GetPaymentOptions for policy.number

Agent
assess the customer's situation and determine the best path to resolve billing.outstanding_balance.
Goal:resolve the outstanding balance so renewal can proceed, either by collecting full payment now or arranging an approved payment plan.
Constraints:never proceed with renewal while a balance remains unresolved; payment plans must comply with kb.billing-payment-plan-policy; never waive balances without supervisor approval.
Tools available:BillingPlatform.ProcessPayment, BillingPlatform.CreatePaymentPlan, kb.billing-payment-plan-policy, CRM.LogInteraction
  • Customer agrees to pay balance in full now payment-processing
  • Customer agrees to a payment plan and plan is within policy limits payment_plan_arranged renewal-confirmation
  • Customer refuses to pay or situation is too complex for self-service balance_unresolved escalation-billing

Premium Dispute

Say"I completely understand — a premium change can be surprising. Let me walk you through the factors that contributed to the updated rate."

UnderwritingEngine.GetRateChangeFactors for policy.number

Say"The adjustment to policy.renewal_premium reflects changes in policy.coverage_summary, along with updated risk factors and market conditions. I'm happy to explain any of these in more detail."

kb.rate-change-explanations — retrieve standard explanations for common rate change drivers

Detect
customer reaction to the explanation
  • Customer accepts the explanation and is ready to renew accepted renewal-confirmation
  • Customer wants to explore lower-cost coverage tiers explore_options coverage-change-request
  • Customer formally disputes the rate and wants an official review formal_dispute escalation-underwriting
  • Customer still intends to cancel after explanation cancel_intent cancellation-intent

Coverage Change Request

Say"No problem — I can log your requested coverage changes. These will need to be reviewed before we finalize your renewal. Please go ahead and describe the changes you'd like to make."

CRM.LogCoverageChangeRequest for policy.number with customer's requested modifications.

Agent
review the requested coverage changes against underwriting eligibility rules.
Goal:determine whether the requested changes can be approved automatically or require underwriter review before renewal is finalized.
Constraints:never finalize renewal with unapproved coverage changes; changes outside standard guidelines must be escalated; do not quote a revised premium without system confirmation.
Tools available:UnderwritingEngine.CheckEligibility, PolicyManagement.GetCoverageOptions, kb.underwriting-guidelines, CRM.LogInteraction
  • Requested changes are within auto-approval parameters changes_approved renewal-confirmation
  • Requested changes require underwriter review needs_underwriter escalation-underwriting
  • Customer decides not to change coverage after all and wants to renew as-is confirmed renewal-confirmation

Cancellation Intent

Say"I'm sorry to hear you're considering not renewing. Before I process anything, I'd love to understand what's driving that decision — is it the premium, coverage, or something else?"
Detect
primary reason for cancellation intent
  • Price is the concern price_concern premium-dispute
  • Coverage or service concern coverage_concern coverage-change-request
  • Customer is switching to another insurer switching_insurer retention-offer
  • Customer confirms firm decision to cancel after retention scripting firm_cancel cancellation-logging

Retention Offer

kb.retention-offers — look up eligible discounts, bundling options, and loyalty incentives for policy.number

Say"I appreciate your loyalty and I'd like to see if we can find a better fit for you before you go. Based on your policy, here are some options that might help."

CRM.LogRetentionAttempt for policy.number

Agent
select and present the most relevant retention offers from kb.retention-offers based on the customer's stated reason for leaving.
Goal:retain the customer by presenting a genuinely compelling option — a discount, loyalty reward, or alternative coverage tier — that addresses their concern.
Constraints:never promise a discount that hasn't been confirmed as available via kb.retention-offers; do not exceed authorized discount thresholds without supervisor approval.
Tools available:kb.retention-offers, PolicyManagement.GetCoverageOptions, BillingPlatform.GetDiscountEligibility, CRM.LogInteraction
  • Customer accepts a retention offer and agrees to renew retention_accepted renewal-confirmation
  • Customer declines all offers and confirms cancellation intent firm_cancel cancellation-logging
  • Situation is complex or customer is very high value high_value_at_risk escalation-retention

Cancellation Logging

Say"I understand, and I respect your decision. I've noted your intent not to renew policy policy.number. Your coverage will remain active until policy.expiry_deadline. You'll receive written confirmation of non-renewal shortly."

PolicyManagement.LogNonRenewalIntent for policy.number with cancellation reason.

CRM.UpdateCustomerRecord with non-renewal status and reason code.

DocumentDelivery.SendNonRenewalConfirmation to customer.email.

Renewal Confirmation

Say"Great — let's confirm your renewal. Your policy policy.number will be renewed at a premium of policy.renewal_premium. Your current payment method on file is billing.payment_method ending in billing.payment_method_last4. Would you like to use this method, or update it?"
Detect
customer payment method preference
  • Customer confirms existing payment method use_existing_payment payment-processing
  • Customer wants to update payment method update_payment payment-method-update
  • Customer wants to schedule payment for a later date schedule_payment payment-scheduling

Payment Method Update

Say"Of course — please provide your new payment details and I'll update them securely on your account."

BillingPlatform.UpdatePaymentMethod for policy.number

  • Payment method updated successfully payment_updated payment-processing
  • Payment method update fails or customer has trouble payment_update_failed escalation-billing

Payment Scheduling

Say"I can schedule your renewal payment. Please note the payment must be received by policy.expiry_deadline to avoid any lapse in coverage. What date works for you?"

BillingPlatform.SchedulePayment for policy.number on customer's chosen date

  • Payment successfully scheduled payment_scheduled renewal-complete
  • Requested date is after expiry deadline date_invalid escalation-billing

Payment Processing

BillingPlatform.ProcessPayment for policy.number using billing.payment_method for policy.renewal_premium.

  • Payment processed successfully payment_success renewal-complete
  • Payment declined or failed payment_failed escalation-billing

Renewal Complete

PolicyManagement.ConfirmRenewal for policy.number and generate renewal.confirmation_number.

DocumentDelivery.SendRenewalConfirmation to customer.email with updated policy documents, policy.renewal_premium, and renewal.confirmation_number.

CRM.UpdateCustomerRecord with renewal status and renewal.confirmation_number.

Say"Your policy policy.number has been successfully renewed. Your confirmation number is renewal.confirmation_number and a full copy of your updated policy documents has been sent to customer.email. Is there anything else I can help you with today?"

Escalation — Human Agent

CRM.CreateCase priority: high, reason: identity-verification-failure, linked to policy.number.

Twilio.NotifyAgent on #renewal-support-queue with case summary and policy.number.

Say"I want to make sure you're taken care of, so I'm going to connect you with a specialist who can assist you further. Please hold for just a moment."

Escalation — Underwriting Review

CRM.CreateCase priority: high, reason: underwriting-review-required, linked to policy.number.

UnderwritingEngine.SubmitReviewRequest for policy.number with supporting details and customer's stated concerns.

Twilio.NotifyAgent on #underwriting-queue with case summary.

Say"I've submitted your policy for underwriting review. A specialist will be in touch within two business days to discuss your options. You'll receive an email at customer.email confirming the review has been opened."

Escalation — Billing

CRM.CreateCase priority: high, reason: billing-issue, linked to policy.number.

Twilio.NotifyAgent on #billing-support-queue with case summary, billing.outstanding_balance, and policy.renewal_date.

Say"I'm going to connect you with our billing team who has the tools to resolve this quickly and ensure your coverage doesn't lapse. Thank you for your patience."

Escalation — Retention Specialist

CRM.CreateCase priority: urgent, reason: high-value-cancellation-risk, linked to policy.number.

CRM.FlagForRetentionSpecialist for policy.number.

Twilio.NotifyAgent on #retention-team with customer summary, policy.renewal_premium, and cancellation reason.

Say"I want to make sure we do everything we can to find the right solution for you. I'm transferring you to one of our senior retention specialists right now who can work with you directly."

Escalation — Lapse Review

PolicyManagement.FlagPolicyForLapse for policy.number.

CRM.CreateCase priority: high, reason: no-response-lapse-risk, linked to policy.number.

Twilio.SendSMS to customer.phone: "Urgent: your policy policy.number has not been renewed and is at risk of lapsing on policy.expiry_deadline. Please call us immediately to avoid a gap in coverage."

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat▣ sms

Policy Coverage Question

InsuranceCoverageSupport

Inbound Coverage Inquiry

Say"Thank you for reaching out. I'm here to help you understand your coverage. Could I please have your full name and policy number to get started?"
  • Customer provides name and policy number identity-verification
  • Customer doesn't have policy number handy collect-account-details

Collect Account Details

Say"No problem at all. I can look you up another way. Could you please provide the email address or phone number associated with your account?"

PolicyManagement.LookupByContact using customer.email or customer.phone

  • Account found identity-verification
  • Account not found CRM.CreatePendingRecord system-lookup-failure

Identity Verification

PolicyManagement.FetchPolicy using policy.number

CRM.VerifyIdentity confirm customer.name against policy record

Say"Just to protect your account, I'll need to verify a couple of details. Can you confirm your date of birth and the zip code on file?"
Detect
verification outcome
  • Identity confirmed, policy active confirmed retrieve-policy-details
  • Identity confirmed, policy lapsed or expired confirmed lapsed-policy
  • Identity check fails after two attempts unverified escalation-human

Retrieve Policy Details

PolicyManagement.GetPolicyDetails for policy.number — retrieve policy.type, policy.effectiveDate, policy.expirationDate, policy.deductible, policy.coverageLimits

CRM.LogInteraction tag: coverage-inquiry, linked to policy.number

Say"Great, I've pulled up your policy.type policy, which is active from policy.effectiveDate through policy.expirationDate. Now, could you describe the situation you'd like me to check coverage for?"
  • Customer describes a specific situation or event coverage-assessment
  • Customer is distressed or alarmed about a potential denial frustrated acknowledge-concern

Acknowledge Concern

Say"I completely understand — it can be really stressful not knowing whether something is covered, and I want to make sure you get an accurate answer. I'm not going to make any promises I can't back up, but let's walk through this together. Can you tell me what happened?"
Detect
sentiment on follow-up response
  • Customer calms down and describes the situation neutral coverage-assessment
  • Customer remains very distressed or mentions legal action frustrated escalation-licensed-agent

Coverage Assessment

Agent
evaluate whether coverage.situation is covered under policy.type using the coverage rules engine and policy knowledge base.
Goal:produce a clear coverage determination — covered, excluded, or gray-area — along with applicable deductible and limit details from policy.deductible and policy.coverageLimits.
Constraints:never make a binding coverage promise on ambiguous or high-value situations; do not interpret legal or disputed policy language; flag any situation involving a loss above USD 10000 for underwriter review regardless of apparent outcome.
Tools available:CoverageRulesEngine.Evaluate, DocumentRetrieval.GetPolicyWording, kb.coverage-exclusions-guide, kb.policy-terms-glossary
  • Situation is clearly covered deliver-covered-answer
  • Situation falls in a gray area or under an exclusion explain-exclusion-or-gray-area
  • Situation involves a large, complex, or legally disputed claim complex_claim escalation-underwriter

Deliver Covered Answer

DocumentRetrieval.GetRelevantSection for policy.type and coverage.situation

Say"Good news — based on your policy, this situation is covered. Your applicable deductible is policy.deductible, and the coverage limit for this type of loss is policy.coverageLimits. I'd recommend reviewing the relevant section of your policy document, which I can send to customer.email if you'd like."
  • Customer asks about filing a claim claim-guidance
  • Customer confirms they understand and has no further questions resolution-close
  • Customer wants to speak with a licensed agent escalation_requested escalation-licensed-agent

Explain Exclusion or Gray Area

DocumentRetrieval.GetExclusionClause for policy.type and coverage.situation

kb.coverage-exclusions-guide — retrieve plain-language explanation for the applicable exclusion

Say"I want to be transparent with you — based on what you've described, this situation may fall under an exclusion in your policy. Let me explain what that means and why, and then we can talk about your options."
Say"Your policy does have a section that addresses this. I can walk you through it now, or I can connect you with an underwriting specialist who can do a formal review — especially if the circumstances are complex or there are details that might change the picture."
  • Customer wants underwriter review escalation-underwriter
  • Customer accepts the explanation and understands resolution-close
  • Customer disputes the exclusion or mentions an attorney frustrated escalation-licensed-agent

Claim Guidance

CRM.CheckExistingClaim for policy.number and coverage.situation

  • Existing claim found, linked to claim.existingId claim-already-filed
  • No existing claim found new-claim-guidance

Claim Already Filed

Say"I can see there's already a claim on file related to this — claim reference claim.existingId. Your claims team will be in touch, or you can contact them directly to get a status update. Is there anything else about your coverage I can clarify today?"
  • Customer has more questions coverage-assessment
  • Customer is satisfied resolution-close

New Claim Guidance

Say"If you'd like to move forward, I can help you start a claim. You'll need to have the date and description of the incident, any photos or documentation you have, and receipts or estimates if applicable. Would you like me to open a claim now, or do you need more time to gather information?"
  • Customer wants to file now PolicyManagement.InitiateClaim resolution-close
  • Customer wants to file later resolution-close
  • Customer wants to escalate or speak with someone directly escalation-licensed-agent

Lapsed Policy

Say"I can see that your policy with us is currently inactive — it appears coverage lapsed on policy.expirationDate. I'm sorry to be the bearer of that news. Unfortunately, I'm not able to confirm coverage for a situation that occurred after that date, but I can connect you with our renewals team to talk about reinstating or updating your policy."
  • Customer wants to explore reinstatement or renewal policy-renewal-reinstatement
  • Customer wants to speak with someone directly escalation-licensed-agent
  • Customer acknowledges and wants to end the call resolution-close

System Lookup Failure

Say"I'm running into a technical issue retrieving your policy details right now, and I don't want to give you inaccurate information. I'd like to collect a few notes manually and have a specialist follow up with you within one business day. Would that work for you?"

CRM.CreateFollowUpTask assign to policy-support team, SLA: 1 business day, include customer.name, customer.phone, customer.email, coverage.situation

  • Customer agrees to follow-up resolution-close
  • Customer wants immediate assistance escalation-licensed-agent

Escalation to Underwriter

UnderwritingQueue.SubmitReviewRequest with policy.number, coverage.situation, agent's risk assessment, and policy.coverageLimits

CRM.LogInteraction tag: underwriter-referral, linked to policy.number

Say"I've flagged your situation for a formal review by one of our underwriting specialists. They'll be able to give you a definitive answer and will reach out to you at customer.email or customer.phone within two business days. I'll make sure all the context I have is passed along so you don't have to repeat yourself."
  • Customer has additional questions for the underwriter escalation-licensed-agent
  • Customer is satisfied with the next step resolution-close

Escalation to Licensed Agent

CRM.CreateCase priority: high, tag: licensed-agent-requested, linked to policy.number

CRM.LogInteraction tag: escalation, include full coverage-question context

Say"I'm going to connect you with a licensed agent who has the authority to give you a definitive answer and discuss your options in full. Please hold just a moment while I bring them in — and I'll pass along everything we've discussed so you won't need to start over."

Policy Renewal Reinstatement

CRM.LogInteraction tag: renewal-interest, linked to policy.number

Say"Let me pass you to our renewals team who can walk you through your reinstatement options and any updated terms. They'll be able to tell you exactly what it would take to get coverage active again."

policy-renewal-reinstatement-flow

Resolution Close

CRM.CloseInteraction tag: resolved, linked to policy.number

Say"Is there anything else I can help you with today regarding your coverage or your policy?"
  • Customer has another question inbound-coverage-inquiry
  • Customer is done Say: "Thank you for calling. You're all set, and don't hesitate to reach out if questions come up. Have a great day." resolution-close
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ text

Plan Change / Upgrade Request

TelecomPlan ChangeUpgradeBilling

Identity Verification

Say"Thanks for reaching out! I'm happy to help you with a plan change or upgrade. To get started, can I have your account number or the phone number associated with your account?"

CRM.LookupAccount using customer.accountNumber or customer.phone

Detect
identity verification outcome
  • Account found and identity confirmed verified account-review
  • Account not found or customer cannot verify identity unverified escalation-human
  • Customer wants to browse plans before verifying intent_browse plan-discovery

Account Review

CRM.GetAccountDetails for customer.accountNumber — pull customer.currentPlan, customer.contractEndDate, customer.billingCycleDate, customer.deviceModel, customer.location

Say"I can see your account, customer.name. You're currently on the customer.currentPlan. Your next billing date is customer.billingCycleDate. Let me pull up the plans available to you."

PlanCatalog.GetEligiblePlans for customer.accountNumber, customer.deviceModel, customer.location

  • Plans retrieved successfully plan-discovery
  • No eligible plans returned or catalog error catalog_error escalation-human

Plan Discovery

Say"Here are the plans available for your account. I can walk you through the differences in data, speed, features, and pricing — just let me know what matters most to you."

kb.plan-catalog — present eligible options with pricing, data allowances, speeds, and feature highlights relevant to customer.currentPlan

Detect
customer intent after plan review
  • Customer selects a specific plan plan_selected plan-confirmation
  • Customer asks about a promotion or discount promo_inquiry promotion-check
  • Customer's preferred plan is incompatible with device or location incompatible compatibility-resolution
  • Customer is unsure and wants time to decide undecided follow-up-scheduling
  • Customer mentions wanting to cancel instead cancel_intent escalation-human

Promotion Check

Say"Let me check whether there are any current promotions or offers that apply to your account."

PlanCatalog.GetPromotions for customer.accountNumber

kb.promotions-policy — verify eligibility criteria for active promotions against customer.currentPlan and customer.contractEndDate

  • Valid promotion found and auto-applicable promo_valid CRM.ApplyPromotion with promotion.code plan-confirmation
  • Promotion exists but requires manager approval promo_needs_approval promotion-approval
  • No eligible promotion found plan-confirmation

Promotion Approval

Say"That promotional rate needs a quick verification on my end before I can apply it. Let me get that sorted for you now."
Approval
Slack.RequestApproval to #plan-change-approvals, approver: billing_supervisor
Context sent:customer.accountNumber, customer.currentPlan, promotion.code, promotion.description, plan.selected
  • Approved approved CRM.ApplyPromotion with promotion.code plan-confirmation
  • Rejected rejected Say: "I wasn't able to apply that specific promotion, but I can still offer you our best available rate." plan-confirmation
  • No response in 20 min escalation-human

Compatibility Resolution

Say"It looks like that specific plan isn't available for your device or location. Let me find you the closest alternative that would work best for you."

PlanCatalog.GetCompatibleAlternatives for customer.deviceModel, customer.location

kb.device-compatibility-policy — review alternatives against customer.currentPlan to identify closest feature and pricing match

  • Compatible alternative found and customer accepts alt_accepted plan-confirmation
  • Customer rejects all alternatives and escalates frustration frustrated escalation-human
  • Customer wants to upgrade device to access desired plan device_upgrade_intent escalation-human

Plan Confirmation

PlanCatalog.CalculateProration for customer.accountNumber, plan.selected, customer.billingCycleDate — return plan.proratedAmount, plan.effectiveDate, plan.monthlyCost

Say"Here's a summary before we make any changes: you'd be moving to plan.selected at plan.monthlyCost per month. The change would take effect on plan.effectiveDate, and your prorated charge for this billing cycle would be plan.proratedAmount. Shall I go ahead and apply that?"

ContractDB.CheckContractTerms for customer.accountNumber, customer.contractEndDate — check for early change fee fee.earlyChange

  • No contract fee applies and customer confirms confirmed apply-plan-change
  • Contract change fee applies contract-fee-review
  • Customer wants to reconsider or go back reconsider plan-discovery
  • Customer declines and threatens cancellation cancel_intent escalation-human

Contract Fee Review

Say"I want to make sure you have the full picture — because you're currently in a contract running until customer.contractEndDate, applying this change now would include an early change fee of fee.earlyChange. You have a couple of options: we can apply the change today with that fee, or we can schedule it to take effect at the end of your contract period at no extra cost."

kb.contract-terms-policy — confirm fee calculation and waiver eligibility for customer.accountNumber

Detect
customer decision on contract fee
  • Customer accepts fee and wants to proceed today fee_accepted apply-plan-change
  • Customer prefers a future effective date future_date schedule-future-change
  • Customer disputes the fee or feels it should be waived fee_dispute escalation-human
  • Customer wants to cancel instead of paying the fee cancel_intent escalation-human

Schedule Future Change

Say"No problem at all. I'll schedule your plan change to plan.selected to take effect on customer.contractEndDate, so there'll be no early change fee. You'll stay on your current plan until then, and we'll send you a reminder as that date approaches."

BillingPlatform.SchedulePlanChange for customer.accountNumber, plan.selected, effective: customer.contractEndDate

CRM.UpdateAccountNotes with scheduled change details, case.id

  • Change scheduled successfully confirmation-notification
  • Scheduling fails system_error billing-system-error

Apply Plan Change

BillingPlatform.ApplyPlanChange for customer.accountNumber, plan.selected, effective: plan.effectiveDate, proration: plan.proratedAmount

  • Plan change applied successfully confirmation-notification
  • System returns error on first attempt system_error BillingPlatform.RetryPlanChange apply-plan-change-retry
  • Customer threatens cancellation during wait cancel_intent escalation-human

Apply Plan Change Retry

BillingPlatform.RetryPlanChange for customer.accountNumber, plan.selected

  • Retry successful confirmation-notification
  • Retry also fails system_error_final billing-system-error

Billing System Error

Say"I'm sorry — I'm running into a technical issue completing this change right now. I've logged your request and our team will manually apply the update within one business day. You won't lose your selected plan or pricing."

CRM.CreateCase priority: high, tagged: plan-change-system-error, linked to customer.accountNumber

CRM.UpdateAccountNotes with plan.selected, plan.monthlyCost, plan.effectiveDate, error details

NotificationService.SendEmail to customer.email confirming the logged request and manual resolution timeline

  • Case logged and customer is satisfied satisfied resolution
  • Customer is frustrated and demands immediate resolution or escalation frustrated escalation-human

Confirmation Notification

Say"You're all set! Your plan has been updated to plan.selected. The change is effective plan.effectiveDate, and your new monthly rate will be plan.monthlyCost. You'll get a confirmation sent to you shortly."

NotificationService.SendSMS to customer.phone with plan change summary, plan.selected, plan.effectiveDate, plan.monthlyCost

NotificationService.SendEmail to customer.email with full confirmation details and updated plan terms

CRM.UpdateAccountNotes with completed plan change, plan.selected, plan.effectiveDate

resolution

Follow-up Scheduling

Say"That's completely fine — take your time. Can I get a good number or email to reach you on? I can also note the plans we discussed so you don't have to start over when you're ready."

CRM.CreateFollowUpTask for customer.accountNumber, note: plans discussed, follow-up within 48 hours

CRM.UpdateAccountNotes with plan.selected, customer preference notes

  • Follow-up scheduled successfully resolution
  • Customer decides to proceed after all plan_selected plan-confirmation

Escalation to Human Agent

CRM.CreateCase priority: high, tagged: plan-change-escalation, linked to customer.accountNumber

Slack.Notify to #plan-change-escalations with customer.accountNumber, customer.currentPlan, plan.selected, escalation reason

Say"I want to make sure you get the right help here. I'm connecting you with a senior specialist now who can resolve this for you directly. Your account details and everything we've discussed will be passed along so you won't need to repeat yourself."

Resolution

Say"Is there anything else I can help you with today? We appreciate you being a customer and hope you enjoy your new plan."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ voice▣ email

Payment / Billing Issue

RetailBillingPaymentsRefunds

Identity Verification

Say"Thank you for reaching out. I'm happy to help you sort out this billing concern. To get started, could you please confirm your full name and the email address on your account?"

CRM.LookupAccount using customer.email

  • Account found, identity confirmed transaction-lookup
  • Account not found or details do not match identity-retry
  • Customer reports suspected fraud or unauthorized access escalation-fraud

Identity Retry

Say"I wasn't able to locate an account with those details. Could you double-check the email address, or try an alternate one you may have used when placing your order?"

CRM.LookupAccount using customer.email

  • Account found on second attempt transaction-lookup
  • Still unable to locate account escalation-back-office

Transaction Lookup

Say"Thanks, customer.name — I've pulled up your account. Can you share the order ID or transaction ID and the charge amount and date you're seeing?"

OrderManagement.GetOrder using order.id

PaymentProcessor.GetTransaction using transaction.id

  • Transaction located and discrepancy confirmed discrepancy-assessment
  • Transaction found but charge appears valid valid-charge-explanation
  • Transaction cannot be found in any system manual-collection

Discrepancy Assessment

Agent
assess the billing discrepancy using transaction.id, transaction.amount, transaction.date, payment.method, and kb.billing-policy.
Goal:determine whether the discrepancy is a duplicate charge, an erroneous fee, a missing refund that was already issued, or a failed payment requiring retry.
Constraints:never initiate a refund above USD 150 without escalating for approval; always verify refund has not already been processed before initiating a new one; never modify account payment details without customer consent.
Tools available:PaymentProcessor.GetTransaction, PaymentProcessor.GetRefundStatus, OrderManagement.GetOrder, RefundPortal.CheckRefundHistory, kb.billing-policy
  • Duplicate or erroneous charge confirmed, refund not yet issued refund-initiation
  • Charge is valid upon review valid-charge-explanation
  • Refund was already issued, customer has not received it refund-status-check
  • Payment failed due to card or funds issue failed-payment-recovery
  • Refund amount exceeds agent authorization limit high_value escalation-approval
  • Issue cannot be reproduced or confirmed in any system manual-collection

Refund Initiation

Say"I can confirm that charge should not have been applied. I'm going to process a refund of refund.amount to your payment.method right now."

RefundPortal.InitiateRefund for transaction.id, amount refund.amount, linked to customer.accountId

EmailNotifications.Send to customer.email with refund confirmation, refund.id, and refund.timeline

Say"Your refund of refund.amount has been submitted. You should see it back on your payment.method within refund.timeline. I've also sent a confirmation to customer.email. Is there anything else I can help with?"
  • Customer confirms resolution resolution-confirmed
  • Customer has additional questions resolution-confirmed

Valid Charge Explanation

Say"I've reviewed the charge and I can see it was applied for a specific reason. Let me walk you through what happened."

kb.billing-policy — retrieve applicable policy documentation (restocking fees, subscription renewals, promotional terms)

Say"This charge of transaction.amount on transaction.date relates to your order order.id. Based on our billing policy, this was applied as — [restocking fee / subscription renewal / promotional adjustment]. I can send you the full policy documentation for your records."

EmailNotifications.Send to customer.email with charge explanation and relevant kb.billing-policy documentation

  • Customer accepts the explanation resolution-confirmed
  • Customer disputes the explanation and still believes charge is incorrect escalation-back-office
  • Customer reports the charge was not authorized by them escalation-fraud

Refund Status Check

PaymentProcessor.GetRefundStatus using refund.id

RefundPortal.CheckRefundHistory for customer.accountId

Say"Our records show a refund of refund.amount was issued on transaction.date with reference number refund.id. Refunds to payment.method typically take refund.timeline to appear, depending on your bank's processing times."
Say"If it has been longer than that window, I'd recommend contacting your bank or card issuer with this reference number: refund.id — they can trace it on their end."

EmailNotifications.Send to customer.email with refund.id, refund.status, and bank follow-up instructions

  • Customer is satisfied with the status and reference number resolution-confirmed
  • Refund is still within processing window, customer accepts resolution-confirmed
  • Refund is overdue and processor shows an error or failed status refund_failed escalation-back-office

Failed Payment Recovery

Say"It looks like this payment didn't go through. The most common reasons are an expired card or insufficient funds. Let me help you get this sorted."
  • Error message indicates expired card card_expired update-payment-method
  • Error message indicates insufficient funds insufficient_funds update-payment-method
  • Error message is unclear or system shows another reason unknown_error escalation-back-office

Update Payment Method

Say"I can guide you through updating your payment information so we can retry the charge. For security, you'll need to do this directly in your account settings — I can walk you through it step by step."

kb.billing-policy — retrieve payment update and retry procedures

Say"Once you've updated your card details, the system will automatically retry the payment within 24 hours, or you can place the order again. Would you like me to send you a direct link to update your payment method?"

EmailNotifications.Send to customer.email with payment update link and retry instructions

  • Customer confirms they have updated their payment method payment-retry-confirmed
  • Customer is unable to update payment method and needs further help escalation-back-office

Payment Retry Confirmed

Say"Great — your updated payment details are in place. The retry will process within 24 hours and you'll receive a confirmation email once it goes through. I'll send a summary to customer.email now."

EmailNotifications.Send to customer.email with payment retry confirmation and order.id status

  • Customer confirms resolution resolution-confirmed
  • Customer has additional questions resolution-confirmed

Manual Collection

Say"I wasn't able to locate that transaction in our systems right now, but I don't want to leave this unresolved. Let me collect the details so our back-office team can investigate."
Say"Could you please confirm the order ID or transaction ID, the exact charge amount, the date it appeared, the payment method used, and any error messages you received?"

CRM.CreateCase for customer.accountId, tagged billing-discrepancy, with transaction.amount, transaction.date, payment.method, and error.message

EmailNotifications.Send to customer.email confirming case has been opened with expected response timeline

  • Details collected and case created escalation-back-office

Escalation — Back-Office Review

CRM.CreateCase priority: high, tagged billing-review, linked to customer.accountId and order.id

CRM.AssignToBackOfficeQueue with all collected transaction details

Say"I've escalated this to our billing specialist team who have the tools to investigate further. You'll receive a follow-up at customer.email within one to two business days. Your case reference is available in your account."

EmailNotifications.Send to customer.email with case reference, summary of issue, and expected resolution timeline

Escalation — High-Value Refund Approval

Approval
Slack.RequestApproval to #billing-approvals, approver: billing_manager
Context sent:customer.accountId, transaction.id, transaction.amount, transaction.date, agent's discrepancy assessment, payment.method
  • Approved approved refund-initiation
  • Rejected rejected valid-charge-explanation
  • No response within 60 min escalation-back-office

Escalation — Fraud or Unauthorized Access

Say"I take this very seriously. I'm flagging your account immediately and connecting you with our fraud and security team who are equipped to handle this."

CRM.CreateCase priority: urgent, tagged fraud-suspected, linked to customer.accountId

CRM.FlagAccount for customer.accountId with fraud-hold status

PaymentProcessor.NotifyFraudTeam with transaction.id and customer.accountId

Say"Your account has been secured and our fraud team will be in touch at customer.email within 24 hours. Please do not attempt to use your payment method until you hear from them."

EmailNotifications.Send to customer.email with fraud case reference and next steps

Resolution Confirmed

Say"I'm glad we were able to get that sorted for you. Is there anything else I can help you with today?"

CRM.UpdateCase status: resolved, linked to customer.accountId and order.id

EmailNotifications.Send to customer.email with resolution summary and case closure confirmation

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ chat▣ email

Payment / Billing Inquiry

TravelHospitalityBillingPaymentsDisputes

Intake & Verification

Say"Thank you for contacting us. I'd be happy to help you with your billing inquiry. Could you please share your booking confirmation number and the name and email address on the reservation?"
  • Customer provides booking confirmation and identity details CRS.LookupReservation charge-identification
  • Customer cannot provide confirmation number but provides name and email CRS.LookupByGuestEmail charge-identification
  • Customer cannot provide any identifying information identity-verification-required

Identity Verification Required

Say"For the security of your account, I'm unable to access reservation or payment details without verifying your identity first. I'll need at least your booking confirmation number, the email address used at the time of booking, or the last four digits of the payment card used."
  • Customer supplies one or more valid identifiers CRS.LookupReservation charge-identification
  • Customer is still unable to verify identity escalation-human

Charge Identification

Say"I can see your reservation for booking.property covering booking.stayDates. Which charge would you like to discuss — could you tell me the amount and approximate date you saw it?"

PMS.GetPaymentHistory for booking.confirmationNumber

kb.billing-charge-definitions — review resort fees, late checkout policies, cancellation penalty rules, and incidental hold release timelines

  • Charge found and matches a known fee type charge-explanation
  • Charge appears duplicated or does not match any reservation line item possible_error billing-error-review
  • Customer references a charge not visible in payment history PaymentGateway.LookupTransaction charge-identification-extended
  • Customer explicitly states the charge is unauthorized or fraudulent fraud_flag escalation-fraud

Charge Identification — Extended Lookup

PaymentGateway.LookupTransaction using payment.last4, charge.amount, charge.date

kb.billing-charge-definitions — verify against settlement timing and pending-to-posted conversion windows

  • Transaction located and matched to reservation charge-explanation
  • Transaction located but cannot be matched to any booking possible_error billing-error-review
  • Transaction not found in gateway records escalation-human

Charge Explanation

Agent
review the matched charge against reservation details, policy documents, and payment history to produce a clear plain-language explanation for the customer.
Goal:explain exactly what the charge is, why it was applied, and cite the relevant policy or agreement accepted at booking.
Constraints:do not speculate about charges that cannot be confirmed in the reservation record; do not offer adjustments at this step — route to goodwill-options or billing-error-review if a correction may be warranted.
Tools available:PMS.GetReservationDetails, PMS.GetPaymentHistory, kb.billing-charge-definitions, kb.cancellation-policy, kb.resort-fee-policy
Say"Let me explain what that charge is for. charge.description was applied on charge.date in the amount of charge.amount. This is a standard fee outlined in your booking terms."
  • Customer accepts the explanation and is satisfied resolution-confirmed
  • Customer accepts the explanation but requests an itemized receipt PMS.SendReceipt to customer.email resolution-confirmed
  • Customer disputes the charge as unfair but it is policy-valid goodwill-options
  • Customer believes the charge is a billing error possible_error billing-error-review

Goodwill Options

kb.goodwill-adjustment-policy — check eligible goodwill gestures (loyalty points, partial waiver, future discount) and current authorization limits for agent.adjustmentLimit

Say"I completely understand your frustration. While this fee is outlined in the booking terms, I'd like to see what options I can offer you as a gesture of goodwill."
Agent
determine the best available goodwill offer within authorization limits based on customer history, loyalty tier, and policy.
Goal:offer a meaningful resolution that retains customer satisfaction without exceeding the authorized adjustment threshold.
Constraints:never waive fees that exceed agent.adjustmentLimit without escalation approval; never promise a refund without confirming eligibility first; check loyalty tier before offering points compensation.
Tools available:LoyaltyPlatform.GetAccountStatus, LoyaltyPlatform.AwardPoints, RefundAdjustmentTool.ApplyPartialWaiver, kb.goodwill-adjustment-policy
  • Goodwill offer made and customer accepts RefundAdjustmentTool.ApplyPartialWaiver, PMS.SendReceipt to customer.email resolution-confirmed
  • Goodwill offer made and customer accepts loyalty points LoyaltyPlatform.AwardPoints to loyalty.accountNumber resolution-confirmed
  • Customer declines goodwill options and insists on full refund of a valid non-refundable charge escalation-human
  • Adjustment amount required exceeds agent.adjustmentLimit exceeds_limit escalation-billing-specialist

Billing Error Review

PMS.GetPaymentHistory for booking.confirmationNumber

PaymentGateway.LookupTransaction using payment.last4, charge.amount, charge.date

Agent
assess whether the charge is a genuine billing error (duplicate, misapplied fee, incorrect amount, or post-checkout incidental not released).
Goal:confirm or rule out a billing error using reservation data, gateway records, and policy, then determine correct remediation action.
Constraints:do not initiate a reversal for amounts above agent.adjustmentLimit without escalation; always generate a case reference before communicating a timeline to the customer; never confirm a refund amount until the correction is validated in the system.
Tools available:PMS.GetPaymentHistory, PaymentGateway.LookupTransaction, RefundAdjustmentTool.InitiateCorrection, Salesforce.CreateCase, kb.billing-charge-definitions
  • Error confirmed and within adjustment authorization RefundAdjustmentTool.InitiateCorrection, Salesforce.CreateCase correction-initiated
  • Error confirmed but correction amount exceeds agent.adjustmentLimit exceeds_limit escalation-billing-specialist
  • No error found — charge is valid charge-explanation

Correction Initiated

Salesforce.CreateCase tagged billing-correction, linked to booking.confirmationNumber

PMS.SendReceipt to customer.email with updated billing summary

Say"I've confirmed the billing error and submitted a correction request. Your case reference number is case.referenceNumber. The adjustment will be reflected within 5 to 10 business days depending on your bank. You'll receive an updated receipt at customer.email shortly."
  • Customer asks about a refund they already expected to have received refund-status-check
  • Customer is satisfied with the resolution resolution-confirmed

Refund Status Check

PaymentGateway.LookupTransaction using payment.last4, refund.amount, refund.date

kb.refund-processing-timelines — check standard bank processing windows by payment type

Say"I can see that a refund of refund.amount was processed on refund.date. Depending on your bank or card issuer, this can take 5 to 10 business days to appear on your statement. If you don't see it after that window, please contact us and we'll investigate further with the payment processor."
  • Customer confirms they will wait and is satisfied resolution-confirmed
  • Refund date was over 10 business days ago and still not received PaymentGateway.InitiateRefundTrace escalation-human
  • Customer disputes the refund amount as incorrect possible_error billing-error-review

Escalation to Billing Specialist

Salesforce.CreateCase priority: high, tagged billing-specialist-review, linked to booking.confirmationNumber

Salesforce.NotifyQueue billing-specialist-team with case summary, charge.amount, charge.description, customer.email

Say"This adjustment requires review by our billing specialist team, as it falls outside what I can authorize directly. I've opened a case with reference number case.referenceNumber and our team will contact you at customer.email within 2 business days with a resolution."

Escalation to Human Agent

Salesforce.CreateCase priority: high, tagged billing-escalation, linked to booking.confirmationNumber

Salesforce.NotifyQueue billing-support-team with full case context, charge.amount, charge.date, customer.email

Say"I want to make sure this gets the attention it deserves. I'm escalating your case to a member of our billing team who has the tools to resolve this for you. Your case reference is case.referenceNumber and you can expect to hear from us at customer.email within 1 business day."

Escalation — Fraud

Salesforce.CreateCase priority: urgent, tagged unauthorized-charge-fraud, linked to booking.confirmationNumber

PaymentGateway.FlagTransaction for charge.amount on payment.last4

Salesforce.NotifyQueue fraud-and-security-team with transaction details, customer.email, booking.confirmationNumber

Say"I take this very seriously. I've flagged the transaction and escalated this to our fraud and security team as a priority. Your case reference is case.referenceNumber. A specialist will contact you at customer.email within 24 hours. In the meantime, you may also want to contact your card issuer directly to report the charge."

Resolution Confirmed

Say"I'm glad we were able to sort that out for you. Is there anything else I can help you with regarding your reservation or account?"

Salesforce.UpdateCase status: resolved, linked to booking.confirmationNumber

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ sms▣ email▣ chat

Patient Intake Pre-Visit

HealthcarePatient IntakePre-VisitScheduling

Pre-Visit Outreach

Twilio.SendSMS to patient.phone: "Hi patient.firstName, your appointment with appointment.provider is scheduled for appointment.date at appointment.time. Please complete your pre-visit intake at intake.linkUrl to help us serve you better. It takes about 5 minutes."

Twilio.SendEmail to patient.email with subject "Complete Your Pre-Visit Intake — appointment.date" and body including intake.linkUrl, appointment.provider, and appointment.time.

Detect
patient response and intake link engagement
  • Patient opens intake link and proceeds engaged identity-verification
  • Patient replies with an urgent symptom or distress signal urgent escalation-human
  • No response within 24 hours Twilio.SendSMS reminder to patient.phone intake-reminder
  • Patient replies they cannot access the portal access_issue assisted-intake

Identity Verification

Say"Before we begin, we need to confirm your identity. Please enter your full legal name and date of birth as they appear on your records."

PatientPortal.VerifyIdentity using patient.firstName, patient.lastName, patient.dateOfBirth, patient.portalId

  • Identity confirmed on first or second attempt identity_verified demographics-and-insurance
  • Identity cannot be verified after two attempts identity_failed escalation-human

Demographics and Insurance

Say"Great, patient.firstName! Let's confirm your contact and insurance information. Please review what we have on file and update anything that has changed."

EHR.GetPatientRecord for chart.id — pre-populate name, address, phone, email, emergency contact

Say"Please confirm or update: your preferred phone number, email address, and emergency contact name and phone number."

InsuranceEligibilityAPI.CheckEligibility using insurance.carrier, insurance.memberId, insurance.groupNumber

  • All demographic and insurance fields confirmed, eligibility verified confirmed health-history
  • Insurance ID does not match eligibility records eligibility_mismatch insurance-verification
  • Patient updates contact or emergency contact details updated EHR.UpdatePatientRecord health-history

Insurance Verification

Say"We weren't able to verify your insurance with the information on file. Please double-check your member ID and group number, or you can upload a photo of your insurance card for our team to review."

PatientPortal.RequestInsuranceCardUpload for patient.portalId

  • Patient re-enters corrected insurance details InsuranceEligibilityAPI.CheckEligibility insurance-recheck
  • Patient uploads insurance card photo EHR.FlagForManualVerification tagged insurance-review, linked to chart.id health-history
  • Patient is unable to provide insurance information EHR.FlagChart as insurance-unverified health-history

Insurance Recheck

InsuranceEligibilityAPI.CheckEligibility using updated insurance.carrier, insurance.memberId, insurance.groupNumber

  • Eligibility now confirmed eligibility_verified health-history
  • Still not matching after recheck eligibility_failed EHR.FlagForManualVerification tagged insurance-review health-history

Health History

Say"Now let's review your health history. Please confirm your current medications and any known allergies. If anything has changed or looks incorrect, let us know."

EHR.GetMedicationList for chart.id — display current medications on file

EHR.GetAllergyList for chart.id — display current allergies on file

  • Patient confirms medications and allergies as accurate confirmed reason-for-visit
  • Patient disputes a listed medication medication_dispute EHR.FlagMedication as needs-review linked to medication.flagged medications-flagged
  • Patient disputes a listed allergy allergy_dispute EHR.FlagAllergy as needs-review linked to allergy.flagged allergies-flagged
  • Patient reports a new urgent symptom during review urgent escalation-human

Medications Flagged

Say"Understood — we've marked that medication as needing review rather than removing it from your record. A clinician will confirm the correct information with you at your visit. Are there any other medications or allergies to flag?"

EHR.AddClinicalNote to chart.id: "Patient disputes medication on file. Item flagged as needs-review pending clinician reconciliation."

  • Additional items to dispute more_disputes health-history
  • No further disputes confirmed reason-for-visit

Allergies Flagged

Say"Thank you for letting us know — we've flagged that allergy entry as needing review. A clinician will reconcile it with you at your visit. Are there any other items to flag?"

EHR.AddClinicalNote to chart.id: "Patient disputes allergy on file. Item flagged as needs-review pending clinician reconciliation."

  • Additional items to dispute more_disputes health-history
  • No further disputes confirmed reason-for-visit

Reason for Visit

Say"Almost done! Please briefly describe the primary reason for your visit and your main concern or symptom. This helps your care team prepare."
Detect
urgency and content of reported symptom or chief complaint
  • Routine or previously known concern symptom.reported, no urgency flags routine pharmacy-and-preferences
  • Patient describes a new or worsening urgent symptom urgent urgent-symptom-triage
  • Patient indicates a mental health crisis or emergency crisis escalation-human

Urgent Symptom Triage

Say"Thank you for sharing that. Based on what you've described, we want to make sure you get the right level of care promptly."

kb.triage-guidelines — check symptom against urgency thresholds and same-day care criteria

Say"Rather than waiting for your scheduled appointment, we recommend you call our clinic directly at the number on file or visit an urgent care center as soon as possible. If this is a life-threatening emergency, please call 911 immediately."

CRM.CreateUrgentNote linked to chart.id and appointment.id, tagged triage-flagged

Twilio.SendSMS to patient.phone: "We've noted your symptom. Please call our clinic or visit urgent care. For emergencies, call 911."

  • Patient acknowledges and will seek immediate care acknowledged AppointmentScheduling.FlagAppointment as triage-pending intake-incomplete-flag
  • Patient insists on continuing intake continues pharmacy-and-preferences

Pharmacy and Preferences

Say"What is your preferred pharmacy for prescriptions? Please provide the pharmacy name and location, or confirm the one we have on file."

EHR.GetPreferredPharmacy for chart.id — display pharmacy on file if available

  • Patient confirms pharmacy on file confirmed intake-complete
  • Patient provides a new or updated pharmacy EHR.UpdatePreferredPharmacy for chart.id intake-complete

Intake Complete

EHR.UpdateChartStatus for chart.id as intake-complete

CRM.LogInteraction for patient.portalId tagged pre-visit-intake-completed, linked to appointment.id

Twilio.SendSMS to patient.phone: "Your intake is complete — thank you, patient.firstName! We look forward to seeing you on appointment.date at appointment.time."

Twilio.SendEmail to patient.email with appointment summary and any flagged items note if applicable

Say"You're all set! Your care team has been notified that your intake is ready for review. See you at your appointment."

AppointmentScheduling.NotifyCareTeam for appointment.id: "Intake complete. Chart chart.id ready for pre-visit review."

Intake Reminder

Twilio.SendSMS to patient.phone: "Hi patient.firstName, a reminder to complete your pre-visit intake before intake.cutoffTime: intake.linkUrl. It only takes a few minutes."

Detect
patient response after reminder
  • Patient engages with intake link after reminder engaged identity-verification
  • Patient does not respond by cutoff window no_response EHR.FlagChart as intake-incomplete intake-incomplete-flag
  • Patient replies with an urgent concern urgent escalation-human

Intake Incomplete Flag

EHR.UpdateChartStatus for chart.id as intake-incomplete

CRM.CreateTask assigned to front-desk, tagged collect-on-arrival, linked to appointment.id and chart.id

Twilio.SendEmail to front-desk team: "Patient patient.firstName patient.lastName (appointment.date, appointment.time) did not complete pre-visit intake. Please collect information on arrival."

Say"No problem — our front desk team will help you complete the remaining information when you arrive. See you on appointment.date!"

Assisted Intake

Say"No problem, patient.firstName. I can help you complete your intake right here via this conversation. Let's go through it together, starting with confirming your identity."

identity-verification

Escalation to Care Team

EHR.FlagChart for chart.id as escalation-required, tagged crisis-or-identity-failure

CRM.CreateUrgentCase priority: high, linked to patient.portalId and appointment.id, tagged patient-escalation

AppointmentScheduling.AlertClinicalStaff for appointment.id with escalation reason and chart.id

Twilio.SendSMS to patient.phone: "We want to make sure you get the right support. A member of our care team will reach out to you shortly. If this is an emergency, please call 911 now."

Say"I'm connecting you with a member of our care team right away. If you are experiencing a medical emergency, please call 911 immediately or go to your nearest emergency room."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ sms

Password / Login Recovery

Financial ServicesAccount AccessSecuritySupport

Intake — Login Issue

Say"Thank you for reaching out. I'm here to help you regain access to your account. Can you briefly describe what's happening when you try to log in?"
Detect
nature of login issue reported by customer
  • Customer states forgotten password or cannot log in forgotten-password identity-verification
  • Customer states account appears locked or suspended account-locked account-status-check
  • Customer states they did not initiate any lockout or suspects unauthorised access unauthorised-access escalation-fraud-review
  • Issue is unclear or customer is unsure unclear CRM.LogInteraction, ask one clarifying question identity-verification

Identity Verification

Say"Before I can make any changes to your account, I need to verify your identity. I'll ask you a few quick questions — please have your account details handy."

CRM.PullCustomerRecord using customer.registeredEmail or customer.accountNumber

IdentityVerification.InitiateCheck for customer.fullName, customer.dateOfBirth, customer.lastFourSSN

Say"Can you please confirm your full name, date of birth, and either your account number or the email address registered on the account?"
Detect
identity verification outcome from verification.attemptCount and submitted details
  • Identity confirmed on first or second attempt identity-confirmed account-status-check
  • Identity fails first attempt identity-failed-once CRM.IncrementAttemptCount, prompt retry identity-verification-retry
  • Account already shows two or more failed attempts max-attempts-reached escalation-identity-lockout

Identity Verification — Retry

Say"I wasn't able to match those details. You have one more attempt before the account must be secured for your protection. Please double-check and try again — confirm your full name, date of birth, and the last four digits of your Social Security Number."

IdentityVerification.InitiateCheck for customer.fullName, customer.dateOfBirth, customer.lastFourSSN

CRM.IncrementAttemptCount

Detect
identity verification outcome on retry
  • Identity confirmed on retry identity-confirmed account-status-check
  • Identity fails again on retry identity-failed-twice escalation-identity-lockout

Account Status Check

CoreBanking.GetAccountStatus for customer.accountNumber

FraudMonitoring.CheckFraudFlag for customer.accountNumber

Detect
account status returned by core banking and fraud monitoring systems
  • Account is clear with no flags or locks account-clear contact-info-check
  • Account is locked due to repeated failed login attempts account-locked-cooldown cooldown-notice
  • Account is flagged for suspicious or fraudulent activity fraud-flag-active escalation-fraud-review
  • Account status is suspended or otherwise restricted account-suspended escalation-account-review

Contact Info Check

Say"Great — your identity is confirmed and your account looks clear. I'll send a password reset link now. Just to confirm: should I send it to the email address or phone number we have on file?"

CRM.VerifyContactInfo for customer.registeredEmail and customer.registeredPhone

Detect
whether registered contact information is current and reachable
  • Registered email or phone confirmed current by customer contact-confirmed mfa-challenge
  • Customer states contact info is outdated or no longer accessible contact-outdated escalation-manual-id-verification

MFA Challenge

MFAOTP.SendCode to customer.registeredEmail or customer.registeredPhone based on reset.linkDeliveryMethod

Say"I've just sent a one-time verification code to your registered contact. Please share that code with me once you receive it so we can proceed."
Detect
MFA code submission and validation outcome
  • Customer provides correct OTP code otp-valid password-reset-initiation
  • Customer provides incorrect code otp-invalid escalation-mfa-failure
  • Customer states they did not receive the code otp-not-received MFAOTP.ResendCode, confirm delivery method mfa-challenge
  • Customer states the contact they received it on is not theirs otp-wrong-contact escalation-fraud-review

Password Reset Initiation

CoreBanking.InitiatePasswordReset for customer.accountNumber

EmailSMSDelivery.SendResetLink to customer.registeredEmail or customer.registeredPhone

Say"A secure password reset link has been sent to you now. The link is valid for 15 minutes. Once you've reset your password, please try logging in and let me know if access is restored."
Detect
customer confirmation of access outcome
  • Customer confirms new password set and login successful access-restored resolution-access-confirmed
  • Customer states link expired or not received link-expired EmailSMSDelivery.ResendResetLink password-reset-initiation
  • Customer states they are still unable to log in after reset reset-failed escalation-account-review

Cooldown Notice

CoreBanking.GetCooldownStatus for customer.accountNumber

Say"Your account was temporarily secured after several unsuccessful login attempts, which is a standard security measure. A mandatory waiting period is currently in effect before a reset can be issued."
Say"Once the cooling-off period has passed, you're welcome to contact us again and we can proceed with the reset right away. If you believe you did not make those login attempts yourself, please let me know now."
Detect
customer response to cooldown notice
  • Customer acknowledges and agrees to wait customer-accepts-cooldown resolution-cooldown-advised
  • Customer states they did not make those login attempts customer-denies-attempts escalation-fraud-review

Resolution — Access Confirmed

Say"Wonderful — I'm glad we got that sorted. Your access has been restored. For your security, I'd recommend choosing a strong, unique password and enabling two-factor authentication if you haven't already."

CRM.LogInteraction tagged password-reset-successful, linked to customer.accountNumber

CoreBanking.ClearLockStatus for customer.accountNumber

Resolution — Cooldown Advised

Say"Thank you for your patience. Your account remains protected in the meantime. Please reach back out once the waiting period has passed and we'll get the reset sent to you right away."

CRM.LogInteraction tagged cooldown-in-effect, linked to customer.accountNumber

Escalation — Identity Lockout

Say"I'm sorry — I wasn't able to verify your identity through this channel after the maximum number of attempts. For your protection, your account has been secured and the reset cannot proceed remotely."
Say"To restore access, you'll need to visit a branch in person with a valid government-issued photo ID, or complete our document verification process. I'll create a case for you now so the team is ready when you arrive."

CoreBanking.LockAccount for customer.accountNumber

CRM.CreateCase priority: high, tagged identity-verification-failed, linked to customer.accountNumber

CRM.LogInteraction tagged max-attempts-reached

Escalation — Fraud Review

Say"I want to make sure your account is fully protected. There's an indicator on your account that requires our fraud team to review it before any changes can be made. I'm going to escalate this to them now and a specialist will follow up with you shortly."

CoreBanking.FreezeAccount for customer.accountNumber

FraudMonitoring.EscalateCase for customer.accountNumber, flag: suspicious-activity

CRM.CreateCase priority: high, tagged fraud-review-required, linked to customer.accountNumber

CRM.LogInteraction tagged fraud-flag-escalation

Escalation — Manual ID Verification

Say"Because the contact information we have on file may not be current, I'm not able to send the reset link through our standard process. I'll need to pass this to our verification team who can walk you through an alternative identity confirmation method."

CRM.CreateCase priority: medium, tagged outdated-contact-info-manual-review, linked to customer.accountNumber

CRM.LogInteraction tagged contact-info-outdated-escalation

Escalation — MFA Failure

Say"The one-time code didn't match what we sent. For your account's security, I'm unable to proceed with the reset at this time. I'll refer this to our account security team who will reach out to you directly to complete the verification safely."

CRM.CreateCase priority: medium, tagged mfa-failure-escalation, linked to customer.accountNumber

CRM.LogInteraction tagged otp-verification-failed

Escalation — Account Review

Say"It looks like there may be an additional restriction on your account that I'm not able to resolve through this channel. I'm escalating this to our account management team who can investigate and get back to you promptly."

CRM.CreateCase priority: medium, tagged account-status-restricted, linked to customer.accountNumber

CRM.LogInteraction tagged account-review-escalation

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ sms

Outage Report & Status Check

TelecomSupportOutageNetwork

Inbound Contact

Say"Thank you for reaching out to support. I'm here to help with any service issues you're experiencing. To get started, can I have your account number or the phone number registered to your account?"
  • Customer provides account number or registered phone number identity-verification
  • Customer cannot or will not provide account details public-outage-info
  • Customer mentions inability to reach emergency services safety_risk escalation-safety

Identity Verification

IdentityVerification.VerifyCustomer using customer.accountNumber or customer.phone

  • Verification passes verified account-and-symptoms
  • Verification fails after two attempts unverified public-outage-info

Account & Symptoms

CRM.PullAccount using customer.accountNumber to retrieve customer.name, customer.serviceAddress, customer.serviceType

Say"Thanks, customer.name. I can see your account. Can you briefly describe what you're experiencing — for example, no signal, slow data, or a complete outage? And is this affecting one device or multiple?"
Detect
customer intent and severity of issue
  • Customer describes complete loss of service no_service outage-lookup
  • Customer describes degraded signal or slow data degraded_service outage-lookup
  • Customer mentions safety impact such as no 911 access safety_concern safety_risk escalation-safety
  • Customer describes issue on one device only single_device outage-lookup

Outage Lookup

OutageManagement.CheckActiveIncidents for customer.serviceAddress and customer.serviceType

  • Known active outage found matching location and service type outage_found known-outage-confirmed
  • No known outage found for this location no_outage no-outage-found
  • System lookup fails or times out lookup_error escalation-noc

Known Outage Confirmed

OutageManagement.GetIncidentDetails to retrieve outage.incidentId, outage.affectedArea, outage.estimatedRestoration, outage.duration

Say"I can confirm there is a known outage affecting your area. Our network team is actively working on it. The estimated restoration time is outage.estimatedRestoration. Your incident reference number is outage.incidentId."
  • Outage duration is extended and likely qualifies for service credit kb.service-credit-policy CRM.FlagAccountForCreditReview captures credit.flagId outage-updates-offer
  • Outage is recent and within normal resolution window outage-updates-offer

Outage Updates Offer

Say"Would you like me to send you automatic updates on this outage via SMS or email as soon as the service is restored?"
  • Customer wants SMS updates Twilio.SendSMS to customer.phone with outage.incidentId and outage.estimatedRestoration resolution-confirmed
  • Customer wants email updates NotificationPlatform.SendEmail to customer.email with outage.incidentId and outage.estimatedRestoration resolution-confirmed
  • Customer declines updates resolution-confirmed

No Outage Found

Say"I don't see any active outages on record for your area at the moment. Let's try a few quick troubleshooting steps to see if we can restore your service."

kb.telecom-troubleshooting-guide — retrieve steps appropriate for customer.serviceType and customer.symptoms

Say"Can you try restarting your device and checking whether your SIM or cable connections are secure? Let me know once you've tried that and whether service has returned."
Detect
outcome of troubleshooting attempt
  • Customer confirms service is restored resolved resolution-confirmed
  • Customer confirms issue persists after troubleshooting unresolved new-ticket-creation
  • Customer reports safety-related impact during troubleshooting safety_concern safety_risk escalation-safety

New Ticket Creation

Ticketing.CreateTroubleTicket with customer.accountNumber, customer.serviceAddress, customer.serviceType, customer.symptoms, customer.deviceCount to generate ticket.id and ticket.referenceNumber

Say"I've created a trouble ticket for your account. Your reference number is ticket.referenceNumber. A technician will follow up with you. Would you prefer contact via SMS or email?"
  • Customer requests SMS confirmation Twilio.SendSMS to customer.phone with ticket.referenceNumber resolution-confirmed
  • Customer requests email confirmation NotificationPlatform.SendEmail to customer.email with ticket.referenceNumber resolution-confirmed
  • Customer needs no confirmation resolution-confirmed
  • Customer expresses continued frustration or reports critical business impact escalation_needed escalation-specialist

Public Outage Info

Say"I'm not able to access account details without verifying your identity, but I can share general outage information. You can check our public outage map at our website or call back with your account details and we can look into your specific situation."

OutageManagement.GetPublicOutageSummary for any broad regional incidents

  • Public outage exists in the reported region public_outage_found public-outage-details
  • No public outage on record public-no-outage

Public Outage Details

Say"There is a known service disruption in some areas that our team is actively working to resolve. For a personalized update and a reference number tied to your account, please call back or verify your identity when you're ready."
  • Customer wants to try verification again identity-verification
  • Customer acknowledges and ends contact resolution-confirmed

Public No Outage

Say"We don't currently show any widespread outages in our system. For account-specific diagnostics, please contact us with your account number or registered phone number so we can investigate further."
  • Customer wants to try verification again identity-verification
  • Customer acknowledges and ends contact resolution-confirmed

Escalation — Network Operations

NOCDashboard.RaiseSystemLookupFailure with customer.accountNumber and customer.serviceAddress

CRM.LogInteraction with lookup failure details and customer.phone for callback scheduling

Twilio.SendSMS to customer.phone confirming a callback will be arranged

Say"I'm sorry — our outage system isn't responding right now. I've flagged this with our network operations team and arranged for a callback to your registered number as soon as possible. I apologize for the inconvenience."

Escalation — Specialist

Ticketing.EscalateTicket for ticket.id to senior support queue

CRM.LogInteraction with escalation reason and customer.accountNumber

Say"I understand this has been frustrating and I want to make sure you get the right help. I'm escalating your case to a senior specialist who will be in touch with you shortly. Your reference number remains ticket.referenceNumber."

Escalation — Safety

CRM.LogInteraction flagged safety_risk with customer.accountNumber and customer.symptoms

NOCDashboard.RaiseSafetyFlag with customer.serviceAddress

Say"Your safety is our top priority. If you need to reach emergency services right now, please try an alternative phone or ask a neighbor. I am escalating your case immediately as a priority incident and our team will contact you as soon as possible."

Resolution Confirmed

Say"Is there anything else I can help you with today?"
  • Customer has additional questions or issues inbound-contact
  • Customer confirms they are all set CRM.LogInteraction with resolution summary and outage.incidentId or ticket.referenceNumber close-interaction

Close Interaction

Say"Thank you for your patience, customer.name. We appreciate you being a valued customer. Don't hesitate to reach out if you experience any further issues. Have a great day."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ voice▣ email

Order Status Inquiry

RetailSupportShippingOrders

Greeting & Identity Verification

Say"Hi there! I'm here to help you track your order. Can I start with your order number and the email address on your account?"

IdentityVerification.VerifyCustomer using customer.accountEmail and customer.name

  • Identity verified, order number provided verified order-lookup
  • Customer cannot provide order number no_order_number lookup-by-email
  • Identity cannot be verified after two attempts escalation-human

Order Lookup by Email or Name

Say"No problem — let me try to find your order using your name or email address."

OMS.LookupOrderByEmail using customer.accountEmail or customer.name

  • Order found OMS.LookupOrderByEmail order_found order-lookup
  • Order still not found after email and name search not_found order-not-found

Order Not Found

Say"I wasn't able to locate an order under that information. Please check your confirmation email for your order number — it would have been sent to the address you used at checkout. Once you have it, feel free to reach back out and I'll get that sorted for you right away."
  • Customer provides order number from confirmation email order-lookup
  • Customer has no confirmation email and order remains unresolved escalation-human

Order Lookup & Status Check

OMS.GetOrderDetails using order.id and customer.accountEmail

  • Order is still processing, has not shipped yet processing order-still-processing
  • Order has shipped, tracking number available shipped retrieve-tracking
  • Order shows as delivered in OMS delivered delivered-not-received-check

Order Still Processing

Say"Your order is currently being processed in our warehouse and hasn't shipped yet. Based on current timelines, it's expected to ship by order.expectedShipDate. Once it ships, you'll receive a confirmation email with your tracking number."
  • Customer is satisfied and has no further questions confirmed resolution
  • Customer wants to know if the ship date can be expedited expedite_request escalation-human
  • Customer wants to cancel the unshipped order cancel_request escalation-human

Retrieve Tracking Data

CarrierAPI.GetTrackingStatus using carrier.trackingNumber

  • Live tracking data returned, last scan within 48 hours tracking_current communicate-status
  • Tracking has not updated in more than 72 hours tracking_stale stale-tracking

Communicate Status

Say"Great news — your order is on its way! Here's the latest update: your package was last scanned at carrier.lastScanLocation on carrier.lastScanDate. Your estimated delivery window is carrier.estimatedDelivery. You can also track it directly using tracking number carrier.trackingNumber."
  • Customer is satisfied confirmed resolution
  • Customer has a concern about the delivery address or timing address_concern escalation-human

Stale Tracking

Say"I can see your order shipped, but the tracking hasn't updated since carrier.lastScanDate. This can sometimes happen due to carrier delays between scan points. I'm flagging this for you now."

kb.shipping-delay-policy — review thresholds for carrier claim eligibility and customer communication guidelines

Agent
assess the stale tracking situation using carrier.lastScanDate, carrier.estimatedDelivery, and kb.shipping-delay-policy.
Goal:determine whether the package is within an acceptable delay window or if a carrier claim should be initiated.
Constraints:do not promise a replacement or refund without escalation approval; never file a carrier claim if fewer than 5 business days have elapsed since last scan; always advise the customer of next steps before closing.
Tools available:CarrierAPI.GetTrackingStatus, OMS.GetOrderDetails, kb.shipping-delay-policy
  • Within acceptable delay window, advise customer to wait within_window stale-tracking-advisory
  • Delay exceeds policy threshold, carrier claim warranted claim_warranted escalation-human

Stale Tracking Advisory

Say"Based on the current information, your package is within the window where carrier delays can occur without updates. I'd recommend checking back in 24 to 48 hours. If it still hasn't moved by then, please contact us and we'll file a carrier claim on your behalf right away."
  • Customer is willing to wait confirmed resolution
  • Customer wants to escalate now escalate_now escalation-human

Delivered But Not Received Check

Say"Our system shows your order was marked as delivered on carrier.deliveredDate. Did you receive it at customer.shippingAddress?"
Detect
customer response on whether package was received
  • Customer confirms receipt confirmed resolution
  • Customer says package was not received not_received lost-package-review
  • Customer is unsure — may have been left with a neighbor or in a safe spot unsure delivery-location-check

Delivery Location Check

Say"Sometimes carriers leave packages with a neighbor, in a mailroom, or in a designated safe spot. Could you check around your building entrance, with your building manager, or with neighbors before we proceed? I'll wait for you."
  • Customer finds the package confirmed resolution
  • Customer confirms the package is truly not there not_received lost-package-review

Lost Package Review

Say"I'm sorry to hear that — let me open a lost package review for you right now."

OMS.FlagOrderLostPackage on order.id

CRM.CreateCase tagged lost-package, linked to order.id and carrier.trackingNumber

kb.lost-package-policy — review carrier liability window, replacement vs. refund eligibility, and documentation requirements

Say"I've flagged your order and created a case for our team. Depending on the carrier's investigation timeline — typically 5 to 7 business days — you may be eligible for a replacement or refund. I'll now connect you with a specialist who can confirm next steps and options for you."
  • Package confirmed lost or stolen, or customer is requesting refund or replacement escalation-human

Escalation to Human Agent

CRM.CreateCase priority: high, tagged order-escalation, linked to order.id

CRM.LogInteractionSummary with customer.email, order.id, and current status context

Say"I'm going to connect you with one of our senior support specialists right now who can take care of this for you. I've already shared all your order details with them so you won't have to repeat yourself."

Resolution

Say"Is there anything else I can help you with today?"
  • Customer has another question another_question greeting-and-identity
  • Customer is done confirmed CRM.LogInteractionSummary with customer.email and order.id
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ voice▣ email

Order Modification / Cancellation

RetailOrdersCancellationModification

Identity Verification

Say"Hi, thanks for reaching out! I'd be happy to help with your order. To get started, can you please share your order number and the email address or phone number on your account?"

CRM.LookupCustomer using provided email or phone against customer.email or customer.phone

Detect
whether identity can be confirmed from customer's reply
  • Identity verified successfully confirmed order-status-check
  • Customer cannot provide matching credentials unverified identity-failure
  • Customer provides partial info — try one additional prompt partial identity-retry

Identity Retry

Say"No problem — let me try one more way to verify. Can you confirm the billing address or the last four digits of the payment method used for this order?"

CRM.LookupCustomer with alternate verification field

Detect
outcome of second verification attempt
  • Identity confirmed on second attempt confirmed order-status-check
  • Still unable to verify unverified identity-failure

Identity Failure

Say"I'm sorry — I wasn't able to verify your identity with the information provided. For your account security, I'm unable to make changes without verification. You're welcome to log in to your account directly and make modifications through self-service, or contact us again once you have your order confirmation email handy."

EmailNotification.Send to customer.email with self-service portal link and instructions

Order Status Check

Say"Got it — let me pull up order order.id for you right now."

OrderManagement.GetOrder using order.id to retrieve order.status, order.items, order.total, order.shippingAddress, order.paymentMethod

kb.order-modification-policy — check modification and cancellation window rules against order.status

  • Order is still in a modifiable state (not yet shipped) confirmed change-intent
  • Order has already shipped or is out for delivery shipped order-already-shipped
  • Order is flagged for fraud review fraud_flag escalation-fraud

Change Intent

Say"Great news — your order is still within our modification window. What change would you like to make? For example, I can update items or quantities, change your shipping address, or cancel the order entirely."
Detect
type of modification customer is requesting
  • Customer wants to cancel the full order cancel cancellation-confirm
  • Customer wants to change item or quantity item_change item-modification
  • Customer wants to update shipping address address_change address-modification
  • Customer is unsure or wants to discuss options unclear change-intent

Cancellation Confirm

Say"I can cancel order order.id for you. Just to confirm, you'd like to cancel all items in this order and receive a refund of order.total to your order.paymentMethod. Is that correct?"

kb.order-cancellation-policy — confirm refund eligibility and timeline for order.paymentMethod

Detect
customer confirmation of full cancellation
  • Customer confirms cancellation confirmed process-cancellation
  • Customer changes their mind or wants partial cancellation instead partial item-modification
  • Customer wants to reconsider — pause and re-engage uncertain change-intent

Process Cancellation

OrderManagement.CancelOrder for order.id

PaymentProcessor.InitiateRefund for refund.amount to order.paymentMethod

EmailNotification.Send to customer.email with cancellation confirmation and refund.timeline

Say"Your order has been successfully cancelled. A refund of refund.amount will be returned to your order.paymentMethod — typically within refund.timeline. You'll receive a confirmation email shortly."

resolution-complete

Item Modification

Say"Sure, I can help adjust the items on your order. Which item would you like to change, and what would you prefer instead — a different size, colour, quantity, or would you like to remove it entirely?"

OrderManagement.CheckInventory for the requested replacement or updated quantity against change.requested

  • Requested item or quantity is available apply-item-change
  • Requested substitution is out of stock out_of_stock offer-alternatives
  • Customer wants to remove item and remainder falls below free-shipping threshold below_threshold shipping-cost-warning

Offer Alternatives

Say"Unfortunately, the item you've requested isn't currently available. I have a few similar options I can suggest — would you like me to check what's in stock, or would you prefer to remove that item from your order or cancel entirely?"

OrderManagement.GetSimilarItems for item.substitute recommendations

Detect
customer response to alternative options
  • Customer selects an available alternative confirmed apply-item-change
  • Customer wants to remove the item instead remove shipping-cost-warning
  • Customer wants to cancel the full order cancel cancellation-confirm
  • Customer wants to keep the original order as-is keep resolution-complete

Shipping Cost Warning

Say"Just a heads-up — removing that item would bring your order total below our free-shipping threshold of order.freeShippingThreshold, which means a shipping fee of order.shippingCost would apply. Would you still like to proceed with the removal, or would you prefer to keep the item or choose an alternative?"
Detect
customer decision after being informed of shipping cost impact
  • Customer accepts the added shipping cost and confirms removal confirmed apply-item-change
  • Customer decides to keep the item keep resolution-complete
  • Customer wants to cancel the full order instead cancel cancellation-confirm

Apply Item Change

OrderManagement.ModifyOrder for order.id with updated order.items and quantities

PaymentProcessor.AdjustCharge if order total has changed, updating refund.amount as applicable

EmailNotification.Send to customer.email with updated order summary

Say"Done — I've updated your order. You'll receive a confirmation email with the revised details shortly. Is there anything else you'd like to adjust?"
Detect
whether customer has additional requests
  • Customer has another change to make more_changes change-intent
  • Customer is satisfied confirmed resolution-complete

Address Modification

Say"Of course — what is the new shipping address you'd like to use for this order?"

OrderManagement.UpdateShippingAddress for order.id with new order.shippingAddress

EmailNotification.Send to customer.email confirming the address update

Say"Your shipping address has been updated successfully. You'll receive a confirmation email with the new details. Is there anything else I can help you with?"
Detect
whether customer has additional requests
  • Customer has another change more_changes change-intent
  • Customer is satisfied confirmed resolution-complete

Order Already Shipped

Say"I'm sorry — it looks like your order has already shipped, so we're unable to make changes or cancel it at this stage. Once your package arrives, you're welcome to initiate a return and we'll process a refund from there. Would you like me to send you the return instructions?"

kb.return-policy — retrieve return window and process details

Detect
customer response
  • Customer wants return instructions sent confirmed EmailNotification.Send to customer.email with return instructions resolution-complete
  • Customer disputes the charge or is not satisfied disputed escalation-dispute
  • Customer accepts the outcome accepted resolution-complete

Escalation — Fraud Review

Say"I can see your order is currently under a brief security review. I'm going to connect you with a specialist who can look into this further and assist you directly."

CRM.CreateCase priority: high, tagged fraud-review, linked to order.id

Slack.Notify to #fraud-ops with order.id, customer.email, and order summary

Escalation — Dispute or High-Value Refund

Say"I want to make sure this is handled properly for you. I'm escalating this to a senior specialist who has the authorization to review and resolve this fully. You'll hear from them very shortly."

CRM.CreateCase priority: high, tagged charge-dispute, linked to order.id and refund.amount

Slack.Notify to #support-escalations with order.id, customer.name, refund.amount, and case summary

Resolution Complete

Say"You're all set! Is there anything else I can help you with today?"

CRM.UpdateCase status: resolved, linked to order.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ chat▣ voice▣ sms

New Account Onboarding

Financial ServicesOnboardingKYCCompliance

Intent Capture

Say"Welcome! I'm here to help you open a new account today. Before we get started, could you tell me what type of account you're looking to open — for example, a personal checking, savings, or investment account?"
Detect
customer account type intent
  • Customer requests a personal account type (checking, savings, investment) personal-account info-collection
  • Customer requests a business or trust account business-or-trust-account specialist-routing
  • Customer is unsure or needs guidance unsure account-type-guidance

Account Type Guidance

Say"No problem at all. Let me walk you through the most common options. A checking account is great for everyday spending, a savings account helps you earn interest on funds you set aside, and an investment account is for growing wealth over time. Which of those sounds closest to what you need?"

kb.account-types-overview — retrieve product descriptions, minimum balance requirements, and eligibility criteria

  • Customer selects a personal account type personal-account info-collection
  • Customer still wants a business or trust account business-or-trust-account specialist-routing
  • Customer wants to end the conversation end-session session-close

Info Collection

Say"Great choice! To open your account, I'll need to collect some information. This typically takes just a few minutes and everything is encrypted and secure. Let's start with your full legal name and date of birth."

CRM.CreateDraftRecord to initialize a draft customer profile

Say"Next, I'll need your government-issued ID number — such as a passport or driver's license number — along with your Social Security Number or Tax ID."
Say"Finally, I'll need your current address, employment status, approximate annual income, and the funding method you plan to use for your initial deposit."

kb.minimum-deposit-requirements — validate customer.initialDepositAmount and customer.fundingSource eligibility

  • All required fields collected and deposit method is supported fields-complete identity-verification
  • Funding method is unsupported or deposit is below the minimum funding-issue funding-issue-resolution
  • Customer is unwilling to provide required information declined-to-provide escalation-human

Funding Issue Resolution

Say"It looks like the funding method or deposit amount you've selected may not meet our current requirements. Let me explain what we can accept."

kb.funding-methods-policy — retrieve supported funding sources and minimum initial deposit thresholds

Say"We accept bank transfers, debit card funding, and wire transfers for initial deposits. The minimum opening deposit for this account type is noted in our policy. Would you like to use an alternative funding method, or would you prefer I walk you through the options?"
  • Customer selects a supported alternative funding method alternative-accepted identity-verification
  • Customer cannot or will not meet deposit requirements cannot-meet-requirements session-close

Identity Verification

Say"I'm now going to submit your information for identity verification. This is a standard step required to open any account and usually takes just a moment."

KYCService.SubmitVerification with customer.fullLegalName, customer.dateOfBirth, customer.govIdNumber, customer.taxId, customer.address

Detect
KYC verification result
  • Verification passes on first or second attempt kyc-pass compliance-screening
  • Verification fails — first attempt kyc-fail-first kyc-retry
  • Verification fails — second attempt or kyc.attemptCount exceeds 2 kyc-fail-final escalation-human

KYC Retry

Say"I wasn't able to verify your identity with the information provided. This can sometimes happen due to a name mismatch or a data entry issue. Could you double-check your details, or provide an alternative government-issued ID document?"

DocUploadPortal.RequestDocument to customer.email for alternative ID submission

  • Customer submits alternative document and resubmission passes kyc-pass compliance-screening
  • Customer submits alternative document and resubmission fails kyc-fail-final escalation-human
  • Customer cannot provide alternative documentation cannot-verify escalation-human

Compliance Screening

Say"Thank you — your identity has been verified. I'm now running a brief compliance check, which is required by law for all new accounts. This will only take a moment."

ComplianceScreening.RunCheck with customer.fullLegalName, customer.taxId, customer.dateOfBirth, customer.address

Detect
compliance screening result
  • Screening passes with no flags compliance-clear account-creation
  • Any KYC or AML flag is raised compliance-flagged escalation-compliance
  • Customer is identified as a Politically Exposed Person (PEP) compliance.isPEP pep-flag escalation-compliance

Account Creation

Say"Everything has cleared. I'm now creating your account — this will just take a moment."

CoreBanking.CreateAccount with customer.fullLegalName, customer.taxId, customer.address, customer.fundingSource, customer.initialDepositAmount, customer.accountType

CRM.UpdateRecord with account.id, mark status: account-created

Twilio.SendSMS to customer.phone: "Your new account has been created. Your account ID is account.id. Your login credentials will arrive by email shortly."

CoreBanking.IssueCredentials to customer.email with account.credentials and welcome packet link

  • Account created and credentials delivered successfully account-ready customer-orientation
  • Account creation fails due to a system error system-error escalation-human

Customer Orientation

Say"Your account is all set! Here's what you need to know to get started."
Say"You'll receive a welcome email shortly with your login credentials, a link to download our mobile app, and instructions for setting up two-factor authentication. Your initial deposit will be reflected within one to two business days depending on your funding method."

kb.new-account-faq — retrieve top questions about first login, mobile app access, and deposit timelines

Say"Is there anything else you'd like to know about accessing your account, setting up transfers, or any of our other services?"
  • Customer has additional questions more-questions customer-orientation
  • Customer is satisfied and ready to end satisfied session-close
  • Customer wants to add a beneficiary or linked account additional-setup escalation-human

Specialist Routing

Say"I'd be happy to help you get to the right place. Business and trust accounts require a specialist who can walk you through the additional documentation and requirements for those account types."

CRM.CreateLeadRecord with customer.phone, customer.email, customer.accountType, note: specialist-referral

Say"I'm transferring your details to a specialist now. You can expect a call or message within one business day. Is there a preferred contact time or number I should pass along?"
  • Details captured and specialist notified escalation-human

Escalation to Compliance Officer

ComplianceScreening.FlagRecord with customer.fullLegalName, customer.taxId, compliance.flagCode, compliance.isPEP

CRM.EscalateRecord priority: critical, tag: compliance-review

Say"I'm sorry, but I'm not able to proceed with your account opening at this time. For regulatory reasons, your application requires a review by our compliance team. You will be contacted directly within two business days with next steps. We appreciate your patience."

Escalation to Human Agent

CRM.EscalateRecord priority: high, tag: agent-review

Twilio.SendSMS to customer.phone: "Your account application requires attention from one of our specialists. A team member will reach out to you shortly."

Say"I'm going to connect you with one of our specialists who will be able to assist you further. Thank you for your patience — you're in good hands."

Session Close

Say"Thank you for reaching out to us today. If you have any questions in the future or would like to revisit opening an account, we're always here to help. Have a great day!"

CRM.CloseSession with session outcome logged

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ chat▣ sms▣ email

Loyalty Tier / Points Inquiry

TravelHospitalityLoyaltyPointsTier

Identity Verification

Say"Welcome to loyalty support. I can help you with your points balance, tier status, or a points question. Could I please have your membership ID or the email address on your account?"

IdentityVerification.LookupMember using member.id or member.email

  • Member record found, proceed to secondary verification secondary-verification
  • Member record not found after two attempts identity-failure
  • Loyalty platform unavailable CaseManagement.LogInquiry system-outage

Secondary Verification

Say"Thank you. For security, could you please confirm your full name and either your date of birth or the phone number on your account?"

IdentityVerification.VerifySecondaryFactor using member.fullName and member.dateOfBirth or member.phone

  • Identity verified successfully account-overview
  • Identity verification fails once secondary-verification-retry
  • Identity verification fails twice identity-failure

Secondary Verification Retry

Say"I wasn't able to match that detail. Let's try one more time — could you confirm your date of birth or the phone number registered to your account?"

IdentityVerification.VerifySecondaryFactor using member.fullName and member.dateOfBirth or member.phone

  • Identity verified on retry account-overview
  • Identity fails again identity-failure

Account Overview

LoyaltyPlatform.GetMemberProfile for member.id — retrieve member.currentTier, member.pointsBalance, member.pendingPoints, member.expiringPoints, member.expiryDate, member.tierQualifyingNights, member.tierThreshold, member.tierExpiryDate

CRM.UpdateLastContactDate for member.id

Say"I've pulled up your account, member.fullName. You're currently a member.currentTier member with member.pointsBalance points available. You have member.pendingPoints points pending and member.expiringPoints points expiring on member.expiryDate."
Detect
intent of customer's follow-up question
  • Customer asks about tier status or how to reach the next tier tier-inquiry tier-status
  • Customer asks about a specific points discrepancy or missing points discrepancy discrepancy-intake
  • Customer is concerned about tier or points expiry expiry-concern expiry-review
  • Customer's question is fully answered satisfied resolution-summary
  • Customer asks about points earning or redemption history history-inquiry points-history

Tier Status

kb.loyalty-tier-thresholds — retrieve qualification criteria, benefits, and upgrade requirements for member.currentTier and the next tier

Say"As a member.currentTier member, you've qualified with member.tierQualifyingNights nights this year. To reach the next tier you'll need member.tierThreshold qualifying nights. Your current tier status is valid through member.tierExpiryDate."
  • Customer wants to know about tier benefits tier-status-benefits
  • Customer is upset that they are close but won't reach next tier frustrated tier-goodwill-check
  • Customer is satisfied with the information satisfied resolution-summary

Tier Status Benefits

kb.loyalty-tier-benefits — retrieve current and next-tier benefit details

Say"Your member.currentTier status includes benefits such as complimentary room upgrades when available, bonus points on stays, and dedicated check-in. Upgrading to the next tier would add additional perks including higher bonus earn rates and lounge access."
  • Customer has further questions follow-up account-overview
  • Customer is satisfied satisfied resolution-summary

Tier Goodwill Check

Agent
assess whether a goodwill tier extension or status match is permitted for member.id.
Goal:determine if the shortfall in qualifying nights falls within the policy threshold for a complimentary extension or one-time status courtesy, and apply it if so.
Constraints:never extend tier status if shortfall exceeds the policy ceiling in kb.loyalty-goodwill-policy; never apply more than one goodwill extension per rolling 24-month period per member; always confirm current extension history before acting.
Tools available:LoyaltyPlatform.GetExtensionHistory, LoyaltyPlatform.ApplyGoodwillExtension, kb.loyalty-goodwill-policy
  • Goodwill extension is within policy and applied LoyaltyPlatform.ApplyGoodwillExtension goodwill-confirmation
  • Shortfall exceeds policy limit or extension already used this period exceeds-policy escalation-loyalty-specialist

Goodwill Confirmation

Say"As a valued member.currentTier member, I've applied a one-time courtesy extension to your tier status. Your member.currentTier status has been extended through your next qualification anniversary. You'll receive a confirmation to member.email shortly."

CRM.LogInteraction note: goodwill tier extension applied for member.id

LoyaltyPlatform.SendConfirmationEmail to member.email

  • Customer has additional questions follow-up account-overview
  • Customer is satisfied satisfied resolution-summary

Points History

Say"I can pull up your recent points activity. Do you have a specific stay or booking reference you'd like me to look into, or would you like a general summary of recent transactions?"

LoyaltyPlatform.GetTransactionHistory for member.id

Detect
customer's response
  • Customer provides a specific booking reference specific-booking discrepancy-intake
  • Customer wants a general history summary general-history points-history-summary
  • Customer identifies a missing or incorrect transaction discrepancy discrepancy-intake

Points History Summary

LoyaltyPlatform.GetTransactionHistory for member.id — last 90 days of earn and redemption activity

Say"Over the past 90 days your account shows earn activity from stays and partner transactions, and any redemptions you've made. I can walk through specific entries if anything looks unfamiliar."
  • Customer spots a discrepancy discrepancy discrepancy-intake
  • Customer is satisfied with the summary satisfied resolution-summary

Discrepancy Intake

Say"I'm sorry to hear about that. To look into this properly, could you share the booking or stay reference number and the approximate date of the stay or transaction in question?"

LoyaltyPlatform.GetTransaction using booking.referenceNumber or transaction.id

PropertyManagementSystem.VerifyStay using booking.referenceNumber and member.id

Detect
outcome of transaction lookup
  • Transaction found and points gap confirmed gap-confirmed discrepancy-assessment
  • Transaction not found or stay not verified unverified discrepancy-unverified
  • Transaction involves a very large point volume or suspected fraud high-risk escalation-loyalty-specialist

Discrepancy Assessment

Agent
review transaction details against kb.loyalty-earn-rules to determine whether the points shortfall is an eligible auto-correction or requires a manual audit.
Goal:decide if the discrepancy can be corrected immediately using standard earn rules, or must be escalated to a manual audit queue with a follow-up commitment.
Constraints:never apply a points correction above 10,000 points without supervisor approval; always cross-reference the property's posted earn rate before correcting; log every correction attempt in the case management system.
Tools available:LoyaltyPlatform.GetTransactionHistory, LoyaltyPlatform.CalculateExpectedPoints, CaseManagement.CreateCase, kb.loyalty-earn-rules
  • Discrepancy is within auto-correction threshold and earn rules confirm the gap points-correction-approval
  • Discrepancy requires manual audit or exceeds auto-correction threshold needs-audit manual-audit-queue
  • Agent detects pattern suggesting account compromise suspected-fraud escalation-loyalty-specialist

Points Correction Approval

Approval
Slack.RequestApproval to #loyalty-ops-approvals, approver: loyalty_ops_lead
Context sent:member.id, member.fullName, transaction.id, transaction.date, transaction.property, transaction.points, agent's earn-rule assessment
  • Approved approved LoyaltyPlatform.AdjustPoints correction-confirmation
  • Rejected rejected manual-audit-queue
  • No response in 60 min manual-audit-queue

Correction Confirmation

CaseManagement.CreateCase linked to member.id and transaction.id, status: resolved

Say"Great news — the points adjustment has been approved. Your account will reflect the corrected balance within 24 hours. You'll also receive a confirmation email at member.email."

LoyaltyPlatform.SendConfirmationEmail to member.email

  • Customer has further questions follow-up account-overview
  • Customer is satisfied satisfied resolution-summary

Manual Audit Queue

CaseManagement.CreateCase priority: standard, tagged points-discrepancy, linked to member.id and transaction.id

CRM.LogInteraction note: points discrepancy flagged for manual audit, case case.id created

Say"I've flagged this transaction for a manual review by our loyalty team. You'll receive an update at member.email within 5 to 7 business days. Your case reference is case.id — please keep this handy if you follow up."
  • Customer is satisfied with the timeline satisfied resolution-summary
  • Customer escalates or disputes the timeline frustrated escalation-loyalty-specialist

Discrepancy Unverified

Say"I wasn't able to locate a matching stay or transaction with the details provided. This sometimes happens with partner properties or if the booking was made under a different profile. I'll open a case so our team can investigate further."

CaseManagement.CreateCase priority: standard, tagged unverified-discrepancy, linked to member.id

CRM.LogInteraction note: transaction unverified, manual investigation case created, case case.id opened

  • Customer accepts the outcome and case creation satisfied resolution-summary
  • Customer insists on immediate resolution frustrated escalation-loyalty-specialist

Expiry Review

kb.loyalty-expiry-policy — retrieve points and tier expiry rules, extension eligibility, and activity requirements

Say"Your member.expiringPoints points are set to expire on member.expiryDate, and your member.currentTier tier status is valid through member.tierExpiryDate. Points expiry can often be reset by completing a qualifying stay or partner activity before that date."
Detect
customer's reaction
  • Customer is calm and accepts the information satisfied resolution-summary
  • Customer is upset about imminent expiry and requests help frustrated expiry-goodwill-check
  • Customer wants to know what activity would prevent expiry activity-inquiry expiry-activity-options

Expiry Activity Options

kb.loyalty-earn-partners — retrieve list of qualifying partner activities that reset expiry clock

Say"To keep your points active you would need to complete a qualifying earn activity before member.expiryDate. This includes any eligible hotel stay, car rental with a partner, or a purchase through a loyalty-linked partner. Would you like me to send you the full list of qualifying partners?"

CRM.LogInteraction note: expiry activity options provided to member.id

  • Customer requests the list be sent LoyaltyPlatform.SendPartnerListEmail to member.email resolution-summary
  • Customer is satisfied with the verbal summary satisfied resolution-summary

Expiry Goodwill Check

Agent
assess whether a goodwill points expiry extension is permitted for member.id under current policy.
Goal:determine if the member's expiry situation qualifies for a one-time extension of points or tier, and apply it if within policy authority.
Constraints:never extend points expiry if the member has already received a goodwill extension within the past 12 months; never extend a balance exceeding the ceiling defined in kb.loyalty-goodwill-policy without escalating; always verify activity history before acting.
Tools available:LoyaltyPlatform.GetExtensionHistory, LoyaltyPlatform.ExtendPointsExpiry, kb.loyalty-goodwill-policy, kb.loyalty-expiry-policy
  • Extension is within policy and applied LoyaltyPlatform.ExtendPointsExpiry expiry-extension-confirmation
  • Extension not permitted under policy or limit already used exceeds-policy escalation-loyalty-specialist

Expiry Extension Confirmation

Say"I've applied a one-time courtesy extension to your points. Your member.expiringPoints points have been extended and will no longer expire on member.expiryDate. A confirmation will be sent to member.email."

CRM.LogInteraction note: one-time points expiry extension applied for member.id

LoyaltyPlatform.SendConfirmationEmail to member.email

  • Customer has additional questions follow-up account-overview
  • Customer is satisfied satisfied resolution-summary

System Outage

Say"I apologize — our loyalty system is currently unavailable and I'm unable to access your account right now. I'll log your inquiry and have a specialist contact you within 4 business hours."

CaseManagement.CreateCase priority: standard, tagged system-outage-callback, linked to member.email

CRM.LogInteraction note: loyalty platform unavailable, callback committed within 4 business hours

  • Customer accepts the callback commitment satisfied resolution-summary
  • Customer requests immediate escalation frustrated escalation-loyalty-specialist

Identity Failure

Say"I'm sorry, I wasn't able to verify your identity with the details provided. For the security of your account I'm unable to share account information at this time. You can reset your credentials through our member portal or visit a property front desk with a valid photo ID for in-person verification."

CRM.LogInteraction note: identity verification failed, member directed to self-service portal or property front desk

Escalation to Loyalty Specialist

CaseManagement.CreateCase priority: high, tagged loyalty-specialist-escalation, linked to member.id

CRM.LogInteraction note: escalated to loyalty specialist, reason captured in case case.id

Slack.Notify to #loyalty-specialist-queue with member summary, member.id, member.currentTier, member.pointsBalance, and reason for escalation

Say"I want to make sure this is handled properly for you. I'm escalating your case to one of our loyalty specialists who has the authority to resolve this. Your case reference is case.id and you'll hear from the team at member.email within 2 business hours."

Resolution Summary

Say"To recap: your account shows member.pointsBalance available points, member.pendingPoints pending, and your current status is member.currentTier valid through member.tierExpiryDate. Is there anything else I can help you with today?"

CRM.LogInteraction note: inquiry resolved, summary provided to member.id

  • Customer has another question follow-up account-overview
  • Customer is done satisfied farewell

Farewell

Say"Thank you for being a valued member.currentTier member. We appreciate your loyalty and look forward to welcoming you on your next stay. Have a wonderful day."

CRM.CloseInteraction for member.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ voice▣ email

Loyalty / Rewards Inquiry

RetailLoyaltyRewardsSupport

Intake & Account Lookup

Say"Welcome! I'd be happy to help with your rewards account. Could you share the email address or phone number linked to your loyalty account?"

LoyaltyPlatform.LookupAccount by customer.email or customer.phone

  • Account found, no fraud flag identity-verification
  • Account found with fraud flag fraud_flag escalation-human
  • Account not found account-not-found

Identity Verification

IdentityVerification.Verify using customer.fullName and customer.accountId

Say"Just to protect your account, can you confirm your full name and the last four digits of the phone number on file?"
  • Identity confirmed on first or second attempt verified inquiry-classification
  • Identity fails after two attempts unverified escalation-human

Account Not Found

Say"I wasn't able to find an account with that information. Let's try a different detail — do you have an alternate email address or phone number you may have used when signing up?"

LoyaltyPlatform.LookupAccount secondary attempt using alternate customer.email or customer.phone

  • Account found on secondary lookup identity-verification
  • Account still not found after secondary attempt escalation-human

Inquiry Classification

Say"Great, I've pulled up your account, customer.fullName. Your current balance is loyalty.pointsBalance points and your tier is loyalty.tier. What can I help you with today — checking your balance, redeeming rewards, reporting missing points, or something about expiration?"
Detect
customer intent from reply
  • Customer asks about balance or tier status balance_inquiry balance-and-tier-summary
  • Customer wants to redeem rewards redeem redemption-assistance
  • Customer reports missing points after a purchase missing_points missing-points-investigation
  • Customer asks about or disputes expiration expiration_inquiry expiration-review
  • Customer expresses frustration or perceived unfair treatment frustrated empathy-and-policy-explanation

Balance & Tier Summary

LoyaltyPlatform.GetAccountDetails for customer.accountId

Say"You currently have loyalty.pointsBalance points in your account. You're at the loyalty.tier tier, and your points are set to expire on loyalty.expirationDate. Would you like to know how to use your points, or is there anything else I can help with?"

kb.loyalty-rewards-policy — confirm tier benefits and point value rules

  • Customer wants to know how to redeem redeem redemption-assistance
  • Customer is satisfied and has no further questions resolved resolution
  • Customer raises a new concern new_concern inquiry-classification

Redemption Assistance

kb.loyalty-rewards-policy — retrieve current redemption options, minimum threshold, and any active promotions

Say"You can redeem your points in a few ways: as a discount at checkout online or in-store, for gift cards, or toward eligible products. Your current balance of loyalty.pointsBalance points is worth — shall I walk you through how to apply them right now?"

LoyaltyPlatform.GetRedemptionOptions for customer.accountId

  • Customer wants to apply reward to a current or upcoming purchase LoyaltyPlatform.ApplyReward redemption-confirmed
  • Customer wants to know options only, no redemption yet info_only resolution
  • Customer's balance is below the redemption minimum below_minimum below-minimum-notice

Below Minimum Notice

Say"It looks like your current balance of loyalty.pointsBalance points is just below the minimum needed to redeem. I can let you know exactly how many more points you'd need, and share some ways to earn them faster if that's helpful."

kb.loyalty-rewards-policy — confirm minimum redemption threshold and earning opportunities

  • Customer is satisfied with the explanation resolved resolution
  • Customer is frustrated or disputes the threshold frustrated empathy-and-policy-explanation

Redemption Confirmed

Say"Your reward has been applied successfully. You'll see the discount reflected at checkout. Is there anything else I can help you with?"

CRM.LogInteraction tagged reward-redeemed, linked to customer.accountId

  • Customer has no further questions resolved resolution
  • Customer has another question new_concern inquiry-classification

Missing Points Investigation

Say"I'm sorry to hear your points didn't post — let's look into that. Can you share the receipt number or order number and the approximate date of the purchase?"

OrderManagement.LookupTransaction by transaction.receiptNumber and transaction.purchaseDate

  • Transaction found and points not yet posted LoyaltyPlatform.CheckPendingPoints points-adjustment-review
  • Transaction found and points already posted points-already-posted
  • Transaction not found in order history unverified-transaction

Points Already Posted

Say"Good news — it looks like those points actually did post to your account, though they may take up to 48 hours to appear in your balance display. Your current total is loyalty.pointsBalance points. Does that match what you're seeing?"
  • Customer confirms the issue is resolved resolved resolution
  • Customer says the balance still looks wrong disputed escalation-human

Unverified Transaction

Say"I wasn't able to locate that transaction in our system with those details. Could you double-check the receipt number or share any other details — like the store location or the total amount? That will help me dig further."

OrderManagement.LookupTransaction secondary attempt using transaction.amount and transaction.purchaseDate

  • Transaction found on secondary lookup points-adjustment-review
  • Transaction still not found after second attempt escalation-human

Points Adjustment Review

Agent
evaluate whether a manual points adjustment is warranted based on transaction details and loyalty account history.
Goal:determine if the missing points qualify for a manual credit under policy, and calculate the correct points amount to award.
Constraints:never issue a points adjustment above the policy maximum without manager approval; cross-reference kb.loyalty-rewards-policy for eligible purchase categories before approving any credit.
Tools available:LoyaltyPlatform.GetAccountDetails, OrderManagement.LookupTransaction, kb.loyalty-rewards-policy
  • Adjustment is within policy limits and clearly supported low_risk_adjustment adjustment-approval
  • Adjustment amount is high, ambiguous, or flags a pattern high_risk_adjustment escalation-human

Adjustment Approval

Approval
Slack.RequestApproval to #loyalty-ops-approvals, approver: loyalty_ops_manager
Context sent:customer.accountId, customer.fullName, transaction.receiptNumber, transaction.purchaseDate, transaction.amount, agent's assessment of missing points
  • Approved approved LoyaltyPlatform.CreditPoints adjustment-confirmed
  • Rejected rejected adjustment-declined
  • No response in 30 min escalation-human

Adjustment Confirmed

Say"Great news — the missing points have been added to your account. Your updated balance is loyalty.pointsBalance points. You should see this reflected immediately. Is there anything else I can help you with?"

CRM.LogInteraction tagged points-adjustment-approved, linked to customer.accountId, reference adjustment.requestId

  • Customer is satisfied resolved resolution
  • Customer has another question new_concern inquiry-classification

Adjustment Declined

Say"I reviewed the details with our team, and unfortunately we weren't able to apply a points credit for this transaction based on our current policy. I know that's not the answer you were hoping for. I can share exactly why if that would be helpful, or connect you with a specialist who can look at this further."

kb.loyalty-rewards-policy — confirm decline reason to share with customer

  • Customer accepts the explanation resolved resolution
  • Customer remains dissatisfied or requests an exception frustrated escalation-human

Expiration Review

kb.loyalty-rewards-policy — retrieve expiration policy, grace window rules, and reinstatement eligibility criteria

Say"Your points are currently set to expire on loyalty.expirationDate. Our policy allows points to remain active as long as there's account activity within a set window. Would you like me to walk you through the details or check if any of your points are at risk?"
  • Points have not yet expired, customer wants prevention tips info_only resolution
  • Points expired recently and fall within the grace window within_grace_window escalation-human
  • Points expired outside the grace window outside_grace_window expiration-outside-grace
  • Customer is upset about the expiration frustrated empathy-and-policy-explanation

Expiration Outside Grace

Say"I understand how frustrating that is, especially when you've worked hard to earn those points. Unfortunately, the expiration date of loyalty.expirationDate falls outside the window where we're able to reinstate points under our current policy. I want to make sure I'm giving you the full picture — would you like me to explain how to keep future points active?"

kb.loyalty-rewards-policy — confirm grace window boundaries and prevention steps

  • Customer accepts the explanation resolved resolution
  • Customer is still dissatisfied and requests a policy exception frustrated escalation-human

Empathy & Policy Explanation

Say"I completely understand your frustration, and I want you to know your loyalty to us genuinely matters. Let me make sure I explain our policy as clearly as possible so this makes sense."

kb.loyalty-rewards-policy — retrieve relevant policy section to explain to customer

Detect
customer sentiment after explanation
  • Customer feels heard and is satisfied satisfied resolution
  • Customer remains dissatisfied and wants to escalate escalate escalation-human

Escalation to Human Agent

CRM.LogInteraction tagged escalation, linked to customer.accountId, with full interaction summary

Slack.Notify to #loyalty-ops with customer.accountId, customer.fullName, reason for escalation

Say"I want to make sure you get the best possible resolution on this. I'm connecting you with a member of our loyalty specialist team right now who has the authority to look into this further. Please hold just a moment."

Resolution

Say"I'm glad I could help sort that out for you today! Is there anything else you need before we wrap up?"

CRM.LogInteraction tagged resolved, linked to customer.accountId

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat

Insurance Coverage Check

HealthcareInsuranceCoverage

Patient Intake

Say"Thank you for calling. I'm here to help you check your insurance coverage. To get started, may I have your full name and date of birth?"

CRM.LookupPatient using patient.fullName and patient.dateOfBirth

  • Patient record found in CRM insurance-verification
  • No record found, continue to collect details manually insurance-verification
  • Patient is unresponsive or call drops escalation-human

Insurance Verification

Say"Thank you, patient.fullName. Can you please provide your insurance carrier name and your member ID? You can find those on the front of your insurance card."

EligibilitySystem.VerifyMember using patient.insuranceCarrier and patient.memberId

Detect
eligibility system response
  • Coverage active and returned successfully confirmed service-inquiry
  • Coverage shows as inactive or lapsed inactive coverage-lapsed
  • System returns no results or an error error system-error

Service Inquiry

Say"Great, I can see your coverage is active as of coverage.effectiveDate. Now, what service, procedure, or specialist visit would you like me to check? If you have a CPT code from your provider, that will help me look this up quickly."

CRM.UpdateRecord with patient.memberId and confirmed coverage.status

  • Patient provides service type or CPT code network-status-check
  • Patient is unsure of service details service-clarification

Service Clarification

Say"No problem. Can you tell me the name of the provider or facility you are planning to visit, and describe the type of care — for example, a specialist consultation, imaging, lab work, or a surgical procedure?"
  • Patient provides enough detail to proceed network-status-check
  • Patient still unable to provide details escalation-human

Network Status Check

ProviderDirectory.CheckNetworkStatus using provider.name and provider.facility and patient.insuranceCarrier

PayerPortal.LookupBenefit using service.cptCode and patient.memberId and coverage.effectiveDate

Detect
network and benefit lookup result
  • Provider and service confirmed in-network in-network benefit-details
  • Provider confirmed out-of-network out-of-network out-of-network-options
  • Service requires prior authorization prior-auth-required prior-auth-guidance
  • Lookup returns ambiguous or missing data unclear escalation-human

Benefit Details

Say"Good news — provider.name is in-network under your patient.insuranceCarrier plan. Here are your cost-sharing details for this service."

kb.benefit-tier-definitions — confirm explanation of coverage.tier, copay, and deductible language

Say"Your plan tier for this service is coverage.tier. Your copay is coverage.copay per visit. Your annual deductible is coverage.deductible, and based on your current usage, coverage.deductibleMet has been applied so far."

PriorAuthTracker.CheckRequirements using service.cptCode and patient.memberId

  • No referral or prior authorization required confirmation-close
  • Referral required referral-flag referral-guidance
  • Prior authorization required prior-auth-flag prior-auth-guidance

Referral Guidance

Say"One thing to keep in mind — this service does require a referral from your primary care provider before your visit. Without a referral on file, the claim may not be covered."

kb.referral-process — retrieve steps for obtaining and submitting a referral

Say"To get a referral, please contact your primary care provider's office and ask them to submit a referral for service.type to provider.name. Once the referral is on file with your insurer, you will be all set to schedule your visit."
  • Patient understands and confirms next steps confirmation-close
  • Patient has questions or disputes the referral requirement escalation-human

Prior Auth Guidance

Say"I do want to let you know that service.type requires prior authorization from patient.insuranceCarrier before the service can be covered."

kb.prior-auth-process — retrieve steps and typical timelines for prior authorization submission

Say"Prior authorization must be submitted by your ordering provider or facility — not by you directly. They will need to send clinical documentation to patient.insuranceCarrier. The review typically takes 3 to 15 business days. I can log this so your provider's office receives a notification."

PriorAuthTracker.CreateCase using patient.memberId and service.cptCode and provider.name

Say"I've created a prior authorization tracking case, reference number auth.caseId, and your provider can use that to follow up with the insurer."
  • Patient acknowledges and has no further questions confirmation-close
  • Patient wants to dispute that prior auth is required escalation-human

Out-of-Network Options

Say"I checked the provider directory and provider.name is currently out-of-network for your patient.insuranceCarrier plan. Let me explain your options."

kb.out-of-network-benefits — look up whether the plan includes out-of-network benefit coverage and applicable cost-sharing

Detect
out-of-network benefit availability
  • Plan includes out-of-network benefits oon-benefits-available oon-benefit-details
  • Plan does not cover out-of-network services oon-no-benefits suggest-in-network

OON Benefit Details

Say"Your plan does have out-of-network benefits, though your cost-sharing will be higher than in-network. Typically, out-of-network services are subject to a separate deductible and a higher coinsurance percentage. I recommend contacting patient.insuranceCarrier directly to get the exact figures before your appointment."
  • Patient wants in-network alternatives instead suggest-in-network
  • Patient is satisfied with out-of-network information confirmation-close
  • Patient references a denial or billing dispute escalation-human

Suggest In-Network Alternatives

Say"I can help you find an in-network provider for service.type. Let me search the provider directory."

ProviderDirectory.FindInNetworkProviders using service.type and patient.insuranceCarrier

Say"Based on your plan and location, here are some in-network providers who offer the same type of care. I can share their names and contact information so you can schedule directly."
  • Patient accepts alternatives and has no further questions confirmation-close
  • Patient insists on the out-of-network provider and references a coverage dispute escalation-human

Coverage Lapsed

Say"I checked your insurance information and unfortunately your coverage with patient.insuranceCarrier does not appear to be active at this time. This could be due to a lapse in premium payment, an open enrollment issue, or an employer benefits change."

kb.enrollment-support — retrieve guidance on coverage reinstatement and insurer contact process

Say"I would recommend contacting patient.insuranceCarrier directly using the member services number on your insurance card to resolve the enrollment status. Once your coverage is reinstated, we would be happy to complete this coverage check for you."
  • Patient wants to escalate or believes coverage should be active escalation-human
  • Patient understands and will contact insurer confirmation-close

System Error

Say"I apologize — I'm running into a technical issue retrieving your eligibility information from our system right now. This can happen occasionally when there is a delay syncing with the insurer's records."
Say"I have a couple of options for you: I can try reaching the payer portal directly, or I can arrange a callback once our team resolves the issue. Which would you prefer?"

PayerPortal.ManualEligibilityLookup using patient.memberId and patient.insuranceCarrier

  • Payer portal lookup succeeds network-status-check
  • Payer portal also unavailable, offer callback CRM.CreateCallbackTask escalation-human

Confirmation & Close

Say"To summarize what we covered today: your patient.insuranceCarrier coverage is active as of coverage.effectiveDate, service.type with provider.name is confirmed coverage.tier, and your cost-sharing is coverage.copay copay with coverage.deductible deductible, of which coverage.deductibleMet has been met."
Say"Is there anything else you would like me to check, or do you have any other questions about your benefits?"

CRM.LogInteraction with coverage check summary, patient.memberId, service.cptCode, and outcome

Detect
patient response
  • Patient has no further questions satisfied session-complete
  • Patient has an additional service to check new-inquiry service-inquiry
  • Patient raises a dispute or references a denial dispute escalation-human

Session Complete

Say"You're all set. If you have any other questions about your coverage before your appointment, don't hesitate to reach out. Take care, patient.fullName."

CRM.CloseInteraction with resolved status and patient.memberId

Escalation to Specialist

Say"I want to make sure you get the most accurate help possible. I'm going to connect you with one of our coverage specialists who can review this in more detail and, if needed, coordinate directly with patient.insuranceCarrier on your behalf."

CRM.CreateCase priority: high, tagged coverage-escalation, linked to patient.memberId and service.cptCode

CRM.LogInteraction with escalation reason and full session context

Say"I've created a case for you and a specialist will be with you shortly. Your reference number is auth.caseId. Thank you for your patience."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ text▣ email▣ chat

Group / Event Booking Inquiry

TravelHospitalityGroup BookingsEventsSales

Inquiry Intake

Say"Welcome! I'd love to help you plan your group or event. To get started, could you tell me a little about what you're looking to book — for example, is this a wedding, corporate retreat, conference, or another type of event?"
Detect
intent from customer opening message
  • Customer describes a specific event type event-described gather-event-details
  • Customer is vague or asking general questions exploring scope-clarification
  • Customer states group size is 50 or more rooms / full venue buyout / custom SLA high-complexity escalation-event-sales-manager

Scope Clarification

Say"No problem — let me ask a few quick questions to point you in the right direction. Are you looking for guest room blocks, a venue or meeting space, or a full package that includes both?"
Detect
intent on scope of booking need
  • Customer clarifies event scope event-described gather-event-details
  • Customer remains unclear or needs guidance still-vague gather-event-details
  • Customer mentions scale that triggers complexity threshold high-complexity escalation-event-sales-manager

Gather Event Details

Say"Great! To find the best options for you, I'll need a few details. What are your preferred dates or a date range? Roughly how many guests or rooms are you expecting? Do you have a specific property or destination in mind? And do you have a budget range or any special requirements such as catering, AV equipment, transportation, or room blocks?"

Salesforce.CreateLead with customer.name, customer.email, customer.phone, source: group-inquiry

Detect
completeness of details provided
  • Customer provides all key details (dates, guest count, destination, budget) details-complete validate-group-size
  • Customer provides partial details details-partial clarify-missing-details
  • Customer declines to share budget or contact info details-minimal clarify-missing-details

Clarify Missing Details

Say"Thanks for sharing what you have so far. Just to make sure I can find the right fit — could you also confirm your estimated guest or room count, your preferred dates, and a rough budget range? Even a ballpark helps me tailor the options."

Salesforce.UpdateLead with any partial data already collected

  • Customer supplies remaining details details-complete validate-group-size
  • Customer still cannot confirm details still-incomplete capture-lead-for-follow-up

Capture Lead for Follow-up

Say"That's perfectly fine — let me save your details and have someone follow up with you once you have a clearer picture. Could I get your best contact email and a name to reference?"

Salesforce.UpdateLead with customer.name, customer.email, status: nurture

email-automation.EnrollSequence campaign: group-inquiry-nurture, contact: customer.email

  • Lead captured successfully resolution-lead-captured
  • Customer disengages with no contact info provided resolution-no-contact

Validate Group Size

Agent
evaluate event.guestCount and event.roomCount against group booking thresholds.
Goal:determine whether the inquiry can be handled by this agent or must be routed to a group sales specialist or event sales manager.
Constraints:route to group-sales-specialist if room count exceeds 20 and is under 50; route to escalation-event-sales-manager if room count is 50 or more, if the event involves a full venue buyout, or if custom SLA or contract terms are mentioned; never attempt to quote contracts above these thresholds without specialist involvement.
Tools available:kb.group-booking-thresholds, Salesforce.GetLeadRecord
  • Group size is 10–20 rooms and standard event type check-availability
  • Group size is 21–49 rooms or complexity is moderate route-to-group-sales-specialist
  • Group size is 50 or more rooms, full buyout, or custom SLA escalation-event-sales-manager

Check Availability

group-inventory-calendar.CheckAvailability for event.property, event.dates, event.roomCount, event.type

property-management-system.GetGroupRates for event.property, event.dates, event.roomCount

Detect
availability result from inventory check
  • Dates and room count are available available present-options
  • Requested dates are unavailable but alternatives exist partial-availability offer-alternatives
  • No availability at requested property or destination unavailable offer-alternatives

Present Options

Say"Good news — I've found availability that fits your event. Let me walk you through the options, including room rates, venue inclusions, and any packages that may suit your needs."

quoting-tool.GenerateProposal for event.type, event.dates, event.roomCount, event.budget, event.specialRequirements

Say"I'm putting together a formal proposal for you now. You'll receive it at customer.email shortly. It will include rates, inclusions, and a provisional hold on your preferred option. The quote reference is quote.id and it's valid until quote.expiryDate."

Salesforce.UpdateLead status: proposal-sent, quote.id

email-automation.SendEmail template: group-proposal, to: customer.email, attach: quote.id

  • Customer reviews and selects a preferred option option-selected confirm-provisional-hold
  • Customer has questions or wants adjustments needs-adjustment handle-quote-adjustment
  • Customer indicates budget does not align with presented options budget-misaligned offer-value-alternatives
  • Customer goes silent after proposal is sent quote-follow-up-sequence

Offer Alternatives

Say"I'm sorry — we don't have availability for those exact dates or at that property. Let me suggest a couple of alternatives that may work just as well for your group."

group-inventory-calendar.GetAlternativeDates for event.property, event.roomCount

property-management-system.GetNearbyProperties for event.destination, event.dates, event.roomCount

Say"Here are some options: alternativeDates at your preferred property, or alternativeProperties nearby with similar capacity and amenities. Would any of these work for your group?"
  • Customer accepts an alternative date or property alternative-accepted check-availability
  • Customer wants to explore further still-exploring route-to-group-sales-specialist
  • Customer declines all alternatives and disengages declined resolution-no-booking

Handle Quote Adjustment

Say"Absolutely — let me update the proposal to reflect your preferences. What would you like to adjust? For example, room count, dates, inclusions, or special requirements?"

quoting-tool.ReviseProposal for quote.id, updated event.roomCount, event.dates, event.specialRequirements

email-automation.SendEmail template: group-proposal-revised, to: customer.email, attach: quote.id

Say"I've sent the revised proposal to customer.email. The updated quote is still referenced as quote.id. Do you have any other questions, or would you like to move forward?"
  • Customer accepts revised proposal option-selected confirm-provisional-hold
  • Customer still has concerns needs-further-adjustment handle-quote-adjustment
  • Customer budget remains misaligned budget-misaligned offer-value-alternatives

Offer Value Alternatives

Say"I understand — let me see what we can do to work within your budget. There may be tiered packages, off-peak pricing, or value-adds like complimentary meeting space or breakfast that could make a difference."

quoting-tool.GetTieredOptions for event.type, event.dates, event.roomCount, event.budget

kb.group-value-add-packages

Say"Here are a few alternatives at different price points, along with some inclusions that could offset costs. I can also flag this for our group sales team if you'd like a more tailored solution."
  • Customer selects a tiered option option-selected confirm-provisional-hold
  • Customer wants specialist help with budget negotiation route-to-group-sales-specialist
  • Customer declines all options declined resolution-no-booking

Confirm Provisional Hold

Say"Wonderful choice! I'll place a provisional hold on that option for you right now while we finalize the details."

property-management-system.PlaceProvisionalHold for event.property, event.dates, event.roomCount, quote.id

Salesforce.UpdateLead status: hold-placed, hold.confirmationNumber

Say"Your provisional hold is confirmed. Your reference number is hold.confirmationNumber and it's held until hold.expiryDate. I'll send the contract and deposit instructions to customer.email shortly."

contract-management.GenerateContract for quote.id, customer.name, customer.email, event.type, event.dates

email-automation.SendEmail template: contract-and-deposit, to: customer.email, attach: contract.link

Say"Please review and sign the contract by hold.expiryDate and submit the deposit of deposit.amount by deposit.dueDate to secure your booking. Is there anything else I can help you with?"
  • Customer confirms they received the contract and will proceed proceeding resolution-booking-confirmed
  • Customer has contract or deposit questions has-questions handle-contract-questions
  • Customer has not responded by hold expiry date hold-expiry-follow-up

Handle Contract Questions

Say"Happy to help clarify. What questions do you have about the contract or deposit process?"

kb.group-contract-terms

kb.deposit-and-cancellation-policy

  • Questions answered and customer is ready to proceed proceeding resolution-booking-confirmed
  • Contract terms require negotiation or custom clauses requires-negotiation escalation-event-sales-manager
  • Customer declines after reviewing terms declined resolution-no-booking

Quote Follow-up Sequence

email-automation.EnrollSequence campaign: group-quote-follow-up, contact: customer.email, reference: quote.id

Salesforce.UpdateLead status: follow-up-in-progress

Say"I'll send you a quick reminder as your quote approaches its expiry. Please don't hesitate to reach out if you have any questions in the meantime."
  • Customer responds and re-engages re-engaged present-options
  • Customer responds and selects an option option-selected confirm-provisional-hold
  • Customer remains unresponsive after full follow-up sequence no-response route-to-group-sales-specialist

Hold Expiry Follow-up

email-automation.SendEmail template: hold-expiry-reminder, to: customer.email, reference: hold.confirmationNumber

Salesforce.UpdateLead status: hold-expiring-soon

Say"Just a reminder — your provisional hold hold.confirmationNumber is set to expire on hold.expiryDate. To secure your booking, please sign the contract and submit your deposit of deposit.amount by deposit.dueDate."
  • Customer responds and confirms they will proceed proceeding resolution-booking-confirmed
  • Customer requests an extension needs-extension escalation-event-sales-manager
  • Hold expires with no response expired resolution-hold-expired

Route to Group Sales Specialist

Say"Given the size and nature of your event, I'd like to connect you with one of our group sales specialists who can provide a fully tailored proposal and dedicated support throughout the planning process."

Salesforce.UpdateLead status: routed-to-specialist, owner: group-sales-team

Salesforce.CreateTask assign-to: group-sales-team, subject: group-inquiry-handoff, reference: customer.email, event.type, event.dates, event.roomCount

email-automation.SendEmail template: specialist-intro, to: customer.email, cc: salesSpecialist.email

Say"You'll hear from salesSpecialist.name at salesSpecialist.email within one business day. I've shared all your event details so you won't need to repeat anything."
  • Handoff confirmed and customer satisfied resolution-specialist-assigned
  • Customer requests immediate escalation to senior manager escalation-event-sales-manager

Escalation to Event Sales Manager

Salesforce.UpdateLead status: escalated, priority: high, tagged: high-value-event

Salesforce.CreateTask assign-to: event-sales-manager, subject: high-complexity-group-escalation, reference: customer.email, event.type, event.dates, event.roomCount, event.budget

email-automation.SendEmail template: escalation-acknowledgement, to: customer.email

Say"Your event requires the attention of our dedicated event sales manager, who handles large-scale and high-value bookings personally. I've escalated your inquiry and flagged all your details. You can expect a direct call or email within two business hours."

Resolution — Booking Confirmed

Say"Fantastic — your group booking is confirmed! You'll receive your signed contract and booking summary at customer.email. We're looking forward to hosting your event and will be in touch as your date approaches. Is there anything else I can help you with today?"

Salesforce.UpdateLead status: closed-won

property-management-system.ConfirmBooking for hold.confirmationNumber

Resolution — Specialist Assigned

Say"All set — your details are with our group sales team and you'll be hearing from a specialist shortly. Thank you for considering us for your event, and please don't hesitate to reach back out if anything comes up in the meantime."

Salesforce.UpdateLead status: specialist-assigned

Resolution — Lead Captured

Say"Perfect — I've saved your information and you'll hear from us as your plans take shape. Thank you for reaching out, and we look forward to helping you create a memorable event."

Resolution — Hold Expired

Say"It looks like the provisional hold on your event dates has expired. If you're still interested, I'd be happy to check current availability and set up a new hold. Just let us know."

Salesforce.UpdateLead status: hold-expired

property-management-system.ReleaseHold for hold.confirmationNumber

Resolution — No Booking

Say"I'm sorry we weren't able to find the right fit this time. If your plans change or you'd like to explore other options down the road, we'd love to hear from you. I'll keep your details on file."

Salesforce.UpdateLead status: closed-lost

Resolution — No Contact

Say"We weren't able to connect fully this time, but if you'd like to revisit your group or event needs in the future, please don't hesitate to reach out. We're here to help."

Salesforce.UpdateLead status: no-contact

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ text▣ chat▣ sms

General FAQ Telecom

TelecomFAQSupport

Intake

Say"Hi, thanks for reaching out to support! I'm here to help. What's your question today?"
Detect
intent category on question.raw
  • Question is purely general / no account data needed general general-lookup
  • Question requires account-specific details account-specific identity-verification
  • Question reveals a billing dispute or unexpected charge billing-dispute escalation-billing
  • Question reveals a service outage or technical fault technical-issue escalation-technical
  • Customer sounds frustrated or complaint is embedded in the question frustrated acknowledge-concern

Acknowledge Concern

Say"I hear you — that sounds frustrating, and I want to make sure we get this sorted for you properly. Let me help you with that now."
Detect
whether the underlying topic is account-specific or general
  • Underlying topic is general general general-lookup
  • Underlying topic requires account data account-specific identity-verification
  • Underlying topic is a billing dispute billing-dispute escalation-billing
  • Underlying topic is a technical fault technical-issue escalation-technical
  • Concern is a formal complaint requiring case handling complaint escalation-complaint

Identity Verification

Say"To pull up your account details, I'll need to verify your identity first. Could you please provide your account number or the phone number registered to your account?"

IdentityVerification.RequestAccountLookup using customer.accountNumber or customer.phone

Say"Thanks — and can you confirm your name and either your account PIN or the last 4 digits of your SSN?"

IdentityVerification.VerifyIdentity using customer.name, customer.pin, customer.ssn4

  • Identity verified successfully verified account-lookup
  • Identity verification fails after two attempts unverified unverified-general-only

Unverified — General Info Only

Say"I wasn't able to verify your identity, so I'm not able to access your specific account details right now. I can still share general information about our plans and policies, which may help. For anything account-specific, you're welcome to log in through the app or visit a store with a valid ID."

kb.general-plans-policy — retrieve publicly available plan and policy information relevant to question.topic

  • Customer accepts general information and asks a follow-up general general-lookup
  • Customer wants to try a different verification channel retry escalation-human
  • Customer has no further questions resolution

Account Lookup

CRM.GetAccountProfile using customer.accountNumber

AccountManagement.GetCurrentPlan to retrieve customer.currentPlan and customer.serviceType

Say"Got it — I can see your account. Let me look into that for you now."

account-specific-answer

Account-Specific Answer

Agent
answer question.raw using customer.currentPlan, customer.serviceType, and account profile from CRM alongside kb.faq-content.
Goal:deliver a precise, complete answer to the customer's question based on their actual account data and relevant policy, minimising back-and-forth.
Constraints:never disclose account credentials or full SSN; never make plan changes or billing adjustments without transferring to the appropriate change playbook; do not promise credits or refunds — route those to the billing escalation path.
Tools available:CRM.GetAccountProfile, AccountManagement.GetCurrentPlan, AccountManagement.GetBillingHistory, kb.faq-content, kb.general-plans-policy
  • Answer delivered and customer is satisfied confirmed resolution
  • Answer reveals a billing discrepancy or charge dispute billing-dispute escalation-billing
  • Answer reveals a service or network issue technical-issue escalation-technical
  • Topic is outside knowledge base coverage kb-gap escalation-human
  • Customer wants to make a plan change plan-change escalation-plan-change

General Lookup

kb.faq-content — retrieve answer matching question.topic

kb.general-plans-policy — supplement with plan or policy details if applicable

Say"Great question — let me find that for you."
Agent
compose a clear, plain-language answer to question.raw using kb.faq-content and kb.general-plans-policy.
Goal:give the customer a complete, accurate answer that does not require a follow-up, using only publicly available information.
Constraints:do not reference or imply any account-specific data; do not promise promotional offers not listed in kb.general-plans-policy; do not make commitments about network coverage beyond published service maps.
Tools available:kb.faq-content, kb.general-plans-policy
  • Answer delivered and customer confirms it resolved their question confirmed resolution
  • Customer follow-up question is still general general general-lookup
  • Customer follow-up requires account details account-specific identity-verification
  • Topic falls outside knowledge base coverage kb-gap kb-gap-acknowledgement
  • Customer reveals frustration or complaint frustrated acknowledge-concern

Knowledge Base Gap

Say"That's a great question, and I want to make sure you get an accurate answer — this one falls outside what I can confirm directly. I'd rather connect you with someone who has the full picture than give you incomplete information."
  • Customer agrees to be escalated confirmed escalation-human
  • Customer has a different, simpler question general general-lookup
  • Customer wants to try self-service and end the call self-service resolution

Escalation — Human Agent

CRM.CreateCase tagged faq-escalation, linked to customer.accountNumber, notes include question.raw

Say"I'm going to connect you with a specialist who can give you a definitive answer on this. One moment please."

Escalation — Billing

CRM.CreateCase tagged billing-dispute, priority: high, linked to customer.accountNumber

Say"It sounds like there may be a billing issue here — let me get you over to our billing team who can review the details and take action on your account."

Escalation — Technical Issue

CRM.CreateCase tagged technical-issue, linked to customer.accountNumber, notes include customer.serviceType

Say"This sounds like it needs a technical look — I'm routing you to our technical support team now so they can diagnose and fix this properly."

Escalation — Plan Change

Say"I can absolutely help you explore a plan change. Let me transfer you to the right flow to walk through your options and make that update."

plan-change-telecom

Escalation — Complaint

CRM.CreateCase tagged formal-complaint, priority: high, linked to customer.accountNumber, notes include question.raw

Say"I want to make sure your concern is properly recorded and handled. I'm escalating this to our customer relations team who will follow up with you directly."

Resolution

Say"Is there anything else I can help you with today?"
Detect
whether the customer has a follow-up question
  • Customer has another question follow-up intake
  • Customer confirms they are done confirmed close

Close

Say"Wonderful — glad I could help. Thanks for reaching out, and don't hesitate to contact us if anything else comes up. Have a great day!"
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ sms▣ text▣ email

General FAQ Retail

RetailFAQSupport

Intake

Say"Hi there! I'm here to help. What question can I answer for you today?"
Detect
intent category of customer question
  • Customer asks about store hours or location store-info store-info
  • Customer asks about return or exchange policy return-policy return-policy
  • Customer asks about payment methods or financing payment-options payment-options
  • Customer asks about product availability or details product-inquiry product-inquiry
  • Customer references a specific order or account account-specific identity-verification
  • Customer asks something outside standard categories out-of-scope edge-case-handler

Store Info

kb.store-locator-policy — retrieve hours and location details relevant to customer.location

StoreLocator.GetStoreDetails for customer.location

Say"Here are the details for your nearest store: store.address. Store hours are store.hours. Is there anything else I can help you with?"
Detect
sentiment on customer reply
  • Customer confirms answer resolves their need confirmed resolution
  • Customer has a follow-up question follow-up intake
  • Customer is dissatisfied or disputes the information frustrated policy-pushback

Return Policy

kb.return-exchange-policy — retrieve current return window, conditions, and exclusions based on policy.version

Say"Happy to help with returns and exchanges. Here's our current policy: items in original condition can be returned within 30 days of purchase with a receipt. Some exclusions apply for final-sale and perishable items. Would you like more detail on any part of this?"
Detect
sentiment and intent on customer reply
  • Customer confirms the answer resolves their need confirmed resolution
  • Customer has a follow-up or edge-case question follow-up edge-case-handler
  • Customer is frustrated with the policy frustrated policy-pushback
  • Customer references a specific order account-specific identity-verification

Payment Options

kb.payment-options-policy — retrieve accepted payment methods, financing partners, and any current promotions

Say"We accept all major credit and debit cards, PayPal, Apple Pay, and Google Pay. We also offer financing through our retail credit partner — you can apply at checkout. Is there a specific payment method you'd like to know more about?"
Detect
sentiment and intent on customer reply
  • Customer confirms the answer resolves their need confirmed resolution
  • Customer has a follow-up question follow-up intake
  • Customer is dissatisfied or disputes policy frustrated policy-pushback

Product Inquiry

kb.product-catalog — look up details for product.name or product.sku

ProductCatalog.GetProductDetails for product.sku

InventoryLookup.CheckAvailability for product.sku at customer.location

Say"Here's what I found for product.name: product.availability. Would you like details on pricing, specifications, or nearby store availability?"
Detect
intent on customer reply
  • Customer confirms the answer resolves their need confirmed resolution
  • Customer wants more product detail follow-up product-inquiry-detail
  • Customer asks about ordering or account account-specific identity-verification
  • Customer is dissatisfied with availability or details frustrated policy-pushback

Product Inquiry Detail

kb.product-catalog — retrieve extended specifications, compatibility notes, and related items for product.sku

Say"Here are the full details I have on product.name. If you need information I haven't covered or want to check stock at a specific location, I can look into that as well."
Detect
intent on customer reply
  • Customer confirms the answer resolves their need confirmed resolution
  • Customer has additional questions follow-up intake
  • Customer needs account-level help account-specific identity-verification
  • Customer is dissatisfied frustrated policy-pushback

Identity Verification

Say"To help with anything related to your order or account, I'll need to verify your identity first. Could you please provide your order number or the email address associated with your account?"
Detect
customer response
  • Customer provides verifiable details confirmed CRM.LookupCustomer account-inquiry
  • Customer is unable or unwilling to provide details unverified escalation-human
  • Customer clarifies they do not actually need account-level help no-account-needed intake

Account Inquiry

CRM.LookupCustomer for order.id

Say"I've pulled up your account. What would you like help with regarding your order or account details?"
Detect
intent on customer reply
  • Question can be answered with available account data confirmed resolution
  • Issue involves a dispute, complaint, or action beyond FAQ scope complaint escalation-human
  • Customer confirms answer resolves their need resolved resolution

Edge Case Handler

kb.general-faq — attempt to locate a match for customer.question across all FAQ categories

Detect
whether FAQ content confidently covers the question
  • A confident, accurate answer is found in FAQ content faq-match faq-answer
  • FAQ content is ambiguous, outdated, or contradicts another source uncertain uncertainty-acknowledgment
  • No relevant FAQ content exists no-match escalation-human

FAQ Answer

Say"Based on our current information, here's the answer to your question: I'll do my best to keep this accurate and up to date. If anything has changed recently, our team can confirm the latest details."
Detect
sentiment on customer reply
  • Customer confirms answer resolves their need confirmed resolution
  • Customer has a follow-up follow-up intake
  • Customer is dissatisfied or pushes back frustrated policy-pushback

Uncertainty Acknowledgment

Say"That's a great question, and I want to make sure I give you accurate information rather than guess. I don't have a definitive answer on hand for this one. Let me connect you with a team member who can confirm the details."

escalation-human

Policy Pushback

Say"I completely understand your frustration, and I appreciate you sharing that. Our policies are set by the team, and I want to make sure your feedback reaches the right people. Would you like me to connect you with a team member who can discuss this further or explore options with you?"
Detect
customer response
  • Customer agrees to speak with a team member confirmed escalation-human
  • Customer accepts the explanation and no longer needs help resolved resolution
  • Customer has a new or different question follow-up intake

Escalation to Human Agent

CRM.CreateCase tagged faq-escalation, linked to customer.name and customer.question

Say"I'm going to connect you with one of our team members who will be able to help you directly. Thank you for your patience — someone will be with you shortly."

Resolution

Say"Glad I could help! If you ever have more questions about our store, products, or policies, don't hesitate to reach out. Have a great day!"
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ text▣ chat▣ sms

General FAQ Insurance

InsuranceFAQSupportBillingClaims

Inbound Greeting

Say"Thank you for reaching out to insurance support. I'm here to help you with any questions about your policy, coverage, billing, or claims. May I start with your name and policy number?"
  • Customer provides name and policy number identity-verification
  • Customer asks a question before providing identity identity-first-prompt
  • Customer explicitly requests a human agent escalation-human

Identity First Prompt

Say"I'd be happy to help with that. To make sure I give you the most accurate information for your specific policy, could you please share your name and policy number first?"
  • Customer provides name and policy number identity-verification
  • Customer declines or cannot provide policy number unverified-general-info
  • Customer explicitly requests a human agent escalation-human

Identity Verification

IdentityVerification.Verify using customer.name and customer.policyNumber

  • Verification passes policy-lookup
  • Verification fails after two attempts unverified-general-info
  • Customer explicitly requests a human agent escalation-human

Policy Lookup

PolicyAdmin.GetRecord for customer.policyNumber

CRM.GetCustomerProfile for customer.name

Detect
customer.policyStatus from policy record
  • Policy is active topic-detection
  • Policy is lapsed lapsed-policy-notice
  • Policy record not found escalation-human

Topic Detection

Say"Thanks, customer.name — I've pulled up your customer.productType policy. What can I help you with today?"
Detect
intent on customer's question
  • Question is about coverage or what the plan includes coverage faq-coverage
  • Question is about billing, payment, or due dates billing faq-billing
  • Question is about how to file a claim claims-process faq-claims-process
  • Question is about an existing claim already in progress claim-status active-claim-redirect
  • Question is about policy documents, ID cards, or proof of insurance documents faq-documents
  • Question is about cancellation or reinstatement policy-changes faq-policy-changes
  • Question involves legal interpretation, dispute, or complaint legal-dispute escalation-human
  • Question does not match a known topic unknown clarification-prompt

FAQ — Coverage

kb.coverage-faq — retrieve coverage details relevant to customer.productType

Say"Your customer.productType policy covers the benefits outlined when you enrolled. I'll walk you through the key points now."

PolicyAdmin.GetCoverageDetails for customer.policyNumber

Say"Here's what your current plan includes: the specifics depend on your selected tier, deductibles, and any riders attached to your policy. I can see the details on your account and share them with you now. Is there a particular benefit or service you'd like me to focus on?"
  • Customer wants more detail on a specific benefit faq-coverage-detail
  • Customer's question is resolved confirmed resolution
  • Customer raises a dispute about what should be covered dispute escalation-human
  • Customer explicitly requests a human agent escalation-human

FAQ — Coverage Detail

kb.coverage-faq — look up specific benefit or exclusion matching question.topic

Say"Based on your policy, here is what applies to your question about question.topic. Please keep in mind that individual circumstances may affect how a benefit is applied — your policy documents are always the authoritative reference."
  • Customer confirms the answer resolves their question confirmed resolution
  • Customer disagrees with the coverage detail dispute escalation-human
  • Customer has a follow-up question topic-detection

FAQ — Billing

PolicyAdmin.GetBillingRecord for customer.policyNumber

kb.billing-faq — retrieve billing process and payment method information

Say"Your next payment is due on customer.paymentDueDate. You can pay online through the member portal, by phone, or by mailing a check. Would you like details on how to update your payment method or set up autopay?"
  • Customer wants to update payment method or set up autopay escalation-human
  • Customer questions a charge or amount billing-dispute escalation-human
  • Customer confirms the answer resolves their question confirmed resolution
  • Customer has a follow-up question topic-detection

FAQ — Claims Process

kb.claims-process-faq — retrieve step-by-step claims filing guidance for customer.productType

Say"To file a claim on your customer.productType policy, here are the steps: First, gather documentation related to your loss or event. Second, visit the claims portal or call our claims line directly. Third, submit your completed claim form along with any supporting documents. You'll receive a confirmation number and a timeline for review. Would you like me to send you the direct link or phone number for the claims team?"
  • Customer wants the claims contact or portal link CRM.SendClaimsInfo to customer.email resolution
  • Customer says they already have a claim in progress claim-in-progress active-claim-redirect
  • Customer confirms the answer resolves their question confirmed resolution
  • Customer has a follow-up question topic-detection

FAQ — Documents

kb.documents-faq — retrieve document request process for customer.productType

Say"I can help with that. Policy documents, ID cards, and proof of insurance can be accessed through your online member portal. I can also send a copy directly to your email on file. Would you like me to send those to customer.email now?"
  • Customer confirms email and requests document PolicyAdmin.SendDocuments to customer.email resolution
  • Customer wants a different email address PolicyAdmin.SendDocuments after confirming new address resolution
  • Customer has a follow-up question topic-detection

FAQ — Policy Changes

kb.policy-changes-faq — retrieve cancellation and reinstatement policy for customer.productType

Say"I can walk you through your options regarding your policy. Changes like cancellation or reinstatement may have timing requirements and potential impacts on your coverage. What specifically would you like to know — are you looking to cancel, reinstate, or make a change to your current policy?"
  • Customer asks about cancellation escalation-human
  • Customer asks about reinstatement faq-reinstatement
  • Customer has a general question confirmed resolution
  • Customer has a follow-up question topic-detection

FAQ — Reinstatement

kb.reinstatement-policy — retrieve reinstatement eligibility and process

Say"Reinstatement may be available depending on how long your policy has been lapsed and your payment history. I can share the general requirements with you, and if you'd like to move forward, a specialist can initiate the process. Would that be helpful?"
  • Customer wants to proceed with reinstatement escalation-human
  • Customer confirms the answer resolves their question confirmed resolution
  • Customer has a follow-up question topic-detection

Active Claim Redirect

Say"It looks like you have a question about a claim that may already be in progress. Let me connect you to the right workflow so you get the most up-to-date status on that."

CRM.LogInteraction tag: claim-status-inquiry, linked to customer.policyNumber

  • Claim ID is available claim.id claims-status-workflow
  • Claim ID is not available escalation-human

Lapsed Policy Notice

Say"I can see that your policy is currently lapsed. I'm happy to answer your question, but please be aware that coverage may not be active. I'll also share some reinstatement options with you at the end if you'd like."

kb.reinstatement-policy — check reinstatement eligibility window using customer.reinstatementDeadline

  • Customer wants to proceed with their original question topic-detection-lapsed
  • Customer wants reinstatement information first faq-reinstatement
  • Customer explicitly requests a human agent escalation-human

Topic Detection — Lapsed Policy

Detect
intent on customer's question
  • Question is about coverage coverage faq-coverage
  • Question is about billing billing faq-billing
  • Question is about how to file a claim claims-process faq-claims-process
  • Question is about documents documents faq-documents
  • Question involves legal interpretation, dispute, or complaint legal-dispute escalation-human
  • Question does not match a known topic unknown clarification-prompt

Unverified — General Info Only

Say"I wasn't able to verify your identity, so I'm only able to share general information and won't be able to access any account-specific details. I'm still happy to help with general questions about how our policies work."

kb.public-faq — retrieve general public-facing insurance information

Detect
intent on customer's question
  • Question is about coverage in general coverage faq-coverage-general
  • Question is about billing in general billing faq-billing-general
  • Question is about how to file a claim claims-process faq-claims-process
  • Customer wants account-specific help escalation-human
  • Customer explicitly requests a human agent escalation-human

FAQ — General Coverage (Unverified)

kb.public-faq — retrieve general coverage overview, not account-specific

Say"In general, our insurance policies cover the benefits selected at enrollment, subject to your plan's deductibles, limits, and exclusions. For the specifics of any individual policy, the policyholder would need to log in to the member portal or call us with their policy number handy."
  • Customer confirms this answers their question confirmed resolution
  • Customer has a follow-up question unverified-general-info
  • Customer wants to try verification again identity-verification

FAQ — General Billing (Unverified)

kb.public-faq — retrieve general billing and payment information

Say"Payments can generally be made through our online member portal, by phone, or by mail. Payment due dates are set at enrollment and shown on your billing statement. For your specific due date or payment history, you would need to log in or call with your policy number."
  • Customer confirms this answers their question confirmed resolution
  • Customer has a follow-up question unverified-general-info
  • Customer wants to try verification again identity-verification

Clarification Prompt

Say"I want to make sure I point you to the right information. Could you tell me a little more about what you're looking for? For example, are you asking about what your plan covers, your payment, how to file a claim, or something else?"
Detect
intent on customer's clarified response
  • Customer clarifies a known topic confirmed topic-detection
  • Customer's question still unclear after clarification escalation-human
  • Customer explicitly requests a human agent escalation-human

Escalation to Human Agent

CRM.LogInteraction tag: escalation, reason: question.topic, linked to customer.policyNumber

CRM.CreateCase priority: normal, linked to customer.policyNumber

Say"I'm going to connect you with one of our specialists who will be able to help you further with this. Please hold for just a moment — they'll have the context of our conversation so you won't need to repeat yourself."

Resolution

Say"I'm glad I could help with that. Is there anything else I can assist you with today?"

CRM.LogInteraction tag: faq-resolved, topic: question.topic, linked to customer.policyNumber

  • Customer has another question topic-detection
  • Customer confirms no further questions confirmed close-conversation

Close Conversation

Say"Thank you for contacting insurance support, customer.name. Have a great day, and don't hesitate to reach out if you need anything else."

CRM.CloseInteraction linked to customer.policyNumber

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ text▣ chat▣ sms

General FAQ / Product Info

Financial ServicesFAQProduct InfoSupport

Intake

Say"Thanks for reaching out. I'm here to help with any questions about our products, accounts, rates, fees, or policies. What would you like to know today?"
Detect
customer intent on opening message
  • Customer asks about a specific product or account type (HYSA, CD, checking, savings, loan) product-inquiry topic-identification
  • Customer asks about rates or current pricing rate-inquiry topic-identification
  • Customer asks about fees or charges fee-inquiry topic-identification
  • Customer asks about a policy or terms policy-inquiry topic-identification
  • Customer references their own account balance, transaction, or personal account detail account-detail-request identity-verification
  • Customer mentions a complaint, dispute, or expresses frustration complaint escalation-human
  • Customer explicitly asks to speak with a human human-request escalation-human
  • Intent unclear or ambiguous unclear clarify-question

Clarify Question

Say"Happy to help — could you give me a bit more detail? For example, are you asking about a specific product like a high-yield savings account or CD, or about a fee or policy on an existing account?"
Detect
clarified intent on follow-up reply
  • Customer clarifies a product, rate, fee, or policy topic product-inquiry topic-identification
  • Customer clarifies they need account-specific information account-detail-request identity-verification
  • Customer still unclear or asks for a human unclear escalation-human

Topic Identification

Agent
identify the precise product, fee, rate, or policy topic from query.topic and query.product, then determine the right knowledge base source to query.
Goal:pinpoint exactly what information the customer needs — product mechanics, current rate, fee schedule, or policy rule — so the correct, up-to-date record is retrieved.
Constraints:never guess at rates, fees, or policy details; never surface a rate or fee that has not been confirmed as current from the rate-fee-database or faq-cms; always note if customer.state may affect product availability or terms.
Tools available:FAQCMS.LookupTopic, RateFeeDatabase.QueryProduct, CRM.GetCustomerProfile, kb.product-catalog
  • Topic identified and maps to a standard product or policy kb.product-catalog knowledge-base-lookup
  • Topic identified and is rate- or fee-specific RateFeeDatabase.QueryProduct rate-fee-retrieval
  • Topic involves investment products or securities investment-topic investment-disclaimer-check
  • Topic cannot be matched to any known product or policy no-match knowledge-gap-handling

Knowledge Base Lookup

FAQCMS.LookupTopic for query.topic filtered by customer.state

CRM.GetCustomerProfile for customer.id to confirm customer.status (existing or prospective)

Detect
lookup result quality
  • Clear, current, single result returned result-found deliver-answer
  • Result returned but flagged as recently updated or version-changed stale-or-updated change-flag-review
  • No result or conflicting entries returned no-result knowledge-gap-handling

Rate / Fee Retrieval

RateFeeDatabase.QueryProduct for product.name filtered by customer.state

FAQCMS.LookupTopic for any associated fee-schedule or policy footnotes

Detect
promotional or time-sensitive context
  • Current rate or fee confirmed, no promotional flag result-found deliver-answer
  • Promotional rate or limited-time offer applies promo-active promo-terms-delivery
  • Rate or fee recently changed rate-changed change-flag-review
  • Query returns no data or an error no-result knowledge-gap-handling

Change Flag Review

RateFeeDatabase.QueryProduct to pull the most current record and confirm effective date

FAQCMS.LookupTopic to retrieve any change notice or customer communication linked to query.topic

Say"Just so you know, there was a recent update to this information — I want to make sure I give you the latest. One moment."
  • Most current version confirmed and retrieved deliver-answer
  • Change is tied to a promotional window promo-active promo-terms-delivery
  • Conflict persists or effective date is ambiguous conflict knowledge-gap-handling

Promo Terms Delivery

Say"Great news — there's a current promotional offer that applies here. Let me share the details, including when it expires."
Say"The current promotional rate or terms are: promo.terms. This offer is available until promo.expiry. Standard terms apply after that period."
Say"Would you like me to walk you through how to take advantage of this, or do you have any other questions?"
Detect
customer follow-up intent
  • Customer wants to know how to apply or enroll apply-intent escalation-human
  • Customer has another question more-questions intake
  • Customer is satisfied and has no further questions satisfied close-interaction

Investment Disclaimer Check

ComplianceDisclaimerLibrary.GetDisclaimer for query.product

Detect
nature of investment question
  • Customer is asking for general product information only (no personalized recommendation) general-info knowledge-base-lookup
  • Customer is asking for a recommendation or advice on what to buy or invest in advice-request escalation-human
  • Regulatory disclaimer required before answering kb.compliance-disclaimer-library deliver-answer-with-disclaimer

Deliver Answer

Agent
compose a clear, plain-language response to the customer's question using retrieved content from product.rateInfo, product.feeInfo, or product.policyInfo.
Goal:give the customer an accurate, complete, and easy-to-understand answer that directly addresses query.topic without jargon; tailor any state-specific nuances if customer.state affects the answer.
Constraints:never paraphrase or interpolate policy or rate data beyond what was retrieved; do not omit material terms or conditions; do not present promotional terms as permanent; always surface any applicable footnotes or conditions attached to the retrieved record.
Tools available:FAQCMS.LookupTopic, RateFeeDatabase.QueryProduct, kb.product-catalog, kb.fee-schedule
Say"Here's what you need to know about product.name: product.policyInfo"
Say"Is there anything about that I can clarify, or do you have another question?"
Detect
customer follow-up intent
  • Customer has a follow-up question on the same topic follow-up deliver-answer
  • Customer has a new question on a different topic new-topic intake
  • Customer asks something that now touches on their specific account account-detail-request identity-verification
  • Customer is satisfied satisfied close-interaction
  • Customer expresses frustration or dissatisfaction frustrated escalation-human

Deliver Answer With Disclaimer

Agent
compose a plain-language answer to the customer's general investment product question using retrieved content, then append the required regulatory disclaimer from disclaimer.text.
Goal:answer the general informational question accurately while ensuring the required compliance language is delivered before closing the topic.
Constraints:the disclaimer from ComplianceDisclaimerLibrary.GetDisclaimer must be appended verbatim and in full — it may not be shortened, paraphrased, or omitted; if the customer asks for a personalized recommendation, stop and route to escalation immediately.
Tools available:FAQCMS.LookupTopic, ComplianceDisclaimerLibrary.GetDisclaimer, kb.product-catalog, kb.compliance-disclaimer-library
Say"Here's a general overview of product.name: product.policyInfo"
Say"disclaimer.text"
Say"Do you have any other questions I can help with?"
Detect
customer follow-up intent
  • Customer has another general question more-questions intake
  • Customer asks for a personalized recommendation or advice advice-request escalation-human
  • Customer is satisfied satisfied close-interaction

Identity Verification

Say"To access any details specific to your account, I'll need to verify your identity first. This should only take a moment."

IdentityVerification.InitiateCheck for customer.id via query.channel

Detect
verification outcome
  • Verification passed identity-verified account-detail-lookup
  • Verification failed or customer unable to complete it identity-failed escalation-human
  • Customer declines verification declined offer-general-only

Offer General Only

Say"No problem — I'm not able to pull up account-specific information without verification, but I'm happy to answer any general questions about our products, rates, or policies."
Detect
customer response
  • Customer accepts general answer and asks a product question product-inquiry intake
  • Customer still wants account detail or requests a human human-request escalation-human
  • Customer has no further questions satisfied close-interaction

Account Detail Lookup

CRM.GetCustomerProfile for customer.id

RateFeeDatabase.QueryProduct for customer.accountType filtered by customer.state

Say"Thanks for verifying. I can now look into the details for your account."
Detect
nature of account detail requested
  • Customer is asking about their current rate or fee on an existing product rate-fee-detail deliver-answer
  • Customer is asking about a balance or recent transaction transaction-request escalation-human
  • Customer is asking about a policy as it applies to their account policy-detail deliver-answer

Knowledge Gap Handling

Say"I want to make sure I give you accurate information, and I don't have a confident answer to that specific question right now. Rather than guess, I'd like to connect you with someone who can give you a definitive answer."

CRM.LogInteraction with query.topic flagged as unresolved, route note to specialist.queue

  • Route to specialist queue escalation-human

Escalation to Human

CRM.LogInteraction with full conversation context, query.topic, customer.id, and escalation reason

CRM.CreateCase tagged faq-escalation, linked to customer.id and query.topic

Say"I'm going to connect you with one of our specialists who will be able to help you fully with this. You won't need to repeat yourself — I'm passing along everything we've covered."

Close Interaction

Say"You're all set. If you ever have more questions about our products or accounts, don't hesitate to reach out. Have a great day!"

CRM.LogInteraction with query.topic marked resolved and customer.status updated

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ text▣ chat▣ sms

General FAQ — Travel & Hospitality

TravelHospitalityFAQSupport

Inbound Question

Say"Hi there, thanks for reaching out to us! I'm here to help. What question can I answer for you today?"

CRM.LookupCustomer by customer.phone or customer.email

Detect
intent on customer's opening message
  • Customer asks about cancellation or change policies cancellation clarify-reservation-context
  • Customer asks about amenities, facilities, or property features amenities clarify-property
  • Customer asks about pet policy pets clarify-property
  • Customer asks about meals, dining, or breakfast inclusion dining clarify-property
  • Customer asks about loyalty program benefits or points loyalty loyalty-faq
  • Customer asks about visa, health, or travel entry requirements travel-requirements travel-requirements-faq
  • Customer message is vague or multi-topic unclear clarify-question
  • Customer expresses frustration or dissatisfaction upfront frustrated escalation-human

Clarify Question

Say"I want to make sure I give you the most accurate answer. Could you tell me a bit more about what you're looking for? For example, is this about a reservation you already have, or are you planning a future trip?"
Detect
sentiment and intent on customer reply
  • Customer provides enough detail to categorise clarified inbound-question
  • Customer remains vague or asks multiple unrelated things still-unclear retrieve-general-faq
  • Customer shows frustration frustrated escalation-human

Clarify Reservation Context

Say"I can pull up our cancellation policy for you. Are you asking about an existing reservation, or planning ahead for a new booking?"
  • Customer references an existing reservation clarify-property
  • Customer is asking prospectively retrieve-general-faq

Clarify Property

Say"Policies and features can vary by property. Could you let me know which hotel or location you're asking about, or share your reservation details if you have them handy?"

PMS.LookupReservation by reservation.id if provided

  • Property identified or reservation found retrieve-property-faq
  • Customer cannot specify a property and question is general retrieve-general-faq
  • Customer is frustrated by the extra question frustrated escalation-human

Retrieve Property-Specific FAQ

kb.property-policies — look up topic.category policy for property.name

Agent
retrieve and synthesise the relevant policy or amenity detail for property.name based on the customer's question and customer.loyaltyTier.
Goal:deliver a single, clear, accurate answer tailored to the identified property and the customer's membership tier where benefits differ.
Constraints:never invent or extrapolate policy details not present in kb.property-policies; always note if a policy differs for loyalty tiers above or below customer.loyaltyTier; flag date-sensitive policies that apply specifically within reservation.checkIn to reservation.checkOut window.
Tools available:kb.property-policies, PMS.GetPropertyDetails, LoyaltyPlatform.GetTierBenefits
  • Answer found and complete deliver-answer
  • Answer found but varies by date or rate type deliver-answer-with-caveat
  • Knowledge base has no coverage for this question no-coverage knowledge-gap
  • Question touches legal, medical, or safety matter sensitive escalation-human

Retrieve General FAQ

kb.general-faq — look up topic.category

Agent
retrieve and synthesise the best available general answer from the knowledge base for the customer's question.
Goal:give the customer a clear, concise answer based on standard brand-wide policy when a specific property is not yet identified.
Constraints:never present a general policy as property-specific; if the answer is known to vary by location, always flag that and offer to look up the specific property; do not fabricate information absent from kb.general-faq.
Tools available:kb.general-faq, kb.property-policies, CRM.GetCustomerProfile
  • Answer found and universally applicable deliver-answer
  • Answer varies by property clarify-property
  • Answer varies by loyalty tier LoyaltyPlatform.GetTierBenefits deliver-answer-with-caveat
  • Knowledge base has no coverage no-coverage knowledge-gap
  • Question touches legal, medical, or safety matter sensitive escalation-human

Loyalty FAQ

kb.loyalty-program — retrieve benefits, earning rules, and redemption policies for customer.loyaltyTier

Say"Let me check your loyalty tier details right away."

LoyaltyPlatform.GetTierBenefits for customer.loyaltyTier

  • Benefits information retrieved deliver-answer
  • Customer's tier could not be confirmed deliver-answer-with-caveat
  • Customer disputes their tier or points balance dispute escalation-human

Travel Requirements FAQ

kb.travel-entry-requirements — look up destination property.location for reservation.checkIn dates

Say"Travel requirements such as visa rules and health documentation can change quickly. Let me share what we have on file, though I'll also point you to the official sources for the most current information."
Agent
retrieve known entry, visa, and health requirements for property.location valid around reservation.checkIn.
Goal:give the customer a useful starting summary while making clear these details are time-sensitive and subject to change.
Constraints:always append a disclaimer that official government and airline sources must be consulted for final confirmation; never confirm whether a customer personally meets a visa or health requirement; do not provide medical advice.
Tools available:kb.travel-entry-requirements, kb.general-faq
  • Summary retrieved deliver-answer-with-caveat
  • No information available for this destination no-coverage knowledge-gap
  • Customer raises a medical or legal compliance concern sensitive escalation-human

Deliver Answer

Say"Great news — here's what I found for you: question.raw"
Say"Is there anything else about your trip or reservation I can help with?"
Detect
sentiment and follow-up intent on customer reply
  • Customer is satisfied and has no further questions satisfied resolution
  • Customer has a follow-up question on the same topic follow-up retrieve-property-faq
  • Customer has a completely new question new-topic inbound-question
  • Customer is not satisfied with the answer unsatisfied escalation-human

Deliver Answer With Caveat

Say"Here's the information I have, though please note this may vary depending on specific dates, rate types, or your membership level — I'll flag those nuances for you."
Say"For travel regulations or health requirements, I strongly recommend also checking the official government or airline websites to confirm the latest rules before you travel."
Detect
sentiment and follow-up intent on customer reply
  • Customer accepts the answer and caveats satisfied resolution
  • Customer wants clarification on a specific variant follow-up clarify-property
  • Customer is unsatisfied or concerned unsatisfied escalation-human

Knowledge Gap

Say"I want to be upfront with you — I don't have enough detail on hand to give you a fully accurate answer on that specific point, and I'd rather connect you with someone who does than risk giving you incomplete information."
Say"I can transfer you to one of our specialists who will be able to help. Would that work for you?"

CRM.LogInteraction note: unanswered FAQ topic, question.raw, property.name

Detect
customer preference on transfer
  • Customer agrees to be connected confirmed escalation-human
  • Customer declines transfer and wants to try another question new-topic inbound-question
  • Customer ends the conversation end resolution

Escalation to Human Specialist

CRM.LogInteraction with question.raw, topic.category, reservation.id, customer.loyaltyTier, escalation reason

Say"I'm going to connect you with one of our specialists right now — they'll have full context on your question so you won't need to repeat yourself."
Say"Thank you for your patience, customer.name. A specialist will be with you shortly."

Resolution

Say"Wonderful — I'm glad I could help! If you ever have more questions before or during your trip, don't hesitate to reach out. Have a great journey!"

CRM.LogInteraction note: FAQ resolved, topic.category, property.name, customer.loyaltyTier

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat▣ sms▣ text

General FAQ — Healthcare

HealthcareFAQPatient Support

Intake

Say"Hello, thanks for reaching out to us today. I'm here to help answer your questions about our services, hours, billing, insurance, and more. Could you tell me briefly what you're looking for help with?"
Detect
intent on patient opening message
  • Patient asks about billing or payments billing category-billing
  • Patient asks about scheduling or appointments scheduling category-scheduling
  • Patient asks about insurance or coverage insurance category-insurance
  • Patient asks about services, procedures, or treatments services category-services
  • Patient asks about location, hours, or directions location category-location
  • Patient asks about prescriptions or medications prescriptions category-prescriptions
  • Patient mentions a symptom, pain, or medical concern clinical clinical-deflection
  • Patient expresses distress, fear, or emotional upset distressed escalation-human
  • Patient asks about their personal health record or account-specific details personal-record identity-verification
  • Patient requests a specific staff member or provider by name staff-request escalation-human
  • Question does not fit any known category unclear clarify-question

Clarify Question

Say"Thanks for reaching out. I want to make sure I point you in the right direction — could you share a bit more detail about your question? For example, is this about a bill, an upcoming appointment, our services, or something else?"
Detect
intent on follow-up message
  • Category becomes clear on follow-up billing category-billing
  • Category becomes clear on follow-up scheduling category-scheduling
  • Category becomes clear on follow-up insurance category-insurance
  • Category becomes clear on follow-up services category-services
  • Category becomes clear on follow-up location category-location
  • Category becomes clear on follow-up prescriptions category-prescriptions
  • Patient mentions a symptom or medical concern clinical clinical-deflection
  • Patient expresses distress distressed escalation-human
  • Still unclear after follow-up still_unclear knowledge-base-fallback

Category — Billing

kb.billing-faq — retrieve billing policies, payment options, balance inquiry process, financial assistance programs

Say"I can help with billing questions. Our billing team handles payments, payment plans, and statements. patient.name, are you asking about a specific bill or charge, or do you have a more general question about payment options?"
  • Patient has a question about a specific charge or balance on their account account_specific identity-verification
  • Patient asks a general question about payment options or financial assistance general deliver-billing-answer
  • Patient asks about payment plans payment_plan deliver-billing-answer
  • Patient is confused or frustrated about a charge frustrated escalation-human

Deliver Billing Answer

kb.billing-faq — confirm answer to patient's specific billing question

Say"Based on our billing policy: [answer from kb.billing-faq]. Does that answer your question, or is there anything else I can clarify for you?"
  • Patient confirms they have what they need confirmed resolution
  • Patient has a follow-up question follow_up intake
  • Patient is still confused or wants to speak with someone needs_agent escalation-human

Category — Scheduling

kb.scheduling-faq — retrieve scheduling policies, new patient process, cancellation policy, telehealth availability

Say"I can help with scheduling. Are you looking to book a new appointment, reschedule or cancel an existing one, or do you have a question about our scheduling process?"
  • Patient wants to book, reschedule, or cancel book_appt scheduling-action
  • Patient asks a general scheduling question general deliver-scheduling-answer
  • Patient mentions a specific provider staff-request escalation-human

Deliver Scheduling Answer

kb.scheduling-faq — confirm answer to scheduling question

Say"Here's what I can tell you about our scheduling: [answer from kb.scheduling-faq]. Would you like me to help you get connected to schedule directly, or is there anything else?"
  • Patient wants to schedule directly book_appt scheduling-action
  • Patient confirms they have what they need confirmed resolution
  • Patient has another question follow_up intake

Scheduling Action

Say"To get you scheduled, I'll connect you with our scheduling team or patient portal. Do you have a preferred provider or location, and are you an existing patient with us?"
  • Existing patient confirmed patient.status EHR.LookupPatient confirm-patient-identity-scheduling
  • New patient new_patient new-patient-intake
  • Patient declines to provide info and wants to self-schedule self_serve resolution

Confirm Patient Identity — Scheduling

Say"I just need to verify a couple of details so I can pull up your record. Could you please confirm your date of birth and the phone number or email we have on file?"
  • Identity confirmed EHR.LookupPatient verified escalation-human
  • Patient cannot verify identity unverified identity-fail

New Patient Intake

kb.new-patient-faq — retrieve new patient registration process, required documents, insurance accepted

Say"Welcome — we're glad you're considering us for your care. As a new patient, you'll want to complete our registration process. Here's how that works: [answer from kb.new-patient-faq]. Would you like me to share the link to our patient portal to get started, or connect you with our front desk?"
  • Patient wants portal link CRM.SendPortalLink resolution
  • Patient wants to speak with front desk speak_to_staff escalation-human
  • Patient confirms they have what they need confirmed resolution

Category — Insurance

kb.insurance-faq — retrieve accepted insurance carriers, coverage verification process, referral and prior authorization info

Say"I can help with insurance questions. Are you asking about which insurance plans we accept, how to verify your coverage, or something about a referral or authorization?"
  • Patient asks which insurance plans are accepted plans_accepted deliver-insurance-answer
  • Patient wants to verify their specific coverage verify_coverage identity-verification
  • Patient asks about referrals or prior authorization auth_referral deliver-insurance-answer
  • Patient asks a general insurance question general deliver-insurance-answer

Deliver Insurance Answer

kb.insurance-faq — confirm answer relevant to patient's insurance question

Say"Here's what I can share: [answer from kb.insurance-faq]. For the most accurate coverage details tied to your specific plan, our insurance team can verify your benefits directly. Would that be helpful?"
  • Patient confirms they have what they need confirmed resolution
  • Patient wants insurance team to verify their benefits verify_coverage identity-verification
  • Patient has a follow-up question follow_up intake
  • Patient is frustrated about coverage or a denial frustrated escalation-human

Category — Services

kb.services-faq — retrieve information on available specialties, procedures, telehealth, and referral requirements

Say"I can tell you about the services and specialties we offer. What would you like to know — are you asking about a specific procedure, a specialty area, or whether we offer telehealth visits?"
  • Patient asks about a specific procedure or treatment procedure deliver-services-answer
  • Patient asks about a specialty specialty deliver-services-answer
  • Patient asks about telehealth telehealth deliver-services-answer
  • Patient's question touches on clinical advice or personal symptoms clinical clinical-deflection

Deliver Services Answer

kb.services-faq — confirm answer relevant to patient's services question

Say"Here's what I can share about our services: [answer from kb.services-faq]. Keep in mind, for questions about whether a specific treatment is right for you personally, our clinical team would be the best resource. Is there anything else I can help you with?"
  • Patient confirms they have what they need confirmed resolution
  • Patient wants to schedule related to this service book_appt category-scheduling
  • Patient has a follow-up question follow_up intake
  • Patient's follow-up veers into clinical advice territory clinical clinical-deflection

Category — Location & Hours

kb.facility-directory — retrieve facility addresses, hours of operation, parking, and contact numbers

Say"I can help with location and hours. Do you have a specific facility or clinic in mind, or would you like general information about our locations?"
  • Patient names a specific facility or location facility.name deliver-location-answer
  • Patient wants a list of all locations all_locations deliver-location-answer
  • Patient asks about after-hours or urgent care availability after_hours deliver-location-answer

Deliver Location Answer

kb.facility-directory — confirm address, hours, and contact details for facility.name

Say"Here are the details for facility.name: [address, hours from kb.facility-directory]. Is there anything else you need, such as directions or a phone number?"
  • Patient confirms they have what they need confirmed resolution
  • Patient has another question follow_up intake
  • Patient cannot find the location or needs further help needs_agent escalation-human

Category — Prescriptions

kb.prescriptions-faq — retrieve prescription refill process, pharmacy partnerships, prior authorization for medications

Say"I can help with general questions about prescriptions. Are you asking about refilling a prescription, our pharmacy partners, or something about prior authorization for a medication?"
  • Patient asks about refills refill deliver-prescriptions-answer
  • Patient asks about pharmacy partners pharmacy deliver-prescriptions-answer
  • Patient asks about prior authorization for a specific medication prior_auth deliver-prescriptions-answer
  • Patient asks about dosage, interactions, or clinical guidance clinical clinical-deflection

Deliver Prescriptions Answer

kb.prescriptions-faq — confirm answer relevant to prescription question

Say"Here's what I can share: [answer from kb.prescriptions-faq]. For anything specific to your prescription or medical history, your care team or pharmacist will have the most accurate guidance. Is there anything else I can help with?"
  • Patient confirms they have what they need confirmed resolution
  • Patient has a follow-up question follow_up intake
  • Patient's question requires clinical judgment clinical clinical-deflection
  • Patient wants to speak with their care team needs_agent escalation-human

Identity Verification

Say"To access any account-specific information, I'll need to verify your identity first. Could you please provide your full name, date of birth, and the phone number or email address associated with your account?"

CRM.VerifyPatientIdentity using patient.name, patient.dob, patient.phone or patient.email

  • Identity verified successfully verified post-verification-routing
  • Identity cannot be verified unverified identity-fail

Post-Verification Routing

Say"Thank you — I've verified your identity. Let me pull up the information you need."
  • Original question was about billing billing EHR.LookupPatientAccount deliver-billing-answer
  • Original question was about insurance or coverage insurance InsuranceEligibility.VerifyCoverage deliver-insurance-answer
  • Original question was about scheduling scheduling EHR.LookupPatient confirm-patient-identity-scheduling
  • Original question required record access record EHR.LookupPatientAccount escalation-human

Identity Fail

Say"I wasn't able to verify your identity with the information provided. For security purposes, I'm not able to share account-specific details without verification. You're welcome to contact us directly by phone or visit one of our locations with a valid photo ID. Is there anything general I can help you with in the meantime?"
  • Patient wants to try a general question general intake
  • Patient wants to call or visit in person confirmed resolution
  • Patient is frustrated or upset frustrated escalation-human

Knowledge Base Fallback

Agent
search available knowledge sources to find the best available answer to the patient's question.
Goal:retrieve an accurate, policy-aligned answer from kb.general-faq, kb.billing-faq, kb.services-faq, or kb.facility-directory without guessing or fabricating information.
Constraints:never provide clinical advice, diagnoses, or medication guidance; if no confident answer is found, acknowledge uncertainty explicitly and do not speculate; never access patient records without verified identity.
Tools available:kb.general-faq, kb.billing-faq, kb.services-faq, kb.scheduling-faq, kb.insurance-faq, kb.facility-directory, kb.prescriptions-faq
  • Answer found with high confidence answer_found deliver-fallback-answer
  • No reliable answer found in knowledge base no_answer acknowledge-uncertainty

Deliver Fallback Answer

Say"Based on our available information, here's what I can share: [answer retrieved]. Is that helpful, or do you have any follow-up questions?"
  • Patient confirms they have what they need confirmed resolution
  • Patient has a follow-up question follow_up intake
  • Patient is unsatisfied or needs more detail needs_agent escalation-human

Acknowledge Uncertainty

Say"I want to make sure you get accurate information, and I don't have a confident answer to that specific question in our resources right now. Rather than guess, I'd recommend speaking directly with our team who can give you a verified answer. Would you like me to connect you with someone, or point you to our patient portal for more information?"
  • Patient wants to be connected to a staff member needs_agent escalation-human
  • Patient wants the patient portal link CRM.SendPortalLink resolution
  • Patient is okay waiting or will follow up themselves confirmed resolution

Clinical Deflection

Say"I appreciate you sharing that with me. I'm not able to provide clinical advice, diagnoses, or guidance on symptoms — that's something a licensed provider needs to assess for your safety. If you have a medical concern, I'd encourage you to contact your care team directly, schedule an appointment, or if it's urgent, please call 911 or go to your nearest emergency room. Would you like help scheduling an appointment or finding a location?"
  • Patient wants to schedule an appointment book_appt category-scheduling
  • Patient wants a facility location location category-location
  • Patient indicates this may be an emergency emergency escalation-emergency
  • Patient confirms they understand and has no further needs confirmed resolution
  • Patient is distressed or escalating distressed escalation-human

Escalation — Emergency

Say"If you or someone else is experiencing a medical emergency, please call 911 or go to your nearest emergency room immediately. Do not wait for a callback. Is there anything else I can do to help right now?"

Escalation to Human Agent

CRM.CreateCaseNote with question.category, conversation summary, and patient.name if provided

CRM.RouteToAgent with priority: standard, tagged with question.category

Say"I'm going to connect you with a member of our team who can help you further. Please hold for just a moment — or if you'd prefer, I can arrange for a callback. Thank you for your patience."

Resolution

Say"I'm glad I could help. If you have any other questions in the future, don't hesitate to reach out. Take care, and have a great day!"

CRM.LogInteraction with question.category and resolution status

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ sms▣ chat

Fraud Alert Follow-up

Financial ServicesFraudSupport

Alert Notification

FraudDetectionPlatform.FetchFlaggedTransaction to retrieve transaction.id, transaction.amount, transaction.merchant, transaction.datetime, and transaction.riskScore.

  • System lookup succeeds and transaction details are retrieved identity-verification
  • System lookup fails or returns no transaction record system_error system-lookup-failure

Identity Verification

Say"Hello, this is your Financial Services support agent reaching out about a recent alert on your account ending in card.last4. For your security, I need to verify your identity before we continue."
Say"Can you please confirm your full name, date of birth, and either your PIN or the answer to your security question on file?"

IdentityVerification.VerifyCustomer using customer.name, customer.dob, and customer.pin or customer.securityAnswer.

Detect
verification outcome from IdentityVerification.VerifyCustomer result
  • Identity verified successfully confirmed transaction-confirmation
  • Identity cannot be verified after two attempts failed verification-failure
  • Customer is uncertain or provides partial information partial verification-retry

Verification Retry

Say"No problem — let's try a different credential. Could you confirm your date of birth and the answer to your security question instead?"

IdentityVerification.VerifyCustomer retry with alternate credentials.

Detect
verification outcome on retry
  • Identity verified on retry confirmed transaction-confirmation
  • Identity still cannot be verified failed verification-failure

Verification Failure

Say"I'm sorry, but I'm unable to verify your identity at this time, so I'm not able to share any account details for your security. Please visit your nearest branch with a valid photo ID, or call us back once you have your credentials available."

CRM.LogInteraction tagged verification-failure, linked to account.id, noting no transaction details were disclosed.

Transaction Confirmation

Say"Thank you, customer.name — your identity is confirmed. We flagged a transaction on your account ending in card.last4: a charge of transaction.amount at transaction.merchant on transaction.datetime. Do you recognize this transaction?"
  • Customer confirms the transaction is theirs confirmed resolution-clear
  • Customer says the transaction is not theirs denied disputed-transaction
  • Customer is unsure or asks for more time uncertain transaction-detail-review

Transaction Detail Review

Say"Completely understandable — let me give you a moment. The charge was transaction.amount at transaction.merchant, dated transaction.datetime. Does that help you recall whether this was you?"

kb.fraud-dispute-policy — review dispute eligibility window for transaction.datetime.

  • Customer recognizes the transaction after further detail confirmed resolution-clear
  • Customer confirms the transaction is not theirs denied disputed-transaction
  • Customer remains unsure and cannot confirm or deny uncertain CRM.LogInteraction tagged pending-customer-response escalation-human

Disputed Transaction

Say"I'm sorry to hear that. I'm going to take immediate steps to secure your account. First, let me block your current card ending in card.last4 to prevent any further unauthorized use."

CardManagement.BlockCard for card.last4.

CRM.UpdateCase flagged as fraud-reported, linked to account.id and transaction.id.

Say"Your card has been blocked. Before I open a formal dispute, I also want to check — are there any other recent transactions on your account that you don't recognize?"
Detect
customer response regarding additional unrecognized transactions
  • Customer confirms only the single flagged transaction is unrecognized single-transaction open-dispute
  • Customer flags additional unrecognized transactions multiple-transactions expanded-fraud-event
  • Customer is distressed, upset, or requests immediate escalation distressed escalation-human

Expanded Fraud Event

Say"Thank you for letting me know — this is very important. I'm escalating your case immediately for a full account review. A specialist will contact you shortly, and your account will be secured while the review is underway."

CoreBanking.FreezeAccount for account.id.

FraudDetectionPlatform.FlagAccountCompromised linked to account.id.

CRM.CreateCase priority: critical, tagged expanded-fraud-account-review, linked to account.id.

DisputeManagement.OpenExpandedReview for account.id, noting all flagged transactions.

  • Case created and account frozen escalation-human

Open Dispute

DisputeManagement.OpenDispute for transaction.id, transaction.amount, transaction.merchant, linked to account.id. Capture dispute.caseId.

Say"I've opened a dispute for the charge of transaction.amount at transaction.merchant. Your dispute reference number is dispute.caseId. Our team will investigate and you'll receive an update within 5 to 7 business days."

replacement-card

Replacement Card

Say"I'll now arrange a replacement card for you. Can you confirm your current mailing address so we can get that sent out?"

CardManagement.IssueReplacementCard for card.last4, ship to replacement.deliveryAddress.

Approval
Slack.RequestApproval to #fraud-ops-approvals, approver: fraud_ops_lead
Context sent:account.id, transaction.id, transaction.amount, dispute.caseId, card block confirmed, replacement card address
  • Approved approved dispute-wrap-up
  • Rejected rejected escalation-human
  • No response within 30 min escalation-human

Dispute Wrap-up

CRM.UpdateCase with dispute.caseId, card block status, and replacement card shipping confirmation.

CoreBanking.ClearFraudAlert on transaction.id.

Say"Your replacement card will arrive within 5 to 7 business days. Your dispute is filed under reference dispute.caseId, and your account is now secured. Is there anything else I can help you with today?"
  • Customer has further questions or concerns escalation-human
  • Customer is satisfied and call can close resolution-clear

System Lookup Failure

CRM.LogInteraction tagged system-error-transaction-lookup, linked to account.id, noting transaction details could not be retrieved.

Say"I apologize — I'm experiencing a technical issue and I'm unable to retrieve the transaction details at this moment. I've flagged this for our team to review manually. Please call us back in a short while or visit your nearest branch, and we'll have this sorted for you as quickly as possible."

FraudDetectionPlatform.FlagForManualReview linked to account.id, tagged system-lookup-failure.

Escalation to Human Agent

CRM.CreateCase priority: high, tagged fraud-escalation, linked to account.id and transaction.id.

Slack.Notify to #fraud-ops with case summary including account.id, transaction.id, transaction.amount, card.last4, and reason for escalation.

Say"I'm connecting you now with a fraud specialist who has full visibility into your account and can take immediate action. Please hold for just a moment — you're in good hands."

Resolution — Clear

CoreBanking.ClearFraudAlert on transaction.id.

CRM.LogInteraction tagged alert-cleared-customer-confirmed, linked to account.id.

Say"Great — I've cleared the alert on that transaction and your account remains fully active with no further action needed. Thank you for confirming, customer.name. If you ever spot anything unfamiliar, don't hesitate to reach out. Have a great day."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ chat▣ sms

Flight/Trip Disruption Support

TravelHospitalityDisruptionRebooking

Intake & Verification

Say"Thank you for contacting Travel Support. I'm here to help you through this disruption as quickly as possible. Can I please have your booking confirmation number and the name on the reservation?"

PNR.LookupBooking using booking.confirmationNumber and booking.passengerName

  • Booking found and passenger name matches identity-check
  • Booking not found or name mismatch confused PNR.LookupBooking retry with loyalty number booking.loyaltyNumber identity-check
  • No booking reference available at all escalation-human

Identity Check

Say"For your security I need to verify your identity before making any changes. I'll ask you a couple of quick questions."

IdentityVerification.Challenge using booking.passengerName and traveler.email

  • Identity verified identity_verified disruption-assessment
  • Identity check fails after two attempts identity_failed escalation-secure-verification
  • Customer declines verification declined escalation-secure-verification

Disruption Assessment

Say"I can see your booking, booking.passengerName. Can you tell me what's happening right now — is your flight cancelled, delayed, or are you dealing with something else like a hotel or connection issue?"

PNR.GetAffectedSegment for booking.confirmationNumber to pre-populate trip.affectedSegment

Detect
nature of disruption reported by customer
  • Flight cancellation confirmed cancellation rebooking-options
  • Significant delay (2+ hours) delay rebooking-options
  • Missed connection missed-connection rebooking-options
  • Hotel or accommodation failure hotel-issue hotel-resolution
  • Customer already self-rebooked self-rebooked self-rebook-review
  • Medical or safety emergency emergency escalation-human

Rebooking Options

Say"I'm sorry about the disruption to your journey. Let me pull up the best available options to get you to trip.destination as quickly as possible."

kb.rebooking-policy — check eligibility rules, same-carrier preference, fare class protection, and partner airline agreements for booking.fareClass

GDS.SearchAvailability for trip.destination from traveler.currentLocation on trip.travelDate and next 24 hours

Agent
evaluate available rebooking alternatives against booking.itinerary and customer preference.
Goal:identify the best one or two options that minimize total travel time and respect fare class entitlements, including partner carriers if same-carrier options are inadequate.
Constraints:never rebook onto a flight that creates a connection under 45 minutes at an international hub; do not offer partner carrier options that exceed the authorized fare difference threshold per kb.rebooking-policy without escalation; always check if minor.travelingAlone is true before proceeding.
Tools available:GDS.SearchAvailability, GDS.CheckSeatMap, kb.rebooking-policy, PNR.GetAffectedSegment
  • Suitable same-carrier option found rebook-confirmation
  • Only partner carrier options available partner-carrier-offer
  • No viable rebooking option exists no_options refund-assessment
  • Minor traveling alone flag raised minor_alone escalation-human

Rebook Confirmation

Say"I've found a flight that works — here are the details: rebooking.option. Does this work for you?"
  • Customer confirms new flight confirmed GDS.ReissueTicket PNR.UpdateBooking confirmation-and-vouchers
  • Customer wants to see other options wants-alternatives rebooking-options
  • Customer declines all options and wants a refund refund-requested refund-assessment

Partner Carrier Offer

Say"There are no remaining seats available on our carrier for this route today, but I can get you on a partner airline. The next available option is rebooking.option. Shall I go ahead and book that for you?"

kb.partner-airline-policy — confirm interline agreement, baggage transfer rules, and any fare difference liability

  • Customer accepts confirmed GDS.ReissueTicket PNR.UpdateBooking confirmation-and-vouchers
  • Fare difference exceeds authorization limit fare_over_limit escalation-human
  • Customer declines and requests refund refund-requested refund-assessment

Self-Rebook Review

Say"No problem — let me pull up what you've booked and make sure everything looks right, including any fare differences or duplicate charges you may have incurred."

PNR.GetAffectedSegment to compare original booking.itinerary against new booking

GDS.CheckFareDifference for rebooking.fareDifference

Detect
outcome of fare and duplicate charge review
  • Self-rebook is clean, no fare difference owed no_difference confirmation-and-vouchers
  • Fare difference owed to customer fare_refund_due refund-assessment
  • Duplicate charge detected duplicate_charge refund-assessment
  • Self-rebook is invalid or ticketing error ticketing_error rebooking-options

Hotel Resolution

Say"I'm sorry to hear about the accommodation issue. Can you tell me more — is the hotel overbooked, is there a room condition problem, or something else?"

kb.hotel-disruption-policy — review duty-of-care obligations, walk procedures, and compensation entitlements

Detect
hotel disruption type
  • Hotel overbooked, walk required hotel-walk HotelAPI.FindAlternativeProperty hotel-rebook-confirmation
  • Room condition complaint (safety, cleanliness) room-condition HotelAPI.EscalateProperty hotel-rebook-confirmation
  • Issue requires compensation above agent limit hotel_over_limit escalation-human

Hotel Rebook Confirmation

Say"I've located an alternative property that meets your needs. I'll go ahead and transfer your reservation now and make sure tonight's cost is covered. Does that work for you?"
  • Customer confirms confirmed HotelAPI.TransferReservation CompensationTool.IssueVoucher confirmation-and-vouchers
  • Customer prefers to resolve independently self-resolve confirmation-and-vouchers
  • Compensation amount exceeds authorization hotel_over_limit escalation-human

Refund Assessment

Say"Let me check your refund eligibility based on the type of disruption and your fare rules."

kb.refund-policy — verify refundability for booking.fareClass, disruption cause trip.disruption.cause, and weather exception rules

Agent
determine the correct refund path and compensation entitlement for this disruption.
Goal:establish whether the customer qualifies for a full refund, partial refund, travel credit, or no refund, and calculate any applicable compensation per policy.
Constraints:never promise a cash refund for non-refundable fares outside of carrier-caused cancellations; always flag weather-caused disruptions as limited-compensation per kb.refund-policy before setting expectations; do not issue compensation exceeding USD 300 without escalation approval.
Tools available:PNR.InitiateRefund, CompensationTool.CalculateEntitlement, kb.refund-policy
  • Full refund eligible full_refund PNR.InitiateRefund confirmation-and-vouchers
  • Travel credit or voucher eligible voucher_eligible CompensationTool.IssueVoucher confirmation-and-vouchers
  • Weather-related, limited compensation weather_limited weather-exception-handling
  • Refund amount exceeds agent authorization refund_over_limit escalation-human
  • No refund eligibility confirmed no_refund compensation-conversation

Weather Exception Handling

Say"I want to be upfront with you — because this disruption is weather-related, our policy limits what compensation we're able to offer. I know that's frustrating. Here's what I can do for you right now: compensation.voucherAmount in travel credit, and I can waive the rebooking change fee."

kb.weather-disruption-policy — confirm exact entitlements and any duty-of-care exceptions

  • Customer accepts limited offer accepted CompensationTool.IssueVoucher confirmation-and-vouchers
  • Customer disputes and requests escalation escalate escalation-human
  • Customer requests full refund citing extraordinary circumstances extraordinary escalation-human

Compensation Conversation

Say"Based on your fare type and the circumstances, a refund isn't applicable here. However, I do want to make sure you're taken care of. Let me see what goodwill compensation I'm able to offer."

CompensationTool.CalculateEntitlement for booking.fareClass and booking.loyaltyNumber

  • Goodwill voucher available CompensationTool.IssueVoucher confirmation-and-vouchers
  • Nothing available within agent limits no_compensation_available escalation-human

Confirmation & Vouchers

Say"You're all set. I'm sending your updated itinerary and any applicable vouchers to traveler.email right now. Is there anything else I can help you with before we wrap up?"

PNR.SendConfirmationEmail to traveler.email with updated booking.itinerary

CompensationTool.DeliverVoucher to traveler.email if applicable

Salesforce.UpdateCase with resolution summary, disruption type trip.disruption.type, and compensation issued

  • Customer has additional questions or issues more-help disruption-assessment
  • Customer is satisfied and conversation is complete resolved resolution-close

Resolution Close

Say"I'm glad we could get that sorted for you. Safe travels, booking.passengerName — and don't hesitate to reach out if you need anything else on your journey."

Salesforce.CloseCase with outcome logged and customer satisfaction noted

Escalation — Secure Verification

Say"For your protection, I'm unable to make changes to this booking without completing identity verification. I'm going to connect you with our secure verification team who can assist you through a different channel."

Salesforce.CreateCase priority: high, tagged identity-verification-required

IdentityVerification.RouteToSecureChannel for traveler.phone or traveler.email

Escalation — Human Agent

Say"This situation needs the attention of one of our senior travel specialists who has the authority to handle this for you. I'm transferring you now and sharing all the details so you won't need to repeat yourself."

Salesforce.CreateCase priority: high, tagged disruption-escalation with full case summary, booking.confirmationNumber, trip.affectedSegment, and trip.disruption.cause

PNR.FlagForSeniorAgent on booking.confirmationNumber

Salesforce.NotifyAgent via #disruption-escalations with case link and urgency flag

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ sms

Dispute Escalation to Human Agent

Financial ServicesDisputesEscalationSupport

Dispute Intake

Say"Thank you for reaching out. I'm here to help you with your dispute. Could you please share your full name and account number so I can pull up your account?"
  • Customer provides name and account number identity-verification
  • Customer mentions an already-open dispute or prior case number existing-case-lookup
  • Customer immediately invokes legal rights (CFPB, arbitration, attorney) or threatens legal action legal_threat escalation-human
  • Customer is highly distressed or agitated distressed escalation-human

Identity Verification

Say"For your security, I need to verify your identity before we proceed. I'll ask you a few quick questions."

IdentityVerification.Verify against customer.accountNumber — check security questions, date of birth, and registered contact details.

Detect
identity verification outcome
  • Identity verified on first or second attempt verified account-and-dispute-lookup
  • Identity cannot be verified after two attempts unverified identity-failure
  • Customer refuses verification or abandons escalation-human

Identity Failure

Say"I'm sorry — I wasn't able to verify your identity through this channel. For your security, I'm unable to proceed with the dispute without verification."
Say"You can resolve this by logging into your secure online account, visiting your nearest branch with a government-issued ID, or calling back with your security details ready."

CRM.LogAttempt tag: identity-verification-failed, linked to customer.accountNumber

Account and Dispute Lookup

CoreBanking.GetAccountDetails for customer.accountNumber

CoreBanking.GetTransactionHistory for customer.accountNumber

Say"Thank you, customer.fullName. I can see your account. Can you tell me the date, amount, and any reference ID or merchant name for the charge or decision you'd like to dispute, and the reason for the dispute?"
  • Customer provides transaction or decision details dispute-eligibility-check
  • Agent cannot locate the transaction after two attempts escalation-human
  • Customer mentions fraud and amount is above USD 500 high_value_fraud escalation-human

Dispute Eligibility Check

kb.dispute-eligibility-policy — check whether transaction.date falls within the eligible dispute window and whether dispute.reason qualifies under policy.

Agent
assess dispute eligibility using transaction.date, transaction.amount, dispute.reason, and kb.dispute-eligibility-policy.
Goal:determine whether the dispute is within the allowable window and falls under a qualifying dispute category before logging a formal case.
Constraints:never log a formal dispute for transactions outside the eligible window without supervisor approval; never waive policy without flagging for human review; always document ineligible attempts in the CRM.
Tools available:CoreBanking.GetTransactionHistory, kb.dispute-eligibility-policy, CRM.LogAttempt
  • Dispute is within policy window and qualifies eligible dispute-logging
  • Dispute falls outside the eligible window or does not qualify under policy ineligible dispute-ineligible
  • Eligibility is ambiguous and requires human judgment ambiguous escalation-human

Dispute Ineligible

Say"I've reviewed your account and I want to be transparent with you — based on our policy, this dispute falls outside the eligible timeframe of dispute.windowDays days, or doesn't meet the qualifying criteria for a formal dispute."
Say"I've documented your concern and today's contact in your account record. If you believe there are exceptional circumstances, I can escalate this to a specialist for a secondary review."

CRM.LogAttempt tag: dispute-ineligible, linked to customer.accountNumber, note dispute.reason

  • Customer accepts the outcome and has no further questions resolution-closed
  • Customer requests secondary review or escalation escalation-human

Existing Case Lookup

Say"It sounds like you may already have an open dispute with us. Let me pull that up — could you share your prior case or reference number?"

CaseManagement.GetCase by dispute.priorCaseNumber or customer.accountNumber

Detect
case lookup outcome
  • Existing open case found case_found existing-case-update
  • No matching case found, treat as new dispute no_case identity-verification
  • Customer escalates frustration about lack of progress frustrated escalation-human

Existing Case Update

Say"I found your existing case — case number case.id, currently with a status of case.status. Let me update it with the new information you've shared today."

CaseManagement.UpdateCase on case.id with new dispute.reason and today's contact timestamp

CRM.LogInteraction linked to case.id, tag: customer-follow-up

Say"I've added your update to the case. A specialist will review the new information and you'll receive a follow-up via customer.preferredContact within the timeframe we originally communicated."
  • Customer is satisfied with the update resolution-closed
  • Customer escalates or expresses legal intent legal_threat escalation-human
  • Customer requests to speak with a human specialist escalation-human

Dispute Logging

Say"Everything looks good. I'm going to formally log your dispute now. This covers the charge of transaction.amount on transaction.date at transaction.merchant, reference ID transaction.referenceId, with reason: dispute.reason. Does that sound correct?"
  • Customer confirms details confirmed case-creation
  • Customer corrects or amends details correction account-and-dispute-lookup

Case Creation

DisputesManagement.CreateCase for customer.accountNumber with transaction.referenceId, transaction.amount, transaction.date, dispute.reason

CaseManagement.AssignCaseNumber and capture as case.id

CRM.LogInteraction tag: dispute-filed, linked to case.id

Say"Your dispute has been formally logged and assigned case number case.id. Here's what happens next — our disputes team will review the details within 3 to 5 business days and you'll receive a status update via customer.preferredContact."

dispute-confirmation

Dispute Confirmation

Twilio.SendSMS to customer.phone: "Your dispute (Case case.id) has been logged. Amount: transaction.amount. We'll follow up within 3–5 business days. Reply STOP to opt out."

Twilio.SendEmail to customer.email with full case summary including case.id, transaction.referenceId, transaction.amount, transaction.date, and next steps.

Say"I've sent a confirmation with your case number and next steps to your email and phone on file. Is there anything else I can help you with today?"
  • Customer has no further questions resolution-closed
  • Customer has additional questions or a separate dispute dispute-intake
  • Customer escalates or requests immediate human follow-up escalation-human

Escalation to Human Agent

Say"I completely understand, and I want to make sure you get the right support. I'm escalating this to a specialist right now who can handle this directly."

CRM.LogInteraction tag: escalation-triggered, linked to customer.accountNumber, note dispute.reason

CaseManagement.CreateOrUpdateCase priority: high, tag: human-escalation, linked to transaction.referenceId

DisputesManagement.FlagForReview on customer.accountNumber with escalation reason and agent transcript summary

Approval
Slack.RequestApproval to #disputes-escalation-queue, approver: disputes_team_lead
Context sent:customer.fullName, customer.accountNumber, case.id, transaction.amount, transaction.referenceId, dispute.reason, escalation trigger summary
  • Specialist accepts and takes over approved escalation-handoff-complete
  • No response within 10 min timeout escalation-handoff-complete

Escalation Handoff Complete

Say"A disputes specialist has been notified and will be in touch with you via customer.preferredContact shortly. Your case reference is case.id — please keep that handy. We're sorry for the difficulty and we'll make sure this is resolved for you."

Twilio.SendSMS to customer.phone: "You've been connected with a disputes specialist. Reference: case.id. Expect contact via customer.preferredContact shortly."

Resolution / Closed

Say"I'm glad we could assist you today. Your case reference is case.id — don't hesitate to reach out if you have any further questions. Take care."

CRM.LogInteraction tag: interaction-complete, linked to case.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ text

Device Troubleshooting

TelecomSupportDeviceTroubleshooting

Identity Verification

Say"Thanks for reaching out to support. I'm here to help get your device working again. Can I start by pulling up your account? Please share your name and the phone number or account number associated with your account."

CRM.LookupAccount using customer.phone or customer.accountId

  • Account found, identity confirmed verified device-details
  • Account not found or system lookup fails lookup_failed manual-account-collection
  • Customer cannot verify identity after two attempts escalation-human

Manual Account Collection

Say"No problem — I can look into this manually. Could you give me your full name, the device's phone number, and if you have it handy, the IMEI number printed on your device or in Settings?"

CRM.CreateManualRecord with collected details

Ticketing.FlagForDataSyncReview tagged data-sync-error, linked to customer.accountId

  • Details collected and record created device-details
  • Customer unable to provide sufficient details escalation-human

Device Details

Say"Great, I've got your account. Now let's look at the device. Can you confirm the make and model of the device you're having trouble with, and roughly when the issue started?"

DeviceManagement.LookupDevice using device.imei or customer.accountId

  • Device record found, pulling device.make, device.model, device.imei issue-intake
  • Device record not found CRM.NoteManualDevice collect device.make, device.model, device.imei manually issue-intake

Issue Intake

Say"Thanks. Tell me what's been happening with your device.make device.model — what does the problem look like, and have you already tried anything to fix it?"

CRM.LogInteraction note issue.description, issue.startDate, issue.stepsTried

Ticketing.CheckPriorContacts for customer.accountId, device.imei

Detect
prior contact history and issue severity
  • Same issue reported three or more times repeat_contact escalation-specialist
  • Customer expresses significant frustration or urgency frustrated escalation-specialist
  • Physical damage mentioned (cracked screen, water damage, etc.) physical_damage physical-damage-assessment
  • No prior contacts or fewer than three, standard issue basic-troubleshooting

Basic Troubleshooting

Say"Let's start with the most common fixes — these resolve the majority of issues. I'll walk you through each one and we can check as we go."

kb.device-troubleshooting-standard-steps — retrieve model-specific restart and reset instructions for device.make device.model

Say"First, let's do a full restart. Hold down the power button and select Restart — let me know once it's back up."

NetworkDiagnostics.RunCheck on device.imei — scan for signal, data connectivity, and provisioning issues

  • Network or provisioning fault detected network_fault NetworkDiagnostics.PushProvisioningFix post-basic-check
  • No network fault, continue with device-side steps software-update-check

Software Update Check

Say"Good. Now let's make sure your software is up to date. Go to Settings, then General or About, then Software Update. Do you see an update available?"
  • Customer confirms update available, guides them to install DeviceManagement.LogUpdateInitiated post-basic-check
  • Device already on latest software, no update available network-settings-reset

Network Settings Reset

Say"The next step is resetting your network settings — this won't delete your apps or photos, but it will clear saved Wi-Fi passwords. Go to Settings, then General, then Transfer or Reset, then Reset Network Settings."

kb.network-reset-instructions — confirm steps for device.make device.model

  • Customer completes reset and reconnects post-basic-check
  • Customer declines to proceed or step causes a new error advanced-troubleshooting

Post-Basic Check

Say"Let's see where we are — is the issue resolved now, or are you still seeing the same problem?"
Detect
customer confirmation of issue status
  • Issue resolved confirmed resolution-confirmed
  • Issue still present unresolved advanced-troubleshooting

Advanced Troubleshooting

Agent
diagnose the remaining fault using device.imei diagnostics, issue.description, issue.stepsTried, and kb.advanced-device-troubleshooting.
Goal:identify whether the fault is software-recoverable (factory reset candidate), network/provisioning-related, or hardware in nature, and recommend the correct next step.
Constraints:never recommend a factory reset without explicitly warning the customer that all data will be erased and confirming backup; never promise a replacement device without first confirming warranty or insurance eligibility.
Tools available:NetworkDiagnostics.DeepScan, DeviceManagement.GetDiagnosticsReport, kb.advanced-device-troubleshooting
  • Agent determines factory reset is appropriate path factory_reset_candidate factory-reset-guidance
  • Agent determines hardware fault likely hardware_fault physical-damage-assessment
  • Agent determines issue is unresolvable through scripted steps unresolved_scripted escalation-specialist

Factory Reset Guidance

Say"Based on the diagnostics, a factory reset is the most likely fix. This will erase everything on the device and restore it to out-of-box settings. Before we go further — do you have your data backed up, or would you like help with that first?"

kb.factory-reset-instructions — retrieve step-by-step for device.make device.model

  • Customer confirms backup complete and agrees to proceed DeviceManagement.LogFactoryResetInitiated post-factory-check
  • Customer wants to back up first CRM.NoteBackupPending callback-scheduling
  • Customer declines factory reset escalation-specialist

Post-Factory Check

Say"Give the device a moment to come back up — this can take a few minutes. Once you're back to the setup screen, let me know and we'll confirm everything is working."
Detect
customer confirmation of issue status after factory reset
  • Issue resolved confirmed resolution-confirmed
  • Issue still present after factory reset unresolved escalation-specialist

Physical Damage Assessment

Say"I'm sorry to hear the device has physical damage. Let me check what coverage options are available on your account."

WarrantyInsurance.CheckEligibility for device.imei, customer.accountId — retrieve device.warrantyStatus, device.insuranceStatus

  • Device under active warranty, damage type covered warranty_eligible warranty-repair-route
  • Device covered by insurance insurance_eligible insurance-claim-route
  • No warranty or insurance coverage no_coverage out-of-warranty-options

Warranty Repair Route

Say"Good news — your device is covered under warranty. I'll get a repair or replacement order started for you now."

WarrantyInsurance.InitiateWarrantyClaim for device.imei, customer.accountId

Ticketing.CreateTicket tagged warranty-repair, linked to device.imei

CRM.LogInteraction note warranty claim initiated

Say"I've opened a warranty claim. You'll receive a confirmation at customer.email with next steps — typically within one business day. Is there anything else I can help with today?"

resolution-confirmed

Insurance Claim Route

Say"Your device is covered under your insurance plan. I'll transfer you to the claims workflow now, where a specialist will walk you through filing your claim and arranging a replacement or repair."

Ticketing.CreateTicket tagged insurance-claim, linked to device.imei

CRM.LogInteraction note insurance claim routed

insurance-claims-workflow

Out-of-Warranty Options

Say"Unfortunately the device isn't covered under warranty or insurance for this type of damage. I can walk you through a couple of options — a paid repair through an authorized service center, or an upgrade to a new device on your account."

kb.repair-center-locator — retrieve authorized repair centers near customer

kb.device-upgrade-eligibility — check upgrade options for customer.accountId

  • Customer wants paid repair CRM.LogInteraction note repair referral provided, share repair center details resolution-confirmed
  • Customer wants to explore upgrade escalation-human
  • Customer wants to think it over CRM.LogInteraction note options presented resolution-confirmed

Callback Scheduling

Say"No problem at all — let's get a time scheduled for a senior tech specialist to call you back, so you have the time you need to get your backup sorted first."

CRM.ScheduleCallback for customer.phone, note issue.description and steps completed

Ticketing.CreateTicket tagged callback-pending, linked to device.imei

Say"You're all set — you'll receive a confirmation at customer.phone. The specialist will have the full notes from today so you won't have to repeat yourself."

resolution-confirmed

Escalation to Specialist

Say"I want to make sure you get the best help here. I'm escalating this to one of our senior tech specialists who has the tools to dig deeper into this. I'll make sure they have all the notes from today."

Ticketing.CreateTicket tagged specialist-escalation, priority: high, linked to device.imei, customer.accountId

CRM.LogInteraction note escalation reason: issue.description, prior contacts ticket.priorContactCount, steps completed

CRM.NotifySpecialistQueue with ticket summary

Say"A specialist will be with you shortly — or if you prefer a callback, just let me know and I can schedule that instead."
  • Customer prefers callback callback-scheduling
  • Customer holds for specialist escalation-human

Escalation to Human Agent

Ticketing.CreateTicket tagged human-handoff, priority: high, linked to device.imei, customer.accountId

CRM.LogInteraction note full interaction summary

Say"I'm connecting you with a team member right now who can take it from here. I've passed along everything from our conversation so you're all set."

Resolution Confirmed

Say"Glad we could sort that out! Just to confirm — is everything working as expected now, or is there anything else I can help you with today?"

Ticketing.CreateTicket tagged resolved, linked to device.imei, customer.accountId

CRM.LogInteraction note resolution summary, steps taken, outcome

CRM.CloseInteraction for customer.accountId

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ email▣ voice

Damaged / Wrong Item Received

RetailSupportReturnsRefunds

Intake & Verify

Say"Hi, I'm sorry to hear about this — let's get it sorted for you right away. Can I start with your order number? If you don't have it handy, your account email or phone number works too."
  • Customer provides order ID OMS.LookupOrder by order.id confirm-order
  • Customer provides email or phone instead CRM.LookupByContact by customer.email or customer.phone confirm-order
  • Customer cannot provide any identifying information identity-unverifiable

Confirm Order

OMS.GetOrderDetails for order.id — retrieve item.description, order.deliveryDate, order.status, order.value

Say"I've pulled up your order. Can you tell me what happened — was the item damaged when it arrived, or did you receive the wrong item?"
  • Order found, delivery confirmed, customer describes damaged item issue-triage
  • Order found, delivery confirmed, customer describes wrong item received issue-triage
  • Order found but not yet marked delivered ShippingCarrier.GetTrackingStatus delivery-unclear
  • Order lookup returns an error or ambiguous result CRM.FlagForManualReview system-lookup-failed

Issue Triage

Say"Thank you — I've noted the issue with your item.description. To make sure we handle this correctly, I'd like to check your eligibility under our returns and replacements policy."

kb.returns-replacement-policy — verify order.deliveryDate is within policy.replacementWindowDays and check photo evidence requirements for item.issue

  • Within policy window, photo evidence required by policy request-photo-evidence
  • Within policy window, no photo evidence required resolution-offer
  • Outside policy window outside-return-window

Request Photo Evidence

Say"Our policy asks for a photo of the damaged or incorrect item to process this quickly. Could you upload or send a photo? You can reply directly in this chat, email it back, or I can send you a secure upload link."

PhotoUpload.SendUploadLink to customer.email or customer.phone

  • Customer submits photo, evidence is clear resolution-offer
  • Customer unable to submit photo, order value is within policy.autoApprovalThreshold Policy.CheckGoodwillEligibility goodwill-exception-review
  • Customer unable to submit photo, order value exceeds policy.autoApprovalThreshold escalation-human

Goodwill Exception Review

Agent
assess whether a goodwill exception is appropriate given order.value, customer.email history, and kb.returns-replacement-policy goodwill tier rules.
Goal:decide whether to waive the photo requirement and proceed with a replacement or refund without evidence, or escalate for human approval.
Constraints:never approve a goodwill waiver if order.value exceeds policy.autoApprovalThreshold; never grant more than one goodwill exception per customer account within 90 days; always log the exception reason in case.id.
Tools available:CRM.GetCustomerHistory, Policy.CheckGoodwillEligibility, kb.returns-replacement-policy
  • Goodwill waiver approved within constraints goodwill_approved resolution-offer
  • Goodwill waiver outside constraints or repeat exception needs_review escalation-human

Resolution Offer

Say"Great news — you're eligible for a resolution. Would you prefer a full replacement sent to your address on file, or a refund back to your original payment method? Either option works for us."
  • Customer prefers replacement initiate-replacement
  • Customer prefers refund initiate-refund
  • Customer is unsure, asks for more information explain-resolution-options

Explain Resolution Options

Say"A replacement means we'll ship out a new item.description — delivery typically takes 3 to 5 business days. A refund returns the full amount to your original payment method within 5 to 7 business days. Which would you like to go with?"

kb.returns-replacement-policy — confirm refund and replacement timelines for customer.preferredResolution

  • Customer selects replacement initiate-replacement
  • Customer selects refund initiate-refund
  • Customer requests something outside standard options escalation-human

Initiate Replacement

OMS.CreateReplacementOrder for order.id, ship to address on file

ReturnsManager.OpenReturnCase tagged replacement, linked to order.id, log item.issue

Twilio.SendNotification to customer.email or customer.phone with resolution.confirmationNumber and estimated delivery

Say"Done — your replacement item.description is on its way. You'll receive a confirmation with tracking shortly. Your confirmation number is resolution.confirmationNumber. Is there anything else I can help with?"

close-case

Initiate Refund

ReturnsManager.InitiateRefund for order.id, full amount to original payment method

ReturnsManager.OpenReturnCase tagged refund, linked to order.id, log item.issue

Twilio.SendNotification to customer.email or customer.phone with resolution.confirmationNumber and refund timeline

Say"Your refund has been initiated and should appear within 5 to 7 business days. Your confirmation number is resolution.confirmationNumber. I'm sorry again for the trouble — is there anything else I can help with?"

close-case

Outside Return Window

Say"I can see your order is outside our standard policy.replacementWindowDays-day return window, which means I'm not able to process a standard replacement or refund automatically. I want to make sure you're looked after, so let me check what options are available."

kb.returns-replacement-policy — check partial goodwill resolution eligibility for out-of-window orders

Approval
Slack.RequestApproval to #retail-support-escalations, approver: support_team_lead
Context sent:order.id, order.value, order.deliveryDate, item.issue, customer.email, policy window exceeded
  • Approved for partial goodwill resolution approved ReturnsManager.InitiatePartialCredit partial-resolution-confirmed
  • Rejected, no goodwill exception authorised rejected policy-decline
  • No response within 60 min escalation-human

Partial Resolution Confirmed

Twilio.SendNotification to customer.email or customer.phone with resolution.confirmationNumber and credit details

Say"I've been able to arrange a goodwill credit for your order — you'll receive a confirmation shortly with the details and your reference number resolution.confirmationNumber. I'm sorry we couldn't do a full replacement or refund on this occasion. Is there anything else I can help with?"

close-case

Policy Decline

Say"I'm sorry — I've looked into every option available to me and your order falls outside the window where I'm able to process a replacement, refund, or goodwill credit. I completely understand that's disappointing, and I'm sorry I can't do more today. If you believe there's been an error, I can connect you with a specialist who may be able to help further."
  • Customer accepts the outcome close-case
  • Customer wants to escalate or disputes the outcome escalation-human

Delivery Unclear

ShippingCarrier.GetTrackingStatus for order.id

Say"It looks like your order may still be in transit or the delivery status hasn't updated yet. Let me check the latest tracking details for you."
  • Carrier confirms delivered, discrepancy in OMS OMS.FlagOrderStatusMismatch system-lookup-failed
  • Carrier confirms still in transit close-case
  • Carrier confirms lost or exception raised escalation-human

System Lookup Failed

CRM.CreateCase priority: medium, tagged order-lookup-error, linked to customer.email

CRM.ScheduleCallback for customer.phone within 24 hours

Say"I'm running into a system issue that's preventing me from pulling up your order details right now. I've flagged this for our team and you'll receive a callback within 24 hours to get this sorted. I'm really sorry for the inconvenience — can I confirm the best number to reach you?"
  • Customer confirms callback number CRM.UpdateCaseContactDetails close-case
  • Customer prefers email follow-up Twilio.SendNotification confirmation to customer.email close-case

Identity Unverifiable

Say"I want to help, but I'm not able to locate an order without at least an order number, email address, or phone number linked to the account. Could you check your confirmation email or the app for any of those details?"
  • Customer finds identifying information intake-and-verify
  • Customer still cannot provide verification, low-value context escalation-human
  • Customer becomes frustrated or demands override escalation-human

Escalation to Human Agent

CRM.CreateCase priority: high, tagged damaged-wrong-item-escalation, linked to order.id and customer.email

Slack.Notify to #retail-support-escalations with case summary, order.id, order.value, item.issue, and reason for escalation

Say"I'm going to connect you with one of our senior support specialists who has the tools to handle this for you directly. I've shared all the details we've discussed so you won't need to repeat yourself. Thank you for your patience — someone will be with you shortly."

Close Case

CRM.CloseCase for case.id, log resolution type and resolution.confirmationNumber

Say"Thanks for reaching out, and I'm sorry again for the experience with your order. If you ever need anything else, we're here. Take care!"
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ email

Complaint Intake & Routing

Financial ServicesComplaintsComplianceSupport

Intake & Greeting

Say"Thank you for contacting us. I understand you'd like to raise a concern or formally lodge a complaint — I'm here to help you through that process and make sure your matter is fully recorded."
Say"To get started, may I have your full name and the account number related to your complaint?"
  • Customer provides name and account number identity-verification
  • Customer refuses to provide details or cannot locate account number anonymous-record
  • Customer immediately mentions a lawyer, regulator, or media escalation-signal escalation-legal-regulatory

Identity Verification

IdentityVerification.VerifyCustomer using customer.fullName and customer.accountNumber

Detect
outcome of identity verification check
  • Identity confirmed verified complaint-details-collection
  • Identity cannot be confirmed after two attempts unverified anonymous-record
  • System error or timeout system_error CRM.LogAttempt escalation-human-agent

Complaint Details Collection

Say"Thank you, customer.fullName — your identity has been verified. I'll now collect the details of your complaint so we can log it accurately."
Say"Could you please tell me: what is the nature of your complaint, which product or service is involved, and approximately when did the issue occur?"

CRM.UpdateRecord with customer.accountNumber to flag active complaint intake

  • Customer provides complaint details prior-contact-check
  • Customer becomes highly distressed or threatening legal action distressed escalation-legal-regulatory
  • Customer is unclear or needs prompting complaint-clarification

Complaint Clarification

Say"I want to make sure I capture everything correctly. Let me ask a few specific questions to help document your complaint fully."
Say"Which product or service does this relate to — for example, a credit card, mortgage, current account, or a specific interaction with our team?"
Say"And can you recall the approximate date when this issue first occurred?"

kb.complaint-intake-guidelines — review required fields for a complete complaint record

  • Details now sufficient to proceed prior-contact-check
  • Customer remains unable to provide details CRM.LogPartialComplaint complaint-details-collection
  • Customer escalates tone or mentions legal action distressed escalation-legal-regulatory

Prior Contact Check

Say"Have you contacted us previously about this issue? If so, do you have a reference number from that interaction?"

ComplaintManagement.SearchExistingCases using customer.accountNumber and complaint.nature

Detect
whether a duplicate or related case exists
  • Duplicate case found duplicate_detected duplicate-complaint-handling
  • No prior case found, complaint is new no_duplicate regulatory-category-check
  • Customer provides prior reference number complaint.priorReference ComplaintManagement.LinkCase regulatory-category-check

Duplicate Complaint Handling

ComplaintManagement.RetrieveCase to get case.existingId and current status

Say"I can see that a complaint related to this matter is already on record with us, reference number case.existingId. I'll make sure your latest contact is noted against that case."

CRM.AddInteractionNote linked to case.existingId with today's contact details and any new information provided

Say"Your existing complaint is being reviewed and you'll receive a response within regulatory.responseWindow days. Would you like us to send you a status update to your preferred contact?"
  • Customer confirms preferred contact and accepts outcome Twilio.SendSMS to customer.preferredContact resolution-acknowledgment
  • Customer disputes that the duplicate is the same issue complaint-details-collection
  • Customer is dissatisfied with existing case handling frustrated escalation-human-agent

Regulatory Category Check

ComplianceFlagging.ClassifyComplaint using complaint.nature and complaint.product

kb.regulatory-complaint-categories — check whether complaint falls under fraud, discrimination, CFPB-reportable, FCA-reportable, or other regulated classification

Detect
complaint category classification result
  • Complaint classified as regulated category (fraud, discrimination, CFPB, FCA) regulated_category compliance-routing
  • Complaint classified as standard (service, billing, product experience) standard_category complaint-registration
  • Classification inconclusive inconclusive CRM.LogForManualReview escalation-compliance-team

Compliance Routing

Say"Based on the details you've shared, your complaint involves a matter that requires review by our specialist compliance team. I want to assure you this will be prioritised appropriately."

ComplianceFlagging.FlagCase with complaint.category, customer.accountNumber, and complaint.nature

CaseRouting.AssignToComplianceQueue with priority: high

CRM.CreateComplaintRecord tagged regulatory, linked to customer.accountNumber

Say"Your complaint has been assigned reference number complaint.referenceNumber and routed to our compliance team. You can expect a formal written response within regulatory.responseWindow days — this is a regulatory commitment we are required to meet."
  • Customer would like written confirmation now Twilio.SendSMS to customer.preferredContact resolution-acknowledgment
  • Customer has further information to add complaint-clarification
  • Customer escalates or mentions external bodies escalation-signal escalation-legal-regulatory

Complaint Registration

ComplaintManagement.CreateCase with customer.fullName, customer.accountNumber, complaint.nature, complaint.date, complaint.product, complaint.priorReference

CaseRouting.AssignToStandardQueue

ComplaintManagement.GenerateReferenceNumber to produce complaint.referenceNumber

Say"I've now formally logged your complaint. Your reference number is complaint.referenceNumber — please keep this for your records."
Say"Under our obligations, we aim to provide a full written response within regulatory.responseWindow days. You'll receive a written acknowledgment shortly at your preferred contact."
  • Customer confirms preferred contact method preferred-contact-capture
  • Customer wants to add anything further complaint-clarification
  • Customer is highly dissatisfied with the process frustrated escalation-human-agent

Preferred Contact Capture

Say"How would you prefer us to contact you with updates and our formal response — by email, phone, or secure message?"

CRM.UpdatePreferredContact for customer.accountNumber with customer.preferredContact

  • Customer confirms email Twilio.SendEmail to customer.email with acknowledgment letter and complaint.referenceNumber resolution-acknowledgment
  • Customer confirms phone or SMS Twilio.SendSMS to customer.phone with acknowledgment summary and complaint.referenceNumber resolution-acknowledgment
  • Customer has no preference, use address on file CRM.RetrieveContactDetails Twilio.SendEmail to customer.email resolution-acknowledgment

Resolution & Acknowledgment

Say"Your complaint has been recorded and an acknowledgment has been sent to your preferred contact. Your reference number is complaint.referenceNumber."
Say"A member of our team will review your complaint and aim to provide a full written response within regulatory.responseWindow days. If you need to contact us in the meantime, please quote your reference number."
Say"Is there anything else I can help you with today?"

CRM.CloseInteraction with outcome: complaint-logged, reference: complaint.referenceNumber

  • Customer has no further questions — flow ends here
  • Customer raises an additional issue intake-greeting
  • Customer requests to speak with someone now wants_agent escalation-human-agent

Anonymous Record

Say"I understand — I'm not able to access your account without verified details, but I can still log an anonymous record of your concern so it is on record."

ComplaintManagement.CreateAnonymousRecord with complaint.nature and any details provided

ComplaintManagement.GenerateReferenceNumber to produce complaint.referenceNumber

Say"I've created an anonymous reference — your number is complaint.referenceNumber. To allow us to fully investigate and respond to you, we would need you to contact us again with your account credentials or visit a branch with valid identification."
Say"Would you like me to note a preferred contact method in case you are able to verify your identity with us in future?"
  • Customer provides a contact method CRM.LogAnonymousContactPreference resolution-acknowledgment
  • Customer declines and ends the interaction — flow ends here
  • Customer becomes agitated or references legal action distressed escalation-legal-regulatory
Say"I understand this is a serious matter and I want to make sure it's handled with the urgency it deserves. I'm escalating your complaint immediately to a senior complaints handler who has the authority to address concerns of this nature."

ComplianceFlagging.FlagCase with priority: urgent, reason: legal-regulatory-signal

CaseRouting.AssignToSeniorComplaintsHandler

CRM.CreateComplaintRecord tagged escalated, legal-signal, linked to customer.accountNumber

ComplaintManagement.GenerateReferenceNumber to produce complaint.referenceNumber

Twilio.SendSMS to customer.preferredContact confirming escalation and complaint.referenceNumber

Say"Your reference number is complaint.referenceNumber. A senior handler will be in contact with you within one business day. You do not need to contact us again — we will reach out to you."

Escalation — Human Agent

CaseRouting.TransferToLiveAgent with context: complaint.referenceNumber, customer.accountNumber, complaint.nature

CRM.LogHandoffNote with reason: customer-requested or verification-failure or system-error

Say"I'm transferring you now to one of our team members who will be able to assist you directly. Your reference number is complaint.referenceNumber — they'll have full context of our conversation."

Escalation — Compliance Team

ComplianceFlagging.FlagCase with priority: high, reason: inconclusive-classification

CaseRouting.AssignToComplianceReviewTeam

CRM.CreateComplaintRecord tagged compliance-review-required, linked to customer.accountNumber

ComplaintManagement.GenerateReferenceNumber to produce complaint.referenceNumber

Say"Your complaint has been flagged for review by our compliance team to ensure it is handled through the correct process. Your reference number is complaint.referenceNumber and you will receive written confirmation of next steps within two business days."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ chat▣ email▣ sms

Complaint Escalation Stay/Trip Issue

TravelHospitalityComplaintsEscalation

Intake & Verification

Say"Thank you for reaching out. I'm sorry to hear you experienced an issue — I want to make sure we get this resolved for you. Could you please share your booking or reservation ID along with the property name and dates of your stay?"

CRM.LookupCustomer by customer.phone or customer.email

PropertyManagementSystem.LookupReservation by booking.id

  • Reservation found and account matched complaint-capture
  • Reservation not found in system manual-case-creation
  • Customer mentions a prior unresolved case CaseManagement.LookupCase by complaint.priorCaseNumber complaint-capture

Complaint Capture

Say"Thank you, customer.name — I can see your stay at booking.propertyName from booking.checkIn to booking.checkOut. I'm sorry things didn't go as expected. Could you walk me through what happened so I can fully understand the situation?"

LoyaltyPlatform.GetProfile by customer.loyaltyNumber

Detect
sentiment and escalation signals in customer description
  • Customer describes issue calmly and provides clear details neutral policy-check
  • Customer is highly upset, distressed, or emotional frustrated empathy-de-escalation
  • Customer explicitly mentions legal action, regulatory body, health or safety incident threatened escalation-human

Empathy & De-escalation

Say"I completely understand how frustrating this must have been, and I sincerely apologize for the experience you had. Your feedback matters enormously to us, and I am personally going to make sure this is handled properly. Please take your time."
Detect
whether customer de-escalates after empathy response
  • Customer calms and continues describing the issue neutral policy-check
  • Customer remains highly distressed or repeats legal / safety threat threatened escalation-human

Policy Check

kb.complaint-resolution-policy — verify complaint window, eligible remedy types, and authorization limits for booking.checkOut and complaint.nature

PropertyManagementSystem.GetReservationDetails for booking.id to confirm rate, room type, and recorded amenities

  • Stay is within complaint window and issue is policy-eligible remedy-assessment
  • Stay falls outside complaint window or issue is partially out of scope out-of-scope-partial-remedy
  • Booking channel is a third-party OTA OTAPartnerPortal.CheckBookingOwnership ota-redirect

Remedy Assessment

Agent
evaluate the appropriate remedy for complaint.nature and complaint.details against booking.id history and kb.complaint-resolution-policy.
Goal:determine whether to offer a full refund, partial refund, loyalty credit, apology voucher, or formal complaint documentation, and at what value.
Constraints:never authorize a refund or credit above USD 500 without human approval; never promise compensation before verifying the stay record; always document every remedy offer in the case management system regardless of outcome.
Tools available:PropertyManagementSystem.GetReservationDetails, LoyaltyPlatform.GetProfile, RefundBillingSystem.CheckEligibility, kb.complaint-resolution-policy
  • Remedy is within authorization limits and straightforward remedy-confirmation
  • Requested or warranted compensation exceeds authorization limit exceeds_limit escalation-human
  • Complaint involves a safety or health element safety_flag escalation-human

Remedy Confirmation

Say"Based on what you've described and your reservation details, I'd like to offer you remedy.type valued at remedy.value as a remedy for your experience. Does that sound acceptable to you?"
Detect
customer response to proposed remedy
  • Customer accepts the remedy confirmed process-remedy
  • Customer rejects and requests higher compensation dissatisfied escalation-review
  • Customer requests time to think and asks to be followed up case-documentation

Process Remedy

RefundBillingSystem.ProcessRefundOrCredit for booking.id with remedy.type and remedy.value

LoyaltyPlatform.ApplyCredit if remedy.type is loyalty credit

CaseManagement.CreateCase tagged complaint-resolved, linked to booking.id and customer.loyaltyNumber

CRM.UpdateCustomerRecord with case reference case.id and remedy details

Say"I've processed your remedy.type — you should see it reflected within 3 to 5 business days. I've also created case case.id as a record of this interaction. Is there anything else I can help you with today?"
  • Customer confirms receipt and has no further issues resolution-close
  • Customer raises an additional complaint complaint-capture

Escalation Review

Approval
Slack.RequestApproval to #hospitality-resolutions, approver: resolutions_manager
Context sent:booking.id, booking.propertyName, booking.checkIn, booking.checkOut, complaint.nature, complaint.details, customer.desiredResolution, remedy.type, remedy.value, customer.loyaltyNumber
  • Approved approved process-remedy
  • Rejected rejected remedy-final-offer
  • No response in 60 min escalation-human

Remedy Final Offer

Say"I've reviewed your case with our resolutions team. While we aren't able to meet the full amount requested, we'd like to offer remedy.type at remedy.value as our best available resolution. I understand this may not be everything you hoped for, and I want to sincerely apologize again for the inconvenience."
Detect
customer response to final offer
  • Customer accepts confirmed process-remedy
  • Customer declines and wishes to escalate further dissatisfied escalation-human

OTA Redirect

Say"I can see that your booking was made through a third-party platform, which means the payment and refund for your reservation are managed on their end. Unfortunately I'm not able to process a direct refund from our side, but I want to make sure you're not left without support."

CaseManagement.CreateCase tagged ota-redirect, linked to booking.id

OTAPartnerPortal.InitiateDisputeReferral for booking.id with complaint.nature and complaint.details

Say"I've created an internal record of your complaint as case case.id, and I've flagged the issue with the booking platform on your behalf. I'd recommend also contacting them directly to request the refund. Can I help you with anything else, or provide any documentation to support your claim?"
  • Customer is satisfied with the redirect guidance resolution-close
  • Customer is unsatisfied and escalates frustration frustrated escalation-human

Out-of-Scope / Partial Remedy

Say"I've reviewed your reservation details and I want to be transparent with you — based on our policy, this type of complaint typically needs to be raised within a specific window after checkout, and we're slightly outside that timeframe. I'm sorry for any confusion around that."

kb.complaint-resolution-policy — identify any goodwill or partial remedy options available outside the standard window

Say"While I'm not able to process a full remedy in this case, I do want to acknowledge the experience you had. I can offer remedy.type as a goodwill gesture, and I'll make sure your feedback is formally documented."

CaseManagement.CreateCase tagged out-of-scope, linked to booking.id

  • Customer accepts the partial or goodwill remedy confirmed process-remedy
  • Customer is dissatisfied and escalates frustrated escalation-human

Manual Case Creation

Say"I wasn't able to locate a reservation with those details in our system right now — that can sometimes happen if the booking is very recent or was made under a different contact. No worries; let me gather your information manually so we can investigate and follow up with you."

CRM.LookupCustomer by customer.email or customer.loyaltyNumber

CaseManagement.CreateCase tagged pending-lookup, with booking.propertyName, booking.checkIn, booking.checkOut, complaint.nature, customer.email, customer.phone

Say"I've created a pending case reference for you — case.id. Our team will investigate and reach out to you at customer.email within 2 business days. I'm sorry we couldn't resolve this immediately."
  • Customer accepts the follow-up path resolution-close
  • Customer is unwilling to wait and is highly agitated frustrated escalation-human

Escalation to Human Agent

CaseManagement.CreateCase priority: urgent, tagged escalation, linked to booking.id and customer.loyaltyNumber

CRM.UpdateCustomerRecord with escalation flag and complaint.details

Slack.Notify to #hospitality-escalations with case summary, booking.id, complaint.nature, and customer.desiredResolution

Say"I completely understand, and I want to make sure you're speaking with someone who has the full authority to address this. I'm escalating your case to our senior resolutions team right now — you'll be connected with a specialist shortly. Your case reference is case.id."

Case Documentation & Follow-up

Say"Of course — I'll document everything we've discussed and make sure your case is ready whenever you'd like to proceed. Your case reference is case.id, and you can reach us at any time to continue."

CaseManagement.CreateCase tagged pending-customer-response, linked to booking.id with complaint.details and proposed remedy.type

CRM.UpdateCustomerRecord with case.id and follow-up flag

SendEmail to customer.email with case summary, proposed remedy, and contact instructions

  • Customer returns and accepts remedy confirmed process-remedy
  • Customer returns and escalates dissatisfied escalation-human

Resolution & Close

Say"I'm glad we were able to work through this together. Your experience has been documented as case case.id, and we truly value your feedback — it helps us improve. We hope to welcome you back and provide the experience you deserve. Is there anything else I can help you with today?"

CaseManagement.CloseCase for case.id with resolution status

CRM.UpdateCustomerRecord with resolved status and remedy applied

LoyaltyPlatform.LogInteraction for customer.loyaltyNumber tagged complaint-resolved

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat

Complaint Escalation — Telecom

TelecomComplaintsEscalationSupport

Intake and Verification

Say"Thank you for reaching out. I understand you have a complaint you'd like escalated — I want to make sure this gets the attention it deserves. To get started, may I have your account number or the name on the account so I can pull up your details?"

CRM.LookupAccount using customer.accountNumber or customer.name

  • Identity verified successfully CRM.PullComplaintHistory complaint-history-review
  • Identity cannot be verified after two attempts identity-escalation
  • Customer is immediately hostile or threatening frustrated de-escalation

Complaint History Review

CRM.GetAccountSummary to load customer.accountNumber, complaint.history, and complaint.compensationOffered

CaseManagement.SearchByAccount to find any existing ticket linked to complaint.priorTicketId

Say"I can see your account, customer.name. Let me check whether there's an existing complaint on file for you."
  • Prior ticket found CaseManagement.OpenCase with complaint.priorTicketId complaint-confirmation
  • No prior ticket found new-case-creation
  • Customer references regulatory body or legal action legal_threat regulatory-legal-routing

New Case Creation

Say"It looks like this hasn't been formally logged yet — I'm going to create a new escalation case right now so nothing falls through the cracks."

CaseManagement.CreateEscalationCase with customer.accountNumber, complaint.nature, complaint.servicesAffected, complaint.history, complaint.compensationOffered

  • Case created successfully complaint-confirmation
  • System unavailable system_down system-unavailable-fallback

Complaint Confirmation

Say"I want to make sure I have everything right before I escalate this. You've reported an issue with complaint.servicesAffected, and the nature of the complaint is complaint.nature. Is that accurate, and is there anything else you'd like added to the record?"
Detect
sentiment and completeness of customer response
  • Customer confirms details are correct confirmed escalation-routing
  • Customer adds new information or corrects details update_needed CaseManagement.UpdateCase with revised notes escalation-routing
  • Customer becomes highly distressed or makes a regulatory reference legal_threat regulatory-legal-routing
  • Customer demands supervisor immediately supervisor_demand escalation-routing

Escalation Routing

EscalationRouting.IdentifyTeam using complaint.servicesAffected, complaint.nature, and customer.accountNumber to assign case.escalationTeam and case.responseTimeline

CaseManagement.UpdateCase with case.escalationTeam, case.responseTimeline, full interaction notes, and complaint.compensationOffered

CommsLog.RecordInteraction with customer.accountNumber, case.id, and channel details

Agent
review the account history and escalation assignment to determine if case priority needs to be upgraded.
Goal:confirm whether the complaint warrants expedited handling based on account type, outage scope, prior compensation history, or repeat contact.
Constraints:never promise a resolution timeline shorter than the one returned by EscalationRouting.IdentifyTeam without senior approval; always flag business or critical infrastructure accounts for immediate upgrade.
Tools available:CRM.GetAccountSummary, CaseManagement.GetCaseDetails, EscalationRouting.IdentifyTeam, kb.escalation-priority-policy
  • Standard priority confirmed escalation-acknowledgement
  • Upgrade to high priority warranted high_priority EscalationRouting.UpgradePriority escalation-acknowledgement
  • Business or critical infrastructure account identified critical_account EscalationRouting.UpgradePriority escalation-acknowledgement

Escalation Acknowledgement

Approval
Slack.RequestApproval to #escalations-queue, approver: escalation_team_lead
Context sent:case.id, customer.accountNumber, complaint.nature, complaint.servicesAffected, case.escalationTeam, case.responseTimeline, complaint.compensationOffered
  • Approved and owner assigned approved CaseManagement.UpdateCase customer-close-out
  • Rejected or reassignment needed rejected EscalationRouting.IdentifyTeam escalation-routing
  • No response within 20 minutes escalation-human

Customer Close-Out

Say"Your case has been escalated and assigned. Your case reference number is case.id. The case.escalationTeam team will be in touch within case.responseTimeline via customer.preferredContact. If you need to reference this, please quote case.id."

CommsLog.SendConfirmation to customer.preferredContact with case.id, case.escalationTeam, and case.responseTimeline

BillingPlatform.NoteAccount with escalation flag and case.id

Say"Is there anything else I can clarify before we wrap up? I want to make sure you feel confident that this is in hand."
  • Customer is satisfied and has no further questions confirmed resolution-close
  • Customer requests additional credit or compensation compensation-review
  • Customer remains unsatisfied and escalates further frustrated escalation-human

Compensation Review

kb.compensation-credit-policy — check eligibility based on complaint.servicesAffected, outage duration, and complaint.compensationOffered

Agent
assess whether a goodwill credit or service adjustment is appropriate given the complaint history.
Goal:determine credit amount or gesture within policy limits and apply if approved.
Constraints:never offer a credit exceeding USD 150 without manager approval; never apply a second credit if complaint.compensationOffered already shows one was granted within the last 90 days; always document the decision in the case notes.
Tools available:BillingPlatform.ApplyCredit, CRM.GetAccountSummary, CaseManagement.GetCaseDetails, kb.compensation-credit-policy
  • Credit within policy limits approved approved BillingPlatform.ApplyCredit customer-close-out
  • Credit exceeds policy limit needs_approval escalation-human
  • Prior credit already granted, none applicable ineligible customer-close-out

De-escalation

Say"I completely hear you, and I want you to know I take this seriously. My goal right now is to make sure your complaint gets to the right person with the full context — can I ask a couple of quick questions so I can do that properly?"

kb.de-escalation-guidelines — apply language and pacing guidance for hostile or distressed callers

Detect
sentiment shift after de-escalation attempt
  • Customer settles enough to continue confirmed intake-and-verification
  • Customer remains hostile or uses threatening language hostile CommsLog.FlagInteraction for supervisor review escalation-human
  • Customer mentions regulatory body or legal action legal_threat regulatory-legal-routing
Say"I understand — given what you've mentioned, I'm going to make sure this is reviewed by the right team immediately. I'm flagging your case right now and you will be contacted directly."

CaseManagement.CreateEscalationCase with customer.accountNumber, complaint.nature, complaint.servicesAffected, and legal or regulatory flag

CommsLog.FlagInteraction with legal_regulatory tag and case.id

EscalationRouting.RouteToCompliance with case.id and full case context

  • Compliance or legal team notified compliance_routed regulatory-close-out
  • Routing system unavailable system_down system-unavailable-fallback

Regulatory Close-Out

Say"Your case, reference case.id, has been escalated directly to our compliance team. Someone will be in touch within one business day via customer.preferredContact. Please reference case.id in any further correspondence."

CommsLog.SendConfirmation to customer.preferredContact with case.id and compliance escalation notice

System Unavailable Fallback

Say"I'm sorry — our systems are temporarily unavailable, but I don't want that to delay your complaint. I'm taking full notes manually right now and will ensure this is entered and actioned as soon as systems are restored."

CommsLog.ManualNoteEntry with customer.name, customer.accountNumber, complaint.nature, complaint.servicesAffected, complaint.history, and timestamp

Say"Your verbal reference number for this interaction is case.id — please keep that handy. You can expect to hear from us within case.responseTimeline once our systems are back up. I sincerely apologise for the inconvenience."
  • Manual log completed, systems expected to restore shortly resolution-close
  • Systems remain down and customer needs immediate escalation escalation-human

Escalation to Human Agent

EscalationRouting.PageSupervisor with case.id, customer.accountNumber, complaint.nature, and urgency flag

CommsLog.FlagInteraction with supervisor_required tag

Slack.Notify to #escalations-live with case summary, customer.accountNumber, and case.id

Say"I'm transferring you to a senior member of our team right now. They have full visibility of your case — you won't need to repeat anything. Thank you for your patience, customer.name."

Identity Escalation

Say"I want to help, but I need to protect your account by verifying your identity first. Unfortunately I wasn't able to confirm your details this time. I can send a verification link to the contact details on your account — would that work for you?"

CRM.SendVerificationLink to contact details on file

  • Customer verifies via link and calls back intake-and-verification
  • Customer unable or unwilling to verify escalation-human

Resolution Close

Say"Thank you for your patience throughout this, customer.name. Your escalation is logged under case.id, and the right team will be in touch within case.responseTimeline. We appreciate you giving us the chance to put this right."

CaseManagement.UpdateCase with resolved_handoff status and final interaction notes

CommsLog.CloseInteraction with customer.accountNumber and case.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat▣ email

Complaint Escalation — Insurance

InsuranceComplaintsEscalationRegulatory

Intake and Greeting

Say"Thank you for contacting us. I understand you'd like to raise a concern today — I'm here to help and I want to make sure we handle this properly for you. May I start with your full name and policy number?"
Detect
sentiment and distress level on customer's opening statement
  • Customer is calm or moderately frustrated neutral identity-verification
  • Customer is highly distressed, upset, or using strong escalation language distressed empathy-protocol
  • Customer explicitly mentions the ombudsman, legal action, or litigation legal_threat regulatory-flag

Empathy Protocol

Say"I can hear how frustrated you are, and I want you to know your complaint is being taken very seriously. I'd like to take the time to properly understand everything that's happened. You have my full attention."
  • Customer settles and is willing to continue confirmed identity-verification
  • Customer demands to speak with a manager immediately escalation_request escalation-human
  • Customer remains highly distressed and conversation cannot progress unresolvable escalation-human

Regulatory Flag

ComplaintsManagementSystem.SetPriorityFlag on case.existingId with tag regulatory-legal-threat

Say"I want to make sure we treat this with the urgency it deserves. I'm flagging this right now as a priority complaint. A senior handler will be involved in the resolution of this case."
  • Continue to identity verification identity-verification

Identity Verification

Say"Before I log your complaint and access your policy details, I need to verify your identity. Could you please confirm your date of birth and the postcode associated with your policy?"

IdentityVerification.Verify using policy.number and policy.holderId

  • Identity verified successfully verified complaint-capture
  • Identity cannot be verified after two attempts unverified unverified-complaint-log
  • Customer refuses to provide verification details refused unverified-complaint-log

Complaint Capture

Say"Thank you for confirming your details. I'd now like to understand your complaint fully. Please take as much time as you need — could you walk me through what happened, including when it occurred and any reference numbers you may have for an existing claim or case?"

PolicyAdministrationSystem.GetRecord for policy.number

CRM.GetCustomerProfile for policy.holderId

CaseManagement.SearchExistingCases using policy.number and claim.referenceNumber

Detect
whether an existing open case matches the incoming complaint
  • Existing open case found matching this complaint duplicate duplicate-case-update
  • No existing case found, proceed to log new complaint no_duplicate complaint-classification
  • Complaint involves a protected or vulnerable customer flag customer.vulnerableFlag vulnerable-customer-handling

Vulnerable Customer Handling

Say"I can see from your record that you may benefit from some additional support. I want to make sure we handle your complaint in the way that works best for you. Would you prefer we follow up by phone, email, or letter — and is there anything I can do right now to make this process easier for you?"

CRM.SetVulnerableFlag on policy.holderId

ComplaintsManagementSystem.SetPriorityFlag with tag vulnerable-customer

  • Customer confirms preferred contact method, continue to classification complaint-classification
  • Customer requests specialist support or senior handler escalation-human

Complaint Classification

Agent
classify the complaint using complaint.description and complaint.category against kb.complaint-category-taxonomy.
Goal:determine the correct complaint category (claim handling, policy administration, customer service, billing, regulatory) and assess whether a priority or legal flag should be applied.
Constraints:never dismiss or downgrade a complaint that contains keywords indicating legal threat, vulnerability, or regulatory referral; always apply the most protective classification when ambiguous.
Tools available:ComplaintsManagementSystem.GetCategoryList, kb.complaint-category-taxonomy, kb.regulatory-response-timeframes
  • Classification complete, no escalation triggers identified classified complaint-logging
  • Classification reveals regulatory or legal risk not yet flagged legal_threat regulatory-flag
  • Classification reveals vulnerable customer indicator not yet flagged vulnerable vulnerable-customer-handling

Duplicate Case Update

Say"I can see we already have an open case reference case.existingId related to this matter. Rather than creating a new complaint, I'll update that existing record with everything you've told me today so nothing is lost."

CaseManagement.UpdateCase on case.existingId with complaint.description and complaint.date

CRM.AddInteractionNote for policy.holderId with summary of call and updated complaint details

Say"I've updated your existing case case.existingId with today's information. You'll receive a follow-up via your preferred contact method, and you can reference that case number at any time."
  • Update complete, confirm timeframes with customer regulatory-timeframe-confirmation

Complaint Logging

ComplaintsManagementSystem.CreateComplaint with policy.number, customer.name, complaint.description, complaint.category, complaint.date, claim.referenceNumber

Say"I've formally logged your complaint and your reference number is complaint.referenceNumber. Please keep this safe — you can use it to check on the status of your complaint at any time."

CRM.AddInteractionNote for policy.holderId linking complaint.referenceNumber and complaint.category

  • Complaint logged, proceed to confirm response timeframes regulatory-timeframe-confirmation

Regulatory Timeframe Confirmation

kb.regulatory-response-timeframes — retrieve applicable acknowledgment and resolution deadlines based on complaint.category

Say"Under our regulatory obligations, you'll receive a written acknowledgment within 5 business days. We aim to resolve your complaint fully within 8 weeks. If we're unable to do so, we'll write to you explaining why and advising you of your right to refer your complaint to the Financial Ombudsman Service."
Say"We'll be in touch via customer.preferredContact. Is there anything else you'd like to add before we close today's call?"
  • Customer has nothing further to add confirmed resolution-confirmation
  • Customer raises an additional concern or asks a follow-up question further_query complaint-capture
  • Customer requests a callback from a senior handler escalation_request escalation-human

Unverified Complaint Log

Say"I completely understand — I want to make sure your complaint is still recorded even if we're unable to verify your identity right now. I'll log this as an unverified complaint. Once we're able to verify your identity at a later stage, we can link it to your policy record."

ComplaintsManagementSystem.CreateUnverifiedComplaint with complaint.description, complaint.date, and a note that identity verification is pending

CRM.AddUnverifiedInteractionNote with complaint.description

Say"Your complaint has been logged with reference number complaint.referenceNumber. To progress this further and link it to your policy, please contact us again with your policy number and identity documents. We're sorry we couldn't do more today."
  • Unverified log complete resolution-confirmation

Escalation to Human Agent

ComplaintsManagementSystem.SetPriorityFlag on complaint.referenceNumber with tag senior-handler-required

CRM.AddInteractionNote for policy.holderId with reason for escalation

CaseManagement.AssignToSeniorHandler and notify agent.seniorHandlerEmail

Say"I'm escalating your complaint to a senior handler right now. They will be in contact with you via customer.preferredContact within 24 hours. Your reference number is complaint.referenceNumber — please keep this to hand."

Resolution Confirmation

Say"Thank you for bringing this to our attention — your feedback is important to us and we take all complaints seriously. Your reference number is complaint.referenceNumber. We'll be in touch as discussed. Is there anything else I can help you with today?"

CRM.CloseInteraction for policy.holderId with outcome logged and complaint.referenceNumber attached

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ voice▣ chat▣ email

Complaint Escalation

RetailComplaintsEscalationSupport

Greeting & Acknowledgement

Say"Thank you for reaching out. I'm sorry to hear you've had a difficult experience — I'm here to help get this sorted for you. Could I start with your name and order or account number?"
Detect
sentiment on customer opening message or tone
  • Customer provides details calmly or with mild frustration neutral identity-verification
  • Customer is immediately hostile or uses escalation language ("speak to a manager", "unacceptable") escalation_language pre-escalation-check
  • Customer is highly distressed or emotional frustrated empathy-bridge

Empathy Bridge

Say"I can hear how frustrating this has been, and I want you to know I take this seriously. Let me pull up your details right now so we can focus on finding a resolution for you."
  • Customer settles and is willing to continue identity-verification
  • Customer continues to demand a manager or escalate escalation_language pre-escalation-check

Identity Verification

CRM.LookupCustomer using customer.accountId or order.id

ContactHistory.GetLog for customer.accountId to retrieve prior contact history on this issue

  • Customer identity and order verified successfully verified complaint-review
  • Identity or order cannot be verified unverified proof-request

Proof Request

Say"I want to make sure I'm looking at the right account. Could you provide an alternative proof of purchase — such as a receipt, confirmation email, or the card used for payment?"
  • Alternate proof provided and accepted verified complaint-review
  • Customer cannot provide any proof unverified policy-exception-flag
  • Customer becomes agitated or refuses frustrated empathy-bridge

Complaint Review

OrderManagement.GetOrderDetails for order.id including order.value, order.date, and item details

ContactHistory.GetLog to confirm complaint.nature and complaint.date and any previous resolution attempts

Say"Thank you — I can see your order from order.date. Just to make sure I have everything right, can you walk me through what happened and what you were hoping we could do for you?"
Detect
nature of complaint submitted by customer
  • Complaint relates to a product defect or damage product_issue remedy-assessment
  • Complaint relates to a missing, late, or incorrect order fulfilment_issue remedy-assessment
  • Complaint relates to a service or staff experience service_issue remedy-assessment
  • Complaint involves a potential safety or legal concern safety_legal escalation-supervisor

Remedy Assessment

Agent
evaluate the appropriate remedy for complaint.nature based on order.value, contact.history, and kb.returns-compensation-policy.
Goal:identify the most suitable remedy — refund, replacement, discount, or formal apology — that falls within agent compensation authority and policy limits.
Constraints:never approve a refund or compensation exceeding the agent authority threshold for order.value without supervisor approval; never offer a remedy that contradicts kb.returns-compensation-policy; always check contact.history for prior remedy offers before making a new one.
Tools available:OrderManagement.GetOrderDetails, ContactHistory.GetLog, RefundCompensationTool.CheckEligibility, kb.returns-compensation-policy
  • Remedy identified within policy and agent authority remedy_ready remedy-offer
  • Order value or complexity exceeds agent authority threshold authority_exceeded escalation-supervisor
  • Issue falls outside return or compensation policy out_of_policy policy-exception-flag

Remedy Offer

Say"Based on what you've described, here's what I'd like to offer you: remedy.offered. Does that work for you?"
  • Customer accepts the remedy accepted resolution-logging
  • Customer rejects the remedy and gives a reason rejected alternative-remedy-offer
  • Customer demands a manager explicitly escalation_language pre-escalation-check

Alternative Remedy Offer

Agent
construct one alternative remedy within policy limits, accounting for the customer's stated reason for rejecting remedy.offered.
Goal:offer a single alternative that meaningfully addresses the customer's concern without exceeding compensation authority or policy.
Constraints:only one alternative offer is permitted before mandatory escalation; cannot exceed agent compensation authority; must not duplicate remedy.offered.
Tools available:RefundCompensationTool.CheckEligibility, ContactHistory.GetLog, kb.returns-compensation-policy
Say"I completely understand — let me see what else I can do. remedy.alternative — would that be acceptable?"
  • Customer accepts the alternative remedy accepted resolution-logging
  • Customer rejects the alternative remedy as well rejected pre-escalation-check
  • Customer demands a manager escalation_language pre-escalation-check

Pre-Escalation Check

Detect
whether situation involves abusive language or conduct
  • Customer language is abusive or threatening abusive conduct-warning
  • Customer is demanding escalation but not abusive escalation_language escalation-supervisor
  • Two remedy offers have been refused remedies_exhausted escalation-supervisor

Conduct Warning

Say"I want to help you resolve this, and I'll do everything I can — but I do need to ask that we keep the conversation respectful so I'm able to assist you. Can we continue on that basis?"
  • Customer agrees and calms down neutral remedy-offer
  • Customer continues to use abusive language abusive escalation-conduct

Policy Exception Flag

Say"I want to be upfront with you — based on our current policy, this situation falls outside what I'm able to action directly. I'm going to document your case and flag it for a supervisor review so it receives the right attention."

CRM.UpdateCase with complaint.nature, order.id, and exception request details

RefundCompensationTool.FlagException tagged policy-exception, linked to order.id

Approval
SupervisorQueue.RequestReview to #complaints-supervisor, approver: complaints_supervisor
Context sent:customer.accountId, order.id, order.value, complaint.nature, complaint.date, contact.history, reason for policy exception
  • Approved approved remedy-offer
  • Rejected rejected escalation-supervisor
  • No response within 30 min timeout escalation-supervisor

Escalation to Supervisor

CRM.UpdateCase with full complaint summary, remedy.offered, remedy.alternative, contact.history, and escalation reason

SupervisorQueue.Assign priority: high, tagged complaint-escalation, linked to order.id

Say"I want to make sure you get the best possible help here. I'm transferring you to a senior member of our team right now who has full authority to resolve this for you. I've passed them everything we've discussed so you won't need to repeat yourself."

Escalation — Conduct Transfer

CRM.UpdateCase with complaint.nature, contact.history, and conduct flag

SupervisorQueue.Assign priority: high, tagged conduct-escalation, linked to customer.accountId

Say"I'm going to transfer you to a senior agent who may be better placed to assist you. Thank you for your patience."

Resolution Logging

RefundCompensationTool.ApplyRemedy for order.id with agreed remedy details

CRM.UpdateCase with complaint.nature, remedy applied, and resolution status: closed

ContactHistory.LogResolution for customer.accountId with outcome summary

Say"Brilliant — I've gone ahead and processed that for you. You should receive a confirmation shortly. I'm really sorry again for the experience, and thank you for giving us the chance to put it right. Is there anything else I can help you with today?"
  • Customer has further queries greeting-acknowledgement
  • Customer is satisfied and done confirmed resolution-complete

Resolution Complete

Say"Wonderful. Thank you for your patience, customer.name — take care and have a great day."

CRM.UpdateCase status: resolved, satisfaction: confirmed

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat▣ email

Complaint / Feedback Intake

HealthcarePatient RelationsComplaintsGrievanceFeedback

Intake Greeting

Say"Thank you for reaching out to our Patient Relations team. My name is your Healthcare Support Agent, and I'm here to make sure your concern is heard and handled with care. May I have your full name and date of birth so I can pull up your record?"
  • Patient provides name and date of birth identity-verification
  • Patient declines to provide identifying information unverified-caller
  • Patient immediately expresses significant distress distressed-patient

Identity Verification

EHR.LookupPatient using patient.name and patient.dob

Say"Thank you. I'm also going to ask for your patient ID or member number if you have it handy — that just helps me make sure I have the right record."
  • Identity confirmed, patient record located in EHR verified complaint-type-triage
  • Identity cannot be confirmed after two attempts unverified unverified-caller
  • Patient becomes distressed during verification distressed-patient

Complaint Type Triage

Say"I appreciate your patience. I want to make sure I understand what you'd like to share with us today. Could you briefly describe the nature of your concern or feedback — for example, whether it relates to your care experience, a specific provider, billing, or something else?"
Detect
intent and nature of patient submission
  • Patient describes a potential safety event, clinical harm, abuse, or neglect safety-incident safety-escalation
  • Patient explicitly requests a patient advocate or administrator requests-advocate escalation-human
  • Patient describes a complaint about care quality, provider conduct, facility, or billing complaint complaint-intake
  • Patient is sharing positive or general feedback positive-feedback commendation-intake
  • Patient becomes emotionally distressed at any point distressed distressed-patient

Distressed Patient

Say"I want you to know that what you're sharing matters, and I'm not going to rush you. Take all the time you need — I'm here and I'm listening."
Detect
sentiment and readiness to continue
  • Patient is ready to continue after acknowledgment ready complaint-type-triage
  • Patient remains highly distressed and requests to speak with someone senior requests-advocate escalation-human
  • Patient discloses a safety concern or harm during this exchange safety-incident safety-escalation

Complaint Intake

Say"Thank you for sharing that with me. I want to make sure I capture every detail accurately. Can you tell me the approximate date this occurred, and the name of the provider or department involved if you know it?"

EHR.GetPatientContext for patient.id to pre-populate known provider and visit history

Say"I also want to make sure we can follow up with you in the way that works best for you. Would you prefer a phone call, a message through the patient portal, or an email?"
  • All key details collected — date, provider or department, nature, preferred contact complaint-logging
  • Patient cannot recall specific date or provider complaint-logging
  • Patient discloses details suggesting clinical harm or a safety event during intake safety-incident safety-escalation
  • Patient becomes distressed during intake distressed-patient

Complaint Logging

GrievanceManagement.CreateCase with patient.id, patient.name, patient.dob, complaint.date, complaint.nature, complaint.provider, complaint.department, patient.preferredContact, case.priority

CRM.UpdatePatientRecord with case reference and feedback.type tagged as complaint

Say"I've logged your concern in our system. Your reference number is complaint.referenceNumber — please keep that handy in case you need to follow up with us. You can expect to hear from our Patient Relations team within five business days, and sooner if your concern is urgent."
Say"Is there anything else you'd like me to note, or any other questions I can answer for you today?"
  • Patient has no further questions resolution-acknowledgment
  • Patient raises an additional complaint or concern complaint-intake
  • Patient raises a safety concern at this stage safety-incident safety-escalation
  • Patient requests to speak with a patient advocate requests-advocate escalation-human

Commendation Intake

Say"That's wonderful to hear — thank you so much for taking the time to share that. Positive feedback means a great deal to our teams, and I'll make sure it gets to the right people."

CRM.LogFeedback with patient.id, patient.name, feedback.type tagged as commendation, and complaint.provider or complaint.department if provided

Say"I've passed along your kind words. Is there anything else I can help you with today?"
  • Patient has nothing further to add resolution-acknowledgment
  • Patient also has a complaint to raise complaint-intake

Unverified Caller

Say"I'm sorry — because I'm not able to confirm your identity in our system, I'm not able to access or create a record on your behalf. I want to make sure your concern is still heard, and there are a couple of ways we can do that."
Say"You're welcome to submit a written complaint through our website, or you can visit any of our facilities in person and our Patient Relations staff will be glad to assist you. If you do have your patient ID or member number available at a later time, you're also welcome to call back and we can complete the intake then."

kb.patient-complaint-submission-policy — confirm current written complaint and in-person intake options

  • Patient accepts alternative options and ends the call resolution-acknowledgment
  • Patient becomes distressed about inability to proceed distressed-patient
  • Patient discloses a safety concern despite being unverified safety-incident safety-escalation

Safety Escalation

Say"Thank you for telling me this. What you've described is something we take very seriously, and I'm going to make sure it reaches the right team immediately. You will be contacted directly as a priority."

RiskReporting.CreateIncident tagged high-priority with patient.name, patient.dob, patient.id if verified, complaint.nature, complaint.date, complaint.provider, complaint.department

GrievanceManagement.CreateCase with case.priority set to high and flagged for clinical risk management review

SecureMessaging.NotifyClinicalRiskTeam with incident summary and complaint.referenceNumber

Say"Your concern has been escalated to our clinical risk management team. Someone will be reaching out to you directly, and your reference number is complaint.referenceNumber."

Escalation to Human Agent

CRM.UpdatePatientRecord with escalation flag and case summary

SecureMessaging.NotifyPatientAdvocate with patient.name, patient.id if verified, complaint.nature, and preferred contact patient.preferredContact

Say"Absolutely — I'm going to connect you with a Patient Advocate or Administrator right now who is best positioned to help you. Please hold for just a moment while I bring them in."

Resolution Acknowledgment

Say"Thank you again for reaching out to us. Your experience matters, and we appreciate you giving us the opportunity to address your concern. If you need anything else or have follow-up questions, please don't hesitate to contact us — your reference number is complaint.referenceNumber."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat▣ text

Claims Intake

InsuranceClaimsIntake

Welcome & Policy Lookup

Say"Thank you for contacting us. I'm here to help you report a new claim. To get started, could you please provide your policy number or the name on the account?"

PolicyManagement.LookupPolicy using policy.number or customer.name

  • Policy record found, status active identity-verification
  • Policy record found, status lapsed or expired lapsed-policy
  • Policy record not found after two attempts escalation-human
  • System unavailable CRM.LogInteraction with caller details system-unavailable

Identity Verification

Say"I found an account. For your security, I need to verify your identity before we proceed. Could you please confirm your date of birth and the ZIP code on the policy?"

IdentityVerification.Verify using policy.number and provided identifiers

  • Identity verified on first or second attempt loss-details-collection
  • Identity not verified on primary identifiers secondary-identity-check

Secondary Identity Check

Say"I wasn't able to verify your identity with those details. Let me try a couple of alternative questions. Could you confirm the last four digits of the SSN on the account, or the email address we have on file?"

IdentityVerification.VerifySecondary using policy.number

  • Identity verified with secondary identifiers loss-details-collection
  • Identity still unverified identity_failed escalation-human

Loss Details Collection

Say"Thank you — your identity is confirmed. I'm sorry to hear you've experienced a loss. I'd like to gather a few details about what happened so we can open your claim. Please take your time."
Say"First, can you tell me the date the loss occurred, the location, and a brief description of what happened?"
  • Customer provides loss date, location, and description damages-and-injuries-check
  • Customer is distressed or mentions injuries or fatalities escalation-complex-loss

Damages & Injuries Check

Say"Thank you. Are there any injuries involved, and can you give me a rough sense of the damages — for example, is a vehicle undriveable, or is a property uninhabitable?"
Detect
severity indicators in customer response — injuries, fatalities, large-scale damage, legal intent
  • Customer reports injuries, fatality, or catastrophic loss high_severity escalation-complex-loss
  • Customer mentions intent to involve legal counsel legal_intent escalation-complex-loss
  • No injuries, damages appear routine coverage-check

Coverage Check

kb.coverage-rules — verify loss.type falls within policy.coverageType scope and that loss.date is within the active policy period

Agent
assess whether the reported loss type and circumstances fall within the active policy's coverage scope.
Goal:determine if the claim can proceed as standard intake, needs adjuster-review flagging, or falls into a clear exclusion category.
Constraints:never outright deny a claim to the customer — if exclusion is possible, flag for adjuster review rather than refusing; never proceed to claim creation if policy status is not confirmed active at time of loss.
Tools available:PolicyManagement.GetCoverageDetails, kb.coverage-rules
  • Coverage confirmed active and loss type within scope coverage_confirmed claim-record-creation
  • Loss type appears potentially excluded or ambiguous coverage_ambiguous flagged-adjuster-review
  • Policy was not active on loss.date coverage_inactive lapsed-policy

Claim Record Creation

Say"Everything looks good — I'm creating your claim record now. Just one moment."

ClaimsManagement.CreateClaim with policy.number, customer.name, loss.date, loss.location, loss.description, loss.damages, loss.type

CRM.UpdateContact with customer.preferredContact and claim reference

ClaimsManagement.GetClaimID -> claim.id

  • Claim record created successfully claim_created claim-confirmation
  • System error during claim creation system_error system-unavailable

Claim Confirmation

Say"Your claim has been successfully submitted. Your claim number is claim.id — please keep this for your records. A claims adjuster will be in touch within claim.adjusterContactWindow business days via your preferred contact method."
Say"In the meantime, please preserve any evidence, avoid disposing of damaged property, and document everything with photos if possible. Is there anything else you'd like to know before we wrap up?"

CRM.SendConfirmation to customer.email or customer.phone with claim.id and next-steps summary

  • Customer has additional questions claim-next-steps
  • Customer is satisfied, no further questions resolution

Claim Next Steps

kb.claims-process-guide — retrieve adjuster contact timeline, documentation requirements, and repair/replacement process for policy.coverageType

Say"Happy to walk you through what happens next. Once our adjuster reaches out, they'll schedule an inspection or request documentation depending on your coverage type. You can also track your claim status online using your claim number claim.id."
Say"Do you have any other questions, or is there anything else I can help you with today?"
  • Customer satisfied resolution
  • Customer wants to add more details to the claim ClaimsManagement.UpdateClaim claim-confirmation
  • Customer requests escalation escalation-human

Flagged for Adjuster Review

Say"Thank you for those details. Based on what you've described, I want to make sure your claim receives the right level of review. I'm going to open a claim record and flag it for a specialist who can assess the coverage details carefully."

ClaimsManagement.CreateClaim with policy.number, customer.name, loss.date, loss.location, loss.description, loss.damages, loss.type, flag: coverage_review_required

ClaimsManagement.GetClaimID -> claim.id

CRM.UpdateContact with customer.preferredContact and claim reference

Say"Your claim number is claim.id. A claims specialist will review your policy terms and contact you within claim.adjusterContactWindow business days. We won't make any coverage determination until that review is complete."

CRM.SendConfirmation to customer.email or customer.phone with claim.id and review-pending notice

resolution

Lapsed Policy

Say"I can see your policy — however, it appears that the coverage was not active on the date of the loss. Unfortunately, we're unable to open a claim for a period when the policy was lapsed or expired."

kb.reinstatement-options — retrieve available reinstatement paths for policy.coverageType

Say"I understand this is difficult news. I can share some options around reinstating your policy for future coverage. Would you like me to walk you through those options, or would you prefer to speak with a specialist?"
  • Customer wants reinstatement information CRM.LogInteraction tag: reinstatement-interest escalation-human
  • Customer acknowledges and ends interaction resolution

System Unavailable

Say"I apologize — our claims system is experiencing a temporary issue and I'm unable to create your claim record electronically right now. I want to make sure your report is captured so nothing is lost."

CRM.LogManualClaimDetails with customer.name, customer.phone, customer.email, loss.date, loss.location, loss.description, loss.damages, loss.type, policy.number, flag: manual_follow_up_required

Say"I've logged all of your details securely. You will receive a confirmation and a claim number via your preferred contact method within one business day once our systems are restored. I'm sorry for the inconvenience."
  • Customer accepts and ends interaction resolution
  • Customer is dissatisfied and requests immediate escalation escalation-human

Escalation — Complex or High-Severity Loss

CRM.LogInteraction with full loss details, flag: high_severity

ClaimsManagement.CreatePriorityAlert with loss.description, loss.injuries, policy.number

Say"Based on what you've described, I want to make sure you're connected immediately with a senior claims specialist who handles complex situations like this. I'm escalating your case right now — please stay on the line."

Escalation to Human Agent

CRM.LogInteraction with full context, flag: human_review_required

Say"I'm going to connect you with one of our team members who can assist you further. Please hold for just a moment — thank you for your patience."

Resolution

Say"Thank you for reaching out, and I'm sorry again about your loss. We'll be in touch soon, and please don't hesitate to contact us if you need anything in the meantime. Take care."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat▣ text

Claim Status Inquiry

InsuranceClaimsSupport

Intake and Verification

Say"Thank you for contacting us. I'm here to help with your claim. Can I please have your full name, policy number, and either your claim number or date of loss?"

CRM.LookupCustomer using customer.fullName and policy.number

Say"To protect your account, I'll need to verify your identity. Could you please provide your date of birth or the last four digits of your Social Security Number?"

IdentityVerification.Verify using customer.dateOfBirth or customer.ssnLast4 against policy.number

  • Identity verified successfully verified claim-record-lookup
  • Identity verification fails or information does not match unverified identity-failure
  • Customer mentions legal action, complaint, or attorney representation escalation-intent escalation-special-handling

Claim Record Lookup

ClaimsManagementSystem.GetClaim using claim.number or claim.dateOfLoss and policy.number

  • Claims system returns record successfully claim-triage
  • Claims system is unavailable or returns an error system-down system-unavailable

Claim Triage

Detect
special handling flags on claim record — litigation, attorney-represented, fatality, major injury, or special handling
  • claim.litigationFlag or claim.attorneyFlag or claim.specialHandlingFlag is set special_handling escalation-special-handling
  • claim.fatalityFlag or major injury indicator is set major_injury escalation-special-handling
  • Claim status is denied denied denial-status
  • Claim status is approved, paid, under review, received, or closed standard_status standard-status-delivery

Standard Status Delivery

Say"I've pulled up your claim. Here's the current status: claim.status."

PolicyAdministrationSystem.GetOutstandingItems for claim.number

  • Outstanding action items exist for the customer items_outstanding outstanding-items-review
  • No outstanding items and claim is closed or paid resolution-and-close
  • No outstanding items and claim is still in progress resolution-and-close

Outstanding Items Review

Say"There are a few things we still need from you to move your claim forward. Let me go through those now."

kb.claims-outstanding-items-guide — reference for explaining document or action requirements to policyholders

Say"The outstanding items on your claim are: claim.outstandingItems. Once we receive those, our team will continue processing your claim. Would you like me to send a summary of these items to your preferred contact on file?"

CRM.LogInteraction with claim.number, customer.fullName, outstanding items noted, preferred contact customer.preferredContact

  • Customer requests follow-up summary TicketingPlatform.SendSummary to customer.preferredContact resolution-and-close
  • Customer has no further requests resolution-and-close

Denial Status

Say"I can see that a decision was made on your claim. I'm sorry to share that it was denied. The reason noted on file is: claim.denialReasonCode."

kb.claims-appeals-process — retrieve current appeals eligibility window, required forms, and submission instructions

Say"You do have the right to appeal this decision. I can walk you through the appeals process, including the timeframe and what documentation you'll need to submit. Would you like me to do that?"

CRM.LogInteraction with claim.number, denial reason claim.denialReasonCode, appeals information provided

  • Customer wants appeals information explained appeals-guidance
  • Customer expresses intent to file complaint or legal action escalation-intent escalation-special-handling
  • Customer declines appeals information and has no further questions resolution-and-close

Appeals Guidance

kb.claims-appeals-process — confirm deadlines, required forms, and submission address or portal link

Say"To file an appeal, you'll need to submit a written request along with any supporting documentation within the timeframe specified in your policy. I can send the appeal form and instructions directly to your preferred contact. Is there anything else you'd like me to clarify about the process?"

TicketingPlatform.SendAppealInstructions to customer.preferredContact with claim.number

CRM.LogInteraction with claim.number, appeals guidance provided, instructions sent to customer.preferredContact

  • Customer has additional questions resolution-and-close
  • Customer has no further questions resolution-and-close

Identity Failure

Say"I'm sorry — I wasn't able to verify your identity with the information provided, which means I'm unable to share claim details at this time. This is to protect the security of your account."

IdentityVerification.SendSecureLink to customer.preferredContact

Say"I've sent a secure verification link to the contact information we have on file. Once you complete that step, you'll be able to access your claim details through the portal, or you're welcome to call back and we can try again. Is there anything else I can help you with today?"

CRM.LogInteraction with policy.number, identity verification failed, secure link sent

System Unavailable

Say"I apologize — our claims system appears to be temporarily unavailable, and I'm not able to pull up your record right now. I don't want to leave you without an answer."

TicketingPlatform.CreateInquiry with customer.fullName, policy.number, claim.number, claim.dateOfLoss, customer.preferredContact — generate ticket.referenceNumber

Say"I've logged your inquiry and assigned it a reference number: ticket.referenceNumber. A member of our claims team will follow up with you within one business day using your preferred contact method. Is there anything else I can note on your behalf?"

CRM.LogInteraction with ticket.referenceNumber, system unavailability noted, callback committed

Escalation — Special Handling

Agent
assess the case context to prepare a complete handoff package for the claims legal or special handling team.
Goal:compile all available claim identifiers, flags, and customer-stated concerns so the receiving team can act immediately without re-contacting the customer for basic information.
Constraints:do not comment on claim merits, liability, settlement posture, or legal strategy; do not confirm or deny specific claim details beyond what has already been shared prior to flag detection; always notify the customer that a specialist is taking over before transferring.
Tools available:CRM.LogInteraction, TicketingPlatform.CreatePriorityCase, kb.special-handling-routing-guide
Say"I want to make sure your situation receives the right level of attention. I'm going to transfer you to our specialized claims team who handles cases like yours directly. They'll have your information and will be able to assist you fully."

TicketingPlatform.CreatePriorityCase with customer.fullName, policy.number, claim.number, claim.specialHandlingFlag, claim.litigationFlag, claim.fatalityFlag, claim.attorneyFlag, escalation reason noted

CRM.LogInteraction with claim.number, escalation to special handling team, reason flagged

  • Handoff package complete and specialist team notified escalation_ready escalation-human

Escalation to Human Specialist

Say"I'm now connecting you with a claims specialist. Please hold for just a moment — they have your information and will pick up right where we left off. Thank you for your patience."

CRM.UpdateCase priority: high, assigned to claims-special-handling-team, ticket.referenceNumber noted

Resolution and Close

Say"Just to recap: your claim claim.number is currently showing as claim.status. If anything changes or you have additional questions, don't hesitate to reach back out — we're happy to help."

CRM.LogInteraction with claim.number, inquiry resolved, status communicated, no further action required

Say"Is there anything else I can help you with today?"
  • Customer has additional questions or a new topic intake-and-verification
  • Customer confirms no further questions — interaction complete
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ chat▣ sms▣ text

Check-in / Check-out Assistance

TravelHospitalityFront DeskCheck-inCheck-out

Contact & Intent Capture

Say"Welcome! I'm here to help you with your hotel check-in or check-out. Are you checking in, checking out, or do you need help with a reservation issue?"
  • Guest says checking in intent-checkin reservation-lookup-checkin
  • Guest says checking out intent-checkout reservation-lookup-checkout
  • Guest mentions a problem or issue intent-issue reservation-lookup-checkin
  • Intent is unclear unclear clarify-intent

Clarify Intent

Say"No problem — could you tell me a little more about what you need today? For example, are you arriving and need your room, or are you departing and have a question about your bill?"
  • Guest clarifies check-in intent-checkin reservation-lookup-checkin
  • Guest clarifies check-out intent-checkout reservation-lookup-checkout
  • Still unclear after two attempts still-unclear escalation-human

Reservation Lookup — Check-in

Say"Great, let's get you checked in. Could you please share your reservation confirmation number and the name on the booking?"

PMS.LookupReservation using reservation.confirmationNumber and guest.fullName

  • Reservation found, arrival date matches reservation.arrivalDate identity-verification
  • Reservation not found by confirmation number reservation-not-found
  • System lookup error system-error escalation-human

Reservation Lookup — Check-out

Say"Of course — let's pull up your stay. Could you share your confirmation number or the name on the reservation?"

PMS.LookupReservation using reservation.confirmationNumber and guest.fullName

  • Reservation found, departure date matches reservation.departureDate folio-review
  • Reservation not found by confirmation number reservation-not-found
  • System lookup error system-error escalation-human

Reservation Not Found

Say"I wasn't able to find a reservation with that confirmation number. Let me try a few other ways to locate your booking."

PMS.SearchByNameAndDate using guest.fullName and reservation.arrivalDate

CRM.LookupGuestProfile using guest.email or guest.loyaltyId

  • Reservation found by name and date search identity-verification
  • Reservation appears to be a third-party booking third-party-booking PMS.RequestThirdPartyImport for booking.thirdPartySource third-party-import-pending
  • No reservation found after all searches escalation-human

Third-Party Import Pending

Say"It looks like your booking was made through a third-party site. I've initiated a request to import those details, which can take a few minutes. Could I place you on a brief hold, or would you prefer I send you an update as soon as it's ready?"
  • Guest agrees to wait, import completes successfully identity-verification
  • Guest prefers callback or notification CRM.CreateCallback for guest.phone or guest.email resolution-pending-notification
  • Import fails after retry import-failed escalation-human

Identity Verification

Say"To protect your security, I need to verify your identity. Could you please confirm your date of birth, loyalty account number, or the last four digits of the card used to hold the reservation?"

IDVerification.VerifyGuest using guest.fullName, guest.loyaltyId, and reservation.confirmationNumber

  • Identity verified successfully identity-verified room-readiness-check
  • Identity cannot be verified after two attempts identity-failed escalation-human

Room Readiness Check

PMS.CheckRoomStatus for reservation.roomType and reservation.specialRequests

  • Room is ready and assigned room.number is available room-ready room-assignment-confirm
  • Room is not yet ready room-not-ready room-not-ready-options
  • No room available due to overbooking overbooked escalation-human

Room Assignment Confirmation

Say"Great news — your room room.number is ready and waiting for you. Let me issue your digital key now."

DigitalKeySystem.IssueKey for room.number linked to guest.email or guest.phone

CRM.UpdateGuestProfile with check-in timestamp and room.number

PMS.RecordCheckIn for reservation.confirmationNumber

Say"Your digital key has been sent to guest.email. Your room is room.number. Is there anything else I can help you with — extra pillows, dining reservations, or local recommendations?"
  • Guest has additional requests additional-requests special-requests-handling
  • Guest is satisfied and done satisfied resolution-checkin-complete

Room Not Ready — Options

Say"Your room isn't quite ready yet, but I have a few options to make your wait comfortable. I can arrange luggage storage, provide access to our lounge, or send you a notification the moment your room is ready. Which would you prefer?"
  • Guest requests luggage storage PMS.ArrangeLuggageStorage for guest.fullName ready-room-alert-setup
  • Guest requests lounge access PMS.GrantLoungeAccess for guest.loyaltyId ready-room-alert-setup
  • Guest wants notification only ready-room-alert-setup
  • Guest is frustrated or insists on immediate room frustrated escalation-human

Ready-Room Alert Setup

PMS.SetReadyRoomAlert for reservation.confirmationNumber, notify via guest.phone or guest.email

Say"Perfect — I've set that up for you. You'll receive a message at guest.phone as soon as your room is ready. In the meantime, is there anything else I can arrange?"
  • Guest has further needs additional-requests special-requests-handling
  • Guest is happy to wait satisfied resolution-pending-notification

Special Requests Handling

Say"Of course — happy to note that. What can I arrange for you?"

PMS.UpdateSpecialRequests for reservation.confirmationNumber with reservation.specialRequests

CRM.LogGuestPreference for guest.loyaltyId

  • Request logged successfully, guest is satisfied resolution-checkin-complete
  • Request cannot be fulfilled, requires manager input escalation-human

Folio Review

BillingSystem.GenerateFolio for reservation.confirmationNumber

BillingSystem.SendItemizedFolio to guest.email with folio.itemizedUrl

Say"I've pulled up your folio — the total comes to folio.total. I've sent an itemized breakdown to guest.email. Would you like me to walk you through the charges, or does everything look correct?"
  • Guest confirms all charges are correct confirmed checkout-processing
  • Guest has a question about a charge question folio-explanation
  • Guest disputes a charge dispute charge-dispute

Folio Explanation

Say"Of course — let me explain that line item. The charge for dispute.lineItem reflects the rate agreed at booking, plus applicable taxes and any incidentals. Does that make sense?"

kb.billing-policy — review applicable rate, tax, and incidental policies

  • Guest accepts the explanation confirmed checkout-processing
  • Guest still disputes after explanation still-disputes charge-dispute

Charge Dispute

Agent
review dispute.lineItem and dispute.amount against kb.billing-policy and reservation details to determine if a correction is warranted.
Goal:resolve the disputed charge fairly — apply a correction if within agent adjustment authority, or route to a supervisor if it exceeds policy limits.
Constraints:never approve adjustments above USD 150 without supervisor approval; always log every adjustment in the billing system; never remove taxes or mandatory fees unilaterally.
Tools available:BillingSystem.GetLineItemDetail, BillingSystem.ApplyAdjustment, kb.billing-policy, CRM.LogDispute
  • Dispute is valid and within adjustment authority adjustment-approved BillingSystem.ApplyAdjustment for dispute.amount checkout-processing
  • Dispute is valid but exceeds adjustment authority exceeds-authority escalation-human
  • Dispute is not supported by policy dispute-denied dispute-denial-explanation

Dispute Denial Explanation

Say"I've reviewed that charge carefully, and based on our policy it reflects a valid and agreed-upon amount. I'm sorry I'm not able to remove it, but I want to make sure you feel heard. Would you like me to escalate this for a second review, or are you comfortable proceeding with check-out?"
  • Guest accepts and wants to proceed accepted checkout-processing
  • Guest wants escalation wants-escalation escalation-human

Check-out Processing

BillingSystem.SettleFolio for reservation.confirmationNumber

PMS.RecordCheckOut for reservation.confirmationNumber

DigitalKeySystem.DeactivateKey for room.number

CRM.UpdateGuestProfile with check-out timestamp and stay summary

Say"You're all checked out — your final receipt has been sent to guest.email. It was a pleasure having you with us. Safe travels, guest.fullName!"
  • Guest has feedback or further questions feedback post-stay-feedback
  • Guest is satisfied and done satisfied resolution-checkout-complete

Post-Stay Feedback

Say"I'd love to hear your thoughts — your feedback helps us improve. What stood out during your stay, and is there anything we could have done better?"

CRM.LogFeedback for guest.loyaltyId and reservation.confirmationNumber

  • Feedback logged, guest is done resolution-checkout-complete
  • Guest raises a serious concern or complaint serious-complaint escalation-human

Outside Hours — Self-Service or On-Call

Say"It looks like our front desk is currently unstaffed. I have two options for you: I can activate self-service key retrieval at the kiosk, or I can page our on-call team member to assist you right away. Which would you prefer?"

PMS.CheckSelfServiceKioskAvailability

  • Self-service kiosk is available and guest agrees kiosk-ready DigitalKeySystem.IssueKioskKey for reservation.confirmationNumber room-assignment-confirm
  • Guest prefers on-call staff or kiosk is unavailable escalation-human

Escalation to Human Agent

CRM.CreateUrgentCase for guest.fullName, reservation.confirmationNumber, and reason for escalation

PMS.FlagReservation with escalation status

Say"I want to make sure you're taken care of properly. I'm connecting you now with a team member who has the authority to resolve this right away. Thank you for your patience, guest.fullName."

Resolution — Check-in Complete

Say"You're all set and checked in! Enjoy your stay, guest.fullName. Don't hesitate to reach out if you need anything at all."

Resolution — Check-out Complete

Say"Everything is wrapped up. Thank you for staying with us, guest.fullName — we hope to welcome you back soon!"

Resolution — Pending Notification

Say"You're all set for now. We'll be in touch at guest.phone or guest.email as soon as your room is ready. Thanks for your patience!"
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ sms

Card Lost / Stolen Replacement

Financial ServicesCard ServicesLoss Prevention

Intake

Say"Thank you for reaching out. I understand you'd like to report a lost or stolen card — I'll help you get this resolved right away. First, I need to verify your identity to protect your account."
  • Customer confirms card is lost confirmed identity-verification
  • Customer mentions unauthorized charges or suspected fraud fraud_concern identity-verification-fraud
  • Customer is unresponsive or unclear identity-verification

Identity Verification

Say"I'll need to verify a few details. Can you please provide your full name, date of birth, and either the last four digits of your Social Security Number or your card PIN?"

KYCVerification.VerifyIdentity with customer.name, customer.dob, customer.ssn_last4, customer.pin

Detect
identity verification outcome
  • Verification passes on first or second attempt verified card-block
  • Verification fails after multiple attempts failed verification-failure

Identity Verification — Fraud Path

Say"I'm sorry to hear that. Before we proceed, I need to verify your identity to protect your account. Can you please provide your full name, date of birth, and either the last four digits of your Social Security Number or your card PIN?"

KYCVerification.VerifyIdentity with customer.name, customer.dob, customer.ssn_last4, customer.pin

Detect
identity verification outcome
  • Verification passes verified card-block-fraud
  • Verification fails after multiple attempts failed verification-failure

Card Block

Say"Thank you — I've verified your identity. I'm blocking your card ending in card.last4 right now to prevent any unauthorized use."

CardManagement.BlockCard for card.id

CoreBanking.UpdateAccountStatus on account.id flagged: card-blocked

Salesforce.CreateCase type: card-lost-stolen, linked to account.id

Say"Your card has been blocked. Can you tell me approximately when and where you last used or had your card? This helps us note the details on your case."
  • Customer provides last seen details address-confirmation
  • Customer cannot recall details address-confirmation

Card Block — Fraud Path

Say"Thank you. I'm blocking your card ending in card.last4 immediately."

CardManagement.BlockCard for card.id

FraudDetection.FlagAccount on account.id tagged: unauthorized-transactions

CoreBanking.UpdateAccountStatus on account.id flagged: card-blocked-fraud

Salesforce.CreateCase type: fraud-card-lost-stolen, priority: high, linked to account.id

Say"Your card has been blocked. Because you've mentioned unauthorized transactions, I'll also need to connect you with our fraud team to open a dispute. Before I do, let me confirm your replacement card details."
  • Proceed to address confirmation for replacement address-confirmation-fraud

Address Confirmation

Say"To send your replacement card, I have your address on file as customer.address. Would you like us to ship to this address, or would you prefer a different one?"
Detect
customer address preference
  • Customer confirms existing address confirmed replacement-issuance
  • Customer requests a new or different address new_address address-review

Address Confirmation — Fraud Path

Say"I have your address on file as customer.address. Should we send the replacement card here, or would you prefer a different address?"
Detect
customer address preference
  • Customer confirms existing address confirmed replacement-issuance-fraud
  • Customer requests a new or different address new_address address-review

Address Review

Say"I've noted the new address you'd like us to use. Because this address is different from what we have on file, our team will need to verify it before we can ship your replacement — this usually takes one business day."

Salesforce.UpdateCase add: unrecognized-replacement-address, replacement.address, flagged-for-review

ShippingFulfillment.HoldOrder pending address verification on account.id

Approval
Slack.RequestApproval to #card-services-review, approver: card_ops_supervisor
Context sent:account.id, customer.name, replacement.address, case reference
  • Address approved approved replacement-issuance
  • Address flagged or rejected rejected escalation-human

Replacement Issuance

Say"Great — I'll get your replacement card ordered now. Would you like standard delivery, or do you need your card sooner? I can check if expedited or same-day delivery is available for you."

ShippingFulfillment.CheckExpedited for account.id

Detect
customer delivery preference
  • Customer requests expedited and delivery.expedited_eligible is true expedited replacement-expedited
  • Customer accepts standard delivery standard replacement-standard
  • Expedited requested but not eligible expedited replacement-standard

Replacement Issuance — Fraud Path

Say"I'll get your replacement card ordered now. Standard delivery typically takes five to seven business days. Would you also like to check expedited options?"

ShippingFulfillment.CheckExpedited for account.id

Detect
customer delivery preference
  • Customer requests expedited and delivery.expedited_eligible is true expedited replacement-expedited-fraud
  • Customer accepts standard delivery standard replacement-standard-fraud

Replacement — Standard

CardManagement.IssueReplacementCard for account.id, ship to customer.address, method: standard

ShippingFulfillment.CreateShipment linked to account.id, capture replacement.tracking_number

Salesforce.UpdateCase add: replacement-issued-standard, replacement.tracking_number

Say"Your replacement card has been ordered and will arrive in five to seven business days. You'll receive a tracking number at customer.email once it ships. In the meantime, would you like me to activate a temporary digital card for mobile or online use?"
  • Customer wants digital card digital-card-offer
  • Customer declines digital card resolution

Replacement — Expedited

CardManagement.IssueReplacementCard for account.id, ship to customer.address, method: expedited

ShippingFulfillment.CreateShipment linked to account.id, method: expedited, capture replacement.tracking_number

Salesforce.UpdateCase add: replacement-issued-expedited, replacement.tracking_number

Say"I've arranged expedited delivery — your replacement card should arrive within one to two business days. Tracking details will be sent to customer.email. Can I also set up a temporary digital card for you in the meantime?"
  • Customer wants digital card digital-card-offer
  • Customer declines resolution

Replacement — Standard (Fraud Path)

CardManagement.IssueReplacementCard for account.id, ship to customer.address, method: standard

ShippingFulfillment.CreateShipment linked to account.id, capture replacement.tracking_number

Salesforce.UpdateCase add: replacement-issued-standard, replacement.tracking_number

Say"Your replacement card is on its way — expected in five to seven business days. A tracking number will be sent to customer.email. I'm now going to transfer you to our fraud team so they can review the unauthorized charges and open a dispute on your behalf."

escalation-fraud

Replacement — Expedited (Fraud Path)

CardManagement.IssueReplacementCard for account.id, ship to customer.address, method: expedited

ShippingFulfillment.CreateShipment linked to account.id, method: expedited, capture replacement.tracking_number

Salesforce.UpdateCase add: replacement-issued-expedited, replacement.tracking_number

Say"Expedited delivery is confirmed — your card should arrive in one to two business days. Tracking details will go to customer.email. Let me now connect you with our fraud team to handle the unauthorized transactions."

escalation-fraud

Digital Card Offer

Agent
determine whether the customer's account and device are eligible for a temporary digital card provisioned via the card management system.
Goal:activate a digital card for the customer if eligible, so they have immediate card access while awaiting physical delivery.
Constraints:only provision digital card if account is in good standing beyond the lost card event; never provision if fraud flag is active on the account; do not override card management eligibility checks.
Tools available:CardManagement.CheckDigitalEligibility, CardManagement.ProvisionDigitalCard, CoreBanking.GetAccountStatus
  • Digital card provisioned successfully provisioned resolution
  • Customer not eligible or provisioning fails ineligible resolution

Verification Failure

Say"I'm sorry — I wasn't able to verify your identity with the information provided, and for your security I'm unable to make changes to the account without successful verification. To protect your account, I'd recommend visiting a branch with a government-issued photo ID, where our team can assist you in person."

Salesforce.CreateCase type: identity-verification-failure, priority: high, linked to account.id

Salesforce.LogNote add: customer-directed-to-branch, verification-failed

Say"Is there anything else I can help you with today, or would you like us to note your nearest branch location?"
  • Customer wants branch info escalation-human
  • Customer ends interaction resolution-no-action

Escalation — Fraud Team

FraudDetection.OpenDisputeCase linked to account.id, flagged: unauthorized-transactions, transaction.unauthorized_flag

Salesforce.UpdateCase priority: high, tagged: fraud-escalation, dispute-opened

Slack.Notify to #fraud-ops with case summary, account.id, card.last4

Say"I'm transferring you now to a fraud specialist who will review the disputed transactions and guide you through the dispute process. Your case reference has been shared with them. Thank you for your patience."

Escalation — Human Agent

Salesforce.UpdateCase priority: high, tagged: manual-review-required

Slack.Notify to #card-services-review with case summary, account.id, customer.name

Say"I'm connecting you with a senior member of our team who can assist you further. I've shared your case details with them so you won't need to repeat yourself. Thank you for your patience."

Resolution

Say"To recap: your card ending in card.last4 has been blocked, a replacement is on its way, and your tracking details will be sent to customer.email. Your account is secure. Is there anything else I can help you with today?"

Salesforce.CloseCase resolution: card-replaced, linked to account.id

Resolution — No Action Taken

Say"Understood. Your card has been blocked as a precaution to protect your account. When you're ready to request a replacement or visit a branch, don't hesitate to reach out. Take care."

Salesforce.CloseCase resolution: blocked-no-replacement-issued, linked to account.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat▣ email

Cancellation Request

InsuranceCancellationRetention

Intake & Identity Verification

Say"Thank you for contacting us. I can help you with a cancellation request today. To get started, I'll need to verify your identity. Could you please provide your full name, date of birth, and policy number?"

CRM.LookupCustomer using customer.fullName and customer.dateOfBirth

PolicyManagement.LookupPolicy using policy.number

Detect
identity verification outcome
  • Identity confirmed and policy found confirmed reason-capture
  • Identity cannot be confirmed after two attempts unverified escalation-identity-failure
  • Policy number not found or does not match customer record mismatch escalation-identity-failure

Reason Capture

Say"Thank you, I've verified your account. Before I process your cancellation request, could you tell me the reason you'd like to cancel, and what effective date you have in mind for the cancellation?"

CRM.LogInteraction tag: cancellation-request, policy.number

Detect
cancellation reason category
  • Customer states price is too high or service dissatisfaction price-or-service retention-offer
  • Customer states they are switching providers switching active-claim-check
  • Customer states coverage no longer needed coverage-not-needed active-claim-check
  • Any other stated reason other-reason active-claim-check

Retention Offer

Say"I'm sorry to hear that. Before we proceed with the cancellation, I'd like to see if there's something we can do to address your concerns. We may be able to offer a premium discount, adjust your coverage levels, or explore a payment plan that better fits your budget."

kb.retention-offers — check available discounts and coverage adjustment options for policy.type

  • Customer is open to hearing options interested present-retention-options
  • Customer declines and confirms they want to cancel declines-retention active-claim-check

Present Retention Options

Agent
present the best-fit retention option to the customer based on cancellation.reason, policy.type, and kb.retention-offers.
Goal:identify and offer one or two targeted retention alternatives — discount, coverage adjustment, or payment plan — that directly address the customer's stated reason for cancelling.
Constraints:never promise a discount not listed in kb.retention-offers; never modify the policy without explicit customer confirmation; always confirm the customer understands the new terms before applying any change.
Tools available:PolicyManagement.GetPolicyDetails, BillingPayments.GetPaymentHistory, kb.retention-offers
  • Customer accepts a retention offer and wants to keep the policy retained PolicyManagement.ApplyRetentionChange retention-confirmed
  • Customer hears the options and still wants to cancel still-cancelling active-claim-check

Retention Confirmed

Say"Wonderful — I've applied the change to your policy. You'll receive a confirmation email shortly outlining the updated terms. Is there anything else I can help you with today?"

DocumentDelivery.SendEmail to customer.email with updated policy summary

Active Claim Check

PolicyManagement.CheckActiveClaims for policy.number

Detect
active claim status on policy
  • No active claims found no-claims effective-date-check
  • Active claim found on policy active-claim escalation-active-claim

Effective Date Check

PolicyManagement.ValidateCancellationDate using cancellation.requestedDate and policy.effectiveDate

kb.cancellation-backdating-rules — check whether backdating is permitted for policy.type

Detect
requested effective date validity
  • Requested date is today or in the future date-valid cancellation-terms-review
  • Requested date is in the past and backdating is permitted per policy rules backdating-permitted cancellation-terms-review
  • Requested date is in the past and backdating is not permitted backdating-not-permitted flag-backdating-issue

Flag Backdating Issue

Say"I see you've requested a cancellation date that falls in the past. Unfortunately, our policy guidelines don't allow us to backdate cancellations to that date. The earliest effective date we can process is today. Would you like to proceed with today's date, or would you prefer a future date?"
Detect
customer response to backdating limitation
  • Customer accepts today's date or a future date accepts-new-date cancellation-terms-review
  • Customer disputes the backdating limitation and refuses disputes-backdating escalation-fee-or-policy-dispute

Cancellation Terms Review

BillingPayments.GetOutstandingBalance for policy.number

BillingPayments.CalculateRefund for policy.number and cancellation.requestedDate

Say"Before I finalize the cancellation, let me go over the terms with you. Your policy will be cancelled effective cancellation.requestedDate. Any outstanding balance of policy.cancellationFee will need to be settled, and your estimated refund is policy.refundAmount. Do you have any questions about these terms before we proceed?"
Detect
customer response to cancellation terms
  • Customer confirms and wants to proceed confirmed-terms authorization-check
  • Customer disputes the cancellation fee disputes-fee escalation-fee-or-policy-dispute
  • Customer wants to reconsider reconsider reason-capture

Authorization Check

kb.cancellation-authorization-rules — check whether policy.type requires a licensed agent or supervisor to authorize

Detect
authorization requirement for policy type
  • Standard policy — no additional authorization required standard-auth process-cancellation
  • Policy type requires licensed agent or supervisor authorization requires-supervisor escalation-supervisor-authorization

Process Cancellation

PolicyManagement.CancelPolicy policy: policy.number, effectiveDate: cancellation.requestedDate

BillingPayments.ProcessRefund amount: policy.refundAmount, to: customer.email

CRM.UpdateRecord tag: policy-cancelled, policy.number, cancellation.reason

DocumentDelivery.SendEmail to customer.email with cancellation confirmation and cancellation.confirmationNumber

Say"Your policy has been successfully cancelled effective cancellation.requestedDate. You'll receive a confirmation email at customer.email shortly, which includes your confirmation number and refund details. Is there anything else I can help you with today?"

cancellation-complete

Cancellation Complete

Say"Thank you for being a customer with us. If you ever need coverage again in the future, we'd be happy to help. Take care."

CRM.LogInteraction tag: cancellation-complete, policy.number, cancellation.confirmationNumber

Escalation — Active Claim on Policy

Say"I've found that there is currently an active claim on your policy. We're unable to process a cancellation while a claim is open, as this could affect your coverage for that claim. I'm going to connect you with a specialist who can walk you through your options and the implications in detail."

CRM.LogInteraction tag: escalation-active-claim, policy.number, claim.id, claim.status

CRM.CreateCase priority: high, tag: cancellation-blocked-active-claim, policy.number

Escalation — Identity Failure

Say"I'm sorry, but I'm unable to verify your identity with the information provided, which means I can't process this request over the phone. For your security, cancellation requests can be submitted in writing by visiting a branch or mailing a signed request to the address on your policy documents. We can also send a secure email link if you have your email on file with us."

CRM.LogInteraction tag: identity-verification-failed, policy.number

Escalation — Fee or Policy Dispute

Say"I understand your concern, and I want to make sure this is handled fairly. I'm going to escalate this to a senior member of our team who has the authority to review and address your dispute directly."

CRM.CreateCase priority: high, tag: cancellation-dispute, policy.number, cancellation.reason

CRM.LogInteraction tag: escalation-dispute, policy.number

Escalation — Supervisor Authorization Required

Say"Your policy type requires authorization from a licensed agent or supervisor before the cancellation can be finalized. I'm going to transfer you now — everything we've discussed is noted on your account so you won't need to repeat it."

CRM.LogInteraction tag: escalation-supervisor-auth-required, policy.number, policy.type

CRM.CreateCase priority: normal, tag: supervisor-auth-cancellation, policy.number

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ text

Cancellation / Retention

TelecomRetentionCancellationSupport

Intent Capture

Say"Thank you for contacting us. I understand you may be thinking about making a change to your account — I'm here to help. Can I start by pulling up your account? Please share your account number or the phone number on file."

CRM.LookupAccount on customer.accountNumber

  • Identity verified successfully verified account-review
  • Identity cannot be confirmed after two attempts escalation-human

Account Review

CRM.GetAccountDetails to load account.planName, account.contractStatus, account.contractEndDate, account.tenure

BillingSystem.GetBalance to load account.outstandingBalance and account.paymentHistory

ContractManagement.GetETF to load account.etfAmount

Say"Thanks, customer.name. I can see your account. Before we go any further, could you help me understand what's prompting you to think about leaving today?"
Detect
cancellation reason category from customer reply
  • Customer cites cost or billing concern reason-cost retention-offer
  • Customer cites service quality or technical issue reason-service complaint-resolution
  • Customer cites competitor offer or plan comparison reason-competitor retention-offer
  • Customer cites relocation or life change reason-life-change retention-offer
  • Customer gives no specific reason or says "just want to cancel" reason-firm etf-disclosure-check

Complaint Resolution

Say"I really appreciate you sharing that with me. It sounds like the experience you've had isn't what we want for you, and I'd like to make sure that's addressed properly before we talk about anything else."

CRM.CreateCase tagged service-complaint, linked to customer.accountNumber

Agent
review account.paymentHistory and case history to determine if the service complaint is resolvable before a retention offer is appropriate.
Goal:assess whether the underlying complaint (technical, billing error, service gap) can be resolved or credibly committed to, so a retention pitch lands on solid ground rather than dismissing the concern.
Constraints:do not make commitments outside documented resolutions; do not skip complaint acknowledgement and route directly to a retention offer; if the complaint involves a billing dispute, confirm with BillingSystem before stating any credit amount.
Tools available:CRM.GetCaseHistory, BillingSystem.GetBillingDetails, kb.complaint-resolution-policy
  • Complaint is resolvable and customer is receptive retention-offer
  • Complaint is complex or customer remains frustrated unresolved_complaint escalation-human

ETF Disclosure Check

ContractManagement.GetETF to confirm account.etfAmount and account.contractStatus

  • Account is within contract and ETF applies etf_applies etf-disclosure
  • Account is out of contract or no ETF no_etf retention-offer

ETF Disclosure

Say"Before we go further, I want to make sure you have the full picture. Because your contract runs until account.contractEndDate, an early termination fee of account.etfAmount would apply if you cancel today. I want to be upfront about that. Would you like me to walk through your options, or do you have questions about that fee?"
Detect
customer response to ETF disclosure
  • Customer acknowledges ETF and still wants to proceed etf-acknowledged retention-offer
  • Customer disputes the ETF amount or asks for a waiver etf-disputed escalation-human
  • Customer is surprised and wants time to think etf-reconsidering retention-offer

Retention Offer

RetentionOfferEngine.GetEligibleOffers for customer.accountNumber, filtered by cancellation.reason, account.tenure, account.paymentHistory

Agent
select the single best retention offer to present to customer.name based on their stated cancellation reason, account profile, and available offers.
Goal:identify the offer most likely to address the customer's specific concern — prioritise bill-credit or discount offers for cost complaints, speed/reliability upgrades for service complaints, and plan-match or loyalty perks for competitor comparisons.
Constraints:present only one offer at a time; do not invent offers not returned by RetentionOfferEngine.GetEligibleOffers; do not offer a discount that exceeds the retention discount authority tier; if account.outstandingBalance is greater than zero, do not bundle a credit into the offer until balance is acknowledged.
Tools available:RetentionOfferEngine.GetEligibleOffers, CRM.GetAccountDetails, kb.retention-offer-policy
  • Suitable offer identified offer_ready present-offer
  • No eligible offers found no_offer outstanding-balance-check

Present Offer

Say"Based on everything on your account and what you've shared, I think I can help. Here's what I can do for you: retention.offerDescription. This offer is available until retention.offerExpiry. Would you like to take advantage of that?"
Detect
customer response to retention offer
  • Customer accepts the offer offer-accepted offer-acceptance
  • Customer asks for something better or different offer-counter secondary-offer
  • Customer declines and still wants to cancel offer-declined outstanding-balance-check

Secondary Offer

Say"I understand — let me see if there's anything else I can do. Give me just a moment."

RetentionOfferEngine.GetEligibleOffers ranked by value, excluding retention.offerId already presented

  • A second distinct offer exists second_offer_available present-second-offer
  • No further offers available no_further_offers outstanding-balance-check

Present Second Offer

Say"Here's another option I can offer you: retention.offerDescription. This is the best I'm able to do from my end. Would this work for you?"
Detect
customer response to second retention offer
  • Customer accepts offer-accepted offer-acceptance
  • Customer declines or remains firm offer-declined outstanding-balance-check

Offer Acceptance

RetentionOfferEngine.ApplyOffer for customer.accountNumber with retention.offerId

CRM.UpdateAccount with retention outcome and retention.offerId applied

Twilio.SendSMS to customer.phone confirming offer details and retention.offerExpiry

Twilio.SendEmail to customer.email with full offer confirmation and updated plan summary

Say"Wonderful — I've applied that to your account right now and you'll receive a confirmation by email and text shortly. We're really glad you're staying, customer.name. Is there anything else I can help you with today?"

Outstanding Balance Check

BillingSystem.GetBalance to confirm account.outstandingBalance

  • Outstanding balance exists on account balance_owing balance-disclosure
  • No outstanding balance balance_clear process-cancellation

Balance Disclosure

Say"Before we proceed, I do need to let you know that there is an outstanding balance of account.outstandingBalance on your account. Cancelling your service does not waive this balance — it will remain due and may be referred to our collections team if unpaid. Would you like to discuss payment options, or would you like to continue with the cancellation?"
Detect
customer response to balance disclosure
  • Customer wants to discuss payment or sort balance first balance-resolve escalation-human
  • Customer acknowledges and confirms they want to proceed with cancellation balance-acknowledged process-cancellation
  • Customer becomes frustrated or disputes the balance balance-disputed escalation-human

Process Cancellation

CRM.InitiateCancellation for customer.accountNumber

BillingSystem.CalculateFinalBill to return transaction.finalBillDate and any remaining charges

ContractManagement.ApplyETF if etf_applies is set on this session

CRM.UpdateAccount with cancellation status and reason cancellation.reason

Say"I've processed your cancellation request. Your service will remain active until transaction.finalBillDate, which is also when your final bill will be generated. You'll receive a written confirmation by email shortly."
  • ETF applies on this account etf_applies cancellation-confirmation-etf
  • No ETF on this account no_etf cancellation-confirmation-clean

Cancellation Confirmation — ETF

Twilio.SendEmail to customer.email with cancellation confirmation, transaction.finalBillDate, account.etfAmount, and balance summary

Twilio.SendSMS to customer.phone with cancellation confirmation summary

Say"A confirmation email is on its way with all the details, including the early termination fee of account.etfAmount. If you have any questions about your final bill, our billing team is available to help. We're sorry to see you go, customer.name, and we hope to be of service again in the future."

Cancellation Confirmation — Clean

Twilio.SendEmail to customer.email with cancellation confirmation, transaction.finalBillDate, and any final balance details

Twilio.SendSMS to customer.phone with cancellation confirmation summary

Say"You're all set. A confirmation email is heading to you now with all the details. We're sorry to see you go, customer.name, and we wish you all the best."

Escalation to Human Agent

CRM.CreateCase priority: high, tagged cancellation-escalation, linked to customer.accountNumber

CRM.AddNote with full session summary: cancellation.reason, offers presented, ETF status, balance status

Twilio.SendSMS to customer.phone: "We're connecting you with a specialist who can assist further."

Say"I want to make sure you get the right support here. I'm going to connect you with a specialist who has the authority and expertise to work through this with you properly. Thank you for your patience, customer.name."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ sms

Branch / ATM Locator & Appointment Booking

Financial ServicesBranchATMAppointmentsLocator

Greeting & Intent Capture

Say"Hello! I'm here to help you find a branch or ATM, or schedule an in-person appointment. Are you looking to find a location near you, or would you like to book an appointment at a branch?"
  • Customer wants to find a branch or ATM find-location location-capture
  • Customer wants to book an appointment book-appointment account-verification
  • Customer mentions a complaint or requests a manager complaint escalation-human
  • Intent is unclear or mixed unclear clarify-intent

Clarify Intent

Say"No problem — I can help with either! Just to make sure I point you in the right direction: are you primarily trying to find a nearby branch or ATM, or are you looking to schedule a visit with someone at a branch?"
  • Customer clarifies location lookup find-location location-capture
  • Customer clarifies appointment booking book-appointment account-verification
  • Customer remains unclear or frustrated frustrated escalation-human

Location Capture

Say"Great! To find the nearest branches and ATMs, could you share your current ZIP code or city?"

MapsGeolocation.DetectLocation from session context if available

  • Location detected automatically from session location-detected location-results
  • Customer provides ZIP code or city manually location-provided location-results
  • Customer cannot or will not provide location no-location location-fallback

Location Fallback

Say"No problem. You can also find branches and ATMs using our branch locator at bankname.com/locations, or call us at any time and we can search by city or state. Is there anything else I can help you with?"
  • Customer provides a ZIP or city after all location-provided location-results
  • Customer is satisfied and done done resolution
  • Customer wants to book an appointment instead book-appointment account-verification

Location Results

BranchATMLocator.Search using customer.zip or customer.city, return top 3 branches and nearest ATMs

Say"Here are the closest options I found for you:"

BranchATMLocator.SurfaceResults including branch.name, branch.address, branch.hours, branch.distance, branch.status, and atm.address, atm.distance

  • One or more branches show as temporarily closed branch-closed closed-branch-handling
  • Customer selects a branch and wants to book an appointment book-appointment account-verification
  • Customer is satisfied with location info only info-only resolution
  • Customer asks about accessibility or language services accessibility accessibility-check

Closed Branch Handling

Say"I see that one or more of those branches is currently closed or has limited hours. Let me pull up the most current hours and the next nearest alternative for you."

BranchATMLocator.GetUpdatedHours for branch.name, surface branch.hours and branch.status

BranchATMLocator.Search for next nearest open branch, surface branch.address and branch.distance

Say"The updated hours for branch.name are branch.hours. The nearest open alternative is branch.address, approximately branch.distance away. Would you like to book an appointment at the open branch, or is this information enough for now?"
  • Customer wants to book at the open alternative book-appointment account-verification
  • Customer satisfied with updated info info-only resolution
  • Customer frustrated or escalates frustrated escalation-human

Accessibility Check

Say"Of course. Could you let me know what you need — for example, wheelchair-accessible facilities, language interpretation services, or anything else? I want to make sure the branch I recommend can fully support you."

BranchATMLocator.FilterByAccessibility using customer.accessibilityNeeds and customer.languagePreference

  • Accessible branch found and customer wants to book book-appointment account-verification
  • Accessible branch found and customer wants info only info-only resolution
  • No fully accessible branch available nearby no-accessible-branch escalation-human

Account Verification

Say"To book an appointment, I just need to confirm a couple of details. Are you an existing account holder with us?"

CRM.LookupCustomer using customer.phone or customer.email

  • Existing customer confirmed account-verified appointment-type-capture
  • Customer is not an existing account holder no-account non-account-holder-handling
  • Unable to verify account status verification-failed manual-account-check

Manual Account Check

Say"I wasn't able to automatically pull up your account. Could you provide the phone number or email address associated with your account so I can look you up?"

CRM.LookupCustomer using customer.phone or customer.email

  • Account found account-verified appointment-type-capture
  • Still unable to verify verification-failed non-account-holder-handling

Non-Account Holder Handling

Say"No problem — you're welcome to visit any branch or use our ATMs without an account. I should let you know that certain appointment types, such as account openings or loan consultations, do require an existing account or a new-customer intake process. Would you like help finding a branch, or are you interested in learning about opening an account?"
  • Customer wants branch or ATM info only find-location location-capture
  • Customer interested in opening an account new-account escalation-specialist
  • Customer wants to book a general appointment anyway book-appointment appointment-type-capture

Appointment Type Capture

Say"What type of appointment are you looking to schedule? For example: general banking, account services, safe deposit box access, notary services, or a financial review. You can also just describe what you need."
  • Customer requests a standard appointment type standard-appointment datetime-capture
  • Customer requests a specialized appointment such as mortgage, business banking, or wealth management specialist-appointment escalation-specialist
  • Customer describes a complaint or sensitive issue complaint escalation-human

Date & Time Capture

Say"Great. What date and time works best for you? I'll check availability at your preferred branch."

AppointmentScheduler.CheckAvailability for appointment.type at branch.name on appointment.preferredDate at appointment.preferredTime

  • Slot is available slot-available appointment-confirmation
  • Requested slot is unavailable slot-unavailable offer-alternative-slot
  • Branch has no availability on preferred date no-availability offer-alternative-branch

Offer Alternative Slot

Say"It looks like appointment.preferredTime on appointment.preferredDate isn't available at branch.name. The next available slot is branch.nextAvailableSlot. Would that work for you, or would you prefer a different date?"

AppointmentScheduler.GetNextAvailable for appointment.type at branch.name

  • Customer accepts the next available slot accepts-slot appointment-confirmation
  • Customer wants a different date or time different-datetime datetime-capture
  • Customer wants to try a different branch different-branch offer-alternative-branch

Offer Alternative Branch

Say"I understand — let me check a nearby branch that may have better availability for you."

BranchATMLocator.Search for next nearest branch with availability for appointment.type on appointment.preferredDate

AppointmentScheduler.CheckAvailability at alternative branch

Say"The next closest branch with availability is branch.name at branch.address, with an opening on branch.nextAvailableSlot. Would you like to book there?"
  • Customer accepts alternative branch and slot accepts-slot appointment-confirmation
  • Customer wants to try yet another date or branch different-datetime datetime-capture
  • Customer frustrated or wants to escalate frustrated escalation-human

Appointment Confirmation

AppointmentScheduler.BookAppointment for customer.email, appointment.type, appointment.preferredDate, appointment.preferredTime at branch.name

Say"You're all set! Your appointment.type appointment is confirmed at branch.name, branch.address on appointment.preferredDate at appointment.preferredTime. Your confirmation number is appointment.confirmationNumber."

Twilio.SendSMS to customer.phone with confirmation details: appointment.confirmationNumber, branch.name, branch.address, appointment.preferredDate, appointment.preferredTime

Twilio.SendEmail to customer.email with the same confirmation details and a calendar invite attachment

Say"I've sent a confirmation to your phone and email. Is there anything else I can help you with — for example, accessibility needs at the branch, or directions?"
  • Customer has accessibility or special requirements accessibility accessibility-check
  • Customer is done done resolution
  • Customer wants to modify or cancel the appointment modify-appointment appointment-modification

Appointment Modification

Say"Of course. I can help you reschedule or cancel your appointment with confirmation number appointment.confirmationNumber. Would you like to reschedule to a new date and time, or cancel the appointment altogether?"

AppointmentScheduler.LookupAppointment using appointment.confirmationNumber

  • Customer wants to reschedule reschedule datetime-capture
  • Customer wants to cancel cancel AppointmentScheduler.CancelAppointment for appointment.confirmationNumber cancellation-confirmation
  • Customer is unsure or has another question other greeting-intent-capture

Cancellation Confirmation

Twilio.SendSMS to customer.phone confirming cancellation of appointment.confirmationNumber

Twilio.SendEmail to customer.email confirming cancellation

Say"Your appointment has been cancelled and you'll receive a confirmation shortly. If you'd like to rebook in the future, I'm happy to help. Is there anything else I can assist you with?"
  • Customer wants to rebook book-appointment appointment-type-capture
  • Customer is done done resolution

Escalation to Specialist

CRM.CreateCase tagged specialist-appointment, linked to customer.email and appointment.type

AppointmentScheduler.RouteToAdvisor for appointment.type, surface available advisor and earliest slot

Say"For a appointment.type appointment, I'll connect you with a dedicated advisor who can make sure you get the right level of service. Let me get that arranged for you."

Twilio.SendEmail to customer.email with advisor contact information and next steps

Say"A specialist will be in touch shortly to confirm your appointment details. Is there anything else I can help you with in the meantime?"
  • Customer has additional questions other greeting-intent-capture
  • Customer is satisfied done resolution

Escalation to Human Agent

CRM.CreateCase priority: high, tagged branch-escalation, linked to customer.phone and customer.email

Say"I want to make sure you get the right help. Let me connect you with one of our team members who can assist you directly."

Resolution

Say"You're all set! Don't hesitate to reach out if you need to find a location, book an appointment, or have any other questions. Have a great day!"
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ chat▣ voice▣ email

Booking Modification

TravelHospitalityBookingsSupport

Verify Customer

Say"Thank you for reaching out. I'd be happy to help you modify your reservation. Could you please provide your booking reference or confirmation number and the name on the reservation?"

CRM.LookupCustomer using customer.name and booking.reference

  • Customer provides valid reference and name, identity confirmed verified retrieve-booking
  • Customer cannot provide reference or name fails to match identity-not-found
  • Customer mentions a group booking or multi-leg itinerary escalation-complex-booking

Identity Not Found

Say"I wasn't able to locate a reservation with those details. Let's try a different approach — could you provide the email address used at the time of booking, or a phone number?"

CRM.LookupByContact using customer.email or customer.phone

  • Record found and customer confirmed verified retrieve-booking
  • Still no match after second attempt escalation-complex-booking

Retrieve Booking

ReservationSystem.GetBooking using booking.reference

LoyaltyDB.GetCustomerTier using customer.name to resolve customer.loyaltyTier

Say"I can see your reservation. Here are the current details: booking reference booking.reference, dates booking.currentDates, room or travel type booking.roomType, and guest name booking.passengerName. What change would you like to make today?"
Detect
intent on customer's requested modification
  • Customer wants to change dates change-dates check-date-availability
  • Customer wants to change room or cabin type change-room-type check-room-availability
  • Customer wants to update passenger or guest name change-name process-name-change
  • Customer requests multiple changes at once multiple-changes escalation-complex-booking
  • Booking was made through a third party third-party-booking third-party-advisory

Check Date Availability

Say"Let me check availability for your requested new dates."

AvailabilityEngine.CheckDates using booking.reference and change.newDates

ReservationSystem.GetRateRules using booking.reference to evaluate booking.rateType

  • Requested dates are available and rate is modifiable available review-fare-difference
  • Requested dates are available but rate is non-modifiable non-modifiable non-modifiable-rate
  • Requested dates are unavailable unavailable suggest-alternative-dates

Suggest Alternative Dates

AvailabilityEngine.GetNearestAvailable using booking.reference to resolve availability.nearestDates

Say"Unfortunately, your requested dates aren't available. The nearest available options are availability.nearestDates. Would any of these work for you?"
  • Customer accepts an alternative date review-fare-difference
  • Customer declines all alternatives and wants to cancel cancel-request cancellation-advisory
  • Customer wants to think it over and call back defer wrap-up-no-change

Check Room Availability

Say"Let me check whether your preferred room or cabin type is available."

AvailabilityEngine.CheckRoomType using booking.reference and change.newRoomType

ReservationSystem.GetRateRules using booking.reference to evaluate booking.rateType

  • Room type available and rate is modifiable available review-fare-difference
  • Room type available but rate is non-modifiable non-modifiable non-modifiable-rate
  • Room type unavailable unavailable suggest-alternative-room

Suggest Alternative Room

AvailabilityEngine.GetAlternativeRooms using booking.reference

Say"That room type isn't available for your dates. Here are comparable alternatives that are open. Would any of these suit you?"
  • Customer selects an alternative review-fare-difference
  • Customer declines all alternatives and wants to cancel cancel-request cancellation-advisory
  • Customer wants to think it over defer wrap-up-no-change

Review Fare Difference

PaymentProcessor.CalculateDifference using booking.reference, change.newDates, change.newRoomType to resolve fare.difference and fee.modification

Say"Here's a summary of the change: the fare difference is fare.difference and the modification fee is fee.modification. The total additional charge to your payment method on file would be reflected accordingly. Would you like to proceed?"
  • Customer accepts the cost and confirms confirmed apply-modification
  • Customer disputes the modification fee disputes-fee fee-waiver-review
  • Customer declines and wants to cancel cancel-request cancellation-advisory
  • Customer declines and wants to keep original booking keep-original wrap-up-no-change

Fee Waiver Review

LoyaltyDB.GetCustomerTier using customer.name to confirm customer.loyaltyTier

kb.goodwill-waiver-policy — check eligibility based on customer.loyaltyTier and fee.modification

Agent
determine whether the modification fee qualifies for a waiver based on loyalty status and goodwill policy.
Goal:decide if the fee can be waived automatically or requires supervisor approval.
Constraints:never waive fees above USD 150 without supervisor approval; always document the waiver reason in the CRM; do not offer goodwill waivers more than once per customer per calendar year.
Tools available:LoyaltyDB.GetCustomerTier, CRM.GetWaiverHistory, kb.goodwill-waiver-policy
  • Agent determines fee is auto-waivable under loyalty or goodwill policy auto-waiver apply-modification
  • Agent determines fee waiver requires supervisor sign-off needs-approval waiver-approval
  • Agent determines fee is not waivable and customer still disputes disputed escalation-fee-dispute

Waiver Approval

Approval
Slack.RequestApproval to #reservations-supervisors, approver: reservations_supervisor
Context sent:booking.reference, customer.name, customer.loyaltyTier, fee.modification, agent's waiver rationale
  • Approved approved CRM.LogWaiverGranted apply-modification
  • Rejected rejected fee-waiver-declined
  • No response in 20 min escalation-fee-dispute

Fee Waiver Declined

Say"I wasn't able to get the fee waived on this occasion. The modification fee of fee.modification would still apply. Would you like to proceed with the change, or would you prefer to keep your current booking as is?"
  • Customer agrees to pay the fee confirmed apply-modification
  • Customer declines and wants to cancel cancel-request cancellation-advisory
  • Customer wants to keep original booking keep-original wrap-up-no-change
  • Customer escalates and demands supervisor escalate escalation-fee-dispute

Process Name Change

Say"I can help with a name correction. Could you confirm the correct full name as it should appear on the reservation, and let me know whether this is a minor correction or a full name transfer?"

kb.name-change-policy — verify permissible name change rules for booking.rateType

  • Minor spelling correction permitted under policy minor-correction apply-modification
  • Full name transfer or legal name change required escalation-complex-booking

Apply Modification

ReservationSystem.UpdateBooking with booking.reference, change.newDates, change.newRoomType, change.newPassengerName, change.requestedDetail

PaymentProcessor.ChargeBalance using booking.paymentMethod for fare.difference and any approved fee.modification

CRM.UpdateRecord for customer.name with new booking details

NotificationService.SendConfirmation to customer.email and customer.phone with updated itinerary

Say"Your booking has been updated successfully. I've sent a confirmation with your revised itinerary to customer.email. Is there anything else I can help you with?"
  • Customer has additional requests more-changes retrieve-booking
  • Customer is satisfied and done done wrap-up-confirmed

Non-Modifiable Rate

Say"I can see that the rate on your current booking is non-modifiable, which means changes to the reservation aren't permitted under the original fare rules. I have a couple of options for you: I can look into cancelling the booking subject to the applicable refund policy, or I can check whether a same-rate rebooking is available for your new dates."

kb.cancellation-refund-policy — review applicable refund terms for booking.rateType

  • Customer wants to explore cancellation and refund cancel-request cancellation-advisory
  • Customer wants to check same-rate rebooking availability rebook check-date-availability
  • Customer wants to keep original booking keep-original wrap-up-no-change

Cancellation Advisory

kb.cancellation-refund-policy — retrieve applicable terms for booking.rateType and booking.currentDates

Say"Based on your fare type, here are the cancellation terms that would apply: the refund or credit eligibility depends on your booking's rate rules. Would you like me to go ahead and initiate the cancellation, or would you prefer to keep the booking?"
  • Customer confirms cancellation confirmed escalation-cancellation-processing
  • Customer changes mind and wants to keep booking keep-original wrap-up-no-change
  • Customer disputes refund terms and demands exception dispute escalation-fee-dispute

Third-Party Advisory

Say"I can see that your reservation was originally made through a third-party provider — such as an online travel agency or travel management company. Unfortunately, modifications to third-party bookings must be processed directly through the channel where you booked, as we're unable to alter those reservations on their behalf. I'd recommend contacting them directly and referencing booking reference booking.reference. Is there anything else I can assist you with?"
  • Customer understands and has no further questions done wrap-up-no-change
  • Customer disagrees and insists we process it anyway disputes escalation-complex-booking

Wrap-Up — No Change Made

Say"No problem at all — your original booking remains exactly as it was. If you change your mind or need anything else, don't hesitate to reach out. Have a great trip!"

CRM.LogInteraction for customer.name with outcome: no modification made

Wrap-Up — Change Confirmed

Say"Wonderful — everything is confirmed. Your updated booking details have been sent to customer.email. We look forward to welcoming you. Have a great trip!"

CRM.LogInteraction for customer.name with outcome: modification successful

Escalation — Complex Booking

CRM.CreateCase priority: high, tagged complex-modification, linked to booking.reference

Slack.Notify to #reservations-complex with case summary, booking.reference, and customer.name

Say"Your request involves details that I'd like to have our specialist team handle to make sure everything is done perfectly. I'm transferring you now — they'll have full context and can take it from here."

Escalation — Fee Dispute

CRM.CreateCase priority: high, tagged fee-dispute, linked to booking.reference

Slack.Notify to #reservations-supervisors with customer.name, booking.reference, fee.modification, and dispute summary

Say"I completely understand your concern. Let me escalate this to a supervisor who has the authority to review your case in full. You'll be connected shortly, and they'll have all the details."

Escalation — Cancellation Processing

CRM.CreateCase priority: normal, tagged cancellation-request, linked to booking.reference

ReservationSystem.InitiateCancellation using booking.reference

NotificationService.SendCancellationSummary to customer.email with refund terms and timeline

Say"I've initiated the cancellation for booking booking.reference and sent a summary to customer.email, including the applicable refund terms and expected timeline. A specialist will follow up if any further action is needed."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ chat▣ email▣ sms

Booking Cancellation / Refund Request

TravelHospitalityCancellationRefund

Identity Verification

Say"Thank you for reaching out. I can help you with a cancellation or refund request. To get started, could you please provide your full name and the email address or phone number on the booking?"

CRM.LookupCustomer using customer.fullName and customer.email or customer.phone

Detect
outcome of identity lookup
  • Customer record found and details match confirmed booking-lookup
  • Details provided do not match any record unrecognized reverify-identity
  • Customer is unable or unwilling to provide verification details refused escalation-human

Re-verify Identity

Say"I wasn't able to match those details to a booking. Could you double-check the name or email used at the time of booking? Sometimes a nickname or alternate address was used."

CRM.LookupCustomer retry with alternate details

  • Match found on second attempt confirmed booking-lookup
  • Still no match after second attempt unrecognized escalation-human

Booking Lookup

Say"Thank you, customer.fullName. Could you please share your booking or confirmation ID, along with your travel dates and destination?"

ReservationManagement.GetBooking using booking.id

Detect
booking record outcome
  • Booking found and active confirmed cancellation-policy-check
  • Booking not found or ID invalid not_found escalation-human
  • Booking already cancelled already_cancelled refund-status-check

Cancellation Policy Check

Say"I've pulled up your reservation for booking.destination on booking.travelDates. Let me check the cancellation policy tied to your rate."

PolicyRulesEngine.GetCancellationPolicy for booking.id and booking.rateClass

Detect
cancellation window and fee applicability
  • Booking is within the free-cancellation window free_cancel confirm-cancellation-intent
  • Booking is outside the free-cancellation window and fees apply fees_apply outside-window-advisory
  • Booking was made through a third-party OTA ota_booking ota-redirect

Confirm Cancellation Intent

Say"Great news — your booking is within the free-cancellation window. You are eligible for a full refund of refund.amount to your original payment method. Before I proceed, could you share the reason for your cancellation? This helps us improve."
  • Customer provides cancellation reason and confirms they want to proceed confirmed process-cancellation
  • Customer wants to change dates instead of cancelling date_change escalation-human
  • Customer is unsure and wants time to decide undecided send-policy-summary

Send Policy Summary

Say"No problem at all. I'll send a summary of your cancellation policy and options to customer.email so you can review at your own pace. Feel free to reach back out when you're ready."

NotificationService.SendEmail to customer.email with cancellation policy summary and free-cancellation deadline for booking.id

  • Customer returns and confirms cancellation confirmed process-cancellation
  • Customer does not respond within 24 hours escalation-human

Outside Window Advisory

Say"I can see that your booking falls outside the free-cancellation window, which means a cancellation fee of cancellation.feeAmount would apply. I want to make sure you have all your options before we proceed. You may be eligible for a travel credit of refund.creditValue, or we could look into changing your travel dates at no extra charge."

kb.cancellation-policy — check fee waiver eligibility and alternative options for booking.rateClass

  • Customer accepts the fee and wants to cancel accepted_fee process-cancellation
  • Customer wants to apply for a travel credit instead credit_preferred process-travel-credit
  • Customer cites extenuating circumstances such as medical or bereavement extenuating extenuating-circumstances-review
  • Customer disputes the fee and demands a waiver beyond advisory authority disputes_fee escalation-human

Extenuating Circumstances Review

Say"I'm very sorry to hear about your situation. We do have a process to review waiver requests for extenuating circumstances such as medical emergencies or bereavement. I'll need to collect a brief note on the nature of the situation and, if available, any supporting documentation such as a medical certificate or official notice."

CRM.CreateCase tagged exception-review, linked to booking.id, reason: cancellation.reason

Detect
customer willingness to provide documentation
  • Customer agrees to submit documentation doc_provided flag-for-exception-review
  • Customer cannot or will not provide documentation no_doc escalation-human

Flag for Exception Review

Say"Thank you for sharing that. I've flagged your case for our exception review team. They will assess your request and reach out to you at customer.email within two business days with a decision. In the meantime, I'm not processing the cancellation so your booking remains active."

CRM.UpdateCase with exception.documentType and submitted evidence

NotificationService.SendEmail to customer.email confirming exception review has been opened with case reference

  • Exception review is opened and customer is notified resolution-confirmation

Process Cancellation

Say"I'll go ahead and cancel your booking now. This will just take a moment."

ReservationManagement.CancelBooking for booking.id

PaymentProcessor.InitiateRefund for refund.amount to booking.paymentMethod

CRM.UpdateRecord with cancellation details for customer.fullName

Detect
cancellation processing outcome
  • Cancellation and refund initiated successfully success send-confirmation
  • System error prevents processing system_error escalation-human

Process Travel Credit

Say"I'll cancel your booking and apply a travel credit of refund.creditValue to your account. This credit can be used toward any future booking with us."

ReservationManagement.CancelBooking for booking.id

PaymentProcessor.IssueTravelCredit for refund.creditValue linked to customer.email

CRM.UpdateRecord with credit issuance details

Detect
credit issuance outcome
  • Credit issued successfully success send-confirmation
  • System error during credit issuance system_error escalation-human

Send Confirmation

Say"Your booking has been successfully cancelled. You'll receive a written confirmation at customer.email within a few minutes, including your refund or credit details and the expected timeline of refund.timeline."

NotificationService.SendEmail to customer.email with cancellation confirmation, refund.amount or refund.creditValue, and refund.timeline

  • Confirmation sent successfully resolution-confirmation

Refund Status Check

Say"It looks like this booking was already cancelled. Let me check the status of any refund associated with it."

PaymentProcessor.GetRefundStatus for refund.transactionId

Detect
refund status
  • Refund has been issued and should have been received issued refund-already-issued
  • Refund is still processing processing advise-refund-in-progress
  • No refund record found not_found escalation-human

Refund Already Issued

Say"Our records show that a refund of refund.amount was issued on the original transaction. It can sometimes take 5 to 10 business days to appear depending on your bank. Could you confirm that you haven't seen it in your statement?"
  • Customer confirms refund has now been received confirmed resolution-confirmation
  • Customer still has not received the refund after the expected window not_received escalation-finance

Advise Refund In Progress

Say"Your refund of refund.amount is currently being processed and should appear within refund.timeline. I'll send a confirmation to customer.email with the transaction reference so you have it on record."

NotificationService.SendEmail to customer.email with refund status and refund.transactionId

  • Customer is satisfied and no further action needed resolution-confirmation
  • Customer requests further escalation escalation_requested escalation-finance

OTA Redirect

Say"I can see that your booking was made through a third-party platform — booking.otaSource. Unfortunately, our system is unable to process cancellations or refunds for reservations made via that channel. You'll need to contact booking.otaSource directly to request a cancellation."

kb.ota-partner-contacts — retrieve contact instructions and cancellation process for booking.otaSource

Say"I can share the reference details for your booking so you have everything ready when you contact them: your booking ID is booking.id, the travel dates are booking.travelDates, and the destination is booking.destination."

NotificationService.SendEmail to customer.email with OTA redirect instructions and booking reference details

  • Customer acknowledges and will contact OTA directly resolution-confirmation
  • Customer is frustrated and requests direct escalation escalation_requested escalation-human

Escalation to Finance Team

CRM.CreateCase priority: high, tagged refund-not-received, linked to refund.transactionId

NotificationService.NotifyTeam to #finance-escalations with customer.fullName, booking.id, refund.amount, and refund.transactionId

Say"I've escalated this to our finance team with all the transaction details. A specialist will reach out to you at customer.email within one to two business days to resolve this."

resolution-confirmation

Escalation to Human Agent

CRM.CreateCase priority: high, tagged cancellation-escalation, linked to booking.id

NotificationService.NotifyTeam to #reservations-support with customer.fullName, booking.id, and case summary

Say"I want to make sure this is handled correctly for you. I'm escalating your case to a senior support specialist who will be able to assist further. You'll be contacted at customer.email or customer.phone shortly."

Resolution Confirmation

Say"Is there anything else I can help you with today? We appreciate your patience and hope to welcome you on a future trip."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ sms

Billing Inquiry / Dispute

TelecomBillingDisputeSupport

Greeting and Identity Verification

Say"Thank you for contacting us today. I'm here to help with your billing question. Can I start with your account number or the phone number on the account?"

IdentityVerification.LookupAccount using customer.accountNumber or customer.phoneNumber

Say"To protect your account, I'll need to verify your identity. Could you please provide your account PIN, date of birth, or the last four digits of your Social Security Number?"

IdentityVerification.Verify using customer.pin, customer.dob, or customer.ssn4

  • Identity verified successfully verified inquiry-intake
  • Identity verification fails after two attempts unverified identity-failure
  • Customer is unable to provide any credentials identity-failure

Identity Failure

Say"I'm sorry, I'm not able to pull up the account details without completing verification — this is to keep your account secure."
Say"You're welcome to visit any of our retail locations with a valid photo ID, or you can reset your PIN online using the email address on file. Would either of those work for you?"

CaseManagement.LogContact note: identity verification failed, customer redirected

  • Customer agrees to visit store or reset online resolution-no-account-access
  • Customer wants to escalate or is upset frustrated escalation-human

Resolution — No Account Access

Say"I've noted this contact on your account so that when you do verify, our team will have the full context. Is there anything else I can help you with that doesn't require account access?"

Inquiry Intake

CRM.PullAccount for customer.accountNumber, load customer.name, billing.previousCredits, billing.accountBalance

Say"Thanks for verifying, customer.name. I've got your account pulled up. Can you tell me which charge you're seeing a question about — do you have the amount or the description from your bill?"

BillingSystem.FetchBillDetail for billing.cycleAffected

  • Customer identifies a specific charge or line item charge-review
  • Customer is generally confused about the total bill amount full-bill-walkthrough
  • Customer mentions they never received a notification about a plan or rate change plan-change-review
  • Customer sounds upset or frustrated before details are gathered frustrated emotional-acknowledgment

Emotional Acknowledgment

Say"I completely understand — seeing an unexpected charge on your bill is frustrating, and I want to make sure we get to the bottom of this together. Let's take this one step at a time."
Detect
sentiment on customer response
  • Customer settles and is ready to continue neutral inquiry-intake
  • Customer remains highly agitated or begins demanding a supervisor escalating escalation-human

Full Bill Walkthrough

BillingSystem.FetchBillDetail for billing.cycleAffected

Say"Let me walk you through the main sections of your bill for this cycle. Your base plan charge is listed first, followed by any add-ons, taxes, and fees. I'll highlight anything that looks different from last month."

kb.telecom-billing-line-item-guide — review standard line items, taxes, and surcharge descriptions

  • Customer identifies a specific charge after walkthrough charge-review
  • Customer accepts the explanation confirmed resolution-explained
  • Customer remains confused or disputes a line charge-review

Plan Change Review

BillingSystem.FetchPlanChangeHistory for customer.accountNumber

Say"I can see any plan or rate changes that were applied to your account. Let me pull that history up now."

kb.telecom-plan-change-notification-policy — verify whether advance notice was required and sent

  • Notification was sent and change was valid charge-review
  • No notification found and change was applied without notice notification-missing error-confirmed
  • Customer disputes they authorized the change charge-review

Charge Review

BillingSystem.FetchChargeDetail for billing.chargeDate, billing.chargeDescription, billing.chargeAmount

Say"I'm looking at that charge now — billing.chargeDescription for billing.chargeAmount on your billing.cycleAffected bill. Give me just a moment to review the detail."

kb.telecom-billing-policy — check overage rules, promo expiration terms, and adjustment eligibility

Agent
analyze the charge detail against account plan, usage records, and billing policy.
Goal:determine whether the charge is valid, the result of a billing error, a promo expiration, an overage, or an unauthorized change.
Constraints:do not promise a credit before confirming eligibility; never access or modify financial records without completed identity verification; flag any pattern suggesting account fraud before proceeding.
Tools available:BillingSystem.FetchChargeDetail, BillingSystem.FetchUsageRecords, BillingSystem.FetchPlanChangeHistory, kb.telecom-billing-policy
  • Charge is valid and explainable explanation-delivery
  • Billing error confirmed error-confirmed error-confirmed
  • Charge is outside the 90-day policy adjustment window outside-policy-window
  • Usage or account pattern suggests possible fraud fraud-suspected escalation-human
  • Billing system is unavailable or returns an error system-down billing-system-down

Explanation Delivery

Say"Here's what I'm seeing: billing.chargeDescription was applied because billing.chargeAmount reflects the details I've reviewed. Let me walk you through exactly why this appeared."

kb.telecom-billing-policy — reference relevant policy language for promo expiration, overages, or rate changes

Say"Does that explanation make sense, or do you have any follow-up questions about this charge?"
Detect
customer acceptance or continued dispute
  • Customer accepts the explanation confirmed resolution-explained
  • Customer disputes the explanation or asks for a supervisor unsatisfied escalation-human
  • Customer accepts but asks for a goodwill credit goodwill-credit-evaluation

Error Confirmed

Say"You're right — I can see this charge was applied in error, and I sincerely apologize for that. I'm going to take care of this for you right now."

BillingSystem.FetchAccountBalance to confirm current billing.accountBalance and billing.previousCredits

  • Error amount is within agent authorization threshold within-auth credit-issuance
  • Error amount exceeds agent.authLimit exceeds-auth escalation-human

Outside Policy Window

Say"I can see this charge is from more than billing.policyWindowDays days ago. Our standard adjustment policy covers charges within that window, so I'm not able to issue a full reversal for charges older than that."

kb.telecom-goodwill-credit-policy — check goodwill credit eligibility and authorized limit

Say"What I can do is apply a goodwill credit within the amount I'm authorized to offer. Would that be helpful while we resolve this?"
  • Customer accepts goodwill credit offer goodwill-credit-evaluation
  • Customer rejects and requests further escalation escalation-human

Goodwill Credit Evaluation

Agent
determine the appropriate goodwill credit amount given account history, charge context, and policy limits.
Goal:offer the highest reasonable goodwill credit within authorized limits to retain the customer and resolve the inquiry.
Constraints:never exceed the goodwill credit cap defined in kb.telecom-goodwill-credit-policy; do not apply a second goodwill credit if one was issued within the last 90 days per billing.previousCredits.
Tools available:CRM.FetchAccountHistory, BillingSystem.FetchPreviousCredits, kb.telecom-goodwill-credit-policy
  • Goodwill credit is appropriate and within limits approved credit-issuance
  • Credit was already issued recently or customer is ineligible ineligible escalation-human

Credit Issuance

CreditAdjustmentModule.IssueCredit for credit.amount, linked to customer.accountNumber and billing.cycleAffected

BillingSystem.FetchAccountBalance to confirm updated billing.accountBalance post-credit

CRM.LogInteraction note: credit of credit.amount issued, reason, billing cycle, and agent ID

Say"I've applied a credit of credit.amount to your account. Your updated balance is billing.accountBalance. You should see this reflected on your next statement, and you may also receive a confirmation by email at customer.email."
Say"Is there anything else I can help you with today?"
  • Customer is satisfied and has no further questions confirmed resolution-credit-issued
  • Customer has an additional question or concern inquiry-intake

Billing System Down

Say"I'm sorry — I'm running into a system issue on my end that's preventing me from pulling up your full billing detail right now. I don't want to give you incomplete information."

CaseManagement.CreateCase priority: normal, note: billing inquiry pending system restoration, link customer.accountNumber

CaseManagement.GenerateReferenceNumber assign to case.referenceNumber

Say"I've logged your inquiry and assigned it reference number case.referenceNumber. Our team will reach out within one business day once the system is restored — would you prefer a callback or an email to customer.email?"

CRM.LogContact note: billing system unavailable, case created, reference case.referenceNumber

  • Customer confirms callback or email preference resolution-callback-scheduled
  • Customer is upset about the delay frustrated emotional-acknowledgment

Escalation to Human Agent

CRM.LogInteraction note: escalation triggered, reason, dispute amount billing.chargeAmount, account customer.accountNumber

CaseManagement.CreateCase priority: high, linked to customer.accountNumber, billing.chargeDescription, billing.chargeAmount

Say"I want to make sure you get the best possible resolution on this. I'm going to connect you with a senior billing specialist who has the authority to review this further. I'll make sure they have the full context so you won't need to repeat yourself."

Resolution — Charge Explained

Say"I'm glad I could help clarify that. If you ever have questions about a future bill, don't hesitate to reach out. Is there anything else I can help you with today?"

CRM.LogInteraction note: billing inquiry resolved via explanation, no credit issued

Resolution — Credit Issued

Say"Your account has been updated and the credit is confirmed. Thank you for bringing this to our attention, customer.name — we appreciate your patience. Take care!"

CRM.LogInteraction note: billing dispute resolved, credit issued, customer confirmed satisfied

Resolution — Callback Scheduled

Say"You're all set. Reference number case.referenceNumber is yours to keep, and we'll be in touch within one business day. Thank you for your patience, and I'm sorry for the inconvenience."

CRM.LogInteraction note: callback or email follow-up scheduled, system outage, reference case.referenceNumber

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat▣ sms

Billing / Statement Inquiry

HealthcareBillingPatient Support

Patient Greeting

Say"Thank you for contacting our billing support team. My name is your Healthcare Support Agent. To protect your privacy and access your account, I'll need to verify your identity first. May I have your full name, date of birth, and your account or guarantor ID?"
  • Patient provides all required identifiers identity-verification
  • Patient is unable or unwilling to provide identifiers hipaa-decline
  • Patient is clearly distressed or immediately demands a supervisor frustrated escalation-human

Identity Verification

CRM.LookupPatient using patient.name, patient.dob, and patient.accountId

Detect
identity verification outcome
  • All three identifiers match confirmed in system verified inquiry-intake
  • Partial match — one identifier missing or mismatched partial_match identity-retry
  • No matching record found no_match hipaa-decline

Identity Retry

Say"I want to make sure I'm protecting your information. I was unable to fully confirm your identity with what you provided. Could you double-check your account or guarantor ID — you can find it in the top right corner of your paper statement or in the patient portal?"
  • Patient provides corrected identifiers CRM.LookupPatient identity-verification
  • Patient still cannot provide matching information hipaa-decline

HIPAA Decline

Say"I'm sorry, but under federal HIPAA privacy regulations I'm unable to access or share any account or billing details without confirming your identity. I'd encourage you to log into the patient portal at your convenience, or visit our billing office in person with a valid photo ID. Is there anything general I can help you with today?"

CRM.LogInteraction note: identity verification failed, HIPAA protocol applied, no account data disclosed

Inquiry Intake

Say"Thank you, patient.name — I've verified your account. I can see your billing record. Could you tell me which charge or balance you have a question about? If you have your statement handy, the date of service or the specific line item description would be very helpful."

PatientBillingSystem.PullAccount using patient.accountId

  • Patient identifies a specific charge or line item charge-lookup
  • Patient has a general question about their total balance balance-explanation
  • Patient reports they believe there is a billing error billing-error-flag
  • Patient disputes the clinical service itself was rendered or necessary clinical-dispute
  • Patient mentions possible fraud or identity theft suspected_fraud escalation-human

Charge Lookup

PatientBillingSystem.GetChargeDetail for charge.lineItem on charge.dateOfService

InsuranceEligibilityClaims.GetClaimStatus using insurance.memberId and claim.id

EOBLookup.GetEOB for claim.id

Detect
claim and EOB status
  • EOB received and processed, patient responsibility calculated eob_received charge-explanation
  • Claim submitted but EOB not yet issued — claim still pending claim_pending pending-claim-advisory
  • Claim was denied by insurer claim_denied claim-denial-review
  • Charge not found or appears duplicated charge_anomaly billing-error-flag

Charge Explanation

Say"I've pulled up that charge. The service on charge.dateOfService for charge.description was billed at charge.amount. Your insurer insurance.planName processed the claim and applied your benefits — your portion after insurance is eob.patientResponsibility. This reflects your current deductible, copay, or coinsurance as outlined in your plan."

kb.billing-patient-responsibility — reference plan benefit structure and cost-sharing explanation guidance

Say"Does that explanation make sense, or would you like me to walk through how your benefits were applied in more detail?"
  • Patient understands and accepts the explanation confirmed payment-options
  • Patient disagrees with the insurance calculation or wants to dispute the claim disputed claim-denial-review
  • Patient still has questions about the charge needs_clarification charge-explanation-detail

Charge Explanation Detail

Agent
provide a detailed line-by-line walkthrough of how insurance.planName applied benefits to charge.lineItem, referencing the EOB and plan cost-sharing rules.
Goal:ensure the patient fully understands what each component of their bill represents and why eob.patientResponsibility is the amount owed.
Constraints:never speculate about future insurance decisions or promise adjustments not yet authorized; only describe what is documented in the EOB and billing system.
Tools available:PatientBillingSystem.GetChargeDetail, EOBLookup.GetEOB, kb.billing-patient-responsibility
  • Patient satisfied with detailed explanation confirmed payment-options
  • Patient remains unconvinced and wishes to dispute claim-denial-review
  • Patient becomes distressed frustrated escalation-human

Balance Explanation

PatientBillingSystem.GetAccountSummary for patient.accountId

Say"I can see your current account balance. Let me walk you through the outstanding charges, how insurance has been applied to each, and what remains as your patient responsibility."

kb.billing-patient-responsibility — use for explaining deductible, copay, and coinsurance terms

  • Patient understands the balance and wants to pay payment-options
  • Patient questions a specific line item on the account charge-lookup
  • Patient believes the total is incorrect billing-error-flag
  • Patient is unable to pay and asks about financial assistance kb.financial-assistance-programs payment-options

Pending Claim Advisory

Say"It looks like your insurance claim for the service on charge.dateOfService is still being processed by insurance.planName. We haven't yet received the Explanation of Benefits that tells us your exact patient responsibility. I'd recommend waiting until that EOB is issued — typically within 30 days of the claim submission date — before making any payment on this charge."
Say"I'm going to make a note on your account so our team is aware you called, and I'll flag this for a follow-up outreach once the EOB is received. Is there a preferred contact method — phone or email — for that follow-up?"

CRM.LogInteraction note: patient inquiry on pending claim claim.id, follow-up requested

CaseManagement.CreateCase type: pending-eob-followup, linked to claim.id, patient.accountId

  • Patient is satisfied and wants no further action resolution-close
  • Patient wants to escalate because the claim has been pending an unusually long time frustrated escalation-human

Claim Denial Review

InsuranceEligibilityClaims.GetDenialReason for claim.id

kb.claim-denial-codes — reference insurer denial code definitions and standard appeal pathways

Agent
assess the denial reason for claim.id and determine whether the denial is due to a technical/administrative issue correctable by rebilling, a coverage exclusion, or a clinical necessity decision requiring formal appeal.
Goal:advise the patient on the correct next step — administrative correction, insurance appeal, or billing specialist referral.
Constraints:never promise that an appeal will succeed or that a charge will be waived; do not initiate a claim adjustment without billing specialist authorization; always document the denial reason before routing.
Tools available:InsuranceEligibilityClaims.GetDenialReason, InsuranceEligibilityClaims.GetClaimStatus, kb.claim-denial-codes, CaseManagement.CreateCase
  • Denial is administrative or technical — can be corrected by rebilling admin_denial CaseManagement.CreateCase type: rebilling-request billing-error-flag
  • Denial is a coverage or clinical necessity issue requiring appeal clinical_denial escalation-human
  • Patient wishes to proceed independently and is satisfied with the information confirmed resolution-close

Billing Error Flag

Say"Thank you for bringing this to our attention. Based on what you've described, this may need to be reviewed by our billing specialists. I'm going to document this now and open a case so a specialist can investigate and correct the record if needed."

CaseManagement.CreateCase type: billing-review, priority: standard, linked to patient.accountId, charge.lineItem, charge.dateOfService

CRM.LogInteraction note: potential billing error flagged on charge.lineItem, case opened for specialist review

Say"A billing specialist will review this within 3 to 5 business days and will reach out to you at patient.phone or patient.email. You will not need to make any payment on a disputed charge while it is under active review. Is there anything else I can help you with today?"
  • Patient is satisfied and the case is documented resolution-close
  • Patient is not satisfied and demands immediate resolution frustrated escalation-human

Clinical Dispute

Say"I understand — disputes about whether a service was rendered or was medically appropriate are taken very seriously. Our billing team is not able to make clinical determinations, so I'll need to document your concern and route it to the appropriate clinical or patient relations department."

CRM.LogInteraction note: patient disputes clinical service on charge.dateOfService, charge.description — routed to clinical review

CaseManagement.CreateCase type: clinical-dispute, priority: high, linked to patient.accountId, charge.dateOfService

Say"A member of our patient relations team will contact you within 2 business days to discuss your concern. You should not receive any collections activity on this charge while it is under review."
  • Patient acknowledges and accepts the routing resolution-close
  • Patient is distressed or requests immediate supervisor contact frustrated escalation-human

Payment Options

Say"I can help you take care of this balance now or set up an arrangement that works for you. You have a few options: you can pay online through the patient portal, pay by phone with a credit or debit card right now, or set up an interest-free monthly payment plan if your balance qualifies."

kb.financial-assistance-programs — check eligibility criteria for charity care, sliding scale, or hardship plans

  • Patient wants to pay now PaymentPortal.ProcessPayment using patient.accountId payment-confirmation
  • Patient wants to set up a payment plan PaymentPortal.CreatePaymentPlan using patient.accountId payment-plan-setup
  • Patient wants to apply for financial assistance CaseManagement.CreateCase type: financial-assistance-referral resolution-close
  • Patient declines to pay at this time and has no further questions resolution-close

Payment Confirmation

PaymentPortal.ProcessPayment confirm transaction for patient.accountId, charge.amount

CRM.LogInteraction note: payment processed for charge.amount on account patient.accountId

Say"Your payment has been processed and a confirmation will be sent to patient.email. Your updated account balance will reflect this payment within one to two business days. Is there anything else I can help you with?"
  • Patient has additional questions inquiry-intake
  • Patient is done resolution-close

Payment Plan Setup

PaymentPortal.CreatePaymentPlan for patient.accountId

Say"I've set up a payment plan on your account. You'll receive a confirmation at patient.email with the payment schedule and amounts. Each installment will be automatically applied to your balance. If your financial situation changes, please contact us and we can review the plan."

CRM.LogInteraction note: payment plan established for patient.accountId

  • Patient confirms and is satisfied resolution-close
  • Patient has additional questions inquiry-intake

Escalation to Human Agent

CRM.LogInteraction note: escalation triggered — reason documented, all context preserved for handoff

CaseManagement.CreateCase type: escalation, priority: high, linked to patient.accountId, claim.id

Say"I completely understand, and I want to make sure you get the help you need. I'm going to connect you with a senior billing specialist or supervisor who can take this further. Please hold for just a moment — I'll make sure they have all the details from our conversation so you don't have to repeat yourself."

CRM.TransferWithContext to billing-escalation-queue, include patient.accountId, claim.id, charge.lineItem, interaction summary

Resolution / Close

Say"I'm glad we could assist you today. To summarize: we reviewed the charge for charge.description from charge.dateOfService, and your next steps are clear. If you have any further questions about your bill, don't hesitate to contact us — you can also view your account and statements at any time through the patient portal."

CRM.LogInteraction note: inquiry resolved, case closed

CaseManagement.CloseCase for case.id if open

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat▣ email

Beneficiary / Policy Detail Update

InsurancePolicy ManagementBeneficiaryCompliance

Intake and Change Request

Say"Thank you for contacting us. I'm here to help you update your policy details. Can I start with your full name and policy number?"

CRM.LookupPolicy using customer.fullName and customer.policyNumber

  • Policy record found, proceed to verification identity-verification
  • Policy record not found or mismatch policy-not-found

Policy Not Found

Say"I wasn't able to locate a policy with that name and number combination. Could you double-check the policy number on your documents?"
  • Customer provides corrected details CRM.LookupPolicy retry identity-verification
  • Customer cannot locate their policy number escalation-human

Identity Verification

Say"To protect your account, I'll need to verify your identity. Could you please provide your date of birth, the last four digits of your Social Security Number, and your security PIN?"

IdentityVerification.Verify using customer.dateOfBirth, customer.ssnLast4, customer.securityPin against customer.policyNumber

  • Identity verified on first or second attempt verified change-type-collection
  • First attempt fails, prompt retry retry identity-retry
  • Second attempt fails identity_failed identity-lockout

Identity Retry

Say"That information didn't match what we have on file. Please try once more — make sure your date of birth, last four of your SSN, and security PIN are correct."

IdentityVerification.Verify using customer.dateOfBirth, customer.ssnLast4, customer.securityPin against customer.policyNumber

  • Identity verified verified change-type-collection
  • Second attempt also fails identity_failed identity-lockout

Identity Lockout

Say"I'm sorry, but I wasn't able to verify your identity after two attempts. For the security of your account, I'm unable to proceed with any changes at this time."

CRM.LogEvent tag: identity-verification-failure, policy: customer.policyNumber

CRM.CreateCase priority: high, tag: id-lockout-policy-change

Say"You're welcome to visit your nearest branch with a government-issued photo ID, or submit notarized documentation by mail to request this change. Would you like me to send you written instructions at the email address on file?"
  • Customer requests written instructions CRM.SendEmail template: id-lockout-instructions to customer.email escalation-human
  • Customer declines escalation-human

Change Type Collection

Say"Great, I've verified your identity. What change would you like to make today — is this a beneficiary update, or are you updating other policy details such as your address, name, or contact information?"
Detect
intent on customer's stated change request
  • Customer wants to update a beneficiary beneficiary-change beneficiary-detail-collection
  • Customer wants to update address, name, or contact info contact-or-name-change contact-detail-collection
  • Customer mentions a death in relation to the beneficiary change death-related bereavement-sensitive-path
  • Request involves a disputed beneficiary or legal document such as a court order legal-dispute escalation-human

Beneficiary Detail Collection

PolicyAdmin.GetCurrentBeneficiary for customer.policyNumber

Say"I can see the beneficiary currently on file is policy.currentBeneficiary. I'll now collect the updated information."
Say"Please provide the full legal name of the new beneficiary and their relationship to you — for example, spouse, child, or domestic partner."
  • New beneficiary details collected, no death involved form-requirement-check
  • Customer indicates they are removing a beneficiary following a death bereavement-sensitive-path

Bereavement Sensitive Path

Say"I'm so sorry for your loss. Please take your time — I'll do my best to make this process as straightforward as possible for you."

CRM.FlagCase tag: bereavement-sensitivity, policy: customer.policyNumber

Say"In situations involving the passing of a beneficiary, we typically require a certified copy of the death certificate to process the removal. Do you have that documentation available, or would you like guidance on how to submit it?"
  • Customer has or will submit death certificate form-requirement-check
  • Customer cannot provide documentation at this time CRM.CreateFollowUpTask deadline: 30-days, policy: customer.policyNumber pending-form-followup

Contact Detail Collection

PolicyAdmin.GetPolicyDetails for customer.policyNumber

Say"I can see the details currently on file. What specifically would you like to update — your address, phone number, email address, or legal name?"
  • Customer provides the new detail clearly direct-update-check
  • Customer is changing their legal name, supporting documentation may be required form-requirement-check

Direct Update Check

Agent
assess whether the requested contact or name detail change can be applied immediately without a signed form or supporting documentation.
Goal:determine if the update is a simple contact detail (address, phone, email) that can be saved directly, or if it requires a signed change request or supporting document before processing.
Constraints:never update a legal name without a signed form or supporting legal document; always confirm the new detail verbally with the customer before saving; never modify policy ownership or coverage as part of a contact detail update.
Tools available:PolicyAdmin.GetPolicyDetails, kb.policy-change-requirements
  • Simple contact update, no form required no_form_needed apply-direct-update
  • Legal name or document-required change form_required form-requirement-check

Form Requirement Check

kb.policy-change-requirements — check whether a wet signature, e-signature form, or supporting document is legally required for policy.changeType

  • E-signature form is sufficient ESignature.SendForm template: change-of-beneficiary to customer.email esignature-pending
  • Wet signature or physical document required wet-signature-required
  • No form required, change can be processed directly apply-direct-update

E-Signature Pending

Say"I've sent a secure e-signature form to customer.email. Once you complete and submit it, your change will be processed within one business day. Please check your inbox — it should arrive within a few minutes."

ESignature.SendForm to customer.email, linked to customer.policyNumber

CRM.CreateFollowUpTask tag: esignature-pending, deadline: 7-days, policy: customer.policyNumber

  • Customer confirms they received and completed the form apply-direct-update
  • Customer cannot complete the form now pending-form-followup
  • No response or form not returned within deadline CRM.EscalateTask escalation-human

Wet Signature Required

Say"This type of change requires a signed paper form. I'll send you the form by email along with instructions for returning it. Once we receive the completed form, your update will be processed within three to five business days."

DocumentManagement.GenerateForm template: beneficiary-change-form, policy: customer.policyNumber

CRM.SendEmail template: wet-signature-instructions, attachment: change-form to customer.email

CRM.CreateFollowUpTask tag: wet-signature-pending, deadline: 30-days, policy: customer.policyNumber

  • Customer acknowledges and will return the form pending-form-followup
  • Customer cannot return the form within the deadline pending-form-followup

Pending Form Follow-up

Say"No problem — I've saved a pending task on your account and flagged the deadline. We'll send you a reminder before it expires. If you need assistance completing the form, don't hesitate to reach back out."

CRM.CreateFollowUpTask tag: pending-change-form, deadline: 30-days, policy: customer.policyNumber

CRM.SendEmail template: pending-change-reminder to customer.email

  • Customer has additional questions escalation-human
  • Customer is satisfied resolution-confirmed

Apply Direct Update

Say"Before I save this, let me confirm the change: I'll be updating your record to reflect update.newDetail — or for a beneficiary change, update.newBeneficiaryName as update.newBeneficiaryRelationship. Is that correct?"
  • Customer confirms the details are correct save-policy-update
  • Customer requests a correction change-type-collection

Save Policy Update

PolicyAdmin.SaveChange policy: customer.policyNumber, change: update.newDetail

CRM.UpdateRecord policy: customer.policyNumber, tag: policy-detail-updated

DocumentManagement.LogChange policy: customer.policyNumber, agent: Insurance Support Agent

  • Save successful save_success confirmation-and-close
  • System unavailable or save error system_down system-unavailable

System Unavailable

Say"I'm sorry — our system is temporarily unavailable and I'm unable to save your changes right now. I want to make sure your request isn't lost."

CRM.CreateManualLog details: update.newDetail, policy: customer.policyNumber, tag: manual-change-request

CRM.GenerateCaseReference -> case.referenceNumber

CRM.ScheduleCallback within: 1-business-day, contact: customer.phone

Say"I've logged your request manually and your case reference number is case.referenceNumber. A member of our team will call you back at customer.phone within one business day to confirm your changes have been saved. Please keep that reference number handy."

resolution-confirmed

Confirmation and Close

Say"Your policy has been updated successfully. A confirmation has been sent to customer.email. Is there anything else I can help you with today?"

CRM.SendEmail template: policy-change-confirmation, policy: customer.policyNumber to customer.email

  • Customer has another request change-type-collection
  • Customer is done resolution-confirmed

Resolution Confirmed

Say"Thank you for reaching out and taking the time to keep your policy up to date. Take care, and don't hesitate to contact us if you need anything in the future."

CRM.CloseCase policy: customer.policyNumber, status: resolved

Escalation to Human Agent

CRM.CreateCase priority: high, tag: policy-change-escalation, policy: customer.policyNumber

CRM.NotifyTeam channel: #policy-ops-escalations, details: customer.policyNumber

Say"I'm going to connect you with a specialist who can assist you further with this request. Please hold for just a moment — thank you for your patience."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ sms

Balance / Transaction Inquiry

Financial ServicesSupportBalanceTransactions

Intake

Say"Thank you for reaching out to Financial Services support. I can help you with your account balance or a transaction question. Could you please share your full name and either your account number or the last four digits of your card?"
Detect
customer intent from opening message
  • Customer asks about current balance balance-inquiry identity-verification
  • Customer asks about a specific transaction or unrecognized charge transaction-inquiry identity-verification
  • Customer immediately alleges fraud or unauthorized access fraud-allegation escalation-fraud
  • Intent unclear — ask a clarifying question, then identity-verification

Identity Verification

Say"To protect your account, I need to verify your identity. I'll send a one-time passcode to your phone number on file. Please share the code when you receive it."

OTPAuth.SendOTP to customer.phone

  • Customer provides correct OTP verified IdentityVerification.Confirm account-lookup
  • Customer cannot receive OTP, offer security question fallback otp-failed security-question-fallback
  • Customer has already failed one attempt — verification.attemptCount equals 1 second-attempt-warning

Second Attempt Warning

Say"That code didn't match. You have one attempt remaining before I'll need to pause access for your security. Please double-check the code and try again."
  • Customer provides correct OTP on second try verified IdentityVerification.Confirm account-lookup
  • Customer fails again unverified escalation-identity-failure

Security Question Fallback

Say"No problem — let me try another way. I'll ask you a security question linked to your account. Please answer as accurately as you can."

IdentityVerification.FetchSecurityQuestion for customer.accountNumber

Say"Here is your security question: please go ahead and answer when ready."
  • Customer answers correctly verified IdentityVerification.Confirm account-lookup
  • Customer answers incorrectly unverified escalation-identity-failure

Account Lookup

CoreBanking.GetAccountSummary for customer.accountNumber including account.status, account.balance, account.availableBalance, and customer.accountType

  • Account returned successfully and status is active account-found inquiry-routing
  • Account has a hold, freeze, or legal flag on it account-flagged escalation-account-flag
  • System returns an error or times out lookup-error system-error

Inquiry Routing

Detect
what the customer needs based on original request and account data
  • Customer needs current balance confirmed balance-inquiry balance-delivery
  • Customer needs a specific transaction explained transaction-inquiry transaction-lookup
  • Customer now mentions an unexpected fee fee-concern fee-review

Balance Delivery

CoreBanking.GetAccountSummary to retrieve account.balance and account.availableBalance for customer.accountType

Say"Here is your current account summary for your customer.accountType account. Your current balance is account.balance and your available balance is account.availableBalance. Is there anything specific about those figures you would like me to explain?"
  • Customer is satisfied and has no further questions satisfied resolution
  • Customer wants to see recent transactions as well wants-transactions transaction-lookup
  • Customer disputes a charge or says a transaction looks wrong transaction-dispute transaction-lookup
  • Customer raises concern about an unexpected fee fee-concern fee-review

Transaction Lookup

Say"I'll pull up the transactions for you now. Could you let me know the approximate date range or the amount you are looking into? That will help me find the right record quickly."

CoreBanking.GetTransactionHistory for customer.accountNumber over inquiry.dateRange

  • Transactions returned successfully transactions-found transaction-detail
  • No transactions found in the requested range no-results no-transaction-found
  • System returns an error lookup-error system-error

Transaction Detail

Say"I found the transaction. Here are the details: the charge of transaction.amount was made on transaction.date at transaction.merchant, categorized as transaction.category. Does that help explain what you were looking at?"

CRM.LogInteraction tagged balance-transaction-inquiry, linked to customer.accountNumber and transaction.id

  • Customer recognizes the transaction and is satisfied satisfied resolution
  • Customer does not recognize the transaction and believes it is fraudulent fraud-allegation escalation-fraud
  • Customer recognizes the merchant but wants to dispute the amount amount-dispute escalation-fraud
  • Customer has a question about a fee within the transaction fee-concern fee-review

No Transaction Found

Say"I wasn't able to find a transaction matching that description in the date range you gave me. It's possible it may appear under a different date or may still be pending. Would you like me to widen the search, or can you share any additional details?"
  • Customer provides more details — retry lookup transaction-lookup
  • Customer still cannot locate the transaction and suspects fraud fraud-allegation escalation-fraud
  • Customer is satisfied and wants to close satisfied resolution

Fee Review

Say"I can see you have a concern about a fee on your account. Let me take a look at the details and check whether any options are available to you."

CoreBanking.GetFeeDetail for fee.type and fee.amount on customer.accountNumber

kb.fee-waiver-policy — check one-time waiver eligibility criteria for customer.accountType and account standing

Agent
evaluate waiver eligibility for fee.type of fee.amount on customer.accountNumber using account history and kb.fee-waiver-policy.
Goal:determine whether the customer qualifies for a one-time courtesy fee waiver and, if so, apply it; if not, explain why clearly and empathetically.
Constraints:never apply more than one waiver per calendar year per account; never waive fees on accounts with an active hold or delinquency flag; do not promise a waiver before eligibility is confirmed.
Tools available:CoreBanking.GetFeeDetail, CoreBanking.ApplyFeeWaiver, CoreBanking.GetAccountStanding, kb.fee-waiver-policy
  • Customer is eligible and agent applies waiver waiver-applied CoreBanking.ApplyFeeWaiver fee-waiver-confirmation
  • Customer is not eligible for a waiver waiver-ineligible fee-waiver-declined
  • Customer is upset and escalation is warranted needs-escalation escalation-human

Fee Waiver Confirmation

Say"Good news — you qualify for a one-time courtesy waiver on that fee. I have applied it to your account and it should be reflected within one business day. Is there anything else I can help you with today?"

CRM.LogInteraction tagged fee-waiver-applied, linked to customer.accountNumber and fee.type

  • Customer is satisfied satisfied resolution
  • Customer has an additional question inquiry-routing

Fee Waiver Declined

Say"I reviewed your account and unfortunately I am not able to apply a waiver at this time. I want to be transparent — your account has already received a waiver this year, so another one isn't available under our current policy. I'm sorry I can't do more here. Would you like me to connect you with a specialist who may have additional options?"
  • Customer accepts the outcome satisfied resolution
  • Customer wants to speak to a specialist or is upset escalation-requested escalation-human

System Error

Say"I apologize — I'm having trouble retrieving your account information right now. This is a system issue on our end, not with your account. I'll log this so our team can look into it, and I can arrange for a callback at your convenience."

CRM.LogIncident tagged system-error, linked to customer.accountNumber and customer.phone

CRM.ScheduleCallback for customer.phone at next available slot

  • Customer agrees to callback and conversation ends satisfied resolution
  • Customer wants to try again immediately account-lookup
  • Customer is very frustrated and demands to speak with someone now escalation-requested escalation-human

Escalation — Fraud or Dispute

Say"I take this very seriously. Let me flag this right away and connect you with our fraud team who can open a formal investigation and protect your account immediately."

FraudDetection.FlagAccount for customer.accountNumber tagged suspected-fraud, linked to transaction.id

CRM.CreateCase priority: high, tagged fraud-dispute, linked to customer.accountNumber and transaction.id

fraud-alert-follow-up

Escalation — Identity Verification Failed

Say"For your protection, I'm not able to continue with the inquiry after multiple unsuccessful verification attempts. I'd encourage you to visit your nearest branch with a government-issued ID, or use our secure identity reset flow through the mobile app."

CRM.LogIncident tagged verification-failure, linked to customer.phone

CRM.CreateCase priority: high, tagged identity-lockout

Escalation — Account Flag

Say"I can see there is a restriction on your account that prevents me from sharing details through this channel. I'll need to connect you with a specialist who can review what's happening and assist you directly."

CRM.CreateCase priority: high, tagged account-flag-review, linked to customer.accountNumber

CRM.LogInteraction tagged account-flag-escalation

escalation-human

Escalation — Human Specialist

Say"I'm going to transfer you to one of our account specialists right now. They'll have the full context of our conversation so you won't need to repeat anything."

CRM.CreateCase priority: high, tagged specialist-handoff, linked to customer.accountNumber

CRM.LogInteraction tagged escalation-human, with case summary

Resolution

Say"I'm glad I could help. To summarize what we covered today: your account information has been confirmed and any actions taken are noted on your account. If you ever have another question, don't hesitate to reach out. Have a great day!"

CRM.LogInteraction tagged inquiry-resolved, linked to customer.accountNumber

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat▣ sms

Appointment Scheduling

HealthcareSchedulingPatient Support

Patient Intake

Say"Thank you for reaching out. I'm here to help you schedule, reschedule, or cancel an appointment. Can I start with your full name and date of birth?"

EHR.LookupPatient using patient.fullName and patient.dateOfBirth

  • Patient record found and identity confirmed verified appointment-intent
  • Patient record not found or details do not match identity-retry
  • Patient describes urgent or emergent symptoms at any point escalation-clinical

Identity Retry

Say"I wasn't able to match those details in our system. Let's try once more — could you double-check the name and date of birth on file with us?"

EHR.LookupPatient retry with corrected input

  • Record found on second attempt verified appointment-intent
  • Still no match after retry escalation-human

Appointment Intent

Say"Got it, patient.fullName — I've confirmed your record. Are you looking to book a new appointment, reschedule an existing one, or cancel?"
  • Patient wants to book a new appointment book insurance-verification
  • Patient wants to reschedule an existing appointment reschedule reschedule-lookup
  • Patient wants to cancel an appointment cancel cancel-lookup
  • Patient describes urgent or emergent symptoms escalation-clinical

Insurance Verification

Say"Before I check availability, I'll need your insurance information. What is your insurance provider and member ID?"

InsuranceEligibilityAPI.VerifyEligibility using patient.insurance.provider and patient.insurance.memberId

kb.insurance-eligibility-policy — check referral requirements for appointment.type

  • Insurance verified, no referral required eligible gather-preferences
  • Insurance verified, referral required and on file eligible referral_present gather-preferences
  • Insurance verified, referral required but not on file referral_missing referral-hold
  • Insurance verification fails or returns inactive coverage ineligible insurance-unverified
  • Patient has no insurance or declines to provide self-pay-offer

Self-Pay Offer

kb.selfpay-rates — retrieve selfpay.rate for appointment.type

Say"No problem. Our self-pay rate for this type of visit is selfpay.rate. Would you like to proceed on a self-pay basis, or would you prefer to contact your insurer first and call us back?"
  • Patient agrees to self-pay confirmed gather-preferences
  • Patient wants to contact insurer first callback intake-close-callback
  • Patient is unsure escalation-human

Insurance Unverified

Say"I wasn't able to verify active coverage with patient.insurance.provider at this time. This could be a data mismatch or a lapse in coverage. I'd recommend contacting your insurer directly to confirm. In the meantime, would you like to hear our self-pay rates or hold off until coverage is confirmed?"
  • Patient wants self-pay rates self-pay-offer
  • Patient wants to wait and call back intake-close-callback
  • Patient wants to escalate or is frustrated escalation-human

Referral Hold

Say"It looks like a referral is required for this appointment type, and we don't currently have one on file for you. I can place a soft reservation to hold a slot while you obtain the referral from your primary care provider. Would you like me to do that?"

SchedulingModule.HoldSoftReservation for patient.fullName, appointment.type, appointment.preferredDates

  • Patient agrees to soft hold confirmed CRM.CreateTask referral-pending note intake-close-referral
  • Patient does not want a hold intake-close-callback
  • Patient says referral is already submitted escalation-human

Gather Preferences

Say"Great. What is the reason for your visit, and do you have a preferred provider or location? Also, what dates and times work best for you?"

EHR.GetProviderList filtered by appointment.preferredLocation and appointment.type

  • Preferences collected, preferred provider specified slot-search-provider
  • Preferences collected, no provider preference slot-search-open

Slot Search — Provider Preference

SchedulingModule.GetAvailableSlots for appointment.preferredProvider, appointment.preferredDates, appointment.preferredTimes, appointment.type

  • Matching slots found slot-selection
  • No slots match preferences for preferred provider slot-no-match

Slot Search — Open Availability

SchedulingModule.GetAvailableSlots for appointment.preferredLocation, appointment.preferredDates, appointment.preferredTimes, appointment.type

  • Matching slots found slot-selection
  • No slots match preferences slot-no-match

Slot Selection

Say"I have a few openings that match what you're looking for. Let me share those with you now."

PatientPortal.DisplaySlots or read aloud up to three options from appointment.selectedSlot candidates

Say"Which of these works best for you?"
  • Patient selects a slot confirmed booking-confirmation
  • Patient wants to hear more options slot-search-open
  • Patient wants to go on a waitlist instead waitlist-enrollment
  • Patient changes their mind and wants to cancel the process intake-close-callback

Slot No Match

Say"I wasn't able to find an opening that matches all of your preferences right now. I can offer you the next closest available slot, or I can add you to our waitlist so you're notified as soon as something opens up. Which would you prefer?"

SchedulingModule.GetNextAvailable for appointment.type, appointment.preferredLocation

  • Patient accepts next closest slot confirmed booking-confirmation
  • Patient wants waitlist waitlist-enrollment
  • Patient wants to try different dates or times gather-preferences

Waitlist Enrollment

Say"I'll add you to the waitlist for appointment.type. You'll be contacted at patient.phone or patient.email as soon as a matching slot opens up."

SchedulingModule.AddToWaitlist patient.fullName, appointment.type, appointment.preferredProvider, appointment.preferredDates

CRM.UpdateRecord waitlist status for patient.fullName

Say"You're all set on the waitlist. Is there anything else I can help you with today?"
  • Patient has another request appointment-intent
  • Patient is done intake-close-complete

Booking Confirmation

SchedulingModule.BookAppointment for patient.fullName, appointment.selectedSlot, appointment.type, appointment.preferredProvider

CRM.UpdateRecord appointment booked, appointment.confirmationNumber

Twilio.SendSMS to patient.phone: "Your appointment is confirmed for appointment.selectedSlot. Confirmation number: appointment.confirmationNumber. Reply CANCEL to cancel or call us to make changes."

Twilio.SendEmail to patient.email with appointment details, preparation instructions, and location or telehealth link

Say"You're all booked. Your confirmation number is appointment.confirmationNumber and I've sent the details to your phone and email. Is there anything else I can help you with?"
  • Patient has another request appointment-intent
  • Patient is done intake-close-complete

Reschedule Lookup

Say"I can help you reschedule. Let me pull up your existing appointment — can you confirm the date and type of visit, or your confirmation number?"

SchedulingModule.GetAppointment using appointment.existingId or patient.fullName and patient.dateOfBirth

  • Appointment found reschedule-preferences
  • Appointment not found escalation-human

Reschedule Preferences

Say"I found your appointment. What new dates or times work better for you, and would you like to keep the same provider and location?"

SchedulingModule.CancelAppointment for appointment.existingId

SchedulingModule.GetAvailableSlots for updated appointment.preferredDates, appointment.preferredTimes, appointment.type, appointment.preferredProvider

  • New slots found slot-selection
  • No slots match new preferences slot-no-match

Cancel Lookup

Say"I can help with that. Can you confirm the appointment date and type, or share your confirmation number?"

SchedulingModule.GetAppointment using appointment.existingId or patient.fullName and patient.dateOfBirth

kb.cancellation-policy — check short-notice window and applicable cancellation.fee for appointment.selectedSlot

  • Appointment found, cancellation outside short-notice window cancel-confirm
  • Appointment found, cancellation within short-notice window short_notice cancel-fee-notice
  • Appointment not found escalation-human

Cancel Fee Notice

Say"I can cancel this appointment. Please be aware that because this is within our short-notice window, a cancellation fee of cancellation.fee may apply per our policy. Would you still like to proceed?"
  • Patient confirms cancellation despite fee confirmed cancel-confirm
  • Patient wants to reschedule instead reschedule-preferences
  • Patient disputes the fee or wants to escalate escalation-human

Cancel Confirm

SchedulingModule.CancelAppointment for appointment.existingId

CRM.UpdateRecord cancellation logged for patient.fullName

Twilio.SendSMS to patient.phone: "Your appointment has been cancelled. Confirmation: appointment.confirmationNumber. Contact us to rebook."

Twilio.SendEmail to patient.email with cancellation confirmation

Say"Your appointment has been cancelled and you'll receive a confirmation shortly. Is there anything else I can help you with?"
  • Patient wants to book a new appointment appointment-intent
  • Patient is done intake-close-complete

Intake Close — Callback

Say"Understood — no problem at all. When you're ready to move forward, you can reach us by phone, through the patient portal, or by replying to this message. We're happy to help whenever you're set."

CRM.UpdateRecord contact reason, outcome pending callback, patient.fullName

Intake Close — Referral Pending

Say"We've placed a soft hold for you while you get the referral sorted. Once it's submitted by your referring provider, give us a call or message us and we'll confirm that slot right away. Take care!"

CRM.UpdateRecord soft hold active, referral pending, patient.fullName

Intake Close — Complete

Say"You're all set, patient.fullName. Thank you for reaching out, and we look forward to seeing you. Have a great day!"

CRM.UpdateRecord interaction complete, outcome successful, patient.fullName

Escalation — Clinical

Say"What you're describing sounds like it may need immediate attention. Please call 911 or go to your nearest emergency room if you're experiencing a medical emergency. I'm also connecting you with a clinical team member right now who can assist further."

CRM.CreateCase priority: urgent, tagged clinical-escalation, patient.fullName

Twilio.NotifyOnCall clinical triage staff with patient name and reported symptoms

Escalation — Human Agent

Say"I want to make sure you get the right help here. Let me connect you with one of our scheduling specialists who can take it from here."

CRM.CreateCase priority: high, tagged scheduling-escalation, patient.fullName, interaction summary

Twilio.TransferCall or route chat to live scheduling specialist queue

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat▣ text

Appointment Reschedule / Cancellation

HealthcareSchedulingPatient Support

Intake and Identity Verification

Say"Thank you for reaching out. I can help you reschedule or cancel your appointment. To get started, may I have your full name and date of birth?"

EHR.LookupPatient using patient.fullName and patient.dateOfBirth to retrieve the patient record and patient.id.

Say"Thank you. Can you also confirm your patient ID or account number so I can pull up your appointment details?"

EHR.VerifyIdentity against patient.id and patient.accountNumber.

  • Identity verified successfully verified confirm-appointment-details
  • Identity cannot be verified after two attempts unverified identity-failure
  • Patient reports an urgent symptom or medical concern during intake urgent_concern clinical-triage-escalation

Identity Verification Failure

Say"I'm sorry — I wasn't able to verify your identity with the information provided. For your security, we're unable to make changes to your appointment until your identity is confirmed in person at one of our locations or through the patient portal with a verified login."

CRM.LogInteraction tagged identity-verification-failure, linked to patient.id

  • Patient accepts and ends the call accepted resolution-no-change
  • Patient escalates or disputes the inability to verify frustrated escalation-human

Confirm Appointment Details

EHR.GetAppointment for patient.id to retrieve appointment.date, appointment.provider, and appointment.id.

Say"I can see you have an appointment on appointment.date with appointment.provider. Are you looking to reschedule or cancel this appointment?"
Detect
patient intent on the request
  • Patient wants to reschedule reschedule reschedule-reason
  • Patient wants to cancel cancel cancellation-reason
  • Patient is vague or unsure unclear clarify-intent
  • Patient mentions a new or worsening symptom as the reason urgent_concern clinical-triage-escalation

Clarify Intent

Say"No problem — I just want to make sure I help you in the right way. Are you looking to move your appointment to a different time, or would you like to cancel it entirely?"
  • Patient confirms reschedule reschedule reschedule-reason
  • Patient confirms cancellation cancel cancellation-reason
  • Patient mentions a symptom or health concern urgent_concern clinical-triage-escalation

Reschedule — Reason Capture

Say"Understood. Could you briefly share the reason you need to reschedule? And do you have a preferred date or time range for the new appointment?"

CRM.LogInteraction tagged reschedule-request, linked to appointment.id

  • Patient provides a reason and preferred window has_preference check-slot-availability
  • Patient has no preference and any slot works no_preference check-slot-availability
  • Patient mentions a symptom or clinical concern as the reason urgent_concern clinical-triage-escalation

Check Slot Availability

SchedulingPortal.GetAvailableSlots for appointment.provider within the patient's preferred window.

  • Slots available with the same provider within the acceptable window slots_found offer-new-slot
  • No slots available with the same provider within the acceptable window no_slots no-availability-options
  • New slot requires eligibility check due to insurance or date change eligibility_check_needed insurance-eligibility-check

Offer New Slot

Say"I have a few openings with appointment.provider. Let me share those with you — which works best?"

SchedulingPortal.PresentSlots to surface top three available options.

Say"Once you confirm a time, I'll book that right away and send you a confirmation."
  • Patient selects a slot slot_selected SchedulingPortal.BookAppointment confirm-reschedule
  • Patient wants to see more options more_options SchedulingPortal.GetAvailableSlots extended range offer-new-slot
  • Patient changes mind and wants to cancel instead cancel cancellation-reason
  • Patient cannot find a suitable time no_match no-availability-options

No Availability Options

Say"I'm sorry — appointment.provider doesn't have availability within that window. I have a few options for you: I can offer you the next available slot with appointment.provider, or I can check for an earlier opening with another provider on the same care team, or I can add you to the waitlist so we can contact you if something opens up."
Detect
patient preference on alternatives
  • Patient accepts the next available slot with the same provider same_provider SchedulingPortal.BookAppointment confirm-reschedule
  • Patient accepts a different provider different_provider SchedulingPortal.GetAvailableSlots alternative providers offer-new-slot
  • Patient wants to join the waitlist waitlist SchedulingPortal.AddToWaitlist for patient.id and appointment.provider waitlist-confirmed
  • Patient is dissatisfied or requests provider callback frustrated escalation-human

Insurance Eligibility Check

Say"Before I confirm the new slot, I need to quickly verify your insurance coverage for that date. This will only take a moment."

EligibilityVerification.CheckCoverage using patient.id and insurance.status for newAppointment.date.

  • Coverage confirmed for the new date eligible offer-new-slot
  • Coverage issue detected — patient may owe out of pocket ineligible insurance-issue-flag
  • Eligibility check inconclusive inconclusive escalation-human

Insurance Issue Flag

Say"I was able to check your coverage, and there may be a gap in your insurance eligibility for the new appointment date. I want to make you aware before confirming so there are no billing surprises. Would you like to proceed, or would you prefer to speak with our billing team first?"
  • Patient wants to proceed anyway proceed offer-new-slot
  • Patient wants to speak with billing billing escalation-human
  • Patient decides to cancel instead cancel cancellation-reason

Cancellation — Reason Capture

Say"I can process that cancellation for you. Could you share the reason, even briefly? It helps us improve our scheduling."

EHR.CheckCancellationWindow for appointment.id to retrieve appointment.cancellationWindow.

CRM.LogInteraction tagged cancellation-request, linked to appointment.id

  • Within the cancellation window, no fee applicable no_fee process-cancellation
  • Inside the late-cancellation or no-show fee window fee_applicable late-cancellation-notice
  • Patient mentions a symptom or clinical concern as the reason urgent_concern clinical-triage-escalation

Late Cancellation Notice

Say"I want to let you know that this appointment falls within our late-cancellation window per clinic policy, which means a cancellation fee may apply. I want to make sure you're aware before I proceed. Would you still like to cancel?"

kb.cancellation-fee-policy — reference the applicable fee schedule and patient notification requirements.

  • Patient acknowledges and confirms cancellation confirmed process-cancellation
  • Patient disputes the fee or requests a waiver disputes_fee escalation-human
  • Patient decides to keep the appointment instead keep_appointment resolution-no-change

Process Cancellation

EHR.CancelAppointment for appointment.id, recording reason.change.

SchedulingPortal.ReleaseSlot for appointment.id.

CRM.UpdateRecord tagged cancelled, linked to patient.id and appointment.id.

Say"Your appointment on appointment.date with appointment.provider has been cancelled. You'll receive a confirmation shortly."

Twilio.SendNotification to patient.preferredContact with cancellation confirmation referencing appointment.date and appointment.provider.

  • Confirmation sent and patient has no further questions resolution-complete
  • Patient wants to reschedule after all reschedule reschedule-reason

Confirm Reschedule

EHR.UpdateAppointment replacing appointment.id with new slot details: newAppointment.date, newAppointment.time, newAppointment.provider.

CRM.UpdateRecord tagged rescheduled, linked to patient.id.

Say"You're all set. Your appointment has been moved to newAppointment.date at newAppointment.time with newAppointment.provider. A confirmation will be sent to your preferred contact on file."

Twilio.SendNotification to patient.preferredContact with reschedule confirmation including newAppointment.date, newAppointment.time, and newAppointment.provider.

  • Patient confirms receipt and has no further questions resolution-complete
  • Patient has an additional question or concern follow_up resolution-complete

Waitlist Confirmed

Say"You've been added to the waitlist for appointment.provider. If a slot becomes available that matches your preferences, we'll reach out right away via your preferred contact method. Is there anything else I can help you with?"

CRM.UpdateRecord tagged waitlisted, linked to patient.id and appointment.provider.

  • Patient has no further needs resolution-complete
  • Patient wants to also reschedule with a different provider in the meantime reschedule no-availability-options

Clinical Triage Escalation

Say"I want to make sure you get the right support. Before we make any changes to your appointment, I'd like to connect you with a clinical team member who can better assess what you're experiencing."

CRM.LogInteraction tagged clinical-concern, priority: high, linked to patient.id and appointment.id.

EHR.FlagForTriage for patient.id with note: patient reported symptom concern during scheduling interaction.

  • Triage nurse or clinical staff available to take the transfer escalation-human
  • After-hours: no clinical staff available Twilio.SendNotification urgent triage message to on-call line escalation-human

Escalation to Human Agent

Say"I'm going to connect you with a member of our team who can assist you further. Please hold for just a moment."

CRM.CreateCase priority: high, linked to patient.id and appointment.id, tagged for appropriate queue based on reason.

CRM.LogInteraction with full context: appointment.date, appointment.provider, reason.change, escalation trigger.

Resolution — No Change Made

Say"No changes have been made to your appointment on appointment.date with appointment.provider. If you need anything else, don't hesitate to reach out."

CRM.LogInteraction tagged no-change, linked to patient.id.

Resolution — Complete

Say"Is there anything else I can help you with today?"

CRM.LogInteraction tagged resolved, linked to patient.id.

  • Patient has no further needs no_further_needs session-closed
  • Patient has another request another_request intake-and-verification

Session Closed

Say"Thank you for reaching out. Take care, and we look forward to seeing you. Goodbye!"

CRM.CloseCase linked to patient.id.

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ chat▣ voice▣ sms

Amenity / Service Request

TravelHospitalityIn-StayGuest Serviceszinglekipsu

Greet and Identify

Say"Welcome! I'm happy to help with anything you need during your stay. Could I start with your name and room number?"
Detect
sentiment and intent on guest opening message
  • Guest provides name and room number confirmed verify-reservation
  • Guest expresses urgency or frustration upfront frustrated priority-flag
  • Guest message is unclear or incomplete unclear greet-and-identify

Verify Reservation

PMS.LookupReservation by guest.roomNumber and guest.name to confirm reservation.status

  • Active reservation found, room matches confirmed capture-request
  • Room number not found or name mismatch unverified secondary-verification
  • Reservation is checked out or future-dated inactive reservation-mismatch

Secondary Verification

Say"I want to make sure I have the right room. Could you share your reservation confirmation number or the email address used at check-in?"

PMS.LookupReservation by guest.reservationId as fallback

  • Identity confirmed on second attempt confirmed capture-request
  • Identity still cannot be confirmed unverified escalation-human

Reservation Mismatch

Say"I'm showing your reservation as either not yet checked in or already checked out. If you believe this is an error, I'd love to connect you with a team member who can look into it directly."
  • Guest believes it is an error escalation-human
  • Guest acknowledges wrong room or wrong stay greet-and-identify

Capture Request

Say"Great, thanks guest.name! You're all set in room guest.roomNumber. What can we bring or arrange for you today?"

kb.amenity-catalog — check available items, standard fees, and any quantity limits per room type

  • Guest states item or service clearly confirmed check-availability
  • Guest is unsure what is available unclear suggest-options
  • Guest raises a safety or accessibility concern safety escalation-human

Suggest Options

Say"Of course — here is a quick overview of what we can arrange: extra linens and towels, rollaway beds, cribs, toiletry top-ups, late checkout requests, luggage storage, and more. What sounds helpful for your stay?"
  • Guest selects an item or service confirmed check-availability
  • Guest still uncertain, requests human assistance unclear escalation-human

Check Availability

HousekeepingDispatch.CheckInventory for request.item against current stock and department capacity

  • Item is available and no fee applies available confirm-and-dispatch
  • Item is available with an associated fee fee_required disclose-fee
  • Item is unavailable or out of stock unavailable offer-alternative
  • Request is a late checkout or policy-bound service policy-check

Disclose Fee

Say"Just so you know, request.item carries a fee of item.fee which will be applied to your room account. Shall I go ahead and arrange it for you?"
  • Guest accepts the fee confirmed confirm-and-dispatch
  • Guest declines the fee declined offer-alternative
  • Guest disputes the fee frustrated escalation-human

Policy Check

kb.hotel-stay-policies — check late checkout availability, occupancy level, and any blackout conditions for reservation.checkoutDate

  • Late checkout is available within policy window available confirm-and-dispatch
  • Hotel is at full occupancy or request falls outside policy window unavailable policy-limitation

Policy Limitation

Say"I'm sorry — late checkout isn't available today due to high occupancy. What I can offer instead is complimentary luggage storage so you can enjoy the property until your departure. Would that work for you?"
  • Guest accepts the alternative confirmed confirm-and-dispatch
  • Guest requests a manager or fee waiver escalate escalation-human
  • Guest declines and has no further requests declined resolution-close

Offer Alternative

Agent
identify the closest available substitute for request.item using current inventory and kb.amenity-catalog.
Goal:propose one or two concrete alternatives that meet the guest's underlying need without over-promising on availability.
Constraints:only suggest items confirmed as in-stock by HousekeepingDispatch.CheckInventory; never promise a specific item that has not been verified available; do not offer complimentary upgrades without manager approval.
Tools available:HousekeepingDispatch.CheckInventory, kb.amenity-catalog
  • Suitable alternative identified and guest accepts confirmed confirm-and-dispatch
  • Guest declines all alternatives declined escalation-human

Confirm and Dispatch

HousekeepingDispatch.CreateTicket for request.item to room guest.roomNumber, urgency request.urgency, notes request.notes — returns dispatch.ticketId and dispatch.eta

CRM.LogInteraction for guest.reservationId tagged amenity-request, linked to dispatch.ticketId

Say"Perfect — I've sent that request through. You can expect request.item to arrive by dispatch.eta. Is there anything else I can help with during your stay?"
  • Guest confirms and has nothing further confirmed resolution-close
  • Guest has an additional request additional capture-request
  • Guest expresses dissatisfaction with the expected wait time frustrated priority-flag

Priority Flag

Say"I completely understand, and I apologize for the inconvenience. I'm marking this as a priority and re-dispatching now with a shortened delivery window."

HousekeepingDispatch.EscalateTicket for dispatch.ticketId, set priority: urgent — returns updated dispatch.eta

CRM.LogInteraction for guest.reservationId tagged priority-escalation

  • Re-dispatch confirmed and guest is satisfied confirmed resolution-close
  • Guest remains dissatisfied after re-dispatch frustrated escalation-human

Escalation to Human Agent

CRM.LogInteraction for guest.reservationId tagged escalation, with full request context and dispatch.ticketId

GuestMessaging.NotifyStaff to #guest-services-ops with guest.name, guest.roomNumber, request.item, and reason for escalation

Say"I want to make sure this is handled just right. I'm connecting you with a member of our team now who can assist you personally. Thank you for your patience, guest.name."

Resolution / Close

Say"You're all set, guest.name! Your request is confirmed and on its way. Don't hesitate to reach out if there is anything else we can do to make your stay more comfortable."

CRM.LogInteraction for guest.reservationId tagged resolved, linked to dispatch.ticketId

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ sms

Account Closure Request

Financial ServicesAccount ManagementComplianceRetention

Intake and Identity Verification

Say"Thank you for contacting us. I understand you'd like to close an account today. Before we proceed, I'll need to verify your identity. Can I have your full name and date of birth?"

CRM.LookupCustomer using customer.fullName and customer.dateOfBirth

IdentityVerification.InitiateCheck for customer.fullName and customer.dateOfBirth

Detect
identity verification outcome
  • Verification passes confirmed account-selection
  • Verification fails on first attempt unconfirmed verification-retry
  • Account has an active fraud or legal hold flagged by IdentityVerification.InitiateCheck hold_detected escalation-human
  • Customer is linked to a business or trust account entity_account escalation-human

Verification Retry

Say"I wasn't able to verify your identity with those details. Let me try one more method — can you confirm the last four digits of your Social Security Number and the phone number on file?"

IdentityVerification.SecondaryCheck using additional customer-provided details

Detect
secondary verification outcome
  • Verification passes on retry confirmed account-selection
  • Verification fails again unconfirmed escalation-human

Account Selection

Say"Thank you, customer.fullName — your identity is verified. Which account or accounts would you like to close today? Please provide the account number or I can list the accounts currently on file."

CoreBanking.GetAccountList for verified customer record

Say"I can see the following accounts associated with your profile. Please confirm the account number or numbers you'd like to close."
Detect
customer intent on account selection
  • Customer provides a valid account number confirmed compliance-screening
  • Customer is unsure which account or requests guidance needs_help account-selection-assist
  • Customer becomes uncooperative or hostile hostile escalation-human

Account Selection Assist

Say"No problem — let me walk you through the accounts on your profile so we can identify the right one."

CoreBanking.GetAccountList — surface account type, last four digits, and current status for each account

Say"Can you confirm which of these is the account you'd like to close? I want to make sure we process the correct one."
  • Customer confirms account selection confirmed compliance-screening
  • Customer still cannot identify the account unconfirmed escalation-human

Compliance and AML Screening

ComplianceAML.ScreenAccount for account.number

CRM.LogInteraction note: closure request initiated for account.number

Detect
compliance screening outcome
  • Account clears compliance screening confirmed account-balance-check
  • Account flagged for elevated risk or AML concern high_risk compliance-review
  • Account has an existing legal or regulatory hold legal_hold escalation-human

Compliance Review

Agent
assess the flagged account against compliance.riskScore, account.status, and kb.aml-compliance-policy.
Goal:determine whether the closure request can proceed, must be held pending review, or must be escalated to the compliance team.
Constraints:never approve closure of a flagged account without documented risk assessment; never communicate hold details that would tip off a potentially fraudulent actor; always log the screening outcome to agent.caseId.
Tools available:ComplianceAML.ScreenAccount, ComplianceAML.GetRiskDetail, CRM.LogInteraction, kb.aml-compliance-policy
  • Agent determines low-risk flag, safe to proceed account-balance-check
  • Agent determines elevated risk requiring human review needs_review escalation-human

Account Balance and Pending Transaction Check

CoreBanking.GetAccountDetail for account.number — retrieve account.balance, account.pendingTransactions, and account.status

Detect
account financial state
  • Balance is zero and no pending transactions clear closure-reason-collection
  • Pending transactions exist on the account pending pending-transactions-hold
  • Outstanding balance or linked loan exists on the account balance_owed outstanding-balance-hold

Pending Transactions Hold

Say"I can see there are pending transactions on this account that haven't settled yet. Account closure will be processed automatically once all pending transactions have cleared — typically within three to five business days."

kb.account-closure-policy — confirm settlement window and closure processing rules for account.type

Say"Would you like us to proceed with the closure request now so it triggers automatically after settlement, or would you prefer to call back once the transactions have cleared?"
Detect
customer preference
  • Customer agrees to automatic post-settlement closure confirmed CoreBanking.QueueClosureRequest for account.number closure-reason-collection
  • Customer prefers to wait and call back declined closure-pending-confirmation
  • Customer escalates or disputes the pending transactions disputed escalation-human

Closure Pending Confirmation

Say"Understood — no problem. Your closure request has not been submitted. Please contact us again once your pending transactions have settled and we'll process the closure at that time. Is there anything else I can help you with today?"

CRM.LogInteraction note: customer deferred closure for account.number pending transaction settlement

Outstanding Balance Hold

Say"I'm showing an outstanding balance or a linked loan associated with this account. Before we can process the closure, the balance will need to be resolved — either paid in full or transferred to another eligible account."

kb.account-closure-policy — confirm balance resolution requirements for account.type

Say"Would you like me to walk you through your options for resolving the balance, or would you prefer to speak with a specialist?"
Detect
customer response
  • Customer agrees to resolve balance and requests options confirmed escalation-human
  • Customer requests more time and wants to call back declined closure-pending-confirmation
  • Customer disputes the balance disputed escalation-human

Closure Reason Collection

Say"Before we finalize the closure, I'd like to note the reason for your request — this helps us improve our services. Common reasons include switching to another institution, account no longer needed, fee concerns, or a change in financial goals. What's the primary reason for closing your account today?"
Detect
closure reason and customer sentiment
  • Customer cites fees or dissatisfaction with service frustrated retention-offer
  • Customer cites a neutral or logistical reason neutral funds-destination-collection
  • Customer shows signs of financial distress distressed financial-distress-flag

Financial Distress Flag

ComplianceAML.FlagForReview note: potential financial distress indicator on account.number

CRM.LogInteraction note: distress signal detected during closure request for customer.fullName

Say"I want to make sure we're exploring every option available to you before we proceed. We have resources that may help — would it be okay if I connected you with a financial wellness specialist?"
Detect
customer response
  • Customer agrees to speak with a specialist confirmed escalation-human
  • Customer declines and wishes to continue closure declined funds-destination-collection

Retention Offer

Say"I hear you, and I'm sorry to hear you've had that experience. Before we proceed, I'd like to see if there's anything we can do — such as a fee waiver, a rate adjustment, or a product that better fits your needs. Would you be open to hearing your options?"

kb.retention-offers-policy — surface eligible retention offers for account.type and customer.fullName profile

Detect
customer response to retention offer
  • Customer is open to retention options interested escalation-human
  • Customer declines and confirms they want to close confirmed funds-destination-collection

Funds Destination Collection

Say"To transfer your remaining balance, I'll need the destination account details — the bank name, routing number, and account number you'd like the funds sent to."

ACHTransfer.ValidateDestination for transfer.destinationAccount and transfer.destinationBank

Detect
destination verification outcome
  • Destination account validated successfully confirmed closure-confirmation
  • Destination account cannot be verified unconfirmed funds-destination-hold
  • Customer has no external account and requests a check CoreBanking.GetAccountDetail closure-confirmation

Funds Destination Hold

Say"I wasn't able to verify the destination account details you provided. To protect your funds, we'll need to place the closure on hold until we can confirm a valid transfer destination."
Say"You can provide updated banking details by calling us back, visiting a branch, or sending a secure message through your online banking portal. Once we have verified details on file, we'll process your closure and fund transfer right away."

CRM.LogInteraction note: closure held for account.number — destination account unverifiable

SecureMessaging.SendConfirmation to customer.email note: closure request on hold pending valid transfer details

Closure Confirmation

CoreBanking.SubmitClosureRequest for account.number — generate closure.requestId and closure.timeline

ACHTransfer.InitiateTransfer of account.balance to transfer.destinationAccount

CRM.LogInteraction note: closure submitted for account.number, request ID closure.requestId

SecureMessaging.SendConfirmation to customer.email with closure.requestId and closure.timeline

Say"Your closure request has been submitted. Your confirmation number is closure.requestId. Any remaining balance will be transferred to your destination account within closure.timeline business days. You'll receive a written confirmation at the email address on file."
Say"Is there anything else I can help you with today?"
Detect
customer response
  • Customer has additional questions or requests needs_help post-closure-support
  • Customer is satisfied and ends interaction confirmed resolution

Post-Closure Support

Say"Of course — I'm happy to help. What else can I assist you with?"

kb.account-closure-policy — reference post-closure FAQs including statement access, tax documents, and credit impact

Detect
nature of follow-up question
  • Question answered and customer satisfied confirmed resolution
  • Issue requires specialist involvement or account access complex escalation-human

Escalation to Human Agent

CRM.CreateCase priority: high, tagged account-closure-escalation, linked to account.number

CRM.LogInteraction note: escalation triggered — reason logged under agent.caseId

SecureMessaging.SendNotification to assigned specialist with customer profile, account.number, and case summary

Say"I'm going to connect you with a specialist who has the tools and authority to assist you further. They'll have full context on your request so you won't need to repeat yourself. Please hold for just a moment."

Resolution

Say"Thank you for contacting us today, customer.fullName. Your request has been handled and you'll receive written confirmation shortly. We appreciate your time and wish you all the best. Have a great day."

CRM.LogInteraction note: closure interaction completed for customer.fullName, account account.number

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ text

Symptom Triage / Nurse Line Routing

HealthcareTriageNursingPatient Support

Identity Verification

Say"Thank you for calling. I'm your Healthcare Support Agent. To get started, can I get your full name and date of birth?"

EHR.LookupPatient by patient.fullName and patient.dateOfBirth

  • Identity confirmed, record found CRM.OpenRecord symptom-intake
  • Identity confirmed but DOB mismatch — ask for patient.memberId EHR.LookupPatientById symptom-intake
  • Caller is a caregiver, not the patient — collect patient.caregiverName and relationship, then verify patient identity symptom-intake
  • Identity cannot be verified after two attempts CRM.FlagUnverified unverified-caller-triage

Symptom Intake

Say"I'm going to ask you a few questions about your symptoms so I can make sure you get the right care as quickly as possible. Please describe what you're experiencing today."

Collect patient.primarySymptom, patient.symptomDuration, and patient.symptomTrend.

Say"Are you currently taking any medications, or do you have any conditions I should know about — such as diabetes, heart disease, or a compromised immune system?"

Collect patient.currentMedications and patient.knownConditions.

  • Caller mentions chest pain, pressure, or tightness emergency-redirect
  • Caller mentions difficulty breathing or shortness of breath at rest emergency-redirect
  • Caller mentions sudden face drooping, arm weakness, or speech difficulty emergency-redirect
  • Caller mentions severe bleeding that won't stop or loss of consciousness emergency-redirect
  • Caller explicitly requests to speak with a nurse escalation-nurse-callback
  • Symptoms collected, no red-flag keywords detected triage-assessment

Emergency Redirect

Say"What you're describing could be a medical emergency. Please call 911 right now or have someone nearby call for you. Do not drive yourself. I will stay on the line with you while you do this."

CRM.CreateCase priority: critical, tagged emergency-redirect, linked to patient.memberId

NurseQueue.AlertOnCall with patient.primarySymptom and case.id

EHR.AddEncounterNote "Emergency redirect issued. Patient advised to call 911. Symptoms: patient.primarySymptom. Duration: patient.symptomDuration."

  • Caller confirms they are calling 911 or help is on the way emergency-documentation
  • Caller refuses to call 911 — document refusal, stay on the line, re-advise care-refusal
  • No response or line goes silent NurseQueue.AlertOnCall escalate immediately escalation-nurse-callback

Emergency Documentation

Say"Help is on the way. Stay as calm as you can, stay on the line if you're able, and unlock your door if someone can do that safely. We are documenting this call and your care team will be notified."

EHR.AddEncounterNote "Patient acknowledged emergency redirect. 911 advised. Case case.id created."

CRM.UpdateCase case.id status: emergency-dispatched

Triage Assessment

Agent
evaluate patient.primarySymptom, patient.symptomDuration, patient.symptomTrend, patient.currentMedications, and patient.knownConditions against triage protocols.
Goal:determine the appropriate care tier — self-care, nurse callback, urgent care within 4 hours, or emergency services — using validated clinical decision support.
Constraints:never downgrade a symptom set that includes high-risk modifiers (immunocompromised, anticoagulant use, age over 65 with fever, pediatric under 3 months with fever); always escalate to nurse if the protocol confidence score is below threshold; never advise the patient that symptoms are "nothing to worry about" without a completed protocol match.
Tools available:TriageEngine.EvaluateSymptoms, TriageEngine.GetProtocol, kb.schmitt-thompson-protocols, EHR.GetPatientRiskFlags
  • Triage engine returns tier: self-care tier_selfcare self-care-guidance
  • Triage engine returns tier: nurse callback tier_nurse escalation-nurse-callback
  • Triage engine returns tier: urgent care tier_urgent urgent-care-routing
  • Triage engine returns tier: emergency tier_emergency emergency-redirect
  • Triage engine lookup fails or confidence below threshold needs_review escalation-nurse-callback

Self-Care Guidance

kb.schmitt-thompson-protocols — retrieve home-care instructions matching triage.protocol

Say"Based on what you've described, this sounds like something you can manage safely at home. Here's what I'd recommend: triage.protocol. Please monitor your symptoms over the next 24 hours."
Say"If your symptoms worsen — especially if you develop a fever above 103°F, difficulty breathing, or you feel significantly worse — please call us back right away or go to your nearest urgent care."

EHR.AddEncounterNote "Triage complete. Tier: self-care. Protocol: triage.protocol. Guidance delivered. Symptoms: patient.primarySymptom. Duration: patient.symptomDuration."

CRM.UpdateCase case.id status: self-care-guidance-provided

  • Patient accepts guidance and has no further questions resolution
  • Patient is uncertain or wants a nurse to confirm escalation-nurse-callback
  • Patient refuses self-care recommendation care-refusal

Urgent Care Routing

Scheduling.FindNearestUrgentCare by patient.zip -> facility.nearest

Say"Based on your symptoms, I recommend you visit an urgent care center within the next 4 hours. The nearest in-network location to you is facility.nearest. Do you need directions or help finding another location?"
Say"Please do not delay — if at any point your symptoms feel significantly worse before you arrive, call 911 immediately."

EHR.AddEncounterNote "Triage complete. Tier: urgent care within 4 hours. Facility: facility.nearest. Symptoms: patient.primarySymptom. Protocol: triage.protocol."

CRM.UpdateCase case.id status: urgent-care-routed

SecureMessaging.SendSummary to patient.phone with facility address and care instructions

  • Patient confirms they will go resolution
  • Patient requests a different facility Scheduling.FindNearestUrgentCare alternate urgent-care-routing
  • Patient refuses urgent care recommendation care-refusal
  • Patient requests nurse confirmation before going escalation-nurse-callback

Escalation to Nurse Callback

NurseQueue.AddToCallbackQueue patient.memberId, patient.primarySymptom, patient.symptomDuration, patient.symptomTrend, patient.knownConditions, patient.currentMedications, triage.riskScore

NurseQueue.GetEta -> nurse.callbackEta

CRM.CreateCase priority: high, tagged nurse-callback, linked to patient.memberId

Say"I'm connecting you with one of our registered nurses who will call you back at patient.phone. Your estimated wait time is nurse.callbackEta. Please stay near your phone and call 911 immediately if your symptoms get significantly worse before then."

EHR.AddEncounterNote "Escalated to nurse callback queue. ETA: nurse.callbackEta. Symptoms: patient.primarySymptom. Risk score: triage.riskScore. Case: case.id."

SecureMessaging.SendSummary to patient.phone confirming callback and safety instructions

  • Nurse callback queued and patient is stable resolution
  • Patient's condition appears to be worsening during call emergency-redirect

Unverified Caller Triage

Say"I wasn't able to verify your identity in our system, but your health and safety are the priority. I'm going to collect your symptoms now and make sure a nurse follows up with you."

Collect patient.primarySymptom, patient.symptomDuration, patient.symptomTrend.

CRM.CreateCase priority: high, tagged unverified-caller, flagged for nurse review

NurseQueue.AddToCallbackQueue unverified, patient.primarySymptom, patient.symptomDuration, patient.phone

Say"I've flagged your case for a nurse to review and call you back. Can I confirm the best number to reach you?"

EHR.AddEncounterNote "Unverified caller. Symptoms collected for nurse review. Callback number: patient.phone."

  • Caller mentions any emergency symptom emergency-redirect
  • Case queued successfully resolution
  • Caller explicitly requests nurse immediately escalation-nurse-callback

Care Refusal

Say"I understand, and I respect your decision. I do want to make sure you have all the information — based on your symptoms, our recommendation is triage.tier level care. Delaying care in some situations can lead to symptoms becoming more serious."
Say"If you change your mind, please don't hesitate to call us back at any time, day or night. I'm going to note your preference in your record."

EHR.AddEncounterNote "Patient declined recommended care tier: triage.tier. Symptoms: patient.primarySymptom. Refusal documented per protocol. Case: case.id."

CRM.UpdateCase case.id status: care-refusal-documented

NurseQueue.AlertOnCall with refusal note and patient.memberId for awareness

  • Patient reconsiders and agrees to recommended care tier triage-assessment
  • Patient maintains refusal but accepts lower-acuity guidance self-care-guidance
  • Patient ends call resolution

Resolution

Say"Is there anything else I can help you with today? Please remember — if your symptoms change or worsen at any point, call us back right away or call 911 if it feels like an emergency. Take care."

EHR.AddEncounterNote "Encounter complete. Final routing: triage.tier. Case: case.id. Patient acknowledged next steps."

CRM.UpdateCase case.id status: resolved

SecureMessaging.SendSummary to patient.phone with encounter summary and care instructions

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ sms

Service Activation / New Line Setup

TelecomActivationNew LineSales

Identity Verification

Say"Welcome! I can help you get a new line activated today. First, I need to verify your account. Can I have your account holder name, account number, and PIN?"

CRM.LookupAccount using account.holder_name and account.id

CRM.VerifyPIN against account.pin

  • Identity verified on first or second attempt confirmed eligibility-check
  • Identity fails first attempt unconfirmed CRM.LogVerificationAttempt secondary-verification
  • Fraud flag raised on account fraud_flag escalation-fraud
  • Identity fails after two attempts verification_failed escalation-identity

Secondary Verification

Say"I wasn't able to verify with that PIN. Let me try a secondary check — can you confirm the billing address on the account and the last four digits of the payment method on file?"

CRM.VerifySecondaryIdentity using account.billing_address and account.payment_method

  • Secondary verification passes confirmed eligibility-check
  • Secondary verification fails unconfirmed escalation-identity

Eligibility Check

Say"Great, I've verified your identity. Let me check if your account is eligible to add a new line."

BillingPlatform.CheckEligibility for account.id

  • Account is eligible for a new line eligible device-and-sim-collection
  • Account has outstanding balance or restrictions ineligible eligibility-resolution

Eligibility Resolution

Say"I can see there's a hold or outstanding balance on your account that needs to be resolved before we can add a new line. Let me pull up the details."

BillingPlatform.GetAccountStatus for account.id

  • Customer agrees to resolve balance now confirmed BillingPlatform.ProcessPayment device-and-sim-collection
  • Customer wants to handle it later or disputes the hold declined escalation-billing

Device and SIM Collection

Say"Perfect. Now I'll need a few details about the device and SIM. Could you provide the IMEI number of the device and the SIM card number you'll be using?"

SIMIMEIProvisioning.ValidateIMEI using device.imei

SIMIMEIProvisioning.ValidateSIM using sim.number

  • IMEI and SIM both valid confirmed plan-selection
  • IMEI is blacklisted or incompatible imei_flagged device-issue
  • SIM number is unrecognized or already active sim_invalid sim-issue

Device Issue

Say"I'm sorry — the IMEI you've provided is either flagged as blacklisted or isn't compatible with our network. I can't activate service on that device."

kb.compatible-device-catalog — retrieve compatible device options and current upgrade promotions for account.id

Say"Here are some compatible options available to you, including any current upgrade or trade-in offers. Would you like to explore one of those, or do you have another device you'd like to try?"
  • Customer wants to use a different device confirmed device-and-sim-collection
  • Customer wants to explore upgrade or purchase options interested escalation-device-upgrade
  • Customer wants to end the interaction declined resolution-closed

SIM Issue

Say"The SIM number provided doesn't appear to be recognized in our system, or it may already be linked to another line. Let's sort that out."

kb.sim-replacement-policy — check eligibility for a new SIM

  • Customer can obtain or activate a replacement SIM confirmed device-and-sim-collection
  • Issue requires physical store visit or mailed SIM store_required escalation-store-referral

Plan Selection

Say"Your device and SIM look good. Now let's choose the right plan. What kind of plan or package are you looking for? I can walk you through current options, or if you already have one in mind, just let me know."

kb.plan-catalog — retrieve available plans, pricing, and promotional offers for account.id

Say"Based on your account, here are the plans available to you. Can you confirm which one you'd like to go with?"
  • Customer selects a plan confirmed number-selection
  • Customer is unsure or wants more information undecided plan-recommendation

Plan Recommendation

Agent
recommend the best-fit plan for the customer based on account usage history, plan.selected interest signals, and kb.plan-catalog.
Goal:identify and present up to three plan options that match the customer's stated needs (data, budget, family vs. individual) and close on a selection.
Constraints:never recommend a plan above the customer's stated budget ceiling; always disclose activation fees and contract terms upfront; do not offer promotions not currently active in kb.plan-catalog.
Tools available:CRM.GetUsageHistory, kb.plan-catalog, kb.current-promotions
  • Customer selects a plan after recommendation confirmed number-selection
  • Customer still undecided or wants to call back deferred resolution-deferred
  • Customer declines all plans declined resolution-closed

Number Selection

Say"Now let's set up your phone number. Would you like us to assign you a new number, or would you like to port an existing number from another carrier?"
  • Customer wants a new number assigned new_number CarrierNetworkAPI.AssignNumber for account.id payment-processing
  • Customer wants to port an existing number port_in port-in-collection

Port-In Collection

Say"No problem — we can port your number over. I'll need a few details from your current carrier: the phone number you want to port, the account number with your current carrier, the PIN or password on that account, and the billing address they have on file."

NumberPortabilityDB.ValidatePortRequest using port.number, port.carrier, port.account_number, port.pin

  • Port request validated and eligible confirmed port-in-initiated
  • Port request rejected or information mismatch invalid port-in-issue

Port-In Initiated

NumberPortabilityDB.SubmitPortRequest for port.number linked to account.id

Say"Your port request has been submitted. The number transfer can take up to 24 hours depending on your current carrier. In the meantime, we'll assign a temporary number so your line is active right away. You'll receive a notification once your original number has fully transferred."

CarrierNetworkAPI.AssignTemporaryNumber for account.id

  • Temporary number assigned and port submitted confirmed payment-processing
  • Port submission fails due to carrier-side issue port_error escalation-porting

Port-In Issue

Say"I wasn't able to validate the port request with the details provided. This can happen if the account number or PIN with your current carrier doesn't match their records. Could you double-check those details and try again?"
  • Customer provides corrected details confirmed port-in-collection
  • Customer is unable to provide correct details unconfirmed escalation-porting
  • Customer prefers to take a new number instead new_number payment-processing

Payment Processing

Say"Almost there. There is an activation fee of plan.activation_fee for this line. I'll apply that to the payment method on file. Shall I go ahead?"

PaymentProcessor.ChargeActivationFee of plan.activation_fee to account.payment_method

  • Payment succeeds payment_success line-provisioning
  • Payment declines payment_declined payment-retry

Payment Retry

Say"It looks like the payment didn't go through on the card on file. You can try a different payment method, or I can check if you're eligible for an installment option to spread out the activation cost."

kb.installment-eligibility — check if account.id qualifies for installment plan on activation fee

  • Customer provides alternate payment method alternate_payment PaymentProcessor.ChargeActivationFee line-provisioning
  • Customer qualifies for and accepts installment option installment_approved BillingPlatform.SetupInstallment line-provisioning
  • Customer declines all payment options declined resolution-payment-abandoned

Line Provisioning

Say"Payment confirmed — I'm now provisioning your new line. This will just take a moment."

CarrierNetworkAPI.ProvisionLine for account.id with sim.number, device.imei, plan.selected

CRM.UpdateAccount with line.assigned_number and new line details

BillingPlatform.AddLineToAccount for account.id with plan.selected

  • Line provisioned successfully line_active activation-confirmation
  • Provisioning error returned by network provisioning_error escalation-provisioning

Activation Confirmation

Say"Your new line is live! Your number is line.assigned_number. To confirm everything is working, try making a quick call or loading a webpage — let me know what you see."
Detect
customer confirms service is working
  • Customer confirms call or data is working confirmed resolution-success
  • Customer reports no signal or data issues not_working activation-troubleshooting

Activation Troubleshooting

Say"Let's do a quick check. First, try restarting the device and make sure it isn't in airplane mode. Also confirm the SIM is seated properly."

CarrierNetworkAPI.CheckLineStatus for line.assigned_number

SIMIMEIProvisioning.VerifyProvisioningStatus for sim.number

  • Network confirms line is active and issue resolves resolved resolution-success
  • Line status shows error or provisioning incomplete provisioning_error escalation-provisioning
  • Issue persists despite active line status unresolved escalation-technical

Escalation — Identity Verification Failed

Say"I'm sorry — I wasn't able to verify your identity after two attempts. For your account's security, I'm unable to proceed with the activation. You're welcome to visit one of our stores with a valid photo ID to complete this in person."

CRM.LogFailedVerification for account.id with verification.attempts

CRM.CreateTicket tagged identity-verification-failed, linked to account.id

Escalation — Fraud Flag

Say"I'm not able to process this request at the moment. A specialist will reach out to you to assist further. Please don't worry — no changes have been made to your account."

CRM.FlagAccountForReview tagged fraud, for account.id

CRM.CreateTicket priority: high, tagged fraud-flag, linked to account.id

Escalation — Billing or Eligibility

Say"Let me connect you with our billing team who can look into your account balance and eligibility in more detail and get this sorted for you."

CRM.CreateTicket tagged billing-hold, linked to account.id

Escalation — Device Upgrade

Say"I'm transferring you to our device sales team. They'll walk you through compatible devices, upgrade programs, and any current trade-in offers."

CRM.CreateTicket tagged device-upgrade-referral, linked to account.id

Escalation — Store Referral

Say"For the SIM issue, the easiest path is to visit one of our stores where they can issue a new SIM and activate it on the spot. I'll note your account so they have the full context when you arrive."

CRM.CreateTicket tagged sim-store-referral, linked to account.id

Escalation — Porting Issue

Say"I wasn't able to complete the port request from our side — this sometimes requires direct coordination with your current carrier. I'm escalating this to our porting specialist team, who will contact you within one business day."

CRM.CreateTicket priority: high, tagged port-in-escalation, linked to account.id, including port.number and port.carrier

Escalation — Provisioning Error

Say"It looks like there was a technical issue provisioning your line on our network. I'm escalating this to our technical team right now — they'll have this resolved and will reach out to confirm once your line is fully active."

CRM.CreateTicket priority: high, tagged provisioning-error, linked to account.id and line.assigned_number

Escalation — Technical Support

Say"Since the line shows as active on our end but you're still having trouble, I'm escalating to our technical support team who can run a deeper diagnostic. They'll follow up with you shortly."

CRM.CreateTicket tagged device-technical-issue, linked to account.id and line.assigned_number

Resolution — Success

Say"Fantastic — everything is up and running. Your new line is active, your number is line.assigned_number, and your plan is set. Is there anything else I can help you with today?"

CRM.CloseTicket for account.id tagged activation-complete

Resolution — Deferred

Say"No problem at all — take your time. When you're ready to move forward, just reach back out and we'll have everything ready to pick up right where we left off. Have a great day!"

CRM.SaveSessionState for account.id with plan.selected and device.imei

Resolution — Payment Abandoned

Say"Understood — we'll hold the order details for now. When you're ready to complete the activation, just contact us again and we'll resume from here. Thanks for your time."

CRM.SaveSessionState for account.id with plan.selected and line.assigned_number tagged payment-pending

Resolution — Closed

Say"Of course — no problem. If you change your mind or need anything else, we're always here to help. Have a great day!"

CRM.LogInteraction for account.id tagged activation-not-completed

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ chat▣ voice▣ sms

Quote Request Intake

InsuranceSalesQuotes

Intake Greeting

Say"Hi there! I'm your insurance support agent. I'd be happy to help you get a quote today. To get started, could you tell me what type of coverage you're looking for — for example, auto, home, life, renters, or something else?"
Detect
intent on customer reply
  • Customer names a specific coverage type confirmed coverage-type-selected
  • Customer is unsure or asks for a recommendation uncertain coverage-guidance
  • Customer wants to speak with a person directly escalation_request escalation-human

Coverage Guidance

Say"No problem at all — let me ask a few quick questions so I can point you in the right direction."
Agent
recommend the most appropriate coverage product based on the customer's situation.
Goal:identify the best-fit coverage type (auto, home, life, renters, umbrella, etc.) by asking clarifying questions about assets, dependents, and existing coverage.
Constraints:never recommend a specific policy dollar amount without running the quoting engine; only recommend product categories; ask no more than three clarifying questions before making a recommendation.
Tools available:kb.coverage-product-guide, kb.underwriting-eligibility-overview
  • Agent identifies a suitable coverage type and customer agrees confirmed coverage-type-selected
  • Customer remains undecided or disengages disengaged partial-intake-save
  • Customer requests a human advisor escalation_request escalation-human

Coverage Type Selected

Say"Great choice. I'll now collect a few details so we can generate your quote. This should only take a couple of minutes."

CRM.LookupCustomer by customer.phone or customer.email to check for an existing record.

  • Existing customer record found returning_customer risk-detail-collection
  • No existing record found new_customer personal-info-collection

Personal Info Collection

Say"First, could I get your full name, email address, phone number, and mailing address?"

CRM.CreateContact with customer.name, customer.email, customer.phone, customer.address

  • All required contact details collected info_complete risk-detail-collection
  • Customer provides partial info then stops responding disengaged partial-intake-save

Risk Detail Collection

Say"Thanks, customer.name. Now I'll need a few details specific to the coverage you're looking for. I'll guide you through them one at a time."
Agent
collect all risk-relevant details required for the selected coverage.type.
Goal:gather complete risk inputs — vehicle make/model/year and VIN for auto (risk.vehicleInfo), property address and year built for home (risk.propertyAddress), age and health status for life (risk.age, risk.healthStatus) — plus coverage.desiredLimits, coverage.startDate, and coverage.currentProvider.
Constraints:never ask for Social Security Number or financial account numbers; if a customer declines to answer a required field, note it as missing and continue; do not proceed to quoting with fewer than 80% of required fields complete.
Tools available:CRM.UpdateContact, kb.risk-field-requirements, kb.coverage-product-guide
  • All required risk fields collected fields_complete underwriting-check
  • Critical fields missing after follow-up prompts fields_incomplete partial-intake-save
  • Customer disengages mid-collection disengaged partial-intake-save

Underwriting Check

UnderwritingRulesAPI.Evaluate with coverage.type, risk.vehicleInfo, risk.propertyAddress, risk.age, risk.healthStatus, coverage.desiredLimits

Detect
underwriting eligibility result
  • Risk profile passes standard guidelines eligible quote-generation
  • Risk profile flagged — outside standard guidelines flagged high_risk underwriter-review
  • API returns an error or timeout error quoting-system-error

Quote Generation

QuotingEngine.GenerateQuote with customer.name, coverage.type, risk.vehicleInfo, risk.propertyAddress, risk.age, risk.healthStatus, coverage.desiredLimits, coverage.startDate

Detect
quoting engine response
  • Quote successfully generated quote_ready quote-presentation
  • Quoting engine error or timeout on first attempt error quoting-retry

Quoting Retry

Say"I'm sorry — our quoting system took a moment. Let me try one more time."

QuotingEngine.GenerateQuote retry with same inputs

  • Quote successfully generated on retry quote_ready quote-presentation
  • Second attempt also fails error quoting-system-error

Quote Presentation

Say"Great news, customer.name! I have your quote ready. Your estimated premium for coverage.type coverage is quote.premium per month, at the quote.tier coverage tier, with your requested limits. Your quote ID is quote.id."

NotificationService.SendEmail to customer.email with quote summary: quote.id, quote.premium, quote.tier, coverage.desiredLimits, coverage.startDate

NotificationService.SendSMS to customer.phone with quote summary link

Say"I've sent a copy to your email and a summary link to your phone. Would you like to move forward and bind this coverage, get a different tier, or have a licensed agent walk you through your options?"
Detect
customer response intent
  • Customer wants to bind coverage now bind_now next-steps-binding
  • Customer wants to explore different tiers or limits adjust_quote risk-detail-collection
  • Customer wants to speak with a licensed agent escalation_request escalation-human
  • Customer acknowledges receipt but wants to decide later defer resolution-follow-up

Next Steps — Binding

Say"Wonderful! I'll connect you with our policy team to complete the binding process. Your quote ID quote.id and all your details are ready for them."

PolicyManagement.InitiateBinding with quote.id, customer.name, customer.email, coverage.startDate

CRM.UpdateContact status: quote-accepted, linked to quote.id

Say"You're all set. Someone from our team will reach out within one business day to finalize your policy documents and payment details. Is there anything else I can help you with today?"
  • Customer has additional questions intake-greeting
  • Customer is done — no further questions resolution-complete

Underwriter Review

Say"Thank you for sharing those details, customer.name. Your risk profile requires a brief review by one of our underwriting specialists before we can finalize a quote. This is a standard step for certain coverage requests."

CRM.UpdateContact status: pending-underwriter-review, flag: underwriting.flagReason

NotificationService.SendEmail to customer.email confirming review is in progress, expected timeline 1 to 2 business days

UnderwritingRulesAPI.CreateReviewCase with customer.name, coverage.type, underwriting.flagReason, all risk fields

Say"We'll reach out to you at customer.email within 1 to 2 business days with your quote or any follow-up questions. Would you like me to also arrange a call with a licensed agent in the meantime?"
  • Customer wants an agent callback confirmed escalation-human
  • Customer is satisfied to wait defer resolution-follow-up

Partial Intake Save

CRM.SavePartialIntake with all collected fields, status: incomplete, customer.phone, customer.email

NotificationService.ScheduleFollowUp outreach in 24 hours to customer.phone and customer.email

Say"No problem at all — I've saved everything you've shared so far. One of our team members will follow up with you within 24 hours to help complete your quote at a time that's convenient for you. Is there a preferred time or contact method we should use?"

CRM.UpdateContact preferred_contact: as stated by customer

  • Customer provides a preferred follow-up time or method resolution-follow-up
  • Customer does not respond or disengages resolution-follow-up

Quoting System Error

Say"I apologize — our quoting system is not available right now, and I want to make sure you get an accurate quote as quickly as possible. I'm going to connect you with a licensed agent who can complete this for you directly."

CRM.LogQuoteAttempt status: system-error, customer.name, coverage.type, all collected risk fields

NotificationService.AlertLicensedAgent with customer.name, customer.phone, customer.email, coverage.type, collected risk fields

  • Handoff to licensed agent escalation-human

Escalation to Human Agent

CRM.UpdateContact status: escalated-to-agent

CRM.CreateTask priority: high, assigned: licensed_agent_queue, linked to customer.name, coverage.type, quote.id

NotificationService.AlertLicensedAgent with full intake summary: customer.name, customer.email, customer.phone, coverage.type, coverage.desiredLimits, coverage.startDate, all risk fields, quote.id if available

Say"I'm transferring you now to a licensed agent who has all the details you've shared with me. You won't need to repeat anything. Thank you for your patience, customer.name."

Resolution — Follow-up Scheduled

Say"You're all set, customer.name. We'll be in touch soon to continue where we left off. Don't hesitate to reach back out if you have any questions in the meantime."

CRM.UpdateContact status: follow-up-scheduled

Resolution — Complete

Say"Thank you for choosing us, customer.name. Your quote is confirmed and our team will be in touch shortly. Have a great day!"

CRM.UpdateContact status: quote-delivered

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat▣ sms

Prescription Refill Request

HealthcarePharmacyRefill

Patient Verification

Say"Thank you for calling. I'm here to help with your prescription refill. To get started, can I have your full name and date of birth?"

PatientIdentityVerification.LookupPatient using patient.fullName and patient.dateOfBirth

  • Identity verified successfully verified prescription-lookup
  • Identity cannot be confirmed after two attempts unverified escalation-human
  • Patient reports urgent clinical concern or adverse reaction urgent escalation-clinical

Prescription Lookup

Say"Thank you, patient.fullName. Which prescription would you like to refill today — including the medication name and dosage?"

Epic.GetPrescriptionRecord using patient.memberId, prescription.name, prescription.dosage

  • Prescription found, refills remaining and not expired pharmacy-confirmation
  • Prescription found, no refills remaining no_refills no-refills-remaining
  • Prescription found but expired expired prescription-expired
  • Prescription flagged as controlled substance controlled escalation-clinical
  • Prescription not found in record escalation-human

Pharmacy Confirmation

Say"I can see your prescription for prescription.name prescription.dosage, last filled on prescription.lastFillDate, with prescription.refillsRemaining refill(s) remaining. Your pharmacy on file is pharmacy.onFile. Would you like to send it there, or use a different pharmacy?"
  • Patient confirms pharmacy on file confirmed submit-refill-request
  • Patient requests a different pharmacy change_pharmacy update-pharmacy
  • Patient is unresponsive or unclear escalation-human

Update Pharmacy

Say"No problem. Please provide the name and address of your preferred pharmacy and I'll update that for you now."

Epic.UpdatePreferredPharmacy with pharmacy.name and pharmacy.address

CRM.UpdatePatientRecord with updated pharmacy.name

Say"Your preferred pharmacy has been updated to pharmacy.name. I'll send your refill request there."

submit-refill-request

Submit Refill Request

Surescripts.SendRefillRequest for prescription.name prescription.dosage to pharmacy.name on behalf of patient.memberId

CRM.LogInteraction with patient.memberId, prescription.name, pharmacy.name

Say"Your refill request for prescription.name has been sent to pharmacy.name. It should be ready by refill.estimatedReadyTime. Is there anything else I can help you with?"
  • Patient has another request another patient-verification
  • Patient confirms they are done done resolution-confirmed

No Refills Remaining

Say"It looks like there are no refills remaining on your prescription.name prescription. I'll send a refill authorization request to your prescribing provider, provider.name, on your behalf. They'll review it and respond typically within one to two business days."

Epic.SendRefillAuthorizationRequest to prescription.prescriberId for patient.memberId and prescription.name

CRM.LogInteraction with patient.memberId, note: refill authorization requested, no refills remaining

Say"The request has been sent. You'll be notified once your provider responds. If you have an urgent need, please let me know and I can escalate this."
  • Patient indicates urgent medical need urgent escalation-clinical
  • Patient acknowledges and is satisfied acknowledged resolution-pending-authorization

Prescription Expired

Say"I can see that your prescription for prescription.name expired on prescription.expiryDate. A new prescription requires your provider to issue a fresh script, which typically means scheduling an appointment. I can help you get that set up."

CRM.LogInteraction with patient.memberId, note: prescription expired, appointment recommended

  • Patient wants to schedule an appointment schedule appointment-scheduling
  • Patient declines and has no urgent need decline resolution-no-action
  • Patient reports an urgent clinical concern urgent escalation-clinical

Appointment Scheduling

Say"I'll connect you to scheduling now so you can book a time with provider.name to get a new prescription issued."

Epic.InitiateAppointmentRequest for patient.memberId with prescription.prescriberId

CRM.LogInteraction with patient.memberId, note: appointment scheduling initiated for expired prescription

  • Appointment request successfully initiated scheduled resolution-appointment-booked
  • Scheduling system unavailable unavailable escalation-human

Escalation to Clinical Staff

Say"I want to make sure you get the right support. I'm transferring you to a clinical staff member now who can assist with your request directly."

Epic.CreateClinicalAlert priority: high, patient.memberId, prescription.name, prescription.isControlled

CRM.CreateCase tagged: clinical-escalation, controlled-substance, linked to patient.memberId

Escalation to Human Agent

Say"Let me connect you with a member of our support team who can look into this further and make sure everything is taken care of."

CRM.CreateCase priority: high, tagged: refill-escalation, linked to patient.memberId, prescription.name

Resolution — Confirmed

Say"Wonderful — your refill for prescription.name is on its way to pharmacy.name and should be ready by refill.estimatedReadyTime. Take care and don't hesitate to reach out if you need anything."

CRM.LogInteraction with patient.memberId, note: refill successfully submitted, case closed

Resolution — Pending Authorization

Say"We've sent your refill authorization request to provider.name. Once they respond, your pharmacy will be notified. If you haven't heard back in two business days, please don't hesitate to call us again."

CRM.LogInteraction with patient.memberId, note: patient informed of pending provider authorization

Resolution — Appointment Booked

Say"Your appointment request has been submitted with provider.name. You'll receive a confirmation shortly. Once you're seen, your provider can issue a new prescription for prescription.name."

CRM.LogInteraction with patient.memberId, note: appointment booked for expired prescription renewal

Resolution — No Action

Say"Understood — no action taken today. If you change your mind or your situation becomes more urgent, please don't hesitate to call us back. Take care."

CRM.LogInteraction with patient.memberId, note: patient declined appointment scheduling, no refill action taken

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat▣ sms

Policy Coverage Question

InsuranceCoverageSupport

Inbound Coverage Inquiry

Say"Thank you for reaching out. I'm here to help you understand your coverage. Could I please have your full name and policy number to get started?"
  • Customer provides name and policy number identity-verification
  • Customer doesn't have policy number handy collect-account-details

Collect Account Details

Say"No problem at all. I can look you up another way. Could you please provide the email address or phone number associated with your account?"

PolicyManagement.LookupByContact using customer.email or customer.phone

  • Account found identity-verification
  • Account not found CRM.CreatePendingRecord system-lookup-failure

Identity Verification

PolicyManagement.FetchPolicy using policy.number

CRM.VerifyIdentity confirm customer.name against policy record

Say"Just to protect your account, I'll need to verify a couple of details. Can you confirm your date of birth and the zip code on file?"
Detect
verification outcome
  • Identity confirmed, policy active confirmed retrieve-policy-details
  • Identity confirmed, policy lapsed or expired confirmed lapsed-policy
  • Identity check fails after two attempts unverified escalation-human

Retrieve Policy Details

PolicyManagement.GetPolicyDetails for policy.number — retrieve policy.type, policy.effectiveDate, policy.expirationDate, policy.deductible, policy.coverageLimits

CRM.LogInteraction tag: coverage-inquiry, linked to policy.number

Say"Great, I've pulled up your policy.type policy, which is active from policy.effectiveDate through policy.expirationDate. Now, could you describe the situation you'd like me to check coverage for?"
  • Customer describes a specific situation or event coverage-assessment
  • Customer is distressed or alarmed about a potential denial frustrated acknowledge-concern

Acknowledge Concern

Say"I completely understand — it can be really stressful not knowing whether something is covered, and I want to make sure you get an accurate answer. I'm not going to make any promises I can't back up, but let's walk through this together. Can you tell me what happened?"
Detect
sentiment on follow-up response
  • Customer calms down and describes the situation neutral coverage-assessment
  • Customer remains very distressed or mentions legal action frustrated escalation-licensed-agent

Coverage Assessment

Agent
evaluate whether coverage.situation is covered under policy.type using the coverage rules engine and policy knowledge base.
Goal:produce a clear coverage determination — covered, excluded, or gray-area — along with applicable deductible and limit details from policy.deductible and policy.coverageLimits.
Constraints:never make a binding coverage promise on ambiguous or high-value situations; do not interpret legal or disputed policy language; flag any situation involving a loss above USD 10000 for underwriter review regardless of apparent outcome.
Tools available:CoverageRulesEngine.Evaluate, DocumentRetrieval.GetPolicyWording, kb.coverage-exclusions-guide, kb.policy-terms-glossary
  • Situation is clearly covered deliver-covered-answer
  • Situation falls in a gray area or under an exclusion explain-exclusion-or-gray-area
  • Situation involves a large, complex, or legally disputed claim complex_claim escalation-underwriter

Deliver Covered Answer

DocumentRetrieval.GetRelevantSection for policy.type and coverage.situation

Say"Good news — based on your policy, this situation is covered. Your applicable deductible is policy.deductible, and the coverage limit for this type of loss is policy.coverageLimits. I'd recommend reviewing the relevant section of your policy document, which I can send to customer.email if you'd like."
  • Customer asks about filing a claim claim-guidance
  • Customer confirms they understand and has no further questions resolution-close
  • Customer wants to speak with a licensed agent escalation_requested escalation-licensed-agent

Explain Exclusion or Gray Area

DocumentRetrieval.GetExclusionClause for policy.type and coverage.situation

kb.coverage-exclusions-guide — retrieve plain-language explanation for the applicable exclusion

Say"I want to be transparent with you — based on what you've described, this situation may fall under an exclusion in your policy. Let me explain what that means and why, and then we can talk about your options."
Say"Your policy does have a section that addresses this. I can walk you through it now, or I can connect you with an underwriting specialist who can do a formal review — especially if the circumstances are complex or there are details that might change the picture."
  • Customer wants underwriter review escalation-underwriter
  • Customer accepts the explanation and understands resolution-close
  • Customer disputes the exclusion or mentions an attorney frustrated escalation-licensed-agent

Claim Guidance

CRM.CheckExistingClaim for policy.number and coverage.situation

  • Existing claim found, linked to claim.existingId claim-already-filed
  • No existing claim found new-claim-guidance

Claim Already Filed

Say"I can see there's already a claim on file related to this — claim reference claim.existingId. Your claims team will be in touch, or you can contact them directly to get a status update. Is there anything else about your coverage I can clarify today?"
  • Customer has more questions coverage-assessment
  • Customer is satisfied resolution-close

New Claim Guidance

Say"If you'd like to move forward, I can help you start a claim. You'll need to have the date and description of the incident, any photos or documentation you have, and receipts or estimates if applicable. Would you like me to open a claim now, or do you need more time to gather information?"
  • Customer wants to file now PolicyManagement.InitiateClaim resolution-close
  • Customer wants to file later resolution-close
  • Customer wants to escalate or speak with someone directly escalation-licensed-agent

Lapsed Policy

Say"I can see that your policy with us is currently inactive — it appears coverage lapsed on policy.expirationDate. I'm sorry to be the bearer of that news. Unfortunately, I'm not able to confirm coverage for a situation that occurred after that date, but I can connect you with our renewals team to talk about reinstating or updating your policy."
  • Customer wants to explore reinstatement or renewal policy-renewal-reinstatement
  • Customer wants to speak with someone directly escalation-licensed-agent
  • Customer acknowledges and wants to end the call resolution-close

System Lookup Failure

Say"I'm running into a technical issue retrieving your policy details right now, and I don't want to give you inaccurate information. I'd like to collect a few notes manually and have a specialist follow up with you within one business day. Would that work for you?"

CRM.CreateFollowUpTask assign to policy-support team, SLA: 1 business day, include customer.name, customer.phone, customer.email, coverage.situation

  • Customer agrees to follow-up resolution-close
  • Customer wants immediate assistance escalation-licensed-agent

Escalation to Underwriter

UnderwritingQueue.SubmitReviewRequest with policy.number, coverage.situation, agent's risk assessment, and policy.coverageLimits

CRM.LogInteraction tag: underwriter-referral, linked to policy.number

Say"I've flagged your situation for a formal review by one of our underwriting specialists. They'll be able to give you a definitive answer and will reach out to you at customer.email or customer.phone within two business days. I'll make sure all the context I have is passed along so you don't have to repeat yourself."
  • Customer has additional questions for the underwriter escalation-licensed-agent
  • Customer is satisfied with the next step resolution-close

Escalation to Licensed Agent

CRM.CreateCase priority: high, tag: licensed-agent-requested, linked to policy.number

CRM.LogInteraction tag: escalation, include full coverage-question context

Say"I'm going to connect you with a licensed agent who has the authority to give you a definitive answer and discuss your options in full. Please hold just a moment while I bring them in — and I'll pass along everything we've discussed so you won't need to start over."

Policy Renewal Reinstatement

CRM.LogInteraction tag: renewal-interest, linked to policy.number

Say"Let me pass you to our renewals team who can walk you through your reinstatement options and any updated terms. They'll be able to tell you exactly what it would take to get coverage active again."

policy-renewal-reinstatement-flow

Resolution Close

CRM.CloseInteraction tag: resolved, linked to policy.number

Say"Is there anything else I can help you with today regarding your coverage or your policy?"
  • Customer has another question inbound-coverage-inquiry
  • Customer is done Say: "Thank you for calling. You're all set, and don't hesitate to reach out if questions come up. Have a great day." resolution-close
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ chat▣ email

Payment / Billing Inquiry

TravelHospitalityBillingPaymentsDisputes

Intake & Verification

Say"Thank you for contacting us. I'd be happy to help you with your billing inquiry. Could you please share your booking confirmation number and the name and email address on the reservation?"
  • Customer provides booking confirmation and identity details CRS.LookupReservation charge-identification
  • Customer cannot provide confirmation number but provides name and email CRS.LookupByGuestEmail charge-identification
  • Customer cannot provide any identifying information identity-verification-required

Identity Verification Required

Say"For the security of your account, I'm unable to access reservation or payment details without verifying your identity first. I'll need at least your booking confirmation number, the email address used at the time of booking, or the last four digits of the payment card used."
  • Customer supplies one or more valid identifiers CRS.LookupReservation charge-identification
  • Customer is still unable to verify identity escalation-human

Charge Identification

Say"I can see your reservation for booking.property covering booking.stayDates. Which charge would you like to discuss — could you tell me the amount and approximate date you saw it?"

PMS.GetPaymentHistory for booking.confirmationNumber

kb.billing-charge-definitions — review resort fees, late checkout policies, cancellation penalty rules, and incidental hold release timelines

  • Charge found and matches a known fee type charge-explanation
  • Charge appears duplicated or does not match any reservation line item possible_error billing-error-review
  • Customer references a charge not visible in payment history PaymentGateway.LookupTransaction charge-identification-extended
  • Customer explicitly states the charge is unauthorized or fraudulent fraud_flag escalation-fraud

Charge Identification — Extended Lookup

PaymentGateway.LookupTransaction using payment.last4, charge.amount, charge.date

kb.billing-charge-definitions — verify against settlement timing and pending-to-posted conversion windows

  • Transaction located and matched to reservation charge-explanation
  • Transaction located but cannot be matched to any booking possible_error billing-error-review
  • Transaction not found in gateway records escalation-human

Charge Explanation

Agent
review the matched charge against reservation details, policy documents, and payment history to produce a clear plain-language explanation for the customer.
Goal:explain exactly what the charge is, why it was applied, and cite the relevant policy or agreement accepted at booking.
Constraints:do not speculate about charges that cannot be confirmed in the reservation record; do not offer adjustments at this step — route to goodwill-options or billing-error-review if a correction may be warranted.
Tools available:PMS.GetReservationDetails, PMS.GetPaymentHistory, kb.billing-charge-definitions, kb.cancellation-policy, kb.resort-fee-policy
Say"Let me explain what that charge is for. charge.description was applied on charge.date in the amount of charge.amount. This is a standard fee outlined in your booking terms."
  • Customer accepts the explanation and is satisfied resolution-confirmed
  • Customer accepts the explanation but requests an itemized receipt PMS.SendReceipt to customer.email resolution-confirmed
  • Customer disputes the charge as unfair but it is policy-valid goodwill-options
  • Customer believes the charge is a billing error possible_error billing-error-review

Goodwill Options

kb.goodwill-adjustment-policy — check eligible goodwill gestures (loyalty points, partial waiver, future discount) and current authorization limits for agent.adjustmentLimit

Say"I completely understand your frustration. While this fee is outlined in the booking terms, I'd like to see what options I can offer you as a gesture of goodwill."
Agent
determine the best available goodwill offer within authorization limits based on customer history, loyalty tier, and policy.
Goal:offer a meaningful resolution that retains customer satisfaction without exceeding the authorized adjustment threshold.
Constraints:never waive fees that exceed agent.adjustmentLimit without escalation approval; never promise a refund without confirming eligibility first; check loyalty tier before offering points compensation.
Tools available:LoyaltyPlatform.GetAccountStatus, LoyaltyPlatform.AwardPoints, RefundAdjustmentTool.ApplyPartialWaiver, kb.goodwill-adjustment-policy
  • Goodwill offer made and customer accepts RefundAdjustmentTool.ApplyPartialWaiver, PMS.SendReceipt to customer.email resolution-confirmed
  • Goodwill offer made and customer accepts loyalty points LoyaltyPlatform.AwardPoints to loyalty.accountNumber resolution-confirmed
  • Customer declines goodwill options and insists on full refund of a valid non-refundable charge escalation-human
  • Adjustment amount required exceeds agent.adjustmentLimit exceeds_limit escalation-billing-specialist

Billing Error Review

PMS.GetPaymentHistory for booking.confirmationNumber

PaymentGateway.LookupTransaction using payment.last4, charge.amount, charge.date

Agent
assess whether the charge is a genuine billing error (duplicate, misapplied fee, incorrect amount, or post-checkout incidental not released).
Goal:confirm or rule out a billing error using reservation data, gateway records, and policy, then determine correct remediation action.
Constraints:do not initiate a reversal for amounts above agent.adjustmentLimit without escalation; always generate a case reference before communicating a timeline to the customer; never confirm a refund amount until the correction is validated in the system.
Tools available:PMS.GetPaymentHistory, PaymentGateway.LookupTransaction, RefundAdjustmentTool.InitiateCorrection, Salesforce.CreateCase, kb.billing-charge-definitions
  • Error confirmed and within adjustment authorization RefundAdjustmentTool.InitiateCorrection, Salesforce.CreateCase correction-initiated
  • Error confirmed but correction amount exceeds agent.adjustmentLimit exceeds_limit escalation-billing-specialist
  • No error found — charge is valid charge-explanation

Correction Initiated

Salesforce.CreateCase tagged billing-correction, linked to booking.confirmationNumber

PMS.SendReceipt to customer.email with updated billing summary

Say"I've confirmed the billing error and submitted a correction request. Your case reference number is case.referenceNumber. The adjustment will be reflected within 5 to 10 business days depending on your bank. You'll receive an updated receipt at customer.email shortly."
  • Customer asks about a refund they already expected to have received refund-status-check
  • Customer is satisfied with the resolution resolution-confirmed

Refund Status Check

PaymentGateway.LookupTransaction using payment.last4, refund.amount, refund.date

kb.refund-processing-timelines — check standard bank processing windows by payment type

Say"I can see that a refund of refund.amount was processed on refund.date. Depending on your bank or card issuer, this can take 5 to 10 business days to appear on your statement. If you don't see it after that window, please contact us and we'll investigate further with the payment processor."
  • Customer confirms they will wait and is satisfied resolution-confirmed
  • Refund date was over 10 business days ago and still not received PaymentGateway.InitiateRefundTrace escalation-human
  • Customer disputes the refund amount as incorrect possible_error billing-error-review

Escalation to Billing Specialist

Salesforce.CreateCase priority: high, tagged billing-specialist-review, linked to booking.confirmationNumber

Salesforce.NotifyQueue billing-specialist-team with case summary, charge.amount, charge.description, customer.email

Say"This adjustment requires review by our billing specialist team, as it falls outside what I can authorize directly. I've opened a case with reference number case.referenceNumber and our team will contact you at customer.email within 2 business days with a resolution."

Escalation to Human Agent

Salesforce.CreateCase priority: high, tagged billing-escalation, linked to booking.confirmationNumber

Salesforce.NotifyQueue billing-support-team with full case context, charge.amount, charge.date, customer.email

Say"I want to make sure this gets the attention it deserves. I'm escalating your case to a member of our billing team who has the tools to resolve this for you. Your case reference is case.referenceNumber and you can expect to hear from us at customer.email within 1 business day."

Escalation — Fraud

Salesforce.CreateCase priority: urgent, tagged unauthorized-charge-fraud, linked to booking.confirmationNumber

PaymentGateway.FlagTransaction for charge.amount on payment.last4

Salesforce.NotifyQueue fraud-and-security-team with transaction details, customer.email, booking.confirmationNumber

Say"I take this very seriously. I've flagged the transaction and escalated this to our fraud and security team as a priority. Your case reference is case.referenceNumber. A specialist will contact you at customer.email within 24 hours. In the meantime, you may also want to contact your card issuer directly to report the charge."

Resolution Confirmed

Say"I'm glad we were able to sort that out for you. Is there anything else I can help you with regarding your reservation or account?"

Salesforce.UpdateCase status: resolved, linked to booking.confirmationNumber

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ sms

Outage Report & Status Check

TelecomSupportOutageNetwork

Inbound Contact

Say"Thank you for reaching out to support. I'm here to help with any service issues you're experiencing. To get started, can I have your account number or the phone number registered to your account?"
  • Customer provides account number or registered phone number identity-verification
  • Customer cannot or will not provide account details public-outage-info
  • Customer mentions inability to reach emergency services safety_risk escalation-safety

Identity Verification

IdentityVerification.VerifyCustomer using customer.accountNumber or customer.phone

  • Verification passes verified account-and-symptoms
  • Verification fails after two attempts unverified public-outage-info

Account & Symptoms

CRM.PullAccount using customer.accountNumber to retrieve customer.name, customer.serviceAddress, customer.serviceType

Say"Thanks, customer.name. I can see your account. Can you briefly describe what you're experiencing — for example, no signal, slow data, or a complete outage? And is this affecting one device or multiple?"
Detect
customer intent and severity of issue
  • Customer describes complete loss of service no_service outage-lookup
  • Customer describes degraded signal or slow data degraded_service outage-lookup
  • Customer mentions safety impact such as no 911 access safety_concern safety_risk escalation-safety
  • Customer describes issue on one device only single_device outage-lookup

Outage Lookup

OutageManagement.CheckActiveIncidents for customer.serviceAddress and customer.serviceType

  • Known active outage found matching location and service type outage_found known-outage-confirmed
  • No known outage found for this location no_outage no-outage-found
  • System lookup fails or times out lookup_error escalation-noc

Known Outage Confirmed

OutageManagement.GetIncidentDetails to retrieve outage.incidentId, outage.affectedArea, outage.estimatedRestoration, outage.duration

Say"I can confirm there is a known outage affecting your area. Our network team is actively working on it. The estimated restoration time is outage.estimatedRestoration. Your incident reference number is outage.incidentId."
  • Outage duration is extended and likely qualifies for service credit kb.service-credit-policy CRM.FlagAccountForCreditReview captures credit.flagId outage-updates-offer
  • Outage is recent and within normal resolution window outage-updates-offer

Outage Updates Offer

Say"Would you like me to send you automatic updates on this outage via SMS or email as soon as the service is restored?"
  • Customer wants SMS updates Twilio.SendSMS to customer.phone with outage.incidentId and outage.estimatedRestoration resolution-confirmed
  • Customer wants email updates NotificationPlatform.SendEmail to customer.email with outage.incidentId and outage.estimatedRestoration resolution-confirmed
  • Customer declines updates resolution-confirmed

No Outage Found

Say"I don't see any active outages on record for your area at the moment. Let's try a few quick troubleshooting steps to see if we can restore your service."

kb.telecom-troubleshooting-guide — retrieve steps appropriate for customer.serviceType and customer.symptoms

Say"Can you try restarting your device and checking whether your SIM or cable connections are secure? Let me know once you've tried that and whether service has returned."
Detect
outcome of troubleshooting attempt
  • Customer confirms service is restored resolved resolution-confirmed
  • Customer confirms issue persists after troubleshooting unresolved new-ticket-creation
  • Customer reports safety-related impact during troubleshooting safety_concern safety_risk escalation-safety

New Ticket Creation

Ticketing.CreateTroubleTicket with customer.accountNumber, customer.serviceAddress, customer.serviceType, customer.symptoms, customer.deviceCount to generate ticket.id and ticket.referenceNumber

Say"I've created a trouble ticket for your account. Your reference number is ticket.referenceNumber. A technician will follow up with you. Would you prefer contact via SMS or email?"
  • Customer requests SMS confirmation Twilio.SendSMS to customer.phone with ticket.referenceNumber resolution-confirmed
  • Customer requests email confirmation NotificationPlatform.SendEmail to customer.email with ticket.referenceNumber resolution-confirmed
  • Customer needs no confirmation resolution-confirmed
  • Customer expresses continued frustration or reports critical business impact escalation_needed escalation-specialist

Public Outage Info

Say"I'm not able to access account details without verifying your identity, but I can share general outage information. You can check our public outage map at our website or call back with your account details and we can look into your specific situation."

OutageManagement.GetPublicOutageSummary for any broad regional incidents

  • Public outage exists in the reported region public_outage_found public-outage-details
  • No public outage on record public-no-outage

Public Outage Details

Say"There is a known service disruption in some areas that our team is actively working to resolve. For a personalized update and a reference number tied to your account, please call back or verify your identity when you're ready."
  • Customer wants to try verification again identity-verification
  • Customer acknowledges and ends contact resolution-confirmed

Public No Outage

Say"We don't currently show any widespread outages in our system. For account-specific diagnostics, please contact us with your account number or registered phone number so we can investigate further."
  • Customer wants to try verification again identity-verification
  • Customer acknowledges and ends contact resolution-confirmed

Escalation — Network Operations

NOCDashboard.RaiseSystemLookupFailure with customer.accountNumber and customer.serviceAddress

CRM.LogInteraction with lookup failure details and customer.phone for callback scheduling

Twilio.SendSMS to customer.phone confirming a callback will be arranged

Say"I'm sorry — our outage system isn't responding right now. I've flagged this with our network operations team and arranged for a callback to your registered number as soon as possible. I apologize for the inconvenience."

Escalation — Specialist

Ticketing.EscalateTicket for ticket.id to senior support queue

CRM.LogInteraction with escalation reason and customer.accountNumber

Say"I understand this has been frustrating and I want to make sure you get the right help. I'm escalating your case to a senior specialist who will be in touch with you shortly. Your reference number remains ticket.referenceNumber."

Escalation — Safety

CRM.LogInteraction flagged safety_risk with customer.accountNumber and customer.symptoms

NOCDashboard.RaiseSafetyFlag with customer.serviceAddress

Say"Your safety is our top priority. If you need to reach emergency services right now, please try an alternative phone or ask a neighbor. I am escalating your case immediately as a priority incident and our team will contact you as soon as possible."

Resolution Confirmed

Say"Is there anything else I can help you with today?"
  • Customer has additional questions or issues inbound-contact
  • Customer confirms they are all set CRM.LogInteraction with resolution summary and outage.incidentId or ticket.referenceNumber close-interaction

Close Interaction

Say"Thank you for your patience, customer.name. We appreciate you being a valued customer. Don't hesitate to reach out if you experience any further issues. Have a great day."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ chat▣ voice▣ sms

New Account Onboarding

Financial ServicesOnboardingKYCCompliance

Intent Capture

Say"Welcome! I'm here to help you open a new account today. Before we get started, could you tell me what type of account you're looking to open — for example, a personal checking, savings, or investment account?"
Detect
customer account type intent
  • Customer requests a personal account type (checking, savings, investment) personal-account info-collection
  • Customer requests a business or trust account business-or-trust-account specialist-routing
  • Customer is unsure or needs guidance unsure account-type-guidance

Account Type Guidance

Say"No problem at all. Let me walk you through the most common options. A checking account is great for everyday spending, a savings account helps you earn interest on funds you set aside, and an investment account is for growing wealth over time. Which of those sounds closest to what you need?"

kb.account-types-overview — retrieve product descriptions, minimum balance requirements, and eligibility criteria

  • Customer selects a personal account type personal-account info-collection
  • Customer still wants a business or trust account business-or-trust-account specialist-routing
  • Customer wants to end the conversation end-session session-close

Info Collection

Say"Great choice! To open your account, I'll need to collect some information. This typically takes just a few minutes and everything is encrypted and secure. Let's start with your full legal name and date of birth."

CRM.CreateDraftRecord to initialize a draft customer profile

Say"Next, I'll need your government-issued ID number — such as a passport or driver's license number — along with your Social Security Number or Tax ID."
Say"Finally, I'll need your current address, employment status, approximate annual income, and the funding method you plan to use for your initial deposit."

kb.minimum-deposit-requirements — validate customer.initialDepositAmount and customer.fundingSource eligibility

  • All required fields collected and deposit method is supported fields-complete identity-verification
  • Funding method is unsupported or deposit is below the minimum funding-issue funding-issue-resolution
  • Customer is unwilling to provide required information declined-to-provide escalation-human

Funding Issue Resolution

Say"It looks like the funding method or deposit amount you've selected may not meet our current requirements. Let me explain what we can accept."

kb.funding-methods-policy — retrieve supported funding sources and minimum initial deposit thresholds

Say"We accept bank transfers, debit card funding, and wire transfers for initial deposits. The minimum opening deposit for this account type is noted in our policy. Would you like to use an alternative funding method, or would you prefer I walk you through the options?"
  • Customer selects a supported alternative funding method alternative-accepted identity-verification
  • Customer cannot or will not meet deposit requirements cannot-meet-requirements session-close

Identity Verification

Say"I'm now going to submit your information for identity verification. This is a standard step required to open any account and usually takes just a moment."

KYCService.SubmitVerification with customer.fullLegalName, customer.dateOfBirth, customer.govIdNumber, customer.taxId, customer.address

Detect
KYC verification result
  • Verification passes on first or second attempt kyc-pass compliance-screening
  • Verification fails — first attempt kyc-fail-first kyc-retry
  • Verification fails — second attempt or kyc.attemptCount exceeds 2 kyc-fail-final escalation-human

KYC Retry

Say"I wasn't able to verify your identity with the information provided. This can sometimes happen due to a name mismatch or a data entry issue. Could you double-check your details, or provide an alternative government-issued ID document?"

DocUploadPortal.RequestDocument to customer.email for alternative ID submission

  • Customer submits alternative document and resubmission passes kyc-pass compliance-screening
  • Customer submits alternative document and resubmission fails kyc-fail-final escalation-human
  • Customer cannot provide alternative documentation cannot-verify escalation-human

Compliance Screening

Say"Thank you — your identity has been verified. I'm now running a brief compliance check, which is required by law for all new accounts. This will only take a moment."

ComplianceScreening.RunCheck with customer.fullLegalName, customer.taxId, customer.dateOfBirth, customer.address

Detect
compliance screening result
  • Screening passes with no flags compliance-clear account-creation
  • Any KYC or AML flag is raised compliance-flagged escalation-compliance
  • Customer is identified as a Politically Exposed Person (PEP) compliance.isPEP pep-flag escalation-compliance

Account Creation

Say"Everything has cleared. I'm now creating your account — this will just take a moment."

CoreBanking.CreateAccount with customer.fullLegalName, customer.taxId, customer.address, customer.fundingSource, customer.initialDepositAmount, customer.accountType

CRM.UpdateRecord with account.id, mark status: account-created

Twilio.SendSMS to customer.phone: "Your new account has been created. Your account ID is account.id. Your login credentials will arrive by email shortly."

CoreBanking.IssueCredentials to customer.email with account.credentials and welcome packet link

  • Account created and credentials delivered successfully account-ready customer-orientation
  • Account creation fails due to a system error system-error escalation-human

Customer Orientation

Say"Your account is all set! Here's what you need to know to get started."
Say"You'll receive a welcome email shortly with your login credentials, a link to download our mobile app, and instructions for setting up two-factor authentication. Your initial deposit will be reflected within one to two business days depending on your funding method."

kb.new-account-faq — retrieve top questions about first login, mobile app access, and deposit timelines

Say"Is there anything else you'd like to know about accessing your account, setting up transfers, or any of our other services?"
  • Customer has additional questions more-questions customer-orientation
  • Customer is satisfied and ready to end satisfied session-close
  • Customer wants to add a beneficiary or linked account additional-setup escalation-human

Specialist Routing

Say"I'd be happy to help you get to the right place. Business and trust accounts require a specialist who can walk you through the additional documentation and requirements for those account types."

CRM.CreateLeadRecord with customer.phone, customer.email, customer.accountType, note: specialist-referral

Say"I'm transferring your details to a specialist now. You can expect a call or message within one business day. Is there a preferred contact time or number I should pass along?"
  • Details captured and specialist notified escalation-human

Escalation to Compliance Officer

ComplianceScreening.FlagRecord with customer.fullLegalName, customer.taxId, compliance.flagCode, compliance.isPEP

CRM.EscalateRecord priority: critical, tag: compliance-review

Say"I'm sorry, but I'm not able to proceed with your account opening at this time. For regulatory reasons, your application requires a review by our compliance team. You will be contacted directly within two business days with next steps. We appreciate your patience."

Escalation to Human Agent

CRM.EscalateRecord priority: high, tag: agent-review

Twilio.SendSMS to customer.phone: "Your account application requires attention from one of our specialists. A team member will reach out to you shortly."

Say"I'm going to connect you with one of our specialists who will be able to assist you further. Thank you for your patience — you're in good hands."

Session Close

Say"Thank you for reaching out to us today. If you have any questions in the future or would like to revisit opening an account, we're always here to help. Have a great day!"

CRM.CloseSession with session outcome logged

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat

Insurance Coverage Check

HealthcareInsuranceCoverage

Patient Intake

Say"Thank you for calling. I'm here to help you check your insurance coverage. To get started, may I have your full name and date of birth?"

CRM.LookupPatient using patient.fullName and patient.dateOfBirth

  • Patient record found in CRM insurance-verification
  • No record found, continue to collect details manually insurance-verification
  • Patient is unresponsive or call drops escalation-human

Insurance Verification

Say"Thank you, patient.fullName. Can you please provide your insurance carrier name and your member ID? You can find those on the front of your insurance card."

EligibilitySystem.VerifyMember using patient.insuranceCarrier and patient.memberId

Detect
eligibility system response
  • Coverage active and returned successfully confirmed service-inquiry
  • Coverage shows as inactive or lapsed inactive coverage-lapsed
  • System returns no results or an error error system-error

Service Inquiry

Say"Great, I can see your coverage is active as of coverage.effectiveDate. Now, what service, procedure, or specialist visit would you like me to check? If you have a CPT code from your provider, that will help me look this up quickly."

CRM.UpdateRecord with patient.memberId and confirmed coverage.status

  • Patient provides service type or CPT code network-status-check
  • Patient is unsure of service details service-clarification

Service Clarification

Say"No problem. Can you tell me the name of the provider or facility you are planning to visit, and describe the type of care — for example, a specialist consultation, imaging, lab work, or a surgical procedure?"
  • Patient provides enough detail to proceed network-status-check
  • Patient still unable to provide details escalation-human

Network Status Check

ProviderDirectory.CheckNetworkStatus using provider.name and provider.facility and patient.insuranceCarrier

PayerPortal.LookupBenefit using service.cptCode and patient.memberId and coverage.effectiveDate

Detect
network and benefit lookup result
  • Provider and service confirmed in-network in-network benefit-details
  • Provider confirmed out-of-network out-of-network out-of-network-options
  • Service requires prior authorization prior-auth-required prior-auth-guidance
  • Lookup returns ambiguous or missing data unclear escalation-human

Benefit Details

Say"Good news — provider.name is in-network under your patient.insuranceCarrier plan. Here are your cost-sharing details for this service."

kb.benefit-tier-definitions — confirm explanation of coverage.tier, copay, and deductible language

Say"Your plan tier for this service is coverage.tier. Your copay is coverage.copay per visit. Your annual deductible is coverage.deductible, and based on your current usage, coverage.deductibleMet has been applied so far."

PriorAuthTracker.CheckRequirements using service.cptCode and patient.memberId

  • No referral or prior authorization required confirmation-close
  • Referral required referral-flag referral-guidance
  • Prior authorization required prior-auth-flag prior-auth-guidance

Referral Guidance

Say"One thing to keep in mind — this service does require a referral from your primary care provider before your visit. Without a referral on file, the claim may not be covered."

kb.referral-process — retrieve steps for obtaining and submitting a referral

Say"To get a referral, please contact your primary care provider's office and ask them to submit a referral for service.type to provider.name. Once the referral is on file with your insurer, you will be all set to schedule your visit."
  • Patient understands and confirms next steps confirmation-close
  • Patient has questions or disputes the referral requirement escalation-human

Prior Auth Guidance

Say"I do want to let you know that service.type requires prior authorization from patient.insuranceCarrier before the service can be covered."

kb.prior-auth-process — retrieve steps and typical timelines for prior authorization submission

Say"Prior authorization must be submitted by your ordering provider or facility — not by you directly. They will need to send clinical documentation to patient.insuranceCarrier. The review typically takes 3 to 15 business days. I can log this so your provider's office receives a notification."

PriorAuthTracker.CreateCase using patient.memberId and service.cptCode and provider.name

Say"I've created a prior authorization tracking case, reference number auth.caseId, and your provider can use that to follow up with the insurer."
  • Patient acknowledges and has no further questions confirmation-close
  • Patient wants to dispute that prior auth is required escalation-human

Out-of-Network Options

Say"I checked the provider directory and provider.name is currently out-of-network for your patient.insuranceCarrier plan. Let me explain your options."

kb.out-of-network-benefits — look up whether the plan includes out-of-network benefit coverage and applicable cost-sharing

Detect
out-of-network benefit availability
  • Plan includes out-of-network benefits oon-benefits-available oon-benefit-details
  • Plan does not cover out-of-network services oon-no-benefits suggest-in-network

OON Benefit Details

Say"Your plan does have out-of-network benefits, though your cost-sharing will be higher than in-network. Typically, out-of-network services are subject to a separate deductible and a higher coinsurance percentage. I recommend contacting patient.insuranceCarrier directly to get the exact figures before your appointment."
  • Patient wants in-network alternatives instead suggest-in-network
  • Patient is satisfied with out-of-network information confirmation-close
  • Patient references a denial or billing dispute escalation-human

Suggest In-Network Alternatives

Say"I can help you find an in-network provider for service.type. Let me search the provider directory."

ProviderDirectory.FindInNetworkProviders using service.type and patient.insuranceCarrier

Say"Based on your plan and location, here are some in-network providers who offer the same type of care. I can share their names and contact information so you can schedule directly."
  • Patient accepts alternatives and has no further questions confirmation-close
  • Patient insists on the out-of-network provider and references a coverage dispute escalation-human

Coverage Lapsed

Say"I checked your insurance information and unfortunately your coverage with patient.insuranceCarrier does not appear to be active at this time. This could be due to a lapse in premium payment, an open enrollment issue, or an employer benefits change."

kb.enrollment-support — retrieve guidance on coverage reinstatement and insurer contact process

Say"I would recommend contacting patient.insuranceCarrier directly using the member services number on your insurance card to resolve the enrollment status. Once your coverage is reinstated, we would be happy to complete this coverage check for you."
  • Patient wants to escalate or believes coverage should be active escalation-human
  • Patient understands and will contact insurer confirmation-close

System Error

Say"I apologize — I'm running into a technical issue retrieving your eligibility information from our system right now. This can happen occasionally when there is a delay syncing with the insurer's records."
Say"I have a couple of options for you: I can try reaching the payer portal directly, or I can arrange a callback once our team resolves the issue. Which would you prefer?"

PayerPortal.ManualEligibilityLookup using patient.memberId and patient.insuranceCarrier

  • Payer portal lookup succeeds network-status-check
  • Payer portal also unavailable, offer callback CRM.CreateCallbackTask escalation-human

Confirmation & Close

Say"To summarize what we covered today: your patient.insuranceCarrier coverage is active as of coverage.effectiveDate, service.type with provider.name is confirmed coverage.tier, and your cost-sharing is coverage.copay copay with coverage.deductible deductible, of which coverage.deductibleMet has been met."
Say"Is there anything else you would like me to check, or do you have any other questions about your benefits?"

CRM.LogInteraction with coverage check summary, patient.memberId, service.cptCode, and outcome

Detect
patient response
  • Patient has no further questions satisfied session-complete
  • Patient has an additional service to check new-inquiry service-inquiry
  • Patient raises a dispute or references a denial dispute escalation-human

Session Complete

Say"You're all set. If you have any other questions about your coverage before your appointment, don't hesitate to reach out. Take care, patient.fullName."

CRM.CloseInteraction with resolved status and patient.memberId

Escalation to Specialist

Say"I want to make sure you get the most accurate help possible. I'm going to connect you with one of our coverage specialists who can review this in more detail and, if needed, coordinate directly with patient.insuranceCarrier on your behalf."

CRM.CreateCase priority: high, tagged coverage-escalation, linked to patient.memberId and service.cptCode

CRM.LogInteraction with escalation reason and full session context

Say"I've created a case for you and a specialist will be with you shortly. Your reference number is auth.caseId. Thank you for your patience."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ sms▣ text▣ email

General FAQ Retail

RetailFAQSupport

Intake

Say"Hi there! I'm here to help. What question can I answer for you today?"
Detect
intent category of customer question
  • Customer asks about store hours or location store-info store-info
  • Customer asks about return or exchange policy return-policy return-policy
  • Customer asks about payment methods or financing payment-options payment-options
  • Customer asks about product availability or details product-inquiry product-inquiry
  • Customer references a specific order or account account-specific identity-verification
  • Customer asks something outside standard categories out-of-scope edge-case-handler

Store Info

kb.store-locator-policy — retrieve hours and location details relevant to customer.location

StoreLocator.GetStoreDetails for customer.location

Say"Here are the details for your nearest store: store.address. Store hours are store.hours. Is there anything else I can help you with?"
Detect
sentiment on customer reply
  • Customer confirms answer resolves their need confirmed resolution
  • Customer has a follow-up question follow-up intake
  • Customer is dissatisfied or disputes the information frustrated policy-pushback

Return Policy

kb.return-exchange-policy — retrieve current return window, conditions, and exclusions based on policy.version

Say"Happy to help with returns and exchanges. Here's our current policy: items in original condition can be returned within 30 days of purchase with a receipt. Some exclusions apply for final-sale and perishable items. Would you like more detail on any part of this?"
Detect
sentiment and intent on customer reply
  • Customer confirms the answer resolves their need confirmed resolution
  • Customer has a follow-up or edge-case question follow-up edge-case-handler
  • Customer is frustrated with the policy frustrated policy-pushback
  • Customer references a specific order account-specific identity-verification

Payment Options

kb.payment-options-policy — retrieve accepted payment methods, financing partners, and any current promotions

Say"We accept all major credit and debit cards, PayPal, Apple Pay, and Google Pay. We also offer financing through our retail credit partner — you can apply at checkout. Is there a specific payment method you'd like to know more about?"
Detect
sentiment and intent on customer reply
  • Customer confirms the answer resolves their need confirmed resolution
  • Customer has a follow-up question follow-up intake
  • Customer is dissatisfied or disputes policy frustrated policy-pushback

Product Inquiry

kb.product-catalog — look up details for product.name or product.sku

ProductCatalog.GetProductDetails for product.sku

InventoryLookup.CheckAvailability for product.sku at customer.location

Say"Here's what I found for product.name: product.availability. Would you like details on pricing, specifications, or nearby store availability?"
Detect
intent on customer reply
  • Customer confirms the answer resolves their need confirmed resolution
  • Customer wants more product detail follow-up product-inquiry-detail
  • Customer asks about ordering or account account-specific identity-verification
  • Customer is dissatisfied with availability or details frustrated policy-pushback

Product Inquiry Detail

kb.product-catalog — retrieve extended specifications, compatibility notes, and related items for product.sku

Say"Here are the full details I have on product.name. If you need information I haven't covered or want to check stock at a specific location, I can look into that as well."
Detect
intent on customer reply
  • Customer confirms the answer resolves their need confirmed resolution
  • Customer has additional questions follow-up intake
  • Customer needs account-level help account-specific identity-verification
  • Customer is dissatisfied frustrated policy-pushback

Identity Verification

Say"To help with anything related to your order or account, I'll need to verify your identity first. Could you please provide your order number or the email address associated with your account?"
Detect
customer response
  • Customer provides verifiable details confirmed CRM.LookupCustomer account-inquiry
  • Customer is unable or unwilling to provide details unverified escalation-human
  • Customer clarifies they do not actually need account-level help no-account-needed intake

Account Inquiry

CRM.LookupCustomer for order.id

Say"I've pulled up your account. What would you like help with regarding your order or account details?"
Detect
intent on customer reply
  • Question can be answered with available account data confirmed resolution
  • Issue involves a dispute, complaint, or action beyond FAQ scope complaint escalation-human
  • Customer confirms answer resolves their need resolved resolution

Edge Case Handler

kb.general-faq — attempt to locate a match for customer.question across all FAQ categories

Detect
whether FAQ content confidently covers the question
  • A confident, accurate answer is found in FAQ content faq-match faq-answer
  • FAQ content is ambiguous, outdated, or contradicts another source uncertain uncertainty-acknowledgment
  • No relevant FAQ content exists no-match escalation-human

FAQ Answer

Say"Based on our current information, here's the answer to your question: I'll do my best to keep this accurate and up to date. If anything has changed recently, our team can confirm the latest details."
Detect
sentiment on customer reply
  • Customer confirms answer resolves their need confirmed resolution
  • Customer has a follow-up follow-up intake
  • Customer is dissatisfied or pushes back frustrated policy-pushback

Uncertainty Acknowledgment

Say"That's a great question, and I want to make sure I give you accurate information rather than guess. I don't have a definitive answer on hand for this one. Let me connect you with a team member who can confirm the details."

escalation-human

Policy Pushback

Say"I completely understand your frustration, and I appreciate you sharing that. Our policies are set by the team, and I want to make sure your feedback reaches the right people. Would you like me to connect you with a team member who can discuss this further or explore options with you?"
Detect
customer response
  • Customer agrees to speak with a team member confirmed escalation-human
  • Customer accepts the explanation and no longer needs help resolved resolution
  • Customer has a new or different question follow-up intake

Escalation to Human Agent

CRM.CreateCase tagged faq-escalation, linked to customer.name and customer.question

Say"I'm going to connect you with one of our team members who will be able to help you directly. Thank you for your patience — someone will be with you shortly."

Resolution

Say"Glad I could help! If you ever have more questions about our store, products, or policies, don't hesitate to reach out. Have a great day!"
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ text▣ chat▣ sms

General FAQ — Travel & Hospitality

TravelHospitalityFAQSupport

Inbound Question

Say"Hi there, thanks for reaching out to us! I'm here to help. What question can I answer for you today?"

CRM.LookupCustomer by customer.phone or customer.email

Detect
intent on customer's opening message
  • Customer asks about cancellation or change policies cancellation clarify-reservation-context
  • Customer asks about amenities, facilities, or property features amenities clarify-property
  • Customer asks about pet policy pets clarify-property
  • Customer asks about meals, dining, or breakfast inclusion dining clarify-property
  • Customer asks about loyalty program benefits or points loyalty loyalty-faq
  • Customer asks about visa, health, or travel entry requirements travel-requirements travel-requirements-faq
  • Customer message is vague or multi-topic unclear clarify-question
  • Customer expresses frustration or dissatisfaction upfront frustrated escalation-human

Clarify Question

Say"I want to make sure I give you the most accurate answer. Could you tell me a bit more about what you're looking for? For example, is this about a reservation you already have, or are you planning a future trip?"
Detect
sentiment and intent on customer reply
  • Customer provides enough detail to categorise clarified inbound-question
  • Customer remains vague or asks multiple unrelated things still-unclear retrieve-general-faq
  • Customer shows frustration frustrated escalation-human

Clarify Reservation Context

Say"I can pull up our cancellation policy for you. Are you asking about an existing reservation, or planning ahead for a new booking?"
  • Customer references an existing reservation clarify-property
  • Customer is asking prospectively retrieve-general-faq

Clarify Property

Say"Policies and features can vary by property. Could you let me know which hotel or location you're asking about, or share your reservation details if you have them handy?"

PMS.LookupReservation by reservation.id if provided

  • Property identified or reservation found retrieve-property-faq
  • Customer cannot specify a property and question is general retrieve-general-faq
  • Customer is frustrated by the extra question frustrated escalation-human

Retrieve Property-Specific FAQ

kb.property-policies — look up topic.category policy for property.name

Agent
retrieve and synthesise the relevant policy or amenity detail for property.name based on the customer's question and customer.loyaltyTier.
Goal:deliver a single, clear, accurate answer tailored to the identified property and the customer's membership tier where benefits differ.
Constraints:never invent or extrapolate policy details not present in kb.property-policies; always note if a policy differs for loyalty tiers above or below customer.loyaltyTier; flag date-sensitive policies that apply specifically within reservation.checkIn to reservation.checkOut window.
Tools available:kb.property-policies, PMS.GetPropertyDetails, LoyaltyPlatform.GetTierBenefits
  • Answer found and complete deliver-answer
  • Answer found but varies by date or rate type deliver-answer-with-caveat
  • Knowledge base has no coverage for this question no-coverage knowledge-gap
  • Question touches legal, medical, or safety matter sensitive escalation-human

Retrieve General FAQ

kb.general-faq — look up topic.category

Agent
retrieve and synthesise the best available general answer from the knowledge base for the customer's question.
Goal:give the customer a clear, concise answer based on standard brand-wide policy when a specific property is not yet identified.
Constraints:never present a general policy as property-specific; if the answer is known to vary by location, always flag that and offer to look up the specific property; do not fabricate information absent from kb.general-faq.
Tools available:kb.general-faq, kb.property-policies, CRM.GetCustomerProfile
  • Answer found and universally applicable deliver-answer
  • Answer varies by property clarify-property
  • Answer varies by loyalty tier LoyaltyPlatform.GetTierBenefits deliver-answer-with-caveat
  • Knowledge base has no coverage no-coverage knowledge-gap
  • Question touches legal, medical, or safety matter sensitive escalation-human

Loyalty FAQ

kb.loyalty-program — retrieve benefits, earning rules, and redemption policies for customer.loyaltyTier

Say"Let me check your loyalty tier details right away."

LoyaltyPlatform.GetTierBenefits for customer.loyaltyTier

  • Benefits information retrieved deliver-answer
  • Customer's tier could not be confirmed deliver-answer-with-caveat
  • Customer disputes their tier or points balance dispute escalation-human

Travel Requirements FAQ

kb.travel-entry-requirements — look up destination property.location for reservation.checkIn dates

Say"Travel requirements such as visa rules and health documentation can change quickly. Let me share what we have on file, though I'll also point you to the official sources for the most current information."
Agent
retrieve known entry, visa, and health requirements for property.location valid around reservation.checkIn.
Goal:give the customer a useful starting summary while making clear these details are time-sensitive and subject to change.
Constraints:always append a disclaimer that official government and airline sources must be consulted for final confirmation; never confirm whether a customer personally meets a visa or health requirement; do not provide medical advice.
Tools available:kb.travel-entry-requirements, kb.general-faq
  • Summary retrieved deliver-answer-with-caveat
  • No information available for this destination no-coverage knowledge-gap
  • Customer raises a medical or legal compliance concern sensitive escalation-human

Deliver Answer

Say"Great news — here's what I found for you: question.raw"
Say"Is there anything else about your trip or reservation I can help with?"
Detect
sentiment and follow-up intent on customer reply
  • Customer is satisfied and has no further questions satisfied resolution
  • Customer has a follow-up question on the same topic follow-up retrieve-property-faq
  • Customer has a completely new question new-topic inbound-question
  • Customer is not satisfied with the answer unsatisfied escalation-human

Deliver Answer With Caveat

Say"Here's the information I have, though please note this may vary depending on specific dates, rate types, or your membership level — I'll flag those nuances for you."
Say"For travel regulations or health requirements, I strongly recommend also checking the official government or airline websites to confirm the latest rules before you travel."
Detect
sentiment and follow-up intent on customer reply
  • Customer accepts the answer and caveats satisfied resolution
  • Customer wants clarification on a specific variant follow-up clarify-property
  • Customer is unsatisfied or concerned unsatisfied escalation-human

Knowledge Gap

Say"I want to be upfront with you — I don't have enough detail on hand to give you a fully accurate answer on that specific point, and I'd rather connect you with someone who does than risk giving you incomplete information."
Say"I can transfer you to one of our specialists who will be able to help. Would that work for you?"

CRM.LogInteraction note: unanswered FAQ topic, question.raw, property.name

Detect
customer preference on transfer
  • Customer agrees to be connected confirmed escalation-human
  • Customer declines transfer and wants to try another question new-topic inbound-question
  • Customer ends the conversation end resolution

Escalation to Human Specialist

CRM.LogInteraction with question.raw, topic.category, reservation.id, customer.loyaltyTier, escalation reason

Say"I'm going to connect you with one of our specialists right now — they'll have full context on your question so you won't need to repeat yourself."
Say"Thank you for your patience, customer.name. A specialist will be with you shortly."

Resolution

Say"Wonderful — I'm glad I could help! If you ever have more questions before or during your trip, don't hesitate to reach out. Have a great journey!"

CRM.LogInteraction note: FAQ resolved, topic.category, property.name, customer.loyaltyTier

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ chat▣ sms

Flight/Trip Disruption Support

TravelHospitalityDisruptionRebooking

Intake & Verification

Say"Thank you for contacting Travel Support. I'm here to help you through this disruption as quickly as possible. Can I please have your booking confirmation number and the name on the reservation?"

PNR.LookupBooking using booking.confirmationNumber and booking.passengerName

  • Booking found and passenger name matches identity-check
  • Booking not found or name mismatch confused PNR.LookupBooking retry with loyalty number booking.loyaltyNumber identity-check
  • No booking reference available at all escalation-human

Identity Check

Say"For your security I need to verify your identity before making any changes. I'll ask you a couple of quick questions."

IdentityVerification.Challenge using booking.passengerName and traveler.email

  • Identity verified identity_verified disruption-assessment
  • Identity check fails after two attempts identity_failed escalation-secure-verification
  • Customer declines verification declined escalation-secure-verification

Disruption Assessment

Say"I can see your booking, booking.passengerName. Can you tell me what's happening right now — is your flight cancelled, delayed, or are you dealing with something else like a hotel or connection issue?"

PNR.GetAffectedSegment for booking.confirmationNumber to pre-populate trip.affectedSegment

Detect
nature of disruption reported by customer
  • Flight cancellation confirmed cancellation rebooking-options
  • Significant delay (2+ hours) delay rebooking-options
  • Missed connection missed-connection rebooking-options
  • Hotel or accommodation failure hotel-issue hotel-resolution
  • Customer already self-rebooked self-rebooked self-rebook-review
  • Medical or safety emergency emergency escalation-human

Rebooking Options

Say"I'm sorry about the disruption to your journey. Let me pull up the best available options to get you to trip.destination as quickly as possible."

kb.rebooking-policy — check eligibility rules, same-carrier preference, fare class protection, and partner airline agreements for booking.fareClass

GDS.SearchAvailability for trip.destination from traveler.currentLocation on trip.travelDate and next 24 hours

Agent
evaluate available rebooking alternatives against booking.itinerary and customer preference.
Goal:identify the best one or two options that minimize total travel time and respect fare class entitlements, including partner carriers if same-carrier options are inadequate.
Constraints:never rebook onto a flight that creates a connection under 45 minutes at an international hub; do not offer partner carrier options that exceed the authorized fare difference threshold per kb.rebooking-policy without escalation; always check if minor.travelingAlone is true before proceeding.
Tools available:GDS.SearchAvailability, GDS.CheckSeatMap, kb.rebooking-policy, PNR.GetAffectedSegment
  • Suitable same-carrier option found rebook-confirmation
  • Only partner carrier options available partner-carrier-offer
  • No viable rebooking option exists no_options refund-assessment
  • Minor traveling alone flag raised minor_alone escalation-human

Rebook Confirmation

Say"I've found a flight that works — here are the details: rebooking.option. Does this work for you?"
  • Customer confirms new flight confirmed GDS.ReissueTicket PNR.UpdateBooking confirmation-and-vouchers
  • Customer wants to see other options wants-alternatives rebooking-options
  • Customer declines all options and wants a refund refund-requested refund-assessment

Partner Carrier Offer

Say"There are no remaining seats available on our carrier for this route today, but I can get you on a partner airline. The next available option is rebooking.option. Shall I go ahead and book that for you?"

kb.partner-airline-policy — confirm interline agreement, baggage transfer rules, and any fare difference liability

  • Customer accepts confirmed GDS.ReissueTicket PNR.UpdateBooking confirmation-and-vouchers
  • Fare difference exceeds authorization limit fare_over_limit escalation-human
  • Customer declines and requests refund refund-requested refund-assessment

Self-Rebook Review

Say"No problem — let me pull up what you've booked and make sure everything looks right, including any fare differences or duplicate charges you may have incurred."

PNR.GetAffectedSegment to compare original booking.itinerary against new booking

GDS.CheckFareDifference for rebooking.fareDifference

Detect
outcome of fare and duplicate charge review
  • Self-rebook is clean, no fare difference owed no_difference confirmation-and-vouchers
  • Fare difference owed to customer fare_refund_due refund-assessment
  • Duplicate charge detected duplicate_charge refund-assessment
  • Self-rebook is invalid or ticketing error ticketing_error rebooking-options

Hotel Resolution

Say"I'm sorry to hear about the accommodation issue. Can you tell me more — is the hotel overbooked, is there a room condition problem, or something else?"

kb.hotel-disruption-policy — review duty-of-care obligations, walk procedures, and compensation entitlements

Detect
hotel disruption type
  • Hotel overbooked, walk required hotel-walk HotelAPI.FindAlternativeProperty hotel-rebook-confirmation
  • Room condition complaint (safety, cleanliness) room-condition HotelAPI.EscalateProperty hotel-rebook-confirmation
  • Issue requires compensation above agent limit hotel_over_limit escalation-human

Hotel Rebook Confirmation

Say"I've located an alternative property that meets your needs. I'll go ahead and transfer your reservation now and make sure tonight's cost is covered. Does that work for you?"
  • Customer confirms confirmed HotelAPI.TransferReservation CompensationTool.IssueVoucher confirmation-and-vouchers
  • Customer prefers to resolve independently self-resolve confirmation-and-vouchers
  • Compensation amount exceeds authorization hotel_over_limit escalation-human

Refund Assessment

Say"Let me check your refund eligibility based on the type of disruption and your fare rules."

kb.refund-policy — verify refundability for booking.fareClass, disruption cause trip.disruption.cause, and weather exception rules

Agent
determine the correct refund path and compensation entitlement for this disruption.
Goal:establish whether the customer qualifies for a full refund, partial refund, travel credit, or no refund, and calculate any applicable compensation per policy.
Constraints:never promise a cash refund for non-refundable fares outside of carrier-caused cancellations; always flag weather-caused disruptions as limited-compensation per kb.refund-policy before setting expectations; do not issue compensation exceeding USD 300 without escalation approval.
Tools available:PNR.InitiateRefund, CompensationTool.CalculateEntitlement, kb.refund-policy
  • Full refund eligible full_refund PNR.InitiateRefund confirmation-and-vouchers
  • Travel credit or voucher eligible voucher_eligible CompensationTool.IssueVoucher confirmation-and-vouchers
  • Weather-related, limited compensation weather_limited weather-exception-handling
  • Refund amount exceeds agent authorization refund_over_limit escalation-human
  • No refund eligibility confirmed no_refund compensation-conversation

Weather Exception Handling

Say"I want to be upfront with you — because this disruption is weather-related, our policy limits what compensation we're able to offer. I know that's frustrating. Here's what I can do for you right now: compensation.voucherAmount in travel credit, and I can waive the rebooking change fee."

kb.weather-disruption-policy — confirm exact entitlements and any duty-of-care exceptions

  • Customer accepts limited offer accepted CompensationTool.IssueVoucher confirmation-and-vouchers
  • Customer disputes and requests escalation escalate escalation-human
  • Customer requests full refund citing extraordinary circumstances extraordinary escalation-human

Compensation Conversation

Say"Based on your fare type and the circumstances, a refund isn't applicable here. However, I do want to make sure you're taken care of. Let me see what goodwill compensation I'm able to offer."

CompensationTool.CalculateEntitlement for booking.fareClass and booking.loyaltyNumber

  • Goodwill voucher available CompensationTool.IssueVoucher confirmation-and-vouchers
  • Nothing available within agent limits no_compensation_available escalation-human

Confirmation & Vouchers

Say"You're all set. I'm sending your updated itinerary and any applicable vouchers to traveler.email right now. Is there anything else I can help you with before we wrap up?"

PNR.SendConfirmationEmail to traveler.email with updated booking.itinerary

CompensationTool.DeliverVoucher to traveler.email if applicable

Salesforce.UpdateCase with resolution summary, disruption type trip.disruption.type, and compensation issued

  • Customer has additional questions or issues more-help disruption-assessment
  • Customer is satisfied and conversation is complete resolved resolution-close

Resolution Close

Say"I'm glad we could get that sorted for you. Safe travels, booking.passengerName — and don't hesitate to reach out if you need anything else on your journey."

Salesforce.CloseCase with outcome logged and customer satisfaction noted

Escalation — Secure Verification

Say"For your protection, I'm unable to make changes to this booking without completing identity verification. I'm going to connect you with our secure verification team who can assist you through a different channel."

Salesforce.CreateCase priority: high, tagged identity-verification-required

IdentityVerification.RouteToSecureChannel for traveler.phone or traveler.email

Escalation — Human Agent

Say"This situation needs the attention of one of our senior travel specialists who has the authority to handle this for you. I'm transferring you now and sharing all the details so you won't need to repeat yourself."

Salesforce.CreateCase priority: high, tagged disruption-escalation with full case summary, booking.confirmationNumber, trip.affectedSegment, and trip.disruption.cause

PNR.FlagForSeniorAgent on booking.confirmationNumber

Salesforce.NotifyAgent via #disruption-escalations with case link and urgency flag

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ email▣ voice

Damaged / Wrong Item Received

RetailSupportReturnsRefunds

Intake & Verify

Say"Hi, I'm sorry to hear about this — let's get it sorted for you right away. Can I start with your order number? If you don't have it handy, your account email or phone number works too."
  • Customer provides order ID OMS.LookupOrder by order.id confirm-order
  • Customer provides email or phone instead CRM.LookupByContact by customer.email or customer.phone confirm-order
  • Customer cannot provide any identifying information identity-unverifiable

Confirm Order

OMS.GetOrderDetails for order.id — retrieve item.description, order.deliveryDate, order.status, order.value

Say"I've pulled up your order. Can you tell me what happened — was the item damaged when it arrived, or did you receive the wrong item?"
  • Order found, delivery confirmed, customer describes damaged item issue-triage
  • Order found, delivery confirmed, customer describes wrong item received issue-triage
  • Order found but not yet marked delivered ShippingCarrier.GetTrackingStatus delivery-unclear
  • Order lookup returns an error or ambiguous result CRM.FlagForManualReview system-lookup-failed

Issue Triage

Say"Thank you — I've noted the issue with your item.description. To make sure we handle this correctly, I'd like to check your eligibility under our returns and replacements policy."

kb.returns-replacement-policy — verify order.deliveryDate is within policy.replacementWindowDays and check photo evidence requirements for item.issue

  • Within policy window, photo evidence required by policy request-photo-evidence
  • Within policy window, no photo evidence required resolution-offer
  • Outside policy window outside-return-window

Request Photo Evidence

Say"Our policy asks for a photo of the damaged or incorrect item to process this quickly. Could you upload or send a photo? You can reply directly in this chat, email it back, or I can send you a secure upload link."

PhotoUpload.SendUploadLink to customer.email or customer.phone

  • Customer submits photo, evidence is clear resolution-offer
  • Customer unable to submit photo, order value is within policy.autoApprovalThreshold Policy.CheckGoodwillEligibility goodwill-exception-review
  • Customer unable to submit photo, order value exceeds policy.autoApprovalThreshold escalation-human

Goodwill Exception Review

Agent
assess whether a goodwill exception is appropriate given order.value, customer.email history, and kb.returns-replacement-policy goodwill tier rules.
Goal:decide whether to waive the photo requirement and proceed with a replacement or refund without evidence, or escalate for human approval.
Constraints:never approve a goodwill waiver if order.value exceeds policy.autoApprovalThreshold; never grant more than one goodwill exception per customer account within 90 days; always log the exception reason in case.id.
Tools available:CRM.GetCustomerHistory, Policy.CheckGoodwillEligibility, kb.returns-replacement-policy
  • Goodwill waiver approved within constraints goodwill_approved resolution-offer
  • Goodwill waiver outside constraints or repeat exception needs_review escalation-human

Resolution Offer

Say"Great news — you're eligible for a resolution. Would you prefer a full replacement sent to your address on file, or a refund back to your original payment method? Either option works for us."
  • Customer prefers replacement initiate-replacement
  • Customer prefers refund initiate-refund
  • Customer is unsure, asks for more information explain-resolution-options

Explain Resolution Options

Say"A replacement means we'll ship out a new item.description — delivery typically takes 3 to 5 business days. A refund returns the full amount to your original payment method within 5 to 7 business days. Which would you like to go with?"

kb.returns-replacement-policy — confirm refund and replacement timelines for customer.preferredResolution

  • Customer selects replacement initiate-replacement
  • Customer selects refund initiate-refund
  • Customer requests something outside standard options escalation-human

Initiate Replacement

OMS.CreateReplacementOrder for order.id, ship to address on file

ReturnsManager.OpenReturnCase tagged replacement, linked to order.id, log item.issue

Twilio.SendNotification to customer.email or customer.phone with resolution.confirmationNumber and estimated delivery

Say"Done — your replacement item.description is on its way. You'll receive a confirmation with tracking shortly. Your confirmation number is resolution.confirmationNumber. Is there anything else I can help with?"

close-case

Initiate Refund

ReturnsManager.InitiateRefund for order.id, full amount to original payment method

ReturnsManager.OpenReturnCase tagged refund, linked to order.id, log item.issue

Twilio.SendNotification to customer.email or customer.phone with resolution.confirmationNumber and refund timeline

Say"Your refund has been initiated and should appear within 5 to 7 business days. Your confirmation number is resolution.confirmationNumber. I'm sorry again for the trouble — is there anything else I can help with?"

close-case

Outside Return Window

Say"I can see your order is outside our standard policy.replacementWindowDays-day return window, which means I'm not able to process a standard replacement or refund automatically. I want to make sure you're looked after, so let me check what options are available."

kb.returns-replacement-policy — check partial goodwill resolution eligibility for out-of-window orders

Approval
Slack.RequestApproval to #retail-support-escalations, approver: support_team_lead
Context sent:order.id, order.value, order.deliveryDate, item.issue, customer.email, policy window exceeded
  • Approved for partial goodwill resolution approved ReturnsManager.InitiatePartialCredit partial-resolution-confirmed
  • Rejected, no goodwill exception authorised rejected policy-decline
  • No response within 60 min escalation-human

Partial Resolution Confirmed

Twilio.SendNotification to customer.email or customer.phone with resolution.confirmationNumber and credit details

Say"I've been able to arrange a goodwill credit for your order — you'll receive a confirmation shortly with the details and your reference number resolution.confirmationNumber. I'm sorry we couldn't do a full replacement or refund on this occasion. Is there anything else I can help with?"

close-case

Policy Decline

Say"I'm sorry — I've looked into every option available to me and your order falls outside the window where I'm able to process a replacement, refund, or goodwill credit. I completely understand that's disappointing, and I'm sorry I can't do more today. If you believe there's been an error, I can connect you with a specialist who may be able to help further."
  • Customer accepts the outcome close-case
  • Customer wants to escalate or disputes the outcome escalation-human

Delivery Unclear

ShippingCarrier.GetTrackingStatus for order.id

Say"It looks like your order may still be in transit or the delivery status hasn't updated yet. Let me check the latest tracking details for you."
  • Carrier confirms delivered, discrepancy in OMS OMS.FlagOrderStatusMismatch system-lookup-failed
  • Carrier confirms still in transit close-case
  • Carrier confirms lost or exception raised escalation-human

System Lookup Failed

CRM.CreateCase priority: medium, tagged order-lookup-error, linked to customer.email

CRM.ScheduleCallback for customer.phone within 24 hours

Say"I'm running into a system issue that's preventing me from pulling up your order details right now. I've flagged this for our team and you'll receive a callback within 24 hours to get this sorted. I'm really sorry for the inconvenience — can I confirm the best number to reach you?"
  • Customer confirms callback number CRM.UpdateCaseContactDetails close-case
  • Customer prefers email follow-up Twilio.SendNotification confirmation to customer.email close-case

Identity Unverifiable

Say"I want to help, but I'm not able to locate an order without at least an order number, email address, or phone number linked to the account. Could you check your confirmation email or the app for any of those details?"
  • Customer finds identifying information intake-and-verify
  • Customer still cannot provide verification, low-value context escalation-human
  • Customer becomes frustrated or demands override escalation-human

Escalation to Human Agent

CRM.CreateCase priority: high, tagged damaged-wrong-item-escalation, linked to order.id and customer.email

Slack.Notify to #retail-support-escalations with case summary, order.id, order.value, item.issue, and reason for escalation

Say"I'm going to connect you with one of our senior support specialists who has the tools to handle this for you directly. I've shared all the details we've discussed so you won't need to repeat yourself. Thank you for your patience — someone will be with you shortly."

Close Case

CRM.CloseCase for case.id, log resolution type and resolution.confirmationNumber

Say"Thanks for reaching out, and I'm sorry again for the experience with your order. If you ever need anything else, we're here. Take care!"
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat

Complaint Escalation — Telecom

TelecomComplaintsEscalationSupport

Intake and Verification

Say"Thank you for reaching out. I understand you have a complaint you'd like escalated — I want to make sure this gets the attention it deserves. To get started, may I have your account number or the name on the account so I can pull up your details?"

CRM.LookupAccount using customer.accountNumber or customer.name

  • Identity verified successfully CRM.PullComplaintHistory complaint-history-review
  • Identity cannot be verified after two attempts identity-escalation
  • Customer is immediately hostile or threatening frustrated de-escalation

Complaint History Review

CRM.GetAccountSummary to load customer.accountNumber, complaint.history, and complaint.compensationOffered

CaseManagement.SearchByAccount to find any existing ticket linked to complaint.priorTicketId

Say"I can see your account, customer.name. Let me check whether there's an existing complaint on file for you."
  • Prior ticket found CaseManagement.OpenCase with complaint.priorTicketId complaint-confirmation
  • No prior ticket found new-case-creation
  • Customer references regulatory body or legal action legal_threat regulatory-legal-routing

New Case Creation

Say"It looks like this hasn't been formally logged yet — I'm going to create a new escalation case right now so nothing falls through the cracks."

CaseManagement.CreateEscalationCase with customer.accountNumber, complaint.nature, complaint.servicesAffected, complaint.history, complaint.compensationOffered

  • Case created successfully complaint-confirmation
  • System unavailable system_down system-unavailable-fallback

Complaint Confirmation

Say"I want to make sure I have everything right before I escalate this. You've reported an issue with complaint.servicesAffected, and the nature of the complaint is complaint.nature. Is that accurate, and is there anything else you'd like added to the record?"
Detect
sentiment and completeness of customer response
  • Customer confirms details are correct confirmed escalation-routing
  • Customer adds new information or corrects details update_needed CaseManagement.UpdateCase with revised notes escalation-routing
  • Customer becomes highly distressed or makes a regulatory reference legal_threat regulatory-legal-routing
  • Customer demands supervisor immediately supervisor_demand escalation-routing

Escalation Routing

EscalationRouting.IdentifyTeam using complaint.servicesAffected, complaint.nature, and customer.accountNumber to assign case.escalationTeam and case.responseTimeline

CaseManagement.UpdateCase with case.escalationTeam, case.responseTimeline, full interaction notes, and complaint.compensationOffered

CommsLog.RecordInteraction with customer.accountNumber, case.id, and channel details

Agent
review the account history and escalation assignment to determine if case priority needs to be upgraded.
Goal:confirm whether the complaint warrants expedited handling based on account type, outage scope, prior compensation history, or repeat contact.
Constraints:never promise a resolution timeline shorter than the one returned by EscalationRouting.IdentifyTeam without senior approval; always flag business or critical infrastructure accounts for immediate upgrade.
Tools available:CRM.GetAccountSummary, CaseManagement.GetCaseDetails, EscalationRouting.IdentifyTeam, kb.escalation-priority-policy
  • Standard priority confirmed escalation-acknowledgement
  • Upgrade to high priority warranted high_priority EscalationRouting.UpgradePriority escalation-acknowledgement
  • Business or critical infrastructure account identified critical_account EscalationRouting.UpgradePriority escalation-acknowledgement

Escalation Acknowledgement

Approval
Slack.RequestApproval to #escalations-queue, approver: escalation_team_lead
Context sent:case.id, customer.accountNumber, complaint.nature, complaint.servicesAffected, case.escalationTeam, case.responseTimeline, complaint.compensationOffered
  • Approved and owner assigned approved CaseManagement.UpdateCase customer-close-out
  • Rejected or reassignment needed rejected EscalationRouting.IdentifyTeam escalation-routing
  • No response within 20 minutes escalation-human

Customer Close-Out

Say"Your case has been escalated and assigned. Your case reference number is case.id. The case.escalationTeam team will be in touch within case.responseTimeline via customer.preferredContact. If you need to reference this, please quote case.id."

CommsLog.SendConfirmation to customer.preferredContact with case.id, case.escalationTeam, and case.responseTimeline

BillingPlatform.NoteAccount with escalation flag and case.id

Say"Is there anything else I can clarify before we wrap up? I want to make sure you feel confident that this is in hand."
  • Customer is satisfied and has no further questions confirmed resolution-close
  • Customer requests additional credit or compensation compensation-review
  • Customer remains unsatisfied and escalates further frustrated escalation-human

Compensation Review

kb.compensation-credit-policy — check eligibility based on complaint.servicesAffected, outage duration, and complaint.compensationOffered

Agent
assess whether a goodwill credit or service adjustment is appropriate given the complaint history.
Goal:determine credit amount or gesture within policy limits and apply if approved.
Constraints:never offer a credit exceeding USD 150 without manager approval; never apply a second credit if complaint.compensationOffered already shows one was granted within the last 90 days; always document the decision in the case notes.
Tools available:BillingPlatform.ApplyCredit, CRM.GetAccountSummary, CaseManagement.GetCaseDetails, kb.compensation-credit-policy
  • Credit within policy limits approved approved BillingPlatform.ApplyCredit customer-close-out
  • Credit exceeds policy limit needs_approval escalation-human
  • Prior credit already granted, none applicable ineligible customer-close-out

De-escalation

Say"I completely hear you, and I want you to know I take this seriously. My goal right now is to make sure your complaint gets to the right person with the full context — can I ask a couple of quick questions so I can do that properly?"

kb.de-escalation-guidelines — apply language and pacing guidance for hostile or distressed callers

Detect
sentiment shift after de-escalation attempt
  • Customer settles enough to continue confirmed intake-and-verification
  • Customer remains hostile or uses threatening language hostile CommsLog.FlagInteraction for supervisor review escalation-human
  • Customer mentions regulatory body or legal action legal_threat regulatory-legal-routing
Say"I understand — given what you've mentioned, I'm going to make sure this is reviewed by the right team immediately. I'm flagging your case right now and you will be contacted directly."

CaseManagement.CreateEscalationCase with customer.accountNumber, complaint.nature, complaint.servicesAffected, and legal or regulatory flag

CommsLog.FlagInteraction with legal_regulatory tag and case.id

EscalationRouting.RouteToCompliance with case.id and full case context

  • Compliance or legal team notified compliance_routed regulatory-close-out
  • Routing system unavailable system_down system-unavailable-fallback

Regulatory Close-Out

Say"Your case, reference case.id, has been escalated directly to our compliance team. Someone will be in touch within one business day via customer.preferredContact. Please reference case.id in any further correspondence."

CommsLog.SendConfirmation to customer.preferredContact with case.id and compliance escalation notice

System Unavailable Fallback

Say"I'm sorry — our systems are temporarily unavailable, but I don't want that to delay your complaint. I'm taking full notes manually right now and will ensure this is entered and actioned as soon as systems are restored."

CommsLog.ManualNoteEntry with customer.name, customer.accountNumber, complaint.nature, complaint.servicesAffected, complaint.history, and timestamp

Say"Your verbal reference number for this interaction is case.id — please keep that handy. You can expect to hear from us within case.responseTimeline once our systems are back up. I sincerely apologise for the inconvenience."
  • Manual log completed, systems expected to restore shortly resolution-close
  • Systems remain down and customer needs immediate escalation escalation-human

Escalation to Human Agent

EscalationRouting.PageSupervisor with case.id, customer.accountNumber, complaint.nature, and urgency flag

CommsLog.FlagInteraction with supervisor_required tag

Slack.Notify to #escalations-live with case summary, customer.accountNumber, and case.id

Say"I'm transferring you to a senior member of our team right now. They have full visibility of your case — you won't need to repeat anything. Thank you for your patience, customer.name."

Identity Escalation

Say"I want to help, but I need to protect your account by verifying your identity first. Unfortunately I wasn't able to confirm your details this time. I can send a verification link to the contact details on your account — would that work for you?"

CRM.SendVerificationLink to contact details on file

  • Customer verifies via link and calls back intake-and-verification
  • Customer unable or unwilling to verify escalation-human

Resolution Close

Say"Thank you for your patience throughout this, customer.name. Your escalation is logged under case.id, and the right team will be in touch within case.responseTimeline. We appreciate you giving us the chance to put this right."

CaseManagement.UpdateCase with resolved_handoff status and final interaction notes

CommsLog.CloseInteraction with customer.accountNumber and case.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat▣ email

Complaint / Feedback Intake

HealthcarePatient RelationsComplaintsGrievanceFeedback

Intake Greeting

Say"Thank you for reaching out to our Patient Relations team. My name is your Healthcare Support Agent, and I'm here to make sure your concern is heard and handled with care. May I have your full name and date of birth so I can pull up your record?"
  • Patient provides name and date of birth identity-verification
  • Patient declines to provide identifying information unverified-caller
  • Patient immediately expresses significant distress distressed-patient

Identity Verification

EHR.LookupPatient using patient.name and patient.dob

Say"Thank you. I'm also going to ask for your patient ID or member number if you have it handy — that just helps me make sure I have the right record."
  • Identity confirmed, patient record located in EHR verified complaint-type-triage
  • Identity cannot be confirmed after two attempts unverified unverified-caller
  • Patient becomes distressed during verification distressed-patient

Complaint Type Triage

Say"I appreciate your patience. I want to make sure I understand what you'd like to share with us today. Could you briefly describe the nature of your concern or feedback — for example, whether it relates to your care experience, a specific provider, billing, or something else?"
Detect
intent and nature of patient submission
  • Patient describes a potential safety event, clinical harm, abuse, or neglect safety-incident safety-escalation
  • Patient explicitly requests a patient advocate or administrator requests-advocate escalation-human
  • Patient describes a complaint about care quality, provider conduct, facility, or billing complaint complaint-intake
  • Patient is sharing positive or general feedback positive-feedback commendation-intake
  • Patient becomes emotionally distressed at any point distressed distressed-patient

Distressed Patient

Say"I want you to know that what you're sharing matters, and I'm not going to rush you. Take all the time you need — I'm here and I'm listening."
Detect
sentiment and readiness to continue
  • Patient is ready to continue after acknowledgment ready complaint-type-triage
  • Patient remains highly distressed and requests to speak with someone senior requests-advocate escalation-human
  • Patient discloses a safety concern or harm during this exchange safety-incident safety-escalation

Complaint Intake

Say"Thank you for sharing that with me. I want to make sure I capture every detail accurately. Can you tell me the approximate date this occurred, and the name of the provider or department involved if you know it?"

EHR.GetPatientContext for patient.id to pre-populate known provider and visit history

Say"I also want to make sure we can follow up with you in the way that works best for you. Would you prefer a phone call, a message through the patient portal, or an email?"
  • All key details collected — date, provider or department, nature, preferred contact complaint-logging
  • Patient cannot recall specific date or provider complaint-logging
  • Patient discloses details suggesting clinical harm or a safety event during intake safety-incident safety-escalation
  • Patient becomes distressed during intake distressed-patient

Complaint Logging

GrievanceManagement.CreateCase with patient.id, patient.name, patient.dob, complaint.date, complaint.nature, complaint.provider, complaint.department, patient.preferredContact, case.priority

CRM.UpdatePatientRecord with case reference and feedback.type tagged as complaint

Say"I've logged your concern in our system. Your reference number is complaint.referenceNumber — please keep that handy in case you need to follow up with us. You can expect to hear from our Patient Relations team within five business days, and sooner if your concern is urgent."
Say"Is there anything else you'd like me to note, or any other questions I can answer for you today?"
  • Patient has no further questions resolution-acknowledgment
  • Patient raises an additional complaint or concern complaint-intake
  • Patient raises a safety concern at this stage safety-incident safety-escalation
  • Patient requests to speak with a patient advocate requests-advocate escalation-human

Commendation Intake

Say"That's wonderful to hear — thank you so much for taking the time to share that. Positive feedback means a great deal to our teams, and I'll make sure it gets to the right people."

CRM.LogFeedback with patient.id, patient.name, feedback.type tagged as commendation, and complaint.provider or complaint.department if provided

Say"I've passed along your kind words. Is there anything else I can help you with today?"
  • Patient has nothing further to add resolution-acknowledgment
  • Patient also has a complaint to raise complaint-intake

Unverified Caller

Say"I'm sorry — because I'm not able to confirm your identity in our system, I'm not able to access or create a record on your behalf. I want to make sure your concern is still heard, and there are a couple of ways we can do that."
Say"You're welcome to submit a written complaint through our website, or you can visit any of our facilities in person and our Patient Relations staff will be glad to assist you. If you do have your patient ID or member number available at a later time, you're also welcome to call back and we can complete the intake then."

kb.patient-complaint-submission-policy — confirm current written complaint and in-person intake options

  • Patient accepts alternative options and ends the call resolution-acknowledgment
  • Patient becomes distressed about inability to proceed distressed-patient
  • Patient discloses a safety concern despite being unverified safety-incident safety-escalation

Safety Escalation

Say"Thank you for telling me this. What you've described is something we take very seriously, and I'm going to make sure it reaches the right team immediately. You will be contacted directly as a priority."

RiskReporting.CreateIncident tagged high-priority with patient.name, patient.dob, patient.id if verified, complaint.nature, complaint.date, complaint.provider, complaint.department

GrievanceManagement.CreateCase with case.priority set to high and flagged for clinical risk management review

SecureMessaging.NotifyClinicalRiskTeam with incident summary and complaint.referenceNumber

Say"Your concern has been escalated to our clinical risk management team. Someone will be reaching out to you directly, and your reference number is complaint.referenceNumber."

Escalation to Human Agent

CRM.UpdatePatientRecord with escalation flag and case summary

SecureMessaging.NotifyPatientAdvocate with patient.name, patient.id if verified, complaint.nature, and preferred contact patient.preferredContact

Say"Absolutely — I'm going to connect you with a Patient Advocate or Administrator right now who is best positioned to help you. Please hold for just a moment while I bring them in."

Resolution Acknowledgment

Say"Thank you again for reaching out to us. Your experience matters, and we appreciate you giving us the opportunity to address your concern. If you need anything else or have follow-up questions, please don't hesitate to contact us — your reference number is complaint.referenceNumber."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ chat▣ sms▣ text

Check-in / Check-out Assistance

TravelHospitalityFront DeskCheck-inCheck-out

Contact & Intent Capture

Say"Welcome! I'm here to help you with your hotel check-in or check-out. Are you checking in, checking out, or do you need help with a reservation issue?"
  • Guest says checking in intent-checkin reservation-lookup-checkin
  • Guest says checking out intent-checkout reservation-lookup-checkout
  • Guest mentions a problem or issue intent-issue reservation-lookup-checkin
  • Intent is unclear unclear clarify-intent

Clarify Intent

Say"No problem — could you tell me a little more about what you need today? For example, are you arriving and need your room, or are you departing and have a question about your bill?"
  • Guest clarifies check-in intent-checkin reservation-lookup-checkin
  • Guest clarifies check-out intent-checkout reservation-lookup-checkout
  • Still unclear after two attempts still-unclear escalation-human

Reservation Lookup — Check-in

Say"Great, let's get you checked in. Could you please share your reservation confirmation number and the name on the booking?"

PMS.LookupReservation using reservation.confirmationNumber and guest.fullName

  • Reservation found, arrival date matches reservation.arrivalDate identity-verification
  • Reservation not found by confirmation number reservation-not-found
  • System lookup error system-error escalation-human

Reservation Lookup — Check-out

Say"Of course — let's pull up your stay. Could you share your confirmation number or the name on the reservation?"

PMS.LookupReservation using reservation.confirmationNumber and guest.fullName

  • Reservation found, departure date matches reservation.departureDate folio-review
  • Reservation not found by confirmation number reservation-not-found
  • System lookup error system-error escalation-human

Reservation Not Found

Say"I wasn't able to find a reservation with that confirmation number. Let me try a few other ways to locate your booking."

PMS.SearchByNameAndDate using guest.fullName and reservation.arrivalDate

CRM.LookupGuestProfile using guest.email or guest.loyaltyId

  • Reservation found by name and date search identity-verification
  • Reservation appears to be a third-party booking third-party-booking PMS.RequestThirdPartyImport for booking.thirdPartySource third-party-import-pending
  • No reservation found after all searches escalation-human

Third-Party Import Pending

Say"It looks like your booking was made through a third-party site. I've initiated a request to import those details, which can take a few minutes. Could I place you on a brief hold, or would you prefer I send you an update as soon as it's ready?"
  • Guest agrees to wait, import completes successfully identity-verification
  • Guest prefers callback or notification CRM.CreateCallback for guest.phone or guest.email resolution-pending-notification
  • Import fails after retry import-failed escalation-human

Identity Verification

Say"To protect your security, I need to verify your identity. Could you please confirm your date of birth, loyalty account number, or the last four digits of the card used to hold the reservation?"

IDVerification.VerifyGuest using guest.fullName, guest.loyaltyId, and reservation.confirmationNumber

  • Identity verified successfully identity-verified room-readiness-check
  • Identity cannot be verified after two attempts identity-failed escalation-human

Room Readiness Check

PMS.CheckRoomStatus for reservation.roomType and reservation.specialRequests

  • Room is ready and assigned room.number is available room-ready room-assignment-confirm
  • Room is not yet ready room-not-ready room-not-ready-options
  • No room available due to overbooking overbooked escalation-human

Room Assignment Confirmation

Say"Great news — your room room.number is ready and waiting for you. Let me issue your digital key now."

DigitalKeySystem.IssueKey for room.number linked to guest.email or guest.phone

CRM.UpdateGuestProfile with check-in timestamp and room.number

PMS.RecordCheckIn for reservation.confirmationNumber

Say"Your digital key has been sent to guest.email. Your room is room.number. Is there anything else I can help you with — extra pillows, dining reservations, or local recommendations?"
  • Guest has additional requests additional-requests special-requests-handling
  • Guest is satisfied and done satisfied resolution-checkin-complete

Room Not Ready — Options

Say"Your room isn't quite ready yet, but I have a few options to make your wait comfortable. I can arrange luggage storage, provide access to our lounge, or send you a notification the moment your room is ready. Which would you prefer?"
  • Guest requests luggage storage PMS.ArrangeLuggageStorage for guest.fullName ready-room-alert-setup
  • Guest requests lounge access PMS.GrantLoungeAccess for guest.loyaltyId ready-room-alert-setup
  • Guest wants notification only ready-room-alert-setup
  • Guest is frustrated or insists on immediate room frustrated escalation-human

Ready-Room Alert Setup

PMS.SetReadyRoomAlert for reservation.confirmationNumber, notify via guest.phone or guest.email

Say"Perfect — I've set that up for you. You'll receive a message at guest.phone as soon as your room is ready. In the meantime, is there anything else I can arrange?"
  • Guest has further needs additional-requests special-requests-handling
  • Guest is happy to wait satisfied resolution-pending-notification

Special Requests Handling

Say"Of course — happy to note that. What can I arrange for you?"

PMS.UpdateSpecialRequests for reservation.confirmationNumber with reservation.specialRequests

CRM.LogGuestPreference for guest.loyaltyId

  • Request logged successfully, guest is satisfied resolution-checkin-complete
  • Request cannot be fulfilled, requires manager input escalation-human

Folio Review

BillingSystem.GenerateFolio for reservation.confirmationNumber

BillingSystem.SendItemizedFolio to guest.email with folio.itemizedUrl

Say"I've pulled up your folio — the total comes to folio.total. I've sent an itemized breakdown to guest.email. Would you like me to walk you through the charges, or does everything look correct?"
  • Guest confirms all charges are correct confirmed checkout-processing
  • Guest has a question about a charge question folio-explanation
  • Guest disputes a charge dispute charge-dispute

Folio Explanation

Say"Of course — let me explain that line item. The charge for dispute.lineItem reflects the rate agreed at booking, plus applicable taxes and any incidentals. Does that make sense?"

kb.billing-policy — review applicable rate, tax, and incidental policies

  • Guest accepts the explanation confirmed checkout-processing
  • Guest still disputes after explanation still-disputes charge-dispute

Charge Dispute

Agent
review dispute.lineItem and dispute.amount against kb.billing-policy and reservation details to determine if a correction is warranted.
Goal:resolve the disputed charge fairly — apply a correction if within agent adjustment authority, or route to a supervisor if it exceeds policy limits.
Constraints:never approve adjustments above USD 150 without supervisor approval; always log every adjustment in the billing system; never remove taxes or mandatory fees unilaterally.
Tools available:BillingSystem.GetLineItemDetail, BillingSystem.ApplyAdjustment, kb.billing-policy, CRM.LogDispute
  • Dispute is valid and within adjustment authority adjustment-approved BillingSystem.ApplyAdjustment for dispute.amount checkout-processing
  • Dispute is valid but exceeds adjustment authority exceeds-authority escalation-human
  • Dispute is not supported by policy dispute-denied dispute-denial-explanation

Dispute Denial Explanation

Say"I've reviewed that charge carefully, and based on our policy it reflects a valid and agreed-upon amount. I'm sorry I'm not able to remove it, but I want to make sure you feel heard. Would you like me to escalate this for a second review, or are you comfortable proceeding with check-out?"
  • Guest accepts and wants to proceed accepted checkout-processing
  • Guest wants escalation wants-escalation escalation-human

Check-out Processing

BillingSystem.SettleFolio for reservation.confirmationNumber

PMS.RecordCheckOut for reservation.confirmationNumber

DigitalKeySystem.DeactivateKey for room.number

CRM.UpdateGuestProfile with check-out timestamp and stay summary

Say"You're all checked out — your final receipt has been sent to guest.email. It was a pleasure having you with us. Safe travels, guest.fullName!"
  • Guest has feedback or further questions feedback post-stay-feedback
  • Guest is satisfied and done satisfied resolution-checkout-complete

Post-Stay Feedback

Say"I'd love to hear your thoughts — your feedback helps us improve. What stood out during your stay, and is there anything we could have done better?"

CRM.LogFeedback for guest.loyaltyId and reservation.confirmationNumber

  • Feedback logged, guest is done resolution-checkout-complete
  • Guest raises a serious concern or complaint serious-complaint escalation-human

Outside Hours — Self-Service or On-Call

Say"It looks like our front desk is currently unstaffed. I have two options for you: I can activate self-service key retrieval at the kiosk, or I can page our on-call team member to assist you right away. Which would you prefer?"

PMS.CheckSelfServiceKioskAvailability

  • Self-service kiosk is available and guest agrees kiosk-ready DigitalKeySystem.IssueKioskKey for reservation.confirmationNumber room-assignment-confirm
  • Guest prefers on-call staff or kiosk is unavailable escalation-human

Escalation to Human Agent

CRM.CreateUrgentCase for guest.fullName, reservation.confirmationNumber, and reason for escalation

PMS.FlagReservation with escalation status

Say"I want to make sure you're taken care of properly. I'm connecting you now with a team member who has the authority to resolve this right away. Thank you for your patience, guest.fullName."

Resolution — Check-in Complete

Say"You're all set and checked in! Enjoy your stay, guest.fullName. Don't hesitate to reach out if you need anything at all."

Resolution — Check-out Complete

Say"Everything is wrapped up. Thank you for staying with us, guest.fullName — we hope to welcome you back soon!"

Resolution — Pending Notification

Say"You're all set for now. We'll be in touch at guest.phone or guest.email as soon as your room is ready. Thanks for your patience!"
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ text

Cancellation / Retention

TelecomRetentionCancellationSupport

Intent Capture

Say"Thank you for contacting us. I understand you may be thinking about making a change to your account — I'm here to help. Can I start by pulling up your account? Please share your account number or the phone number on file."

CRM.LookupAccount on customer.accountNumber

  • Identity verified successfully verified account-review
  • Identity cannot be confirmed after two attempts escalation-human

Account Review

CRM.GetAccountDetails to load account.planName, account.contractStatus, account.contractEndDate, account.tenure

BillingSystem.GetBalance to load account.outstandingBalance and account.paymentHistory

ContractManagement.GetETF to load account.etfAmount

Say"Thanks, customer.name. I can see your account. Before we go any further, could you help me understand what's prompting you to think about leaving today?"
Detect
cancellation reason category from customer reply
  • Customer cites cost or billing concern reason-cost retention-offer
  • Customer cites service quality or technical issue reason-service complaint-resolution
  • Customer cites competitor offer or plan comparison reason-competitor retention-offer
  • Customer cites relocation or life change reason-life-change retention-offer
  • Customer gives no specific reason or says "just want to cancel" reason-firm etf-disclosure-check

Complaint Resolution

Say"I really appreciate you sharing that with me. It sounds like the experience you've had isn't what we want for you, and I'd like to make sure that's addressed properly before we talk about anything else."

CRM.CreateCase tagged service-complaint, linked to customer.accountNumber

Agent
review account.paymentHistory and case history to determine if the service complaint is resolvable before a retention offer is appropriate.
Goal:assess whether the underlying complaint (technical, billing error, service gap) can be resolved or credibly committed to, so a retention pitch lands on solid ground rather than dismissing the concern.
Constraints:do not make commitments outside documented resolutions; do not skip complaint acknowledgement and route directly to a retention offer; if the complaint involves a billing dispute, confirm with BillingSystem before stating any credit amount.
Tools available:CRM.GetCaseHistory, BillingSystem.GetBillingDetails, kb.complaint-resolution-policy
  • Complaint is resolvable and customer is receptive retention-offer
  • Complaint is complex or customer remains frustrated unresolved_complaint escalation-human

ETF Disclosure Check

ContractManagement.GetETF to confirm account.etfAmount and account.contractStatus

  • Account is within contract and ETF applies etf_applies etf-disclosure
  • Account is out of contract or no ETF no_etf retention-offer

ETF Disclosure

Say"Before we go further, I want to make sure you have the full picture. Because your contract runs until account.contractEndDate, an early termination fee of account.etfAmount would apply if you cancel today. I want to be upfront about that. Would you like me to walk through your options, or do you have questions about that fee?"
Detect
customer response to ETF disclosure
  • Customer acknowledges ETF and still wants to proceed etf-acknowledged retention-offer
  • Customer disputes the ETF amount or asks for a waiver etf-disputed escalation-human
  • Customer is surprised and wants time to think etf-reconsidering retention-offer

Retention Offer

RetentionOfferEngine.GetEligibleOffers for customer.accountNumber, filtered by cancellation.reason, account.tenure, account.paymentHistory

Agent
select the single best retention offer to present to customer.name based on their stated cancellation reason, account profile, and available offers.
Goal:identify the offer most likely to address the customer's specific concern — prioritise bill-credit or discount offers for cost complaints, speed/reliability upgrades for service complaints, and plan-match or loyalty perks for competitor comparisons.
Constraints:present only one offer at a time; do not invent offers not returned by RetentionOfferEngine.GetEligibleOffers; do not offer a discount that exceeds the retention discount authority tier; if account.outstandingBalance is greater than zero, do not bundle a credit into the offer until balance is acknowledged.
Tools available:RetentionOfferEngine.GetEligibleOffers, CRM.GetAccountDetails, kb.retention-offer-policy
  • Suitable offer identified offer_ready present-offer
  • No eligible offers found no_offer outstanding-balance-check

Present Offer

Say"Based on everything on your account and what you've shared, I think I can help. Here's what I can do for you: retention.offerDescription. This offer is available until retention.offerExpiry. Would you like to take advantage of that?"
Detect
customer response to retention offer
  • Customer accepts the offer offer-accepted offer-acceptance
  • Customer asks for something better or different offer-counter secondary-offer
  • Customer declines and still wants to cancel offer-declined outstanding-balance-check

Secondary Offer

Say"I understand — let me see if there's anything else I can do. Give me just a moment."

RetentionOfferEngine.GetEligibleOffers ranked by value, excluding retention.offerId already presented

  • A second distinct offer exists second_offer_available present-second-offer
  • No further offers available no_further_offers outstanding-balance-check

Present Second Offer

Say"Here's another option I can offer you: retention.offerDescription. This is the best I'm able to do from my end. Would this work for you?"
Detect
customer response to second retention offer
  • Customer accepts offer-accepted offer-acceptance
  • Customer declines or remains firm offer-declined outstanding-balance-check

Offer Acceptance

RetentionOfferEngine.ApplyOffer for customer.accountNumber with retention.offerId

CRM.UpdateAccount with retention outcome and retention.offerId applied

Twilio.SendSMS to customer.phone confirming offer details and retention.offerExpiry

Twilio.SendEmail to customer.email with full offer confirmation and updated plan summary

Say"Wonderful — I've applied that to your account right now and you'll receive a confirmation by email and text shortly. We're really glad you're staying, customer.name. Is there anything else I can help you with today?"

Outstanding Balance Check

BillingSystem.GetBalance to confirm account.outstandingBalance

  • Outstanding balance exists on account balance_owing balance-disclosure
  • No outstanding balance balance_clear process-cancellation

Balance Disclosure

Say"Before we proceed, I do need to let you know that there is an outstanding balance of account.outstandingBalance on your account. Cancelling your service does not waive this balance — it will remain due and may be referred to our collections team if unpaid. Would you like to discuss payment options, or would you like to continue with the cancellation?"
Detect
customer response to balance disclosure
  • Customer wants to discuss payment or sort balance first balance-resolve escalation-human
  • Customer acknowledges and confirms they want to proceed with cancellation balance-acknowledged process-cancellation
  • Customer becomes frustrated or disputes the balance balance-disputed escalation-human

Process Cancellation

CRM.InitiateCancellation for customer.accountNumber

BillingSystem.CalculateFinalBill to return transaction.finalBillDate and any remaining charges

ContractManagement.ApplyETF if etf_applies is set on this session

CRM.UpdateAccount with cancellation status and reason cancellation.reason

Say"I've processed your cancellation request. Your service will remain active until transaction.finalBillDate, which is also when your final bill will be generated. You'll receive a written confirmation by email shortly."
  • ETF applies on this account etf_applies cancellation-confirmation-etf
  • No ETF on this account no_etf cancellation-confirmation-clean

Cancellation Confirmation — ETF

Twilio.SendEmail to customer.email with cancellation confirmation, transaction.finalBillDate, account.etfAmount, and balance summary

Twilio.SendSMS to customer.phone with cancellation confirmation summary

Say"A confirmation email is on its way with all the details, including the early termination fee of account.etfAmount. If you have any questions about your final bill, our billing team is available to help. We're sorry to see you go, customer.name, and we hope to be of service again in the future."

Cancellation Confirmation — Clean

Twilio.SendEmail to customer.email with cancellation confirmation, transaction.finalBillDate, and any final balance details

Twilio.SendSMS to customer.phone with cancellation confirmation summary

Say"You're all set. A confirmation email is heading to you now with all the details. We're sorry to see you go, customer.name, and we wish you all the best."

Escalation to Human Agent

CRM.CreateCase priority: high, tagged cancellation-escalation, linked to customer.accountNumber

CRM.AddNote with full session summary: cancellation.reason, offers presented, ETF status, balance status

Twilio.SendSMS to customer.phone: "We're connecting you with a specialist who can assist further."

Say"I want to make sure you get the right support here. I'm going to connect you with a specialist who has the authority and expertise to work through this with you properly. Thank you for your patience, customer.name."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ chat▣ email▣ sms

Booking Cancellation / Refund Request

TravelHospitalityCancellationRefund

Identity Verification

Say"Thank you for reaching out. I can help you with a cancellation or refund request. To get started, could you please provide your full name and the email address or phone number on the booking?"

CRM.LookupCustomer using customer.fullName and customer.email or customer.phone

Detect
outcome of identity lookup
  • Customer record found and details match confirmed booking-lookup
  • Details provided do not match any record unrecognized reverify-identity
  • Customer is unable or unwilling to provide verification details refused escalation-human

Re-verify Identity

Say"I wasn't able to match those details to a booking. Could you double-check the name or email used at the time of booking? Sometimes a nickname or alternate address was used."

CRM.LookupCustomer retry with alternate details

  • Match found on second attempt confirmed booking-lookup
  • Still no match after second attempt unrecognized escalation-human

Booking Lookup

Say"Thank you, customer.fullName. Could you please share your booking or confirmation ID, along with your travel dates and destination?"

ReservationManagement.GetBooking using booking.id

Detect
booking record outcome
  • Booking found and active confirmed cancellation-policy-check
  • Booking not found or ID invalid not_found escalation-human
  • Booking already cancelled already_cancelled refund-status-check

Cancellation Policy Check

Say"I've pulled up your reservation for booking.destination on booking.travelDates. Let me check the cancellation policy tied to your rate."

PolicyRulesEngine.GetCancellationPolicy for booking.id and booking.rateClass

Detect
cancellation window and fee applicability
  • Booking is within the free-cancellation window free_cancel confirm-cancellation-intent
  • Booking is outside the free-cancellation window and fees apply fees_apply outside-window-advisory
  • Booking was made through a third-party OTA ota_booking ota-redirect

Confirm Cancellation Intent

Say"Great news — your booking is within the free-cancellation window. You are eligible for a full refund of refund.amount to your original payment method. Before I proceed, could you share the reason for your cancellation? This helps us improve."
  • Customer provides cancellation reason and confirms they want to proceed confirmed process-cancellation
  • Customer wants to change dates instead of cancelling date_change escalation-human
  • Customer is unsure and wants time to decide undecided send-policy-summary

Send Policy Summary

Say"No problem at all. I'll send a summary of your cancellation policy and options to customer.email so you can review at your own pace. Feel free to reach back out when you're ready."

NotificationService.SendEmail to customer.email with cancellation policy summary and free-cancellation deadline for booking.id

  • Customer returns and confirms cancellation confirmed process-cancellation
  • Customer does not respond within 24 hours escalation-human

Outside Window Advisory

Say"I can see that your booking falls outside the free-cancellation window, which means a cancellation fee of cancellation.feeAmount would apply. I want to make sure you have all your options before we proceed. You may be eligible for a travel credit of refund.creditValue, or we could look into changing your travel dates at no extra charge."

kb.cancellation-policy — check fee waiver eligibility and alternative options for booking.rateClass

  • Customer accepts the fee and wants to cancel accepted_fee process-cancellation
  • Customer wants to apply for a travel credit instead credit_preferred process-travel-credit
  • Customer cites extenuating circumstances such as medical or bereavement extenuating extenuating-circumstances-review
  • Customer disputes the fee and demands a waiver beyond advisory authority disputes_fee escalation-human

Extenuating Circumstances Review

Say"I'm very sorry to hear about your situation. We do have a process to review waiver requests for extenuating circumstances such as medical emergencies or bereavement. I'll need to collect a brief note on the nature of the situation and, if available, any supporting documentation such as a medical certificate or official notice."

CRM.CreateCase tagged exception-review, linked to booking.id, reason: cancellation.reason

Detect
customer willingness to provide documentation
  • Customer agrees to submit documentation doc_provided flag-for-exception-review
  • Customer cannot or will not provide documentation no_doc escalation-human

Flag for Exception Review

Say"Thank you for sharing that. I've flagged your case for our exception review team. They will assess your request and reach out to you at customer.email within two business days with a decision. In the meantime, I'm not processing the cancellation so your booking remains active."

CRM.UpdateCase with exception.documentType and submitted evidence

NotificationService.SendEmail to customer.email confirming exception review has been opened with case reference

  • Exception review is opened and customer is notified resolution-confirmation

Process Cancellation

Say"I'll go ahead and cancel your booking now. This will just take a moment."

ReservationManagement.CancelBooking for booking.id

PaymentProcessor.InitiateRefund for refund.amount to booking.paymentMethod

CRM.UpdateRecord with cancellation details for customer.fullName

Detect
cancellation processing outcome
  • Cancellation and refund initiated successfully success send-confirmation
  • System error prevents processing system_error escalation-human

Process Travel Credit

Say"I'll cancel your booking and apply a travel credit of refund.creditValue to your account. This credit can be used toward any future booking with us."

ReservationManagement.CancelBooking for booking.id

PaymentProcessor.IssueTravelCredit for refund.creditValue linked to customer.email

CRM.UpdateRecord with credit issuance details

Detect
credit issuance outcome
  • Credit issued successfully success send-confirmation
  • System error during credit issuance system_error escalation-human

Send Confirmation

Say"Your booking has been successfully cancelled. You'll receive a written confirmation at customer.email within a few minutes, including your refund or credit details and the expected timeline of refund.timeline."

NotificationService.SendEmail to customer.email with cancellation confirmation, refund.amount or refund.creditValue, and refund.timeline

  • Confirmation sent successfully resolution-confirmation

Refund Status Check

Say"It looks like this booking was already cancelled. Let me check the status of any refund associated with it."

PaymentProcessor.GetRefundStatus for refund.transactionId

Detect
refund status
  • Refund has been issued and should have been received issued refund-already-issued
  • Refund is still processing processing advise-refund-in-progress
  • No refund record found not_found escalation-human

Refund Already Issued

Say"Our records show that a refund of refund.amount was issued on the original transaction. It can sometimes take 5 to 10 business days to appear depending on your bank. Could you confirm that you haven't seen it in your statement?"
  • Customer confirms refund has now been received confirmed resolution-confirmation
  • Customer still has not received the refund after the expected window not_received escalation-finance

Advise Refund In Progress

Say"Your refund of refund.amount is currently being processed and should appear within refund.timeline. I'll send a confirmation to customer.email with the transaction reference so you have it on record."

NotificationService.SendEmail to customer.email with refund status and refund.transactionId

  • Customer is satisfied and no further action needed resolution-confirmation
  • Customer requests further escalation escalation_requested escalation-finance

OTA Redirect

Say"I can see that your booking was made through a third-party platform — booking.otaSource. Unfortunately, our system is unable to process cancellations or refunds for reservations made via that channel. You'll need to contact booking.otaSource directly to request a cancellation."

kb.ota-partner-contacts — retrieve contact instructions and cancellation process for booking.otaSource

Say"I can share the reference details for your booking so you have everything ready when you contact them: your booking ID is booking.id, the travel dates are booking.travelDates, and the destination is booking.destination."

NotificationService.SendEmail to customer.email with OTA redirect instructions and booking reference details

  • Customer acknowledges and will contact OTA directly resolution-confirmation
  • Customer is frustrated and requests direct escalation escalation_requested escalation-human

Escalation to Finance Team

CRM.CreateCase priority: high, tagged refund-not-received, linked to refund.transactionId

NotificationService.NotifyTeam to #finance-escalations with customer.fullName, booking.id, refund.amount, and refund.transactionId

Say"I've escalated this to our finance team with all the transaction details. A specialist will reach out to you at customer.email within one to two business days to resolve this."

resolution-confirmation

Escalation to Human Agent

CRM.CreateCase priority: high, tagged cancellation-escalation, linked to booking.id

NotificationService.NotifyTeam to #reservations-support with customer.fullName, booking.id, and case summary

Say"I want to make sure this is handled correctly for you. I'm escalating your case to a senior support specialist who will be able to assist further. You'll be contacted at customer.email or customer.phone shortly."

Resolution Confirmation

Say"Is there anything else I can help you with today? We appreciate your patience and hope to welcome you on a future trip."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat▣ email

Beneficiary / Policy Detail Update

InsurancePolicy ManagementBeneficiaryCompliance

Intake and Change Request

Say"Thank you for contacting us. I'm here to help you update your policy details. Can I start with your full name and policy number?"

CRM.LookupPolicy using customer.fullName and customer.policyNumber

  • Policy record found, proceed to verification identity-verification
  • Policy record not found or mismatch policy-not-found

Policy Not Found

Say"I wasn't able to locate a policy with that name and number combination. Could you double-check the policy number on your documents?"
  • Customer provides corrected details CRM.LookupPolicy retry identity-verification
  • Customer cannot locate their policy number escalation-human

Identity Verification

Say"To protect your account, I'll need to verify your identity. Could you please provide your date of birth, the last four digits of your Social Security Number, and your security PIN?"

IdentityVerification.Verify using customer.dateOfBirth, customer.ssnLast4, customer.securityPin against customer.policyNumber

  • Identity verified on first or second attempt verified change-type-collection
  • First attempt fails, prompt retry retry identity-retry
  • Second attempt fails identity_failed identity-lockout

Identity Retry

Say"That information didn't match what we have on file. Please try once more — make sure your date of birth, last four of your SSN, and security PIN are correct."

IdentityVerification.Verify using customer.dateOfBirth, customer.ssnLast4, customer.securityPin against customer.policyNumber

  • Identity verified verified change-type-collection
  • Second attempt also fails identity_failed identity-lockout

Identity Lockout

Say"I'm sorry, but I wasn't able to verify your identity after two attempts. For the security of your account, I'm unable to proceed with any changes at this time."

CRM.LogEvent tag: identity-verification-failure, policy: customer.policyNumber

CRM.CreateCase priority: high, tag: id-lockout-policy-change

Say"You're welcome to visit your nearest branch with a government-issued photo ID, or submit notarized documentation by mail to request this change. Would you like me to send you written instructions at the email address on file?"
  • Customer requests written instructions CRM.SendEmail template: id-lockout-instructions to customer.email escalation-human
  • Customer declines escalation-human

Change Type Collection

Say"Great, I've verified your identity. What change would you like to make today — is this a beneficiary update, or are you updating other policy details such as your address, name, or contact information?"
Detect
intent on customer's stated change request
  • Customer wants to update a beneficiary beneficiary-change beneficiary-detail-collection
  • Customer wants to update address, name, or contact info contact-or-name-change contact-detail-collection
  • Customer mentions a death in relation to the beneficiary change death-related bereavement-sensitive-path
  • Request involves a disputed beneficiary or legal document such as a court order legal-dispute escalation-human

Beneficiary Detail Collection

PolicyAdmin.GetCurrentBeneficiary for customer.policyNumber

Say"I can see the beneficiary currently on file is policy.currentBeneficiary. I'll now collect the updated information."
Say"Please provide the full legal name of the new beneficiary and their relationship to you — for example, spouse, child, or domestic partner."
  • New beneficiary details collected, no death involved form-requirement-check
  • Customer indicates they are removing a beneficiary following a death bereavement-sensitive-path

Bereavement Sensitive Path

Say"I'm so sorry for your loss. Please take your time — I'll do my best to make this process as straightforward as possible for you."

CRM.FlagCase tag: bereavement-sensitivity, policy: customer.policyNumber

Say"In situations involving the passing of a beneficiary, we typically require a certified copy of the death certificate to process the removal. Do you have that documentation available, or would you like guidance on how to submit it?"
  • Customer has or will submit death certificate form-requirement-check
  • Customer cannot provide documentation at this time CRM.CreateFollowUpTask deadline: 30-days, policy: customer.policyNumber pending-form-followup

Contact Detail Collection

PolicyAdmin.GetPolicyDetails for customer.policyNumber

Say"I can see the details currently on file. What specifically would you like to update — your address, phone number, email address, or legal name?"
  • Customer provides the new detail clearly direct-update-check
  • Customer is changing their legal name, supporting documentation may be required form-requirement-check

Direct Update Check

Agent
assess whether the requested contact or name detail change can be applied immediately without a signed form or supporting documentation.
Goal:determine if the update is a simple contact detail (address, phone, email) that can be saved directly, or if it requires a signed change request or supporting document before processing.
Constraints:never update a legal name without a signed form or supporting legal document; always confirm the new detail verbally with the customer before saving; never modify policy ownership or coverage as part of a contact detail update.
Tools available:PolicyAdmin.GetPolicyDetails, kb.policy-change-requirements
  • Simple contact update, no form required no_form_needed apply-direct-update
  • Legal name or document-required change form_required form-requirement-check

Form Requirement Check

kb.policy-change-requirements — check whether a wet signature, e-signature form, or supporting document is legally required for policy.changeType

  • E-signature form is sufficient ESignature.SendForm template: change-of-beneficiary to customer.email esignature-pending
  • Wet signature or physical document required wet-signature-required
  • No form required, change can be processed directly apply-direct-update

E-Signature Pending

Say"I've sent a secure e-signature form to customer.email. Once you complete and submit it, your change will be processed within one business day. Please check your inbox — it should arrive within a few minutes."

ESignature.SendForm to customer.email, linked to customer.policyNumber

CRM.CreateFollowUpTask tag: esignature-pending, deadline: 7-days, policy: customer.policyNumber

  • Customer confirms they received and completed the form apply-direct-update
  • Customer cannot complete the form now pending-form-followup
  • No response or form not returned within deadline CRM.EscalateTask escalation-human

Wet Signature Required

Say"This type of change requires a signed paper form. I'll send you the form by email along with instructions for returning it. Once we receive the completed form, your update will be processed within three to five business days."

DocumentManagement.GenerateForm template: beneficiary-change-form, policy: customer.policyNumber

CRM.SendEmail template: wet-signature-instructions, attachment: change-form to customer.email

CRM.CreateFollowUpTask tag: wet-signature-pending, deadline: 30-days, policy: customer.policyNumber

  • Customer acknowledges and will return the form pending-form-followup
  • Customer cannot return the form within the deadline pending-form-followup

Pending Form Follow-up

Say"No problem — I've saved a pending task on your account and flagged the deadline. We'll send you a reminder before it expires. If you need assistance completing the form, don't hesitate to reach back out."

CRM.CreateFollowUpTask tag: pending-change-form, deadline: 30-days, policy: customer.policyNumber

CRM.SendEmail template: pending-change-reminder to customer.email

  • Customer has additional questions escalation-human
  • Customer is satisfied resolution-confirmed

Apply Direct Update

Say"Before I save this, let me confirm the change: I'll be updating your record to reflect update.newDetail — or for a beneficiary change, update.newBeneficiaryName as update.newBeneficiaryRelationship. Is that correct?"
  • Customer confirms the details are correct save-policy-update
  • Customer requests a correction change-type-collection

Save Policy Update

PolicyAdmin.SaveChange policy: customer.policyNumber, change: update.newDetail

CRM.UpdateRecord policy: customer.policyNumber, tag: policy-detail-updated

DocumentManagement.LogChange policy: customer.policyNumber, agent: Insurance Support Agent

  • Save successful save_success confirmation-and-close
  • System unavailable or save error system_down system-unavailable

System Unavailable

Say"I'm sorry — our system is temporarily unavailable and I'm unable to save your changes right now. I want to make sure your request isn't lost."

CRM.CreateManualLog details: update.newDetail, policy: customer.policyNumber, tag: manual-change-request

CRM.GenerateCaseReference -> case.referenceNumber

CRM.ScheduleCallback within: 1-business-day, contact: customer.phone

Say"I've logged your request manually and your case reference number is case.referenceNumber. A member of our team will call you back at customer.phone within one business day to confirm your changes have been saved. Please keep that reference number handy."

resolution-confirmed

Confirmation and Close

Say"Your policy has been updated successfully. A confirmation has been sent to customer.email. Is there anything else I can help you with today?"

CRM.SendEmail template: policy-change-confirmation, policy: customer.policyNumber to customer.email

  • Customer has another request change-type-collection
  • Customer is done resolution-confirmed

Resolution Confirmed

Say"Thank you for reaching out and taking the time to keep your policy up to date. Take care, and don't hesitate to contact us if you need anything in the future."

CRM.CloseCase policy: customer.policyNumber, status: resolved

Escalation to Human Agent

CRM.CreateCase priority: high, tag: policy-change-escalation, policy: customer.policyNumber

CRM.NotifyTeam channel: #policy-ops-escalations, details: customer.policyNumber

Say"I'm going to connect you with a specialist who can assist you further with this request. Please hold for just a moment — thank you for your patience."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat▣ text

Appointment Reschedule / Cancellation

HealthcareSchedulingPatient Support

Intake and Identity Verification

Say"Thank you for reaching out. I can help you reschedule or cancel your appointment. To get started, may I have your full name and date of birth?"

EHR.LookupPatient using patient.fullName and patient.dateOfBirth to retrieve the patient record and patient.id.

Say"Thank you. Can you also confirm your patient ID or account number so I can pull up your appointment details?"

EHR.VerifyIdentity against patient.id and patient.accountNumber.

  • Identity verified successfully verified confirm-appointment-details
  • Identity cannot be verified after two attempts unverified identity-failure
  • Patient reports an urgent symptom or medical concern during intake urgent_concern clinical-triage-escalation

Identity Verification Failure

Say"I'm sorry — I wasn't able to verify your identity with the information provided. For your security, we're unable to make changes to your appointment until your identity is confirmed in person at one of our locations or through the patient portal with a verified login."

CRM.LogInteraction tagged identity-verification-failure, linked to patient.id

  • Patient accepts and ends the call accepted resolution-no-change
  • Patient escalates or disputes the inability to verify frustrated escalation-human

Confirm Appointment Details

EHR.GetAppointment for patient.id to retrieve appointment.date, appointment.provider, and appointment.id.

Say"I can see you have an appointment on appointment.date with appointment.provider. Are you looking to reschedule or cancel this appointment?"
Detect
patient intent on the request
  • Patient wants to reschedule reschedule reschedule-reason
  • Patient wants to cancel cancel cancellation-reason
  • Patient is vague or unsure unclear clarify-intent
  • Patient mentions a new or worsening symptom as the reason urgent_concern clinical-triage-escalation

Clarify Intent

Say"No problem — I just want to make sure I help you in the right way. Are you looking to move your appointment to a different time, or would you like to cancel it entirely?"
  • Patient confirms reschedule reschedule reschedule-reason
  • Patient confirms cancellation cancel cancellation-reason
  • Patient mentions a symptom or health concern urgent_concern clinical-triage-escalation

Reschedule — Reason Capture

Say"Understood. Could you briefly share the reason you need to reschedule? And do you have a preferred date or time range for the new appointment?"

CRM.LogInteraction tagged reschedule-request, linked to appointment.id

  • Patient provides a reason and preferred window has_preference check-slot-availability
  • Patient has no preference and any slot works no_preference check-slot-availability
  • Patient mentions a symptom or clinical concern as the reason urgent_concern clinical-triage-escalation

Check Slot Availability

SchedulingPortal.GetAvailableSlots for appointment.provider within the patient's preferred window.

  • Slots available with the same provider within the acceptable window slots_found offer-new-slot
  • No slots available with the same provider within the acceptable window no_slots no-availability-options
  • New slot requires eligibility check due to insurance or date change eligibility_check_needed insurance-eligibility-check

Offer New Slot

Say"I have a few openings with appointment.provider. Let me share those with you — which works best?"

SchedulingPortal.PresentSlots to surface top three available options.

Say"Once you confirm a time, I'll book that right away and send you a confirmation."
  • Patient selects a slot slot_selected SchedulingPortal.BookAppointment confirm-reschedule
  • Patient wants to see more options more_options SchedulingPortal.GetAvailableSlots extended range offer-new-slot
  • Patient changes mind and wants to cancel instead cancel cancellation-reason
  • Patient cannot find a suitable time no_match no-availability-options

No Availability Options

Say"I'm sorry — appointment.provider doesn't have availability within that window. I have a few options for you: I can offer you the next available slot with appointment.provider, or I can check for an earlier opening with another provider on the same care team, or I can add you to the waitlist so we can contact you if something opens up."
Detect
patient preference on alternatives
  • Patient accepts the next available slot with the same provider same_provider SchedulingPortal.BookAppointment confirm-reschedule
  • Patient accepts a different provider different_provider SchedulingPortal.GetAvailableSlots alternative providers offer-new-slot
  • Patient wants to join the waitlist waitlist SchedulingPortal.AddToWaitlist for patient.id and appointment.provider waitlist-confirmed
  • Patient is dissatisfied or requests provider callback frustrated escalation-human

Insurance Eligibility Check

Say"Before I confirm the new slot, I need to quickly verify your insurance coverage for that date. This will only take a moment."

EligibilityVerification.CheckCoverage using patient.id and insurance.status for newAppointment.date.

  • Coverage confirmed for the new date eligible offer-new-slot
  • Coverage issue detected — patient may owe out of pocket ineligible insurance-issue-flag
  • Eligibility check inconclusive inconclusive escalation-human

Insurance Issue Flag

Say"I was able to check your coverage, and there may be a gap in your insurance eligibility for the new appointment date. I want to make you aware before confirming so there are no billing surprises. Would you like to proceed, or would you prefer to speak with our billing team first?"
  • Patient wants to proceed anyway proceed offer-new-slot
  • Patient wants to speak with billing billing escalation-human
  • Patient decides to cancel instead cancel cancellation-reason

Cancellation — Reason Capture

Say"I can process that cancellation for you. Could you share the reason, even briefly? It helps us improve our scheduling."

EHR.CheckCancellationWindow for appointment.id to retrieve appointment.cancellationWindow.

CRM.LogInteraction tagged cancellation-request, linked to appointment.id

  • Within the cancellation window, no fee applicable no_fee process-cancellation
  • Inside the late-cancellation or no-show fee window fee_applicable late-cancellation-notice
  • Patient mentions a symptom or clinical concern as the reason urgent_concern clinical-triage-escalation

Late Cancellation Notice

Say"I want to let you know that this appointment falls within our late-cancellation window per clinic policy, which means a cancellation fee may apply. I want to make sure you're aware before I proceed. Would you still like to cancel?"

kb.cancellation-fee-policy — reference the applicable fee schedule and patient notification requirements.

  • Patient acknowledges and confirms cancellation confirmed process-cancellation
  • Patient disputes the fee or requests a waiver disputes_fee escalation-human
  • Patient decides to keep the appointment instead keep_appointment resolution-no-change

Process Cancellation

EHR.CancelAppointment for appointment.id, recording reason.change.

SchedulingPortal.ReleaseSlot for appointment.id.

CRM.UpdateRecord tagged cancelled, linked to patient.id and appointment.id.

Say"Your appointment on appointment.date with appointment.provider has been cancelled. You'll receive a confirmation shortly."

Twilio.SendNotification to patient.preferredContact with cancellation confirmation referencing appointment.date and appointment.provider.

  • Confirmation sent and patient has no further questions resolution-complete
  • Patient wants to reschedule after all reschedule reschedule-reason

Confirm Reschedule

EHR.UpdateAppointment replacing appointment.id with new slot details: newAppointment.date, newAppointment.time, newAppointment.provider.

CRM.UpdateRecord tagged rescheduled, linked to patient.id.

Say"You're all set. Your appointment has been moved to newAppointment.date at newAppointment.time with newAppointment.provider. A confirmation will be sent to your preferred contact on file."

Twilio.SendNotification to patient.preferredContact with reschedule confirmation including newAppointment.date, newAppointment.time, and newAppointment.provider.

  • Patient confirms receipt and has no further questions resolution-complete
  • Patient has an additional question or concern follow_up resolution-complete

Waitlist Confirmed

Say"You've been added to the waitlist for appointment.provider. If a slot becomes available that matches your preferences, we'll reach out right away via your preferred contact method. Is there anything else I can help you with?"

CRM.UpdateRecord tagged waitlisted, linked to patient.id and appointment.provider.

  • Patient has no further needs resolution-complete
  • Patient wants to also reschedule with a different provider in the meantime reschedule no-availability-options

Clinical Triage Escalation

Say"I want to make sure you get the right support. Before we make any changes to your appointment, I'd like to connect you with a clinical team member who can better assess what you're experiencing."

CRM.LogInteraction tagged clinical-concern, priority: high, linked to patient.id and appointment.id.

EHR.FlagForTriage for patient.id with note: patient reported symptom concern during scheduling interaction.

  • Triage nurse or clinical staff available to take the transfer escalation-human
  • After-hours: no clinical staff available Twilio.SendNotification urgent triage message to on-call line escalation-human

Escalation to Human Agent

Say"I'm going to connect you with a member of our team who can assist you further. Please hold for just a moment."

CRM.CreateCase priority: high, linked to patient.id and appointment.id, tagged for appropriate queue based on reason.

CRM.LogInteraction with full context: appointment.date, appointment.provider, reason.change, escalation trigger.

Resolution — No Change Made

Say"No changes have been made to your appointment on appointment.date with appointment.provider. If you need anything else, don't hesitate to reach out."

CRM.LogInteraction tagged no-change, linked to patient.id.

Resolution — Complete

Say"Is there anything else I can help you with today?"

CRM.LogInteraction tagged resolved, linked to patient.id.

  • Patient has no further needs no_further_needs session-closed
  • Patient has another request another_request intake-and-verification

Session Closed

Say"Thank you for reaching out. Take care, and we look forward to seeing you. Goodbye!"

CRM.CloseCase linked to patient.id.

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ voice▣ sms▣ text

Size / Fit / Product Recommendation

RetailProductSizingRecommendations

Opening

CRM.LookupCustomer by customer.id or session identity to pre-load customer.purchaseHistory and any saved preferences.

Say"Hi customer.name! I'm here to help you find exactly the right size or product. Are you looking for sizing help on something specific, trying to choose between a couple of options, or not sure where to start?"
Detect
customer intent from opening message
  • Customer wants sizing or fit help for a specific item size-help collect-item-and-measurements
  • Customer is comparing two or more products compare product-comparison
  • Customer is unsure what they need / browsing browsing discover-needs
  • Customer mentions a previous bad fit or return past-issue review-past-purchase

Collect Item and Measurements

ProductCatalog.GetProduct to load product.category, product.attributes, and product.sizeGuide for the item the customer mentioned.

Say"Great choice! To make sure I get the fit right for you, could you share a couple of quick details? For product.name I'll need your product.sizeGuide measurements — things like height, weight, chest, waist, or inseam depending on the item. Do you have those handy?"
Detect
customer response about measurements
  • Customer provides measurements has-measurements run-size-lookup
  • Customer doesn't know measurements or is unsure no-measurements guide-self-measure
  • Customer mentions they are between sizes between-sizes between-sizes-advice

Guide Self-Measure

kb.self-measure-guide — retrieve step-by-step measurement instructions relevant to product.category

Say"No worries at all — it only takes about two minutes! Here's how to measure yourself at home for product.category:"
Say"For the most accurate fit, use a soft measuring tape. Measure your chest at the fullest point, your natural waist about an inch above your navel, and your hips at the widest point. If you're measuring inseam, stand straight and measure from your crotch to the floor. Once you have those, I can match you to the perfect size."
  • Customer provides measurements after guide has-measurements run-size-lookup
  • Customer still can't measure or prefers not to skip-measure recommend-size-up
  • Customer wants to escalate or speaks with frustration frustrated escalation-specialist

Between Sizes Advice

kb.sizing-policy — check brand fit philosophy (relaxed, true-to-size, runs small/large) for product.id

Say"Being between sizes is really common! For product.name, I'd generally recommend going product.sizeGuide based on your larger measurement to ensure comfort — especially for customer.preferences.fitStyle fit. That said, it also depends on how you prefer things to feel. Do you usually prefer a snugger or a more relaxed fit?"
  • Customer prefers snug fit snug run-size-lookup
  • Customer prefers relaxed fit relaxed run-size-lookup
  • Customer is still unsure unsure recommend-size-up

Recommend Size Up

Say"When in doubt, I always recommend going one size up — it's much easier to tailor down slightly than to deal with something that's too tight. I'll use that as the basis for your recommendation."

run-size-lookup

Run Size Lookup

SizingGuideDB.MatchSize using customer.measurements, customer.preferences.fitStyle, and product.sizeGuide to generate recommendation.primary.

InventoryManagement.CheckStock for recommendation.primary in product.id to confirm product.stockStatus and product.availableSizes.

  • Size is in stock in-stock present-recommendation
  • Size is out of stock out-of-stock out-of-stock-handling
  • Lookup error or ambiguous result lookup-error escalation-specialist

Present Recommendation

Say"Based on your measurements and your preference for a customer.preferences.fitStyle fit, I'd recommend a recommendation.primary in product.name. Here's why it works for you:"
Say"It should sit comfortably across your customer.measurements, with the right amount of room for customer.preferences.intendedUse. The product.attributes also align well with your preference for customer.preferences.material."
Say"Would you like me to add the recommendation.primary in product.name to your cart, or do you have any questions before you decide?"
  • Customer is ready to add to cart ready-to-buy add-to-cart
  • Customer wants to see an alternative or compare wants-options present-alternate
  • Customer has more questions more-questions answer-questions
  • Customer expresses strong uncertainty or frustration frustrated escalation-specialist

Present Alternate

ProductCatalog.GetAlternates using product.id, customer.preferences.budget, and customer.preferences.fitStyle to generate recommendation.alternate.

InventoryManagement.CheckStock for recommendation.alternate.

Say"Of course! Here's another option worth considering: recommendation.alternate. Compared to recommendation.primary, this one product.attributes — so it's a great pick if you prioritize customer.preferences.material or are working within a tighter budget of around customer.preferences.budget."
Say"Both are solid choices — would you like to go with recommendation.primary, recommendation.alternate, or would it help to talk through the differences a bit more?"
  • Customer selects primary recommendation chose-primary add-to-cart
  • Customer selects alternate recommendation chose-alternate add-to-cart
  • Customer wants more comparison detail compare-detail product-comparison
  • Customer is stuck or frustrated frustrated escalation-specialist

Product Comparison

ProductCatalog.GetProduct for each product the customer is comparing, loading product.attributes for both.

kb.product-comparison-guides — retrieve any curated head-to-head notes for these items.

Say"Happy to help you compare! Let me pull up the details on both."
Say"Here's the honest breakdown: recommendation.primary is the better fit if product.attributes — especially for customer.preferences.intendedUse. recommendation.alternate makes more sense if you want product.attributes or your budget is closer to customer.preferences.budget. For most people with your profile, I'd lean toward recommendation.primary, but either will serve you well."
Say"Does that help you land on one, or would you like me to check sizing or stock on both before you decide?"
  • Customer is ready to choose and buy ready-to-buy add-to-cart
  • Customer wants sizing checked on one of the options size-help collect-item-and-measurements
  • Customer still undecided still-undecided present-alternate
  • Customer frustrated or overwhelmed frustrated escalation-specialist

Discover Needs

Say"No problem — let's figure it out together! A few quick questions: What's the item or category you're shopping for? What will you mainly be using it for? And do you have a sense of the fit or style you prefer — relaxed, athletic, slim — or a budget range?"
Detect
customer response completeness
  • Customer provides enough detail to proceed sufficient-detail collect-item-and-measurements
  • Customer provides partial detail partial-detail collect-item-and-measurements
  • Customer is very unclear or disengaged disengaged escalation-specialist

Review Past Purchase

CRM.GetPurchaseHistory for customer.id to retrieve customer.purchaseHistory including prior sizes, items, and any returns or exchanges.

kb.return-reason-codes — look up fit-related return notes linked to customer.id if available.

Say"Thanks for mentioning that — let me take a look at what you've ordered before so we can avoid repeating the same issue."
Say"I can see you previously purchased customer.purchaseHistory. It looks like the fit concern was around customer.preferences.fitStyle. Based on that, I'd suggest we adjust by going recommendation.primary this time — that should address the issue directly."
  • Customer is happy with the adjusted recommendation accepts-advice run-size-lookup
  • Customer wants to explore a different product entirely different-product discover-needs
  • Customer is frustrated about the past experience frustrated escalation-specialist

Out-of-Stock Handling

InventoryManagement.GetAvailableAlternates for product.id filtered by recommendation.primary size and customer.preferences.budget to find nearest in-stock alternative.

InventoryManagement.GetRestockDate for recommendation.primary in product.id if available.

Say"Unfortunately, recommendation.primary in product.name isn't available right now. Here's what I can do for you:"
Say"Option 1 — I can put you on the waitlist and notify you the moment it's back in stock. Option 2 — there's a very similar alternative, recommendation.alternate, that's available now and fits your profile just as well. Option 3 — if you'd like, I can check other size variants that might still work."
  • Customer wants the waitlist option wants-waitlist join-waitlist
  • Customer wants the in-stock alternative wants-alternate present-alternate
  • Customer wants to check other sizes check-other-sizes run-size-lookup
  • Customer frustrated or wants to leave frustrated escalation-specialist

Join Waitlist

InventoryManagement.AddToWaitlist for customer.email on product.id in size recommendation.primary.

Say"Done! I've added you to the waitlist for recommendation.primary in product.name. We'll email you at customer.email the moment it's back — usually within a week or two. Is there anything else I can help you with in the meantime, like finding something to hold you over?"
  • Customer wants to keep browsing keep-browsing discover-needs
  • Customer is done done resolution
  • Customer wants to add the alternate to cart instead wants-alternate add-to-cart

Answer Questions

kb.product-faq — retrieve relevant FAQs for product.id covering fabric, care, returns, sizing tolerances, and fit philosophy.

Say"Of course — happy to answer any questions before you commit. What would you like to know about product.name?"
  • Customer asks about fabric, care, or material material-question answer-questions
  • Customer asks about returns or exchanges returns-question answer-questions
  • Customer is satisfied and ready to buy ready-to-buy add-to-cart
  • Customer wants a different recommendation different-option present-alternate
  • Customer frustrated or escalating frustrated escalation-specialist

Add to Cart

EcommerceCart.AddItem with product.id, recommendation.primary, and customer.id to add the confirmed selection.

Say"Perfect! I've added recommendation.primary in product.name to your cart. Here's your cart link: order.cartUrl"
Say"You're all set to check out whenever you're ready. Is there anything else I can help you find today — maybe something to complete the look or a coordinating item?"
  • Customer wants to keep shopping keep-shopping discover-needs
  • Customer is done and happy done resolution
  • Customer has a cart or checkout issue cart-issue escalation-specialist

Escalation to Specialist

CRM.CreateCase for customer.id tagged fit-escalation, logging all collected preferences, measurements, and conversation context.

Say"I completely understand — I want to make sure you get the right answer here, and this one deserves a closer look from one of our specialist team members. I'm flagging this for them now with all the details you've shared so you won't need to repeat yourself."
Say"A specialist will be with you shortly. If you're on chat they'll join this thread; if you prefer, we can also arrange a callback at customer.email. Thank you for your patience!"

Resolution

Say"Wonderful — I'm really glad we could find the right fit for you today! If your order arrives and anything feels off, our exchanges are easy and hassle-free. Don't hesitate to reach out anytime. Enjoy your new product.name!"
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ sms

Roaming / International Add-on Request

TelecomRoamingInternationalAdd-onsTravel

Identity Verification

Say"Thanks for reaching out! I'd be happy to help you with international coverage. To get started, can I have your account number or the phone number on the account, followed by your account PIN or passcode?"

CRM.LookupAccount using customer.phone or customer.accountNumber

CRM.VerifyPIN against customer.pin

  • Identity verified successfully verified account-review
  • PIN incorrect on first attempt — prompt once more identity-retry
  • Account not found or unresolvable escalation-human

Identity Retry

Say"I wasn't able to match that PIN. Let's try one more time — please re-enter your account PIN or passcode."

CRM.VerifyPIN against customer.pin

  • Identity verified on second attempt verified account-review
  • Second attempt fails failed escalation-human

Account Review

CRM.GetAccountDetails for customer.accountNumber — pull customer.currentPlan, customer.outstandingBalance, customer.accountFlags

Detect
account status flags on customer.accountFlags
  • Account flagged for fraud or suspension flagged escalation-human
  • Account has a past-due balance outstanding pastdue past-due-balance
  • Account in good standing, no flags clear trip-details

Past-Due Balance

Say"I can see there's an outstanding balance of customer.outstandingBalance on your account. Add-on activations are on hold until the balance is cleared. Would you like to make a payment now so we can get your roaming plan set up right away?"
  • Customer agrees to pay payment-collection
  • Customer declines or requests a payment arrangement escalation-human

Payment Collection

PaymentProcessing.InitiatePayment for customer.outstandingBalance on customer.accountNumber

Say"I'll bring up the payment flow now. Once that goes through, we'll be all set to activate your international add-on."
  • Payment successful payment_cleared CRM.UpdateAccountStatus trip-details
  • Payment declined or failed payment_failed escalation-human

Trip Details

Say"Great! Let's find the best plan for your trip. Which country or countries will you be visiting, and what are your travel dates?"

CRM.SetTripContext with trip.destinationCountry, trip.departureDate, trip.returnDate

  • Travel dates are upcoming or current and destination captured device-check
  • Customer is already abroad and reports unexpected charges already-abroad

Device Check

DeviceCompatibilityChecker.Assess using device.imei, device.model, device.simStatus for trip.destinationCountry

CarrierInternationalAPI.CheckPartnerCoverage for trip.destinationCountry

  • Device is compatible with international bands and destination network device_ok addon-selection
  • Device is CDMA-only or SIM-locked for destination device_incompatible device-incompatibility
  • Coverage unavailable in destination through partner network no_coverage escalation-human

Device Incompatibility

Say"I've checked your device and unfortunately it isn't compatible with the networks in trip.destinationCountry — it may be CDMA-only or SIM-locked for that region. I can offer you a couple of alternatives: an international SIM card or a temporary rental device that's fully unlocked and compatible. Would either of those work for you?"
  • Customer wants international SIM option sim-rental-offer
  • Customer wants rental device option sim-rental-offer
  • Customer declines alternatives and wants to explore further escalation-human

SIM / Rental Offer

Say"Perfect. I'll connect you with our device services team who can get that arranged before your trip. They'll confirm availability, pricing, and delivery or in-store pickup options."

CRM.CreateCase tagged device-compatibility-roaming, linked to customer.accountNumber

escalation-human

Add-on Selection

AddonCatalog.GetEligibleAddons for customer.currentPlan, trip.destinationCountry, trip.departureDate, trip.returnDate

Say"Great news — your device is compatible. Here are the international add-on options available for your plan and destination. I'll walk you through the options, including pricing and any usage caps."

kb.roaming-addon-policy — review eligible plans, pricing tiers, promotional offers, and usage caps for trip.destinationCountry

  • Customer selects a preferred add-on pricing-confirmation
  • Customer disputes the pricing or expected charges pricing-dispute
  • Customer requests a plan not currently eligible for their account escalation-human

Pricing Confirmation

Say"Just to confirm — you'd like to add addon.name for addon.price, which covers you in trip.destinationCountry. Your usage cap is addon.usageCap. This will activate on addon.effectiveDate. Does that all look correct?"
  • Customer confirms selection confirmed addon-activation
  • Customer wants to change selection addon-selection
  • Customer wants to cancel the request resolution-no-change

Add-on Activation

BillingPlatform.ActivateAddon with addon.name, addon.effectiveDate on customer.accountNumber

CRM.LogInteraction with add-on details, trip.destinationCountry, trip.departureDate, trip.returnDate

BillingPlatform.SendConfirmationEmail to customer.email with addon.name, addon.price, addon.usageCap, addon.effectiveDate

Say"You're all set! Your addon.name has been activated and takes effect on addon.effectiveDate. You'll receive a confirmation to customer.email shortly. Remember, your usage cap is addon.usageCap — you'll get an alert if you're approaching the limit. Is there anything else I can help you with?"
  • Customer has additional questions or requests trip-details
  • Customer is satisfied, no further needs resolution-complete

Already Abroad

Say"I'm sorry to hear your service isn't working as expected. Let me pull up your account and check what's been happening since your arrival."

BillingPlatform.GetRecentCharges for customer.accountNumber — review charge.amount for pay-per-use international activity

kb.roaming-retroactive-credit-policy — check eligibility window and thresholds for credit.eligibility

  • Customer has been incurring pay-per-use charges within the retroactive credit window credit_eligible retroactive-credit-review
  • Charges are outside the policy window or ineligible for credit addon-selection
  • Customer is disputing a large existing international charge charge-dispute

Retroactive Credit Review

Agent
assess retroactive credit eligibility for charge.amount against kb.roaming-retroactive-credit-policy.
Goal:determine whether a courtesy credit for pay-per-use roaming charges can be applied and activate the appropriate add-on going forward.
Constraints:never approve a retroactive credit above USD 75 without supervisor approval; always activate the going-forward add-on before issuing any credit; confirm credit eligibility against policy window before proceeding.
Tools available:BillingPlatform.GetRecentCharges, BillingPlatform.ApplyCredit, kb.roaming-retroactive-credit-policy, AddonCatalog.GetEligibleAddons
  • Credit is within agent approval threshold and eligible credit_approved apply-retroactive-credit
  • Credit amount exceeds agent threshold or policy bars it credit_escalate escalation-human

Apply Retroactive Credit

BillingPlatform.ApplyCredit of credit.amount to customer.accountNumber tagged retroactive-roaming-adjustment

CRM.LogInteraction with credit amount, reason, and linked charges

Say"I've applied a credit of credit.amount to your account for the roaming charges you incurred. It will appear on your next billing cycle. Now let's get a proper international add-on activated so you're covered for the rest of your trip."

addon-selection

Charge Dispute

Say"I understand — let's take a close look at those charges. Can you confirm the total amount you're disputing?"

BillingPlatform.GetChargeDetail for charge.disputeAmount on customer.accountNumber

kb.roaming-dispute-policy — review dispute thresholds and agent authorization limits

  • Dispute amount is within agent adjustment authority within_threshold pricing-dispute
  • Dispute amount exceeds agent authority exceeds_threshold escalation-human

Pricing Dispute

Say"I hear you — let me review any current promotions or adjustments that might apply to your account."

kb.roaming-addon-policy — check active promotional offers, loyalty discounts, and goodwill adjustment eligibility

Detect
outcome of promotion or adjustment review
  • A valid promotion or discount applies and resolves the concern promotion_found BillingPlatform.ApplyPromotion addon-selection
  • No promotion available but a courtesy adjustment is warranted and within threshold courtesy_ok BillingPlatform.ApplyCredit addon-selection
  • No resolution possible within agent authority no_resolution escalation-human

Escalation to Human Agent

CRM.CreateCase priority: high, tagged roaming-escalation, linked to customer.accountNumber

CRM.LogInteraction with full context: trip.destinationCountry, customer.currentPlan, charge.disputeAmount, customer.accountFlags

Say"I want to make sure this gets fully resolved for you. I'm escalating your case to a specialist who has the tools and authority to handle this. They'll have all the details so you won't need to repeat yourself."

Resolution — Complete

Say"Wonderful — you're all set for your trip to trip.destinationCountry. Safe travels, and don't hesitate to reach out if you need anything while you're away!"

CRM.LogInteraction with resolved add-on, addon.effectiveDate, trip.destinationCountry, trip.returnDate

Resolution — No Change

Say"No problem at all — no changes have been made to your account. If you'd like to revisit your options before your trip, we're here anytime. Have a great day!"

CRM.LogInteraction tagged no-change-requested, customer.accountNumber

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ voice▣ text▣ chat▣ sms

Product Availability / Stock Inquiry

RetailInventorySupport

Gather Product Details

Say"Hi there! I'd be happy to help you check on product availability. Could you share the product name, SKU, or a quick description of what you're looking for?"
Detect
intent on customer message
  • Customer provides a clear product name or SKU product-identified gather-variant-details
  • Customer gives a vague or partial description product-unclear clarify-product
  • Customer is already frustrated or mentions previous failed lookup frustrated escalation-human

Clarify Product

Say"No problem — let me help narrow that down. Do you have a SKU from a receipt or the website, or can you describe the item a bit more — for example, the category, brand, or color?"
  • Customer provides enough detail to identify the product product-identified gather-variant-details
  • Customer still cannot identify the product product-unclear ProductCatalog.Search to surface closest matches suggest-alternatives
  • Customer expresses frustration frustrated escalation-human

Gather Variant Details

Say"Got it — do you have a preferred size, color, or any other variant you need? And are you looking to pick it up at a store near you, or would online ordering work for you?"
  • Customer provides variant and prefers in-store pickup in-store gather-location
  • Customer provides variant and prefers online online check-online-inventory
  • Customer has no variant preference and prefers in-store in-store gather-location
  • Customer has no variant preference and prefers online online check-online-inventory
  • Customer is flexible on channel flexible check-online-inventory

Gather Location

Say"What's your zip code or the store location you'd like to check?"
  • Customer provides zip code or store name location-provided StoreLocator.FindNearestStores using customer.zipCode check-store-inventory
  • Customer cannot provide location location-unknown check-online-inventory
  • Customer expresses frustration frustrated escalation-human

Check Online Inventory

InventoryManagement.GetOnlineStock for product.sku, variant product.variant.size, product.variant.color

  • Online stock confirmed available in-stock confirm-online-availability
  • Online stock is zero or unavailable out-of-stock check-store-inventory
  • Lookup returns no data or an error lookup-error inventory-lookup-failure

Check Store Inventory

InventoryManagement.GetStoreStock for product.sku at customer.preferredStore, variant product.variant.size, product.variant.color

  • Stock confirmed at preferred or nearest store in-stock confirm-store-availability
  • In-stock only at a distant store distant-stock offer-ship-or-transfer
  • Out of stock at all nearby stores and online out-of-stock check-discontinued
  • Lookup returns no data or an error lookup-error inventory-lookup-failure

Confirm Online Availability

Say"Great news — product.name is available online right now. You can add it to your cart and check out at your convenience. Would you like me to send you a direct link, or is there anything else I can help you with?"

CRM.LogInteraction tagged availability-confirmed-online, linked to product.sku

  • Customer wants a link SendEmail or SendSMS with product URL to customer.email or customer.phone resolution
  • Customer is satisfied and needs nothing else confirmed resolution
  • Customer mentions price match, special hold, or bulk quantity special-request escalation-human

Confirm Store Availability

Say"Good news — product.name is in stock at store.name. You can head in to grab it, or in some cases we can reserve it for you. Would you like to reserve it, or do you have any other questions?"

CRM.LogInteraction tagged availability-confirmed-store, linked to product.sku

  • Customer wants to reserve the item wants-reservation InventoryManagement.PlaceHold for product.sku at store.name reservation-confirmed
  • Customer is satisfied and will go to the store confirmed resolution
  • Customer requests price match, special hold, or bulk quantity special-request escalation-human
  • Customer expresses frustration frustrated escalation-human

Reservation Confirmed

Say"Perfect — I've placed a hold on product.name at store.name for you. You'll typically have 24 to 48 hours to pick it up. Is there anything else I can help you with?"

CRM.LogInteraction tagged reservation-placed, linked to product.sku

  • Customer is satisfied confirmed resolution
  • Customer has another question follow-up gather-product-details

Offer Ship or Transfer

Say"I can see product.name is available, but the nearest store with stock is store.name, which is about store.distance away. We may be able to ship it directly to you from that store, or arrange a transfer to a closer location — would either of those work for you?"

InventoryManagement.CheckShipFromStore for product.sku at store.name

InventoryManagement.CheckTransferEligibility for product.sku

  • Ship-from-store is available and customer agrees ship-available InventoryManagement.InitiateShipFromStore ship-from-store-confirmed
  • Transfer to closer store is available and customer prefers pickup transfer-available InventoryManagement.InitiateTransfer transfer-initiated
  • Neither option is available or customer declines both declined check-discontinued
  • Customer requests special handling or bulk quantity special-request escalation-human

Ship From Store Confirmed

Say"I've arranged for product.name to be shipped to you from store.name. You'll receive a confirmation and tracking info at customer.email once it ships. Is there anything else I can help with?"

CRM.LogInteraction tagged ship-from-store-initiated, linked to product.sku

  • Customer is satisfied confirmed resolution
  • Customer has another question follow-up gather-product-details

Transfer Initiated

Say"I've submitted a transfer request to bring product.name to your preferred store. Once it arrives — usually within a few business days — we'll reach out to let you know it's ready. Can I grab your contact info to make sure you get that notification?"

CRM.UpdateContactInfo with customer.email, customer.phone

CRM.LogInteraction tagged transfer-requested, linked to product.sku

  • Customer provides contact info contact-provided resolution
  • Customer declines contact info declined resolution

Check Discontinued

ProductCatalog.CheckDiscontinuedStatus for product.sku

  • Product is confirmed discontinued discontinued product-discontinued
  • Product is not discontinued but broadly out of stock out-of-stock offer-restock-notification

Product Discontinued

Say"I'm sorry to share that product.name has been discontinued and is no longer available through us. I know that's not the news you were hoping for. I can suggest a few comparable items that might work for you — would that be helpful?"

ProductCatalog.GetSimilarItems for product.sku

  • Customer wants to see alternatives wants-alternatives suggest-alternatives
  • Customer does not want alternatives declined resolution
  • Customer is upset about the discontinuation frustrated escalation-human

Offer Restock Notification

Say"Unfortunately product.name is out of stock right now — both online and at nearby stores. I can sign you up for a restock alert so you'll be notified as soon as it's available again. Would you like me to do that?"
  • Customer agrees to restock alert confirmed RestockNotification.Subscribe with product.sku, customer.email, customer.phone restock-signup-confirmed
  • Customer declines and wants to see similar items wants-alternatives suggest-alternatives
  • Customer declines all options declined resolution

Restock Signup Confirmed

Say"You're all set — we'll send a notification to customer.email or customer.phone as soon as product.name is back in stock. Is there anything else I can help you with today?"

CRM.LogInteraction tagged restock-alert-registered, linked to product.sku

  • Customer has another question follow-up gather-product-details
  • Customer is satisfied confirmed resolution

Suggest Alternatives

Agent
review the product catalog and customer context to recommend up to three comparable alternatives for product.name.
Goal:identify alternatives that match the customer's likely intent — same category, similar price point, available in the preferred channel (online or in-store).
Constraints:only recommend items confirmed in stock; never suggest items with an active recall or items flagged as discontinued; limit suggestions to three.
Tools available:ProductCatalog.GetSimilarItems, InventoryManagement.GetOnlineStock, InventoryManagement.GetStoreStock, kb.product-substitution-guidelines
  • Suitable alternatives found and customer is interested alternatives-found present-alternatives
  • No suitable alternatives found or customer declines no-match resolution
  • Customer expresses frustration or demands a manager frustrated escalation-human

Present Alternatives

Say"Here are a few options I think you'd like as alternatives to product.name: alternative.name (SKU alternative.sku) is currently available and very similar in features and price. Would any of these work for you, or would you like more details on one of them?"
  • Customer selects an alternative and wants to check availability selected check-online-inventory
  • Customer wants to know more about an alternative wants-details ProductCatalog.GetProductDetails present-alternatives
  • Customer declines all alternatives declined resolution
  • Customer expresses frustration frustrated escalation-human

Inventory Lookup Failure

Say"I'm sorry — I ran into a technical issue pulling up the inventory details right now. I'd recommend checking the website directly for the most up-to-date stock information, or you can call store.name at store.phone and they can look it up in-store. I'm logging this on our end so we can look into it."

CRM.LogSystemError with lookup.errorCode, product.sku, tagged inventory-lookup-failure

  • Customer is okay with the workaround confirmed resolution
  • Customer is frustrated or wants further help frustrated escalation-human

Escalation to Human Agent

Say"I completely understand — let me connect you with a team member who can take care of this for you right away."

CRM.CreateCase priority: high, tagged availability-escalation, linked to product.sku, customer.name

CRM.LogInteraction tagged escalated-to-human

Resolution

Say"Thanks for reaching out — happy to help anytime. Have a great day!"

CRM.LogInteraction tagged inquiry-resolved, linked to product.sku

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat

Premium Payment / Billing Inquiry

InsuranceBillingPayments

Inbound Greeting

Say"Thank you for contacting insurance support. My name is your virtual support agent. I can help you with billing questions, premium payments, and policy account inquiries. May I have your policy number to get started?"

CRM.LookupCustomer on policy.number

  • Policy number provided and record found identity-verification
  • Customer cannot locate policy number identity-verification
  • No response or line is silent escalation-human

Identity Verification

Say"To protect your account, I need to verify your identity before I can share any account details. Could you please confirm your date of birth, the last four digits of your Social Security Number, or your account security passphrase?"

PolicyManagement.VerifyIdentity using customer.dob, customer.ssn_last4, or customer.passphrase

Detect
verification outcome
  • Identity verified successfully verified policy-overview
  • Identity cannot be verified after two attempts unverified identity-failure
  • Customer hesitant or asks why it is needed frustrated verification-explain

Verification Explain

Say"Completely understandable — your security is our top priority. We require identity verification before sharing any account details to protect you from unauthorized access. I can verify using your date of birth, the last four digits of your Social Security Number, or your security passphrase — whichever you prefer."
  • Customer agrees and provides credentials identity-verification
  • Customer refuses to verify and wants to end call escalation-human

Identity Failure

Say"I'm sorry — I wasn't able to verify your identity with the information provided. For the security of your account, I'm unable to share policy or billing details over this channel."
Say"You're welcome to visit one of our branch locations with a valid photo ID, or submit a written inquiry through our secure customer portal. I can also transfer you to a specialist who can walk you through those options."
  • Customer wants branch or written request information CRM.LogContactAttempt escalation-human
  • Customer agrees to end call CRM.LogContactAttempt session-close

Policy Overview

PolicyManagement.GetPolicyDetails on policy.number

BillingLedger.GetCurrentBalance returning policy.premium_amount, policy.due_date, payment.outstanding_balance, payment.last_payment_date, payment.method_on_file

Detect
policy lapse or cancellation-pending status against policy.lapse_status
  • Policy is active and in good standing active billing-inquiry-triage
  • Policy is in lapsed status lapsed escalation-lapsed-policy
  • Policy is cancellation-pending cancellation_pending escalation-lapsed-policy

Billing Inquiry Triage

Say"I've pulled up your account. Your current premium is policy.premium_amount, due on policy.due_date. Your outstanding balance is payment.outstanding_balance, and your payment method on file is payment.method_on_file. How can I help you today?"
Detect
customer's primary billing intent
  • Customer wants to make a payment now pay_now process-payment
  • Customer questions or disputes the premium amount dispute_amount premium-explanation
  • Customer reports a missed or failed payment missed_payment missed-payment-review
  • Customer asks about an upcoming renewal renewal_question renewal-review
  • Customer asks about an unexpected or unrecognized charge unexpected_charge premium-explanation
  • Customer wants to update payment method update_payment update-payment-method
  • Customer requests supervisor or escalation wants_supervisor escalation-human

Premium Explanation

Say"I understand — let me review any recent changes to your policy that may have affected your premium."

BillingLedger.GetChangeHistory on policy.number returning billing.recent_changes, billing.endorsements, billing.rate_adjustment_reason

kb.premium-rate-adjustment-policy — review applicable rate change rules and endorsement billing guidelines

  • Change explained by endorsement or coverage adjustment CRM.LogExplanation explanation-confirmed
  • Change explained by annual rate adjustment CRM.LogExplanation explanation-confirmed
  • Change cannot be explained by visible account data unexplained_charge escalation-human

Explanation Confirmed

Say"The change to your premium is due to billing.rate_adjustment_reason. This is consistent with the terms of your policy. I'm happy to email or text you a summary of this breakdown for your records."
  • Customer accepts explanation and wants to pay now process-payment
  • Customer accepts explanation but has no payment due confirmation-send
  • Customer still disputes the explanation still_disputing escalation-human

Missed Payment Review

Say"I can see your last payment was on payment.last_payment_date and there is an outstanding balance of payment.outstanding_balance. Let me check whether your account is eligible for a payment plan or grace period extension."

kb.payment-plan-eligibility-policy — check grace period rules, payment plan thresholds, and eligibility criteria

  • Account is within grace period and customer wants to pay now within_grace process-payment
  • Account is eligible for a payment plan payment_plan_eligible payment-plan-setup
  • Grace period has expired and policy is at risk grace_expired escalation-lapsed-policy

Payment Plan Setup

Say"Good news — your account qualifies for a payment plan. I can break your outstanding balance of payment.outstanding_balance into installments. Would you like me to walk you through the available options?"

kb.payment-plan-options — retrieve available installment schedules and terms

Agent
present payment plan options based on payment.outstanding_balance and kb.payment-plan-options.
Goal:identify the most suitable installment schedule for the customer and confirm their agreement before enrolling.
Constraints:never enroll a customer in a payment plan that extends beyond the policy renewal date without supervisor approval; never waive fees without approved authorization; always confirm the first installment amount and date before proceeding.
Tools available:BillingLedger.GetPaymentPlanOptions, BillingLedger.EnrollPaymentPlan, kb.payment-plan-options
  • Customer agrees to a plan and first payment is collected BillingLedger.EnrollPaymentPlan confirmation-send
  • Customer declines plan and wants to pay full balance now process-payment
  • Customer declines all options escalation-human

Renewal Review

Say"Your policy is scheduled for renewal on policy.due_date. Your renewal premium will be policy.premium_amount. I can walk you through what's included, any coverage changes, or help you make a payment in advance if you'd like."

kb.renewal-billing-policy — review renewal terms, auto-pay rules, and advance payment options

  • Customer wants to make an advance renewal payment process-payment
  • Customer has questions about coverage changes at renewal coverage_question escalation-human
  • Customer wants to update payment method before renewal update-payment-method
  • Customer is satisfied with the renewal information confirmation-send

Update Payment Method

Say"No problem — I can update your payment method right now. For security, the new payment details you provide will be verified before being saved to your account. Please go ahead and share the new payment method you'd like to use."

PaymentGateway.UpdatePaymentMethod with new details provided by customer

BillingLedger.ConfirmMethodUpdate on policy.number

  • Payment method updated successfully method_updated billing-inquiry-triage
  • New payment method declined or invalid method_declined payment-declined

Process Payment

Say"I'll process a payment of payment.outstanding_balance using your payment.method_on_file. Shall I go ahead?"

PaymentGateway.ProcessPayment for payment.outstanding_balance on policy.number

Detect
payment processing outcome
  • Payment approved and processed successfully payment_success confirmation-send
  • Payment method declined payment_declined payment-declined
  • Payment gateway timeout or system error system_error escalation-human

Payment Declined

Say"I'm sorry — the payment method on file was unable to be processed. This can happen due to insufficient funds, an expired card, or a bank hold. Would you like to try a different payment method, or would you prefer to set up a payment plan?"
  • Customer provides an alternate payment method update-payment-method
  • Customer wants to explore a payment plan payment-plan-setup
  • Customer wants to call back later CRM.LogDeclinedPayment CRM.SetFollowUpFlag session-close
  • Customer requests supervisor escalation-human

Confirmation Send

Say"Your account is in good standing. I'll send a confirmation of today's activity to customer.email and customer.phone right now."

Twilio.SendSMS to customer.phone with payment confirmation and payment.confirmation_number

CRM.SendConfirmationEmail to customer.email with policy status, payment amount, and next due date

CRM.LogInteraction with summary of inquiry type, actions taken, and outcome

  • Confirmation sent and customer has no further questions session-close
  • Customer has an additional question additional_question billing-inquiry-triage

Escalation — Lapsed or Cancellation-Pending Policy

Say"I can see your policy is currently in a lapsed or cancellation-pending status. I'm not able to process a standard payment for a policy in this state — I'll need to connect you with a specialist who handles reinstatement."

CRM.LogEscalation tagged lapse-reinstatement, linked to policy.number

CRM.FlagForReinstatementReview on policy.number

  • Transferring to reinstatement workflow policy-reinstatement-workflow
  • Customer disconnects before transfer CRM.LogContactAttempt session-close

Escalation to Human Agent

Say"I'm going to connect you with a specialist who can assist you further. Please hold for just a moment — I'm passing along your account details so you won't need to repeat yourself."

CRM.LogEscalation with inquiry summary, policy.number, and reason for escalation

CRM.CreateCase priority: high, tagged billing-escalation, linked to policy.number

Session Close

Say"Thank you for contacting insurance support. Is there anything else I can help you with today?"
  • Customer has another question another_question inbound-greeting
  • Customer is done — closing interaction CRM.LogInteraction tagged session-complete
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ text

Plan Change / Upgrade Request

TelecomPlan ChangeUpgradeBilling

Identity Verification

Say"Thanks for reaching out! I'm happy to help you with a plan change or upgrade. To get started, can I have your account number or the phone number associated with your account?"

CRM.LookupAccount using customer.accountNumber or customer.phone

Detect
identity verification outcome
  • Account found and identity confirmed verified account-review
  • Account not found or customer cannot verify identity unverified escalation-human
  • Customer wants to browse plans before verifying intent_browse plan-discovery

Account Review

CRM.GetAccountDetails for customer.accountNumber — pull customer.currentPlan, customer.contractEndDate, customer.billingCycleDate, customer.deviceModel, customer.location

Say"I can see your account, customer.name. You're currently on the customer.currentPlan. Your next billing date is customer.billingCycleDate. Let me pull up the plans available to you."

PlanCatalog.GetEligiblePlans for customer.accountNumber, customer.deviceModel, customer.location

  • Plans retrieved successfully plan-discovery
  • No eligible plans returned or catalog error catalog_error escalation-human

Plan Discovery

Say"Here are the plans available for your account. I can walk you through the differences in data, speed, features, and pricing — just let me know what matters most to you."

kb.plan-catalog — present eligible options with pricing, data allowances, speeds, and feature highlights relevant to customer.currentPlan

Detect
customer intent after plan review
  • Customer selects a specific plan plan_selected plan-confirmation
  • Customer asks about a promotion or discount promo_inquiry promotion-check
  • Customer's preferred plan is incompatible with device or location incompatible compatibility-resolution
  • Customer is unsure and wants time to decide undecided follow-up-scheduling
  • Customer mentions wanting to cancel instead cancel_intent escalation-human

Promotion Check

Say"Let me check whether there are any current promotions or offers that apply to your account."

PlanCatalog.GetPromotions for customer.accountNumber

kb.promotions-policy — verify eligibility criteria for active promotions against customer.currentPlan and customer.contractEndDate

  • Valid promotion found and auto-applicable promo_valid CRM.ApplyPromotion with promotion.code plan-confirmation
  • Promotion exists but requires manager approval promo_needs_approval promotion-approval
  • No eligible promotion found plan-confirmation

Promotion Approval

Say"That promotional rate needs a quick verification on my end before I can apply it. Let me get that sorted for you now."
Approval
Slack.RequestApproval to #plan-change-approvals, approver: billing_supervisor
Context sent:customer.accountNumber, customer.currentPlan, promotion.code, promotion.description, plan.selected
  • Approved approved CRM.ApplyPromotion with promotion.code plan-confirmation
  • Rejected rejected Say: "I wasn't able to apply that specific promotion, but I can still offer you our best available rate." plan-confirmation
  • No response in 20 min escalation-human

Compatibility Resolution

Say"It looks like that specific plan isn't available for your device or location. Let me find you the closest alternative that would work best for you."

PlanCatalog.GetCompatibleAlternatives for customer.deviceModel, customer.location

kb.device-compatibility-policy — review alternatives against customer.currentPlan to identify closest feature and pricing match

  • Compatible alternative found and customer accepts alt_accepted plan-confirmation
  • Customer rejects all alternatives and escalates frustration frustrated escalation-human
  • Customer wants to upgrade device to access desired plan device_upgrade_intent escalation-human

Plan Confirmation

PlanCatalog.CalculateProration for customer.accountNumber, plan.selected, customer.billingCycleDate — return plan.proratedAmount, plan.effectiveDate, plan.monthlyCost

Say"Here's a summary before we make any changes: you'd be moving to plan.selected at plan.monthlyCost per month. The change would take effect on plan.effectiveDate, and your prorated charge for this billing cycle would be plan.proratedAmount. Shall I go ahead and apply that?"

ContractDB.CheckContractTerms for customer.accountNumber, customer.contractEndDate — check for early change fee fee.earlyChange

  • No contract fee applies and customer confirms confirmed apply-plan-change
  • Contract change fee applies contract-fee-review
  • Customer wants to reconsider or go back reconsider plan-discovery
  • Customer declines and threatens cancellation cancel_intent escalation-human

Contract Fee Review

Say"I want to make sure you have the full picture — because you're currently in a contract running until customer.contractEndDate, applying this change now would include an early change fee of fee.earlyChange. You have a couple of options: we can apply the change today with that fee, or we can schedule it to take effect at the end of your contract period at no extra cost."

kb.contract-terms-policy — confirm fee calculation and waiver eligibility for customer.accountNumber

Detect
customer decision on contract fee
  • Customer accepts fee and wants to proceed today fee_accepted apply-plan-change
  • Customer prefers a future effective date future_date schedule-future-change
  • Customer disputes the fee or feels it should be waived fee_dispute escalation-human
  • Customer wants to cancel instead of paying the fee cancel_intent escalation-human

Schedule Future Change

Say"No problem at all. I'll schedule your plan change to plan.selected to take effect on customer.contractEndDate, so there'll be no early change fee. You'll stay on your current plan until then, and we'll send you a reminder as that date approaches."

BillingPlatform.SchedulePlanChange for customer.accountNumber, plan.selected, effective: customer.contractEndDate

CRM.UpdateAccountNotes with scheduled change details, case.id

  • Change scheduled successfully confirmation-notification
  • Scheduling fails system_error billing-system-error

Apply Plan Change

BillingPlatform.ApplyPlanChange for customer.accountNumber, plan.selected, effective: plan.effectiveDate, proration: plan.proratedAmount

  • Plan change applied successfully confirmation-notification
  • System returns error on first attempt system_error BillingPlatform.RetryPlanChange apply-plan-change-retry
  • Customer threatens cancellation during wait cancel_intent escalation-human

Apply Plan Change Retry

BillingPlatform.RetryPlanChange for customer.accountNumber, plan.selected

  • Retry successful confirmation-notification
  • Retry also fails system_error_final billing-system-error

Billing System Error

Say"I'm sorry — I'm running into a technical issue completing this change right now. I've logged your request and our team will manually apply the update within one business day. You won't lose your selected plan or pricing."

CRM.CreateCase priority: high, tagged: plan-change-system-error, linked to customer.accountNumber

CRM.UpdateAccountNotes with plan.selected, plan.monthlyCost, plan.effectiveDate, error details

NotificationService.SendEmail to customer.email confirming the logged request and manual resolution timeline

  • Case logged and customer is satisfied satisfied resolution
  • Customer is frustrated and demands immediate resolution or escalation frustrated escalation-human

Confirmation Notification

Say"You're all set! Your plan has been updated to plan.selected. The change is effective plan.effectiveDate, and your new monthly rate will be plan.monthlyCost. You'll get a confirmation sent to you shortly."

NotificationService.SendSMS to customer.phone with plan change summary, plan.selected, plan.effectiveDate, plan.monthlyCost

NotificationService.SendEmail to customer.email with full confirmation details and updated plan terms

CRM.UpdateAccountNotes with completed plan change, plan.selected, plan.effectiveDate

resolution

Follow-up Scheduling

Say"That's completely fine — take your time. Can I get a good number or email to reach you on? I can also note the plans we discussed so you don't have to start over when you're ready."

CRM.CreateFollowUpTask for customer.accountNumber, note: plans discussed, follow-up within 48 hours

CRM.UpdateAccountNotes with plan.selected, customer preference notes

  • Follow-up scheduled successfully resolution
  • Customer decides to proceed after all plan_selected plan-confirmation

Escalation to Human Agent

CRM.CreateCase priority: high, tagged: plan-change-escalation, linked to customer.accountNumber

Slack.Notify to #plan-change-escalations with customer.accountNumber, customer.currentPlan, plan.selected, escalation reason

Say"I want to make sure you get the right help here. I'm connecting you with a senior specialist now who can resolve this for you directly. Your account details and everything we've discussed will be passed along so you won't need to repeat yourself."

Resolution

Say"Is there anything else I can help you with today? We appreciate you being a customer and hope you enjoy your new plan."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ sms▣ email▣ chat

Patient Intake Pre-Visit

HealthcarePatient IntakePre-VisitScheduling

Pre-Visit Outreach

Twilio.SendSMS to patient.phone: "Hi patient.firstName, your appointment with appointment.provider is scheduled for appointment.date at appointment.time. Please complete your pre-visit intake at intake.linkUrl to help us serve you better. It takes about 5 minutes."

Twilio.SendEmail to patient.email with subject "Complete Your Pre-Visit Intake — appointment.date" and body including intake.linkUrl, appointment.provider, and appointment.time.

Detect
patient response and intake link engagement
  • Patient opens intake link and proceeds engaged identity-verification
  • Patient replies with an urgent symptom or distress signal urgent escalation-human
  • No response within 24 hours Twilio.SendSMS reminder to patient.phone intake-reminder
  • Patient replies they cannot access the portal access_issue assisted-intake

Identity Verification

Say"Before we begin, we need to confirm your identity. Please enter your full legal name and date of birth as they appear on your records."

PatientPortal.VerifyIdentity using patient.firstName, patient.lastName, patient.dateOfBirth, patient.portalId

  • Identity confirmed on first or second attempt identity_verified demographics-and-insurance
  • Identity cannot be verified after two attempts identity_failed escalation-human

Demographics and Insurance

Say"Great, patient.firstName! Let's confirm your contact and insurance information. Please review what we have on file and update anything that has changed."

EHR.GetPatientRecord for chart.id — pre-populate name, address, phone, email, emergency contact

Say"Please confirm or update: your preferred phone number, email address, and emergency contact name and phone number."

InsuranceEligibilityAPI.CheckEligibility using insurance.carrier, insurance.memberId, insurance.groupNumber

  • All demographic and insurance fields confirmed, eligibility verified confirmed health-history
  • Insurance ID does not match eligibility records eligibility_mismatch insurance-verification
  • Patient updates contact or emergency contact details updated EHR.UpdatePatientRecord health-history

Insurance Verification

Say"We weren't able to verify your insurance with the information on file. Please double-check your member ID and group number, or you can upload a photo of your insurance card for our team to review."

PatientPortal.RequestInsuranceCardUpload for patient.portalId

  • Patient re-enters corrected insurance details InsuranceEligibilityAPI.CheckEligibility insurance-recheck
  • Patient uploads insurance card photo EHR.FlagForManualVerification tagged insurance-review, linked to chart.id health-history
  • Patient is unable to provide insurance information EHR.FlagChart as insurance-unverified health-history

Insurance Recheck

InsuranceEligibilityAPI.CheckEligibility using updated insurance.carrier, insurance.memberId, insurance.groupNumber

  • Eligibility now confirmed eligibility_verified health-history
  • Still not matching after recheck eligibility_failed EHR.FlagForManualVerification tagged insurance-review health-history

Health History

Say"Now let's review your health history. Please confirm your current medications and any known allergies. If anything has changed or looks incorrect, let us know."

EHR.GetMedicationList for chart.id — display current medications on file

EHR.GetAllergyList for chart.id — display current allergies on file

  • Patient confirms medications and allergies as accurate confirmed reason-for-visit
  • Patient disputes a listed medication medication_dispute EHR.FlagMedication as needs-review linked to medication.flagged medications-flagged
  • Patient disputes a listed allergy allergy_dispute EHR.FlagAllergy as needs-review linked to allergy.flagged allergies-flagged
  • Patient reports a new urgent symptom during review urgent escalation-human

Medications Flagged

Say"Understood — we've marked that medication as needing review rather than removing it from your record. A clinician will confirm the correct information with you at your visit. Are there any other medications or allergies to flag?"

EHR.AddClinicalNote to chart.id: "Patient disputes medication on file. Item flagged as needs-review pending clinician reconciliation."

  • Additional items to dispute more_disputes health-history
  • No further disputes confirmed reason-for-visit

Allergies Flagged

Say"Thank you for letting us know — we've flagged that allergy entry as needing review. A clinician will reconcile it with you at your visit. Are there any other items to flag?"

EHR.AddClinicalNote to chart.id: "Patient disputes allergy on file. Item flagged as needs-review pending clinician reconciliation."

  • Additional items to dispute more_disputes health-history
  • No further disputes confirmed reason-for-visit

Reason for Visit

Say"Almost done! Please briefly describe the primary reason for your visit and your main concern or symptom. This helps your care team prepare."
Detect
urgency and content of reported symptom or chief complaint
  • Routine or previously known concern symptom.reported, no urgency flags routine pharmacy-and-preferences
  • Patient describes a new or worsening urgent symptom urgent urgent-symptom-triage
  • Patient indicates a mental health crisis or emergency crisis escalation-human

Urgent Symptom Triage

Say"Thank you for sharing that. Based on what you've described, we want to make sure you get the right level of care promptly."

kb.triage-guidelines — check symptom against urgency thresholds and same-day care criteria

Say"Rather than waiting for your scheduled appointment, we recommend you call our clinic directly at the number on file or visit an urgent care center as soon as possible. If this is a life-threatening emergency, please call 911 immediately."

CRM.CreateUrgentNote linked to chart.id and appointment.id, tagged triage-flagged

Twilio.SendSMS to patient.phone: "We've noted your symptom. Please call our clinic or visit urgent care. For emergencies, call 911."

  • Patient acknowledges and will seek immediate care acknowledged AppointmentScheduling.FlagAppointment as triage-pending intake-incomplete-flag
  • Patient insists on continuing intake continues pharmacy-and-preferences

Pharmacy and Preferences

Say"What is your preferred pharmacy for prescriptions? Please provide the pharmacy name and location, or confirm the one we have on file."

EHR.GetPreferredPharmacy for chart.id — display pharmacy on file if available

  • Patient confirms pharmacy on file confirmed intake-complete
  • Patient provides a new or updated pharmacy EHR.UpdatePreferredPharmacy for chart.id intake-complete

Intake Complete

EHR.UpdateChartStatus for chart.id as intake-complete

CRM.LogInteraction for patient.portalId tagged pre-visit-intake-completed, linked to appointment.id

Twilio.SendSMS to patient.phone: "Your intake is complete — thank you, patient.firstName! We look forward to seeing you on appointment.date at appointment.time."

Twilio.SendEmail to patient.email with appointment summary and any flagged items note if applicable

Say"You're all set! Your care team has been notified that your intake is ready for review. See you at your appointment."

AppointmentScheduling.NotifyCareTeam for appointment.id: "Intake complete. Chart chart.id ready for pre-visit review."

Intake Reminder

Twilio.SendSMS to patient.phone: "Hi patient.firstName, a reminder to complete your pre-visit intake before intake.cutoffTime: intake.linkUrl. It only takes a few minutes."

Detect
patient response after reminder
  • Patient engages with intake link after reminder engaged identity-verification
  • Patient does not respond by cutoff window no_response EHR.FlagChart as intake-incomplete intake-incomplete-flag
  • Patient replies with an urgent concern urgent escalation-human

Intake Incomplete Flag

EHR.UpdateChartStatus for chart.id as intake-incomplete

CRM.CreateTask assigned to front-desk, tagged collect-on-arrival, linked to appointment.id and chart.id

Twilio.SendEmail to front-desk team: "Patient patient.firstName patient.lastName (appointment.date, appointment.time) did not complete pre-visit intake. Please collect information on arrival."

Say"No problem — our front desk team will help you complete the remaining information when you arrive. See you on appointment.date!"

Assisted Intake

Say"No problem, patient.firstName. I can help you complete your intake right here via this conversation. Let's go through it together, starting with confirming your identity."

identity-verification

Escalation to Care Team

EHR.FlagChart for chart.id as escalation-required, tagged crisis-or-identity-failure

CRM.CreateUrgentCase priority: high, linked to patient.portalId and appointment.id, tagged patient-escalation

AppointmentScheduling.AlertClinicalStaff for appointment.id with escalation reason and chart.id

Twilio.SendSMS to patient.phone: "We want to make sure you get the right support. A member of our care team will reach out to you shortly. If this is an emergency, please call 911 now."

Say"I'm connecting you with a member of our care team right away. If you are experiencing a medical emergency, please call 911 immediately or go to your nearest emergency room."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ voice▣ email

Order Status Inquiry

RetailSupportShippingOrders

Greeting & Identity Verification

Say"Hi there! I'm here to help you track your order. Can I start with your order number and the email address on your account?"

IdentityVerification.VerifyCustomer using customer.accountEmail and customer.name

  • Identity verified, order number provided verified order-lookup
  • Customer cannot provide order number no_order_number lookup-by-email
  • Identity cannot be verified after two attempts escalation-human

Order Lookup by Email or Name

Say"No problem — let me try to find your order using your name or email address."

OMS.LookupOrderByEmail using customer.accountEmail or customer.name

  • Order found OMS.LookupOrderByEmail order_found order-lookup
  • Order still not found after email and name search not_found order-not-found

Order Not Found

Say"I wasn't able to locate an order under that information. Please check your confirmation email for your order number — it would have been sent to the address you used at checkout. Once you have it, feel free to reach back out and I'll get that sorted for you right away."
  • Customer provides order number from confirmation email order-lookup
  • Customer has no confirmation email and order remains unresolved escalation-human

Order Lookup & Status Check

OMS.GetOrderDetails using order.id and customer.accountEmail

  • Order is still processing, has not shipped yet processing order-still-processing
  • Order has shipped, tracking number available shipped retrieve-tracking
  • Order shows as delivered in OMS delivered delivered-not-received-check

Order Still Processing

Say"Your order is currently being processed in our warehouse and hasn't shipped yet. Based on current timelines, it's expected to ship by order.expectedShipDate. Once it ships, you'll receive a confirmation email with your tracking number."
  • Customer is satisfied and has no further questions confirmed resolution
  • Customer wants to know if the ship date can be expedited expedite_request escalation-human
  • Customer wants to cancel the unshipped order cancel_request escalation-human

Retrieve Tracking Data

CarrierAPI.GetTrackingStatus using carrier.trackingNumber

  • Live tracking data returned, last scan within 48 hours tracking_current communicate-status
  • Tracking has not updated in more than 72 hours tracking_stale stale-tracking

Communicate Status

Say"Great news — your order is on its way! Here's the latest update: your package was last scanned at carrier.lastScanLocation on carrier.lastScanDate. Your estimated delivery window is carrier.estimatedDelivery. You can also track it directly using tracking number carrier.trackingNumber."
  • Customer is satisfied confirmed resolution
  • Customer has a concern about the delivery address or timing address_concern escalation-human

Stale Tracking

Say"I can see your order shipped, but the tracking hasn't updated since carrier.lastScanDate. This can sometimes happen due to carrier delays between scan points. I'm flagging this for you now."

kb.shipping-delay-policy — review thresholds for carrier claim eligibility and customer communication guidelines

Agent
assess the stale tracking situation using carrier.lastScanDate, carrier.estimatedDelivery, and kb.shipping-delay-policy.
Goal:determine whether the package is within an acceptable delay window or if a carrier claim should be initiated.
Constraints:do not promise a replacement or refund without escalation approval; never file a carrier claim if fewer than 5 business days have elapsed since last scan; always advise the customer of next steps before closing.
Tools available:CarrierAPI.GetTrackingStatus, OMS.GetOrderDetails, kb.shipping-delay-policy
  • Within acceptable delay window, advise customer to wait within_window stale-tracking-advisory
  • Delay exceeds policy threshold, carrier claim warranted claim_warranted escalation-human

Stale Tracking Advisory

Say"Based on the current information, your package is within the window where carrier delays can occur without updates. I'd recommend checking back in 24 to 48 hours. If it still hasn't moved by then, please contact us and we'll file a carrier claim on your behalf right away."
  • Customer is willing to wait confirmed resolution
  • Customer wants to escalate now escalate_now escalation-human

Delivered But Not Received Check

Say"Our system shows your order was marked as delivered on carrier.deliveredDate. Did you receive it at customer.shippingAddress?"
Detect
customer response on whether package was received
  • Customer confirms receipt confirmed resolution
  • Customer says package was not received not_received lost-package-review
  • Customer is unsure — may have been left with a neighbor or in a safe spot unsure delivery-location-check

Delivery Location Check

Say"Sometimes carriers leave packages with a neighbor, in a mailroom, or in a designated safe spot. Could you check around your building entrance, with your building manager, or with neighbors before we proceed? I'll wait for you."
  • Customer finds the package confirmed resolution
  • Customer confirms the package is truly not there not_received lost-package-review

Lost Package Review

Say"I'm sorry to hear that — let me open a lost package review for you right now."

OMS.FlagOrderLostPackage on order.id

CRM.CreateCase tagged lost-package, linked to order.id and carrier.trackingNumber

kb.lost-package-policy — review carrier liability window, replacement vs. refund eligibility, and documentation requirements

Say"I've flagged your order and created a case for our team. Depending on the carrier's investigation timeline — typically 5 to 7 business days — you may be eligible for a replacement or refund. I'll now connect you with a specialist who can confirm next steps and options for you."
  • Package confirmed lost or stolen, or customer is requesting refund or replacement escalation-human

Escalation to Human Agent

CRM.CreateCase priority: high, tagged order-escalation, linked to order.id

CRM.LogInteractionSummary with customer.email, order.id, and current status context

Say"I'm going to connect you with one of our senior support specialists right now who can take care of this for you. I've already shared all your order details with them so you won't have to repeat yourself."

Resolution

Say"Is there anything else I can help you with today?"
  • Customer has another question another_question greeting-and-identity
  • Customer is done confirmed CRM.LogInteractionSummary with customer.email and order.id
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ chat▣ sms▣ email

Loyalty Tier / Points Inquiry

TravelHospitalityLoyaltyPointsTier

Identity Verification

Say"Welcome to loyalty support. I can help you with your points balance, tier status, or a points question. Could I please have your membership ID or the email address on your account?"

IdentityVerification.LookupMember using member.id or member.email

  • Member record found, proceed to secondary verification secondary-verification
  • Member record not found after two attempts identity-failure
  • Loyalty platform unavailable CaseManagement.LogInquiry system-outage

Secondary Verification

Say"Thank you. For security, could you please confirm your full name and either your date of birth or the phone number on your account?"

IdentityVerification.VerifySecondaryFactor using member.fullName and member.dateOfBirth or member.phone

  • Identity verified successfully account-overview
  • Identity verification fails once secondary-verification-retry
  • Identity verification fails twice identity-failure

Secondary Verification Retry

Say"I wasn't able to match that detail. Let's try one more time — could you confirm your date of birth or the phone number registered to your account?"

IdentityVerification.VerifySecondaryFactor using member.fullName and member.dateOfBirth or member.phone

  • Identity verified on retry account-overview
  • Identity fails again identity-failure

Account Overview

LoyaltyPlatform.GetMemberProfile for member.id — retrieve member.currentTier, member.pointsBalance, member.pendingPoints, member.expiringPoints, member.expiryDate, member.tierQualifyingNights, member.tierThreshold, member.tierExpiryDate

CRM.UpdateLastContactDate for member.id

Say"I've pulled up your account, member.fullName. You're currently a member.currentTier member with member.pointsBalance points available. You have member.pendingPoints points pending and member.expiringPoints points expiring on member.expiryDate."
Detect
intent of customer's follow-up question
  • Customer asks about tier status or how to reach the next tier tier-inquiry tier-status
  • Customer asks about a specific points discrepancy or missing points discrepancy discrepancy-intake
  • Customer is concerned about tier or points expiry expiry-concern expiry-review
  • Customer's question is fully answered satisfied resolution-summary
  • Customer asks about points earning or redemption history history-inquiry points-history

Tier Status

kb.loyalty-tier-thresholds — retrieve qualification criteria, benefits, and upgrade requirements for member.currentTier and the next tier

Say"As a member.currentTier member, you've qualified with member.tierQualifyingNights nights this year. To reach the next tier you'll need member.tierThreshold qualifying nights. Your current tier status is valid through member.tierExpiryDate."
  • Customer wants to know about tier benefits tier-status-benefits
  • Customer is upset that they are close but won't reach next tier frustrated tier-goodwill-check
  • Customer is satisfied with the information satisfied resolution-summary

Tier Status Benefits

kb.loyalty-tier-benefits — retrieve current and next-tier benefit details

Say"Your member.currentTier status includes benefits such as complimentary room upgrades when available, bonus points on stays, and dedicated check-in. Upgrading to the next tier would add additional perks including higher bonus earn rates and lounge access."
  • Customer has further questions follow-up account-overview
  • Customer is satisfied satisfied resolution-summary

Tier Goodwill Check

Agent
assess whether a goodwill tier extension or status match is permitted for member.id.
Goal:determine if the shortfall in qualifying nights falls within the policy threshold for a complimentary extension or one-time status courtesy, and apply it if so.
Constraints:never extend tier status if shortfall exceeds the policy ceiling in kb.loyalty-goodwill-policy; never apply more than one goodwill extension per rolling 24-month period per member; always confirm current extension history before acting.
Tools available:LoyaltyPlatform.GetExtensionHistory, LoyaltyPlatform.ApplyGoodwillExtension, kb.loyalty-goodwill-policy
  • Goodwill extension is within policy and applied LoyaltyPlatform.ApplyGoodwillExtension goodwill-confirmation
  • Shortfall exceeds policy limit or extension already used this period exceeds-policy escalation-loyalty-specialist

Goodwill Confirmation

Say"As a valued member.currentTier member, I've applied a one-time courtesy extension to your tier status. Your member.currentTier status has been extended through your next qualification anniversary. You'll receive a confirmation to member.email shortly."

CRM.LogInteraction note: goodwill tier extension applied for member.id

LoyaltyPlatform.SendConfirmationEmail to member.email

  • Customer has additional questions follow-up account-overview
  • Customer is satisfied satisfied resolution-summary

Points History

Say"I can pull up your recent points activity. Do you have a specific stay or booking reference you'd like me to look into, or would you like a general summary of recent transactions?"

LoyaltyPlatform.GetTransactionHistory for member.id

Detect
customer's response
  • Customer provides a specific booking reference specific-booking discrepancy-intake
  • Customer wants a general history summary general-history points-history-summary
  • Customer identifies a missing or incorrect transaction discrepancy discrepancy-intake

Points History Summary

LoyaltyPlatform.GetTransactionHistory for member.id — last 90 days of earn and redemption activity

Say"Over the past 90 days your account shows earn activity from stays and partner transactions, and any redemptions you've made. I can walk through specific entries if anything looks unfamiliar."
  • Customer spots a discrepancy discrepancy discrepancy-intake
  • Customer is satisfied with the summary satisfied resolution-summary

Discrepancy Intake

Say"I'm sorry to hear about that. To look into this properly, could you share the booking or stay reference number and the approximate date of the stay or transaction in question?"

LoyaltyPlatform.GetTransaction using booking.referenceNumber or transaction.id

PropertyManagementSystem.VerifyStay using booking.referenceNumber and member.id

Detect
outcome of transaction lookup
  • Transaction found and points gap confirmed gap-confirmed discrepancy-assessment
  • Transaction not found or stay not verified unverified discrepancy-unverified
  • Transaction involves a very large point volume or suspected fraud high-risk escalation-loyalty-specialist

Discrepancy Assessment

Agent
review transaction details against kb.loyalty-earn-rules to determine whether the points shortfall is an eligible auto-correction or requires a manual audit.
Goal:decide if the discrepancy can be corrected immediately using standard earn rules, or must be escalated to a manual audit queue with a follow-up commitment.
Constraints:never apply a points correction above 10,000 points without supervisor approval; always cross-reference the property's posted earn rate before correcting; log every correction attempt in the case management system.
Tools available:LoyaltyPlatform.GetTransactionHistory, LoyaltyPlatform.CalculateExpectedPoints, CaseManagement.CreateCase, kb.loyalty-earn-rules
  • Discrepancy is within auto-correction threshold and earn rules confirm the gap points-correction-approval
  • Discrepancy requires manual audit or exceeds auto-correction threshold needs-audit manual-audit-queue
  • Agent detects pattern suggesting account compromise suspected-fraud escalation-loyalty-specialist

Points Correction Approval

Approval
Slack.RequestApproval to #loyalty-ops-approvals, approver: loyalty_ops_lead
Context sent:member.id, member.fullName, transaction.id, transaction.date, transaction.property, transaction.points, agent's earn-rule assessment
  • Approved approved LoyaltyPlatform.AdjustPoints correction-confirmation
  • Rejected rejected manual-audit-queue
  • No response in 60 min manual-audit-queue

Correction Confirmation

CaseManagement.CreateCase linked to member.id and transaction.id, status: resolved

Say"Great news — the points adjustment has been approved. Your account will reflect the corrected balance within 24 hours. You'll also receive a confirmation email at member.email."

LoyaltyPlatform.SendConfirmationEmail to member.email

  • Customer has further questions follow-up account-overview
  • Customer is satisfied satisfied resolution-summary

Manual Audit Queue

CaseManagement.CreateCase priority: standard, tagged points-discrepancy, linked to member.id and transaction.id

CRM.LogInteraction note: points discrepancy flagged for manual audit, case case.id created

Say"I've flagged this transaction for a manual review by our loyalty team. You'll receive an update at member.email within 5 to 7 business days. Your case reference is case.id — please keep this handy if you follow up."
  • Customer is satisfied with the timeline satisfied resolution-summary
  • Customer escalates or disputes the timeline frustrated escalation-loyalty-specialist

Discrepancy Unverified

Say"I wasn't able to locate a matching stay or transaction with the details provided. This sometimes happens with partner properties or if the booking was made under a different profile. I'll open a case so our team can investigate further."

CaseManagement.CreateCase priority: standard, tagged unverified-discrepancy, linked to member.id

CRM.LogInteraction note: transaction unverified, manual investigation case created, case case.id opened

  • Customer accepts the outcome and case creation satisfied resolution-summary
  • Customer insists on immediate resolution frustrated escalation-loyalty-specialist

Expiry Review

kb.loyalty-expiry-policy — retrieve points and tier expiry rules, extension eligibility, and activity requirements

Say"Your member.expiringPoints points are set to expire on member.expiryDate, and your member.currentTier tier status is valid through member.tierExpiryDate. Points expiry can often be reset by completing a qualifying stay or partner activity before that date."
Detect
customer's reaction
  • Customer is calm and accepts the information satisfied resolution-summary
  • Customer is upset about imminent expiry and requests help frustrated expiry-goodwill-check
  • Customer wants to know what activity would prevent expiry activity-inquiry expiry-activity-options

Expiry Activity Options

kb.loyalty-earn-partners — retrieve list of qualifying partner activities that reset expiry clock

Say"To keep your points active you would need to complete a qualifying earn activity before member.expiryDate. This includes any eligible hotel stay, car rental with a partner, or a purchase through a loyalty-linked partner. Would you like me to send you the full list of qualifying partners?"

CRM.LogInteraction note: expiry activity options provided to member.id

  • Customer requests the list be sent LoyaltyPlatform.SendPartnerListEmail to member.email resolution-summary
  • Customer is satisfied with the verbal summary satisfied resolution-summary

Expiry Goodwill Check

Agent
assess whether a goodwill points expiry extension is permitted for member.id under current policy.
Goal:determine if the member's expiry situation qualifies for a one-time extension of points or tier, and apply it if within policy authority.
Constraints:never extend points expiry if the member has already received a goodwill extension within the past 12 months; never extend a balance exceeding the ceiling defined in kb.loyalty-goodwill-policy without escalating; always verify activity history before acting.
Tools available:LoyaltyPlatform.GetExtensionHistory, LoyaltyPlatform.ExtendPointsExpiry, kb.loyalty-goodwill-policy, kb.loyalty-expiry-policy
  • Extension is within policy and applied LoyaltyPlatform.ExtendPointsExpiry expiry-extension-confirmation
  • Extension not permitted under policy or limit already used exceeds-policy escalation-loyalty-specialist

Expiry Extension Confirmation

Say"I've applied a one-time courtesy extension to your points. Your member.expiringPoints points have been extended and will no longer expire on member.expiryDate. A confirmation will be sent to member.email."

CRM.LogInteraction note: one-time points expiry extension applied for member.id

LoyaltyPlatform.SendConfirmationEmail to member.email

  • Customer has additional questions follow-up account-overview
  • Customer is satisfied satisfied resolution-summary

System Outage

Say"I apologize — our loyalty system is currently unavailable and I'm unable to access your account right now. I'll log your inquiry and have a specialist contact you within 4 business hours."

CaseManagement.CreateCase priority: standard, tagged system-outage-callback, linked to member.email

CRM.LogInteraction note: loyalty platform unavailable, callback committed within 4 business hours

  • Customer accepts the callback commitment satisfied resolution-summary
  • Customer requests immediate escalation frustrated escalation-loyalty-specialist

Identity Failure

Say"I'm sorry, I wasn't able to verify your identity with the details provided. For the security of your account I'm unable to share account information at this time. You can reset your credentials through our member portal or visit a property front desk with a valid photo ID for in-person verification."

CRM.LogInteraction note: identity verification failed, member directed to self-service portal or property front desk

Escalation to Loyalty Specialist

CaseManagement.CreateCase priority: high, tagged loyalty-specialist-escalation, linked to member.id

CRM.LogInteraction note: escalated to loyalty specialist, reason captured in case case.id

Slack.Notify to #loyalty-specialist-queue with member summary, member.id, member.currentTier, member.pointsBalance, and reason for escalation

Say"I want to make sure this is handled properly for you. I'm escalating your case to one of our loyalty specialists who has the authority to resolve this. Your case reference is case.id and you'll hear from the team at member.email within 2 business hours."

Resolution Summary

Say"To recap: your account shows member.pointsBalance available points, member.pendingPoints pending, and your current status is member.currentTier valid through member.tierExpiryDate. Is there anything else I can help you with today?"

CRM.LogInteraction note: inquiry resolved, summary provided to member.id

  • Customer has another question follow-up account-overview
  • Customer is done satisfied farewell

Farewell

Say"Thank you for being a valued member.currentTier member. We appreciate your loyalty and look forward to welcoming you on your next stay. Have a wonderful day."

CRM.CloseInteraction for member.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ text▣ email▣ chat

Group / Event Booking Inquiry

TravelHospitalityGroup BookingsEventsSales

Inquiry Intake

Say"Welcome! I'd love to help you plan your group or event. To get started, could you tell me a little about what you're looking to book — for example, is this a wedding, corporate retreat, conference, or another type of event?"
Detect
intent from customer opening message
  • Customer describes a specific event type event-described gather-event-details
  • Customer is vague or asking general questions exploring scope-clarification
  • Customer states group size is 50 or more rooms / full venue buyout / custom SLA high-complexity escalation-event-sales-manager

Scope Clarification

Say"No problem — let me ask a few quick questions to point you in the right direction. Are you looking for guest room blocks, a venue or meeting space, or a full package that includes both?"
Detect
intent on scope of booking need
  • Customer clarifies event scope event-described gather-event-details
  • Customer remains unclear or needs guidance still-vague gather-event-details
  • Customer mentions scale that triggers complexity threshold high-complexity escalation-event-sales-manager

Gather Event Details

Say"Great! To find the best options for you, I'll need a few details. What are your preferred dates or a date range? Roughly how many guests or rooms are you expecting? Do you have a specific property or destination in mind? And do you have a budget range or any special requirements such as catering, AV equipment, transportation, or room blocks?"

Salesforce.CreateLead with customer.name, customer.email, customer.phone, source: group-inquiry

Detect
completeness of details provided
  • Customer provides all key details (dates, guest count, destination, budget) details-complete validate-group-size
  • Customer provides partial details details-partial clarify-missing-details
  • Customer declines to share budget or contact info details-minimal clarify-missing-details

Clarify Missing Details

Say"Thanks for sharing what you have so far. Just to make sure I can find the right fit — could you also confirm your estimated guest or room count, your preferred dates, and a rough budget range? Even a ballpark helps me tailor the options."

Salesforce.UpdateLead with any partial data already collected

  • Customer supplies remaining details details-complete validate-group-size
  • Customer still cannot confirm details still-incomplete capture-lead-for-follow-up

Capture Lead for Follow-up

Say"That's perfectly fine — let me save your details and have someone follow up with you once you have a clearer picture. Could I get your best contact email and a name to reference?"

Salesforce.UpdateLead with customer.name, customer.email, status: nurture

email-automation.EnrollSequence campaign: group-inquiry-nurture, contact: customer.email

  • Lead captured successfully resolution-lead-captured
  • Customer disengages with no contact info provided resolution-no-contact

Validate Group Size

Agent
evaluate event.guestCount and event.roomCount against group booking thresholds.
Goal:determine whether the inquiry can be handled by this agent or must be routed to a group sales specialist or event sales manager.
Constraints:route to group-sales-specialist if room count exceeds 20 and is under 50; route to escalation-event-sales-manager if room count is 50 or more, if the event involves a full venue buyout, or if custom SLA or contract terms are mentioned; never attempt to quote contracts above these thresholds without specialist involvement.
Tools available:kb.group-booking-thresholds, Salesforce.GetLeadRecord
  • Group size is 10–20 rooms and standard event type check-availability
  • Group size is 21–49 rooms or complexity is moderate route-to-group-sales-specialist
  • Group size is 50 or more rooms, full buyout, or custom SLA escalation-event-sales-manager

Check Availability

group-inventory-calendar.CheckAvailability for event.property, event.dates, event.roomCount, event.type

property-management-system.GetGroupRates for event.property, event.dates, event.roomCount

Detect
availability result from inventory check
  • Dates and room count are available available present-options
  • Requested dates are unavailable but alternatives exist partial-availability offer-alternatives
  • No availability at requested property or destination unavailable offer-alternatives

Present Options

Say"Good news — I've found availability that fits your event. Let me walk you through the options, including room rates, venue inclusions, and any packages that may suit your needs."

quoting-tool.GenerateProposal for event.type, event.dates, event.roomCount, event.budget, event.specialRequirements

Say"I'm putting together a formal proposal for you now. You'll receive it at customer.email shortly. It will include rates, inclusions, and a provisional hold on your preferred option. The quote reference is quote.id and it's valid until quote.expiryDate."

Salesforce.UpdateLead status: proposal-sent, quote.id

email-automation.SendEmail template: group-proposal, to: customer.email, attach: quote.id

  • Customer reviews and selects a preferred option option-selected confirm-provisional-hold
  • Customer has questions or wants adjustments needs-adjustment handle-quote-adjustment
  • Customer indicates budget does not align with presented options budget-misaligned offer-value-alternatives
  • Customer goes silent after proposal is sent quote-follow-up-sequence

Offer Alternatives

Say"I'm sorry — we don't have availability for those exact dates or at that property. Let me suggest a couple of alternatives that may work just as well for your group."

group-inventory-calendar.GetAlternativeDates for event.property, event.roomCount

property-management-system.GetNearbyProperties for event.destination, event.dates, event.roomCount

Say"Here are some options: alternativeDates at your preferred property, or alternativeProperties nearby with similar capacity and amenities. Would any of these work for your group?"
  • Customer accepts an alternative date or property alternative-accepted check-availability
  • Customer wants to explore further still-exploring route-to-group-sales-specialist
  • Customer declines all alternatives and disengages declined resolution-no-booking

Handle Quote Adjustment

Say"Absolutely — let me update the proposal to reflect your preferences. What would you like to adjust? For example, room count, dates, inclusions, or special requirements?"

quoting-tool.ReviseProposal for quote.id, updated event.roomCount, event.dates, event.specialRequirements

email-automation.SendEmail template: group-proposal-revised, to: customer.email, attach: quote.id

Say"I've sent the revised proposal to customer.email. The updated quote is still referenced as quote.id. Do you have any other questions, or would you like to move forward?"
  • Customer accepts revised proposal option-selected confirm-provisional-hold
  • Customer still has concerns needs-further-adjustment handle-quote-adjustment
  • Customer budget remains misaligned budget-misaligned offer-value-alternatives

Offer Value Alternatives

Say"I understand — let me see what we can do to work within your budget. There may be tiered packages, off-peak pricing, or value-adds like complimentary meeting space or breakfast that could make a difference."

quoting-tool.GetTieredOptions for event.type, event.dates, event.roomCount, event.budget

kb.group-value-add-packages

Say"Here are a few alternatives at different price points, along with some inclusions that could offset costs. I can also flag this for our group sales team if you'd like a more tailored solution."
  • Customer selects a tiered option option-selected confirm-provisional-hold
  • Customer wants specialist help with budget negotiation route-to-group-sales-specialist
  • Customer declines all options declined resolution-no-booking

Confirm Provisional Hold

Say"Wonderful choice! I'll place a provisional hold on that option for you right now while we finalize the details."

property-management-system.PlaceProvisionalHold for event.property, event.dates, event.roomCount, quote.id

Salesforce.UpdateLead status: hold-placed, hold.confirmationNumber

Say"Your provisional hold is confirmed. Your reference number is hold.confirmationNumber and it's held until hold.expiryDate. I'll send the contract and deposit instructions to customer.email shortly."

contract-management.GenerateContract for quote.id, customer.name, customer.email, event.type, event.dates

email-automation.SendEmail template: contract-and-deposit, to: customer.email, attach: contract.link

Say"Please review and sign the contract by hold.expiryDate and submit the deposit of deposit.amount by deposit.dueDate to secure your booking. Is there anything else I can help you with?"
  • Customer confirms they received the contract and will proceed proceeding resolution-booking-confirmed
  • Customer has contract or deposit questions has-questions handle-contract-questions
  • Customer has not responded by hold expiry date hold-expiry-follow-up

Handle Contract Questions

Say"Happy to help clarify. What questions do you have about the contract or deposit process?"

kb.group-contract-terms

kb.deposit-and-cancellation-policy

  • Questions answered and customer is ready to proceed proceeding resolution-booking-confirmed
  • Contract terms require negotiation or custom clauses requires-negotiation escalation-event-sales-manager
  • Customer declines after reviewing terms declined resolution-no-booking

Quote Follow-up Sequence

email-automation.EnrollSequence campaign: group-quote-follow-up, contact: customer.email, reference: quote.id

Salesforce.UpdateLead status: follow-up-in-progress

Say"I'll send you a quick reminder as your quote approaches its expiry. Please don't hesitate to reach out if you have any questions in the meantime."
  • Customer responds and re-engages re-engaged present-options
  • Customer responds and selects an option option-selected confirm-provisional-hold
  • Customer remains unresponsive after full follow-up sequence no-response route-to-group-sales-specialist

Hold Expiry Follow-up

email-automation.SendEmail template: hold-expiry-reminder, to: customer.email, reference: hold.confirmationNumber

Salesforce.UpdateLead status: hold-expiring-soon

Say"Just a reminder — your provisional hold hold.confirmationNumber is set to expire on hold.expiryDate. To secure your booking, please sign the contract and submit your deposit of deposit.amount by deposit.dueDate."
  • Customer responds and confirms they will proceed proceeding resolution-booking-confirmed
  • Customer requests an extension needs-extension escalation-event-sales-manager
  • Hold expires with no response expired resolution-hold-expired

Route to Group Sales Specialist

Say"Given the size and nature of your event, I'd like to connect you with one of our group sales specialists who can provide a fully tailored proposal and dedicated support throughout the planning process."

Salesforce.UpdateLead status: routed-to-specialist, owner: group-sales-team

Salesforce.CreateTask assign-to: group-sales-team, subject: group-inquiry-handoff, reference: customer.email, event.type, event.dates, event.roomCount

email-automation.SendEmail template: specialist-intro, to: customer.email, cc: salesSpecialist.email

Say"You'll hear from salesSpecialist.name at salesSpecialist.email within one business day. I've shared all your event details so you won't need to repeat anything."
  • Handoff confirmed and customer satisfied resolution-specialist-assigned
  • Customer requests immediate escalation to senior manager escalation-event-sales-manager

Escalation to Event Sales Manager

Salesforce.UpdateLead status: escalated, priority: high, tagged: high-value-event

Salesforce.CreateTask assign-to: event-sales-manager, subject: high-complexity-group-escalation, reference: customer.email, event.type, event.dates, event.roomCount, event.budget

email-automation.SendEmail template: escalation-acknowledgement, to: customer.email

Say"Your event requires the attention of our dedicated event sales manager, who handles large-scale and high-value bookings personally. I've escalated your inquiry and flagged all your details. You can expect a direct call or email within two business hours."

Resolution — Booking Confirmed

Say"Fantastic — your group booking is confirmed! You'll receive your signed contract and booking summary at customer.email. We're looking forward to hosting your event and will be in touch as your date approaches. Is there anything else I can help you with today?"

Salesforce.UpdateLead status: closed-won

property-management-system.ConfirmBooking for hold.confirmationNumber

Resolution — Specialist Assigned

Say"All set — your details are with our group sales team and you'll be hearing from a specialist shortly. Thank you for considering us for your event, and please don't hesitate to reach back out if anything comes up in the meantime."

Salesforce.UpdateLead status: specialist-assigned

Resolution — Lead Captured

Say"Perfect — I've saved your information and you'll hear from us as your plans take shape. Thank you for reaching out, and we look forward to helping you create a memorable event."

Resolution — Hold Expired

Say"It looks like the provisional hold on your event dates has expired. If you're still interested, I'd be happy to check current availability and set up a new hold. Just let us know."

Salesforce.UpdateLead status: hold-expired

property-management-system.ReleaseHold for hold.confirmationNumber

Resolution — No Booking

Say"I'm sorry we weren't able to find the right fit this time. If your plans change or you'd like to explore other options down the road, we'd love to hear from you. I'll keep your details on file."

Salesforce.UpdateLead status: closed-lost

Resolution — No Contact

Say"We weren't able to connect fully this time, but if you'd like to revisit your group or event needs in the future, please don't hesitate to reach out. We're here to help."

Salesforce.UpdateLead status: no-contact

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ text▣ chat▣ sms

General FAQ Insurance

InsuranceFAQSupportBillingClaims

Inbound Greeting

Say"Thank you for reaching out to insurance support. I'm here to help you with any questions about your policy, coverage, billing, or claims. May I start with your name and policy number?"
  • Customer provides name and policy number identity-verification
  • Customer asks a question before providing identity identity-first-prompt
  • Customer explicitly requests a human agent escalation-human

Identity First Prompt

Say"I'd be happy to help with that. To make sure I give you the most accurate information for your specific policy, could you please share your name and policy number first?"
  • Customer provides name and policy number identity-verification
  • Customer declines or cannot provide policy number unverified-general-info
  • Customer explicitly requests a human agent escalation-human

Identity Verification

IdentityVerification.Verify using customer.name and customer.policyNumber

  • Verification passes policy-lookup
  • Verification fails after two attempts unverified-general-info
  • Customer explicitly requests a human agent escalation-human

Policy Lookup

PolicyAdmin.GetRecord for customer.policyNumber

CRM.GetCustomerProfile for customer.name

Detect
customer.policyStatus from policy record
  • Policy is active topic-detection
  • Policy is lapsed lapsed-policy-notice
  • Policy record not found escalation-human

Topic Detection

Say"Thanks, customer.name — I've pulled up your customer.productType policy. What can I help you with today?"
Detect
intent on customer's question
  • Question is about coverage or what the plan includes coverage faq-coverage
  • Question is about billing, payment, or due dates billing faq-billing
  • Question is about how to file a claim claims-process faq-claims-process
  • Question is about an existing claim already in progress claim-status active-claim-redirect
  • Question is about policy documents, ID cards, or proof of insurance documents faq-documents
  • Question is about cancellation or reinstatement policy-changes faq-policy-changes
  • Question involves legal interpretation, dispute, or complaint legal-dispute escalation-human
  • Question does not match a known topic unknown clarification-prompt

FAQ — Coverage

kb.coverage-faq — retrieve coverage details relevant to customer.productType

Say"Your customer.productType policy covers the benefits outlined when you enrolled. I'll walk you through the key points now."

PolicyAdmin.GetCoverageDetails for customer.policyNumber

Say"Here's what your current plan includes: the specifics depend on your selected tier, deductibles, and any riders attached to your policy. I can see the details on your account and share them with you now. Is there a particular benefit or service you'd like me to focus on?"
  • Customer wants more detail on a specific benefit faq-coverage-detail
  • Customer's question is resolved confirmed resolution
  • Customer raises a dispute about what should be covered dispute escalation-human
  • Customer explicitly requests a human agent escalation-human

FAQ — Coverage Detail

kb.coverage-faq — look up specific benefit or exclusion matching question.topic

Say"Based on your policy, here is what applies to your question about question.topic. Please keep in mind that individual circumstances may affect how a benefit is applied — your policy documents are always the authoritative reference."
  • Customer confirms the answer resolves their question confirmed resolution
  • Customer disagrees with the coverage detail dispute escalation-human
  • Customer has a follow-up question topic-detection

FAQ — Billing

PolicyAdmin.GetBillingRecord for customer.policyNumber

kb.billing-faq — retrieve billing process and payment method information

Say"Your next payment is due on customer.paymentDueDate. You can pay online through the member portal, by phone, or by mailing a check. Would you like details on how to update your payment method or set up autopay?"
  • Customer wants to update payment method or set up autopay escalation-human
  • Customer questions a charge or amount billing-dispute escalation-human
  • Customer confirms the answer resolves their question confirmed resolution
  • Customer has a follow-up question topic-detection

FAQ — Claims Process

kb.claims-process-faq — retrieve step-by-step claims filing guidance for customer.productType

Say"To file a claim on your customer.productType policy, here are the steps: First, gather documentation related to your loss or event. Second, visit the claims portal or call our claims line directly. Third, submit your completed claim form along with any supporting documents. You'll receive a confirmation number and a timeline for review. Would you like me to send you the direct link or phone number for the claims team?"
  • Customer wants the claims contact or portal link CRM.SendClaimsInfo to customer.email resolution
  • Customer says they already have a claim in progress claim-in-progress active-claim-redirect
  • Customer confirms the answer resolves their question confirmed resolution
  • Customer has a follow-up question topic-detection

FAQ — Documents

kb.documents-faq — retrieve document request process for customer.productType

Say"I can help with that. Policy documents, ID cards, and proof of insurance can be accessed through your online member portal. I can also send a copy directly to your email on file. Would you like me to send those to customer.email now?"
  • Customer confirms email and requests document PolicyAdmin.SendDocuments to customer.email resolution
  • Customer wants a different email address PolicyAdmin.SendDocuments after confirming new address resolution
  • Customer has a follow-up question topic-detection

FAQ — Policy Changes

kb.policy-changes-faq — retrieve cancellation and reinstatement policy for customer.productType

Say"I can walk you through your options regarding your policy. Changes like cancellation or reinstatement may have timing requirements and potential impacts on your coverage. What specifically would you like to know — are you looking to cancel, reinstate, or make a change to your current policy?"
  • Customer asks about cancellation escalation-human
  • Customer asks about reinstatement faq-reinstatement
  • Customer has a general question confirmed resolution
  • Customer has a follow-up question topic-detection

FAQ — Reinstatement

kb.reinstatement-policy — retrieve reinstatement eligibility and process

Say"Reinstatement may be available depending on how long your policy has been lapsed and your payment history. I can share the general requirements with you, and if you'd like to move forward, a specialist can initiate the process. Would that be helpful?"
  • Customer wants to proceed with reinstatement escalation-human
  • Customer confirms the answer resolves their question confirmed resolution
  • Customer has a follow-up question topic-detection

Active Claim Redirect

Say"It looks like you have a question about a claim that may already be in progress. Let me connect you to the right workflow so you get the most up-to-date status on that."

CRM.LogInteraction tag: claim-status-inquiry, linked to customer.policyNumber

  • Claim ID is available claim.id claims-status-workflow
  • Claim ID is not available escalation-human

Lapsed Policy Notice

Say"I can see that your policy is currently lapsed. I'm happy to answer your question, but please be aware that coverage may not be active. I'll also share some reinstatement options with you at the end if you'd like."

kb.reinstatement-policy — check reinstatement eligibility window using customer.reinstatementDeadline

  • Customer wants to proceed with their original question topic-detection-lapsed
  • Customer wants reinstatement information first faq-reinstatement
  • Customer explicitly requests a human agent escalation-human

Topic Detection — Lapsed Policy

Detect
intent on customer's question
  • Question is about coverage coverage faq-coverage
  • Question is about billing billing faq-billing
  • Question is about how to file a claim claims-process faq-claims-process
  • Question is about documents documents faq-documents
  • Question involves legal interpretation, dispute, or complaint legal-dispute escalation-human
  • Question does not match a known topic unknown clarification-prompt

Unverified — General Info Only

Say"I wasn't able to verify your identity, so I'm only able to share general information and won't be able to access any account-specific details. I'm still happy to help with general questions about how our policies work."

kb.public-faq — retrieve general public-facing insurance information

Detect
intent on customer's question
  • Question is about coverage in general coverage faq-coverage-general
  • Question is about billing in general billing faq-billing-general
  • Question is about how to file a claim claims-process faq-claims-process
  • Customer wants account-specific help escalation-human
  • Customer explicitly requests a human agent escalation-human

FAQ — General Coverage (Unverified)

kb.public-faq — retrieve general coverage overview, not account-specific

Say"In general, our insurance policies cover the benefits selected at enrollment, subject to your plan's deductibles, limits, and exclusions. For the specifics of any individual policy, the policyholder would need to log in to the member portal or call us with their policy number handy."
  • Customer confirms this answers their question confirmed resolution
  • Customer has a follow-up question unverified-general-info
  • Customer wants to try verification again identity-verification

FAQ — General Billing (Unverified)

kb.public-faq — retrieve general billing and payment information

Say"Payments can generally be made through our online member portal, by phone, or by mail. Payment due dates are set at enrollment and shown on your billing statement. For your specific due date or payment history, you would need to log in or call with your policy number."
  • Customer confirms this answers their question confirmed resolution
  • Customer has a follow-up question unverified-general-info
  • Customer wants to try verification again identity-verification

Clarification Prompt

Say"I want to make sure I point you to the right information. Could you tell me a little more about what you're looking for? For example, are you asking about what your plan covers, your payment, how to file a claim, or something else?"
Detect
intent on customer's clarified response
  • Customer clarifies a known topic confirmed topic-detection
  • Customer's question still unclear after clarification escalation-human
  • Customer explicitly requests a human agent escalation-human

Escalation to Human Agent

CRM.LogInteraction tag: escalation, reason: question.topic, linked to customer.policyNumber

CRM.CreateCase priority: normal, linked to customer.policyNumber

Say"I'm going to connect you with one of our specialists who will be able to help you further with this. Please hold for just a moment — they'll have the context of our conversation so you won't need to repeat yourself."

Resolution

Say"I'm glad I could help with that. Is there anything else I can assist you with today?"

CRM.LogInteraction tag: faq-resolved, topic: question.topic, linked to customer.policyNumber

  • Customer has another question topic-detection
  • Customer confirms no further questions confirmed close-conversation

Close Conversation

Say"Thank you for contacting insurance support, customer.name. Have a great day, and don't hesitate to reach out if you need anything else."

CRM.CloseInteraction linked to customer.policyNumber

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat▣ sms▣ text

General FAQ — Healthcare

HealthcareFAQPatient Support

Intake

Say"Hello, thanks for reaching out to us today. I'm here to help answer your questions about our services, hours, billing, insurance, and more. Could you tell me briefly what you're looking for help with?"
Detect
intent on patient opening message
  • Patient asks about billing or payments billing category-billing
  • Patient asks about scheduling or appointments scheduling category-scheduling
  • Patient asks about insurance or coverage insurance category-insurance
  • Patient asks about services, procedures, or treatments services category-services
  • Patient asks about location, hours, or directions location category-location
  • Patient asks about prescriptions or medications prescriptions category-prescriptions
  • Patient mentions a symptom, pain, or medical concern clinical clinical-deflection
  • Patient expresses distress, fear, or emotional upset distressed escalation-human
  • Patient asks about their personal health record or account-specific details personal-record identity-verification
  • Patient requests a specific staff member or provider by name staff-request escalation-human
  • Question does not fit any known category unclear clarify-question

Clarify Question

Say"Thanks for reaching out. I want to make sure I point you in the right direction — could you share a bit more detail about your question? For example, is this about a bill, an upcoming appointment, our services, or something else?"
Detect
intent on follow-up message
  • Category becomes clear on follow-up billing category-billing
  • Category becomes clear on follow-up scheduling category-scheduling
  • Category becomes clear on follow-up insurance category-insurance
  • Category becomes clear on follow-up services category-services
  • Category becomes clear on follow-up location category-location
  • Category becomes clear on follow-up prescriptions category-prescriptions
  • Patient mentions a symptom or medical concern clinical clinical-deflection
  • Patient expresses distress distressed escalation-human
  • Still unclear after follow-up still_unclear knowledge-base-fallback

Category — Billing

kb.billing-faq — retrieve billing policies, payment options, balance inquiry process, financial assistance programs

Say"I can help with billing questions. Our billing team handles payments, payment plans, and statements. patient.name, are you asking about a specific bill or charge, or do you have a more general question about payment options?"
  • Patient has a question about a specific charge or balance on their account account_specific identity-verification
  • Patient asks a general question about payment options or financial assistance general deliver-billing-answer
  • Patient asks about payment plans payment_plan deliver-billing-answer
  • Patient is confused or frustrated about a charge frustrated escalation-human

Deliver Billing Answer

kb.billing-faq — confirm answer to patient's specific billing question

Say"Based on our billing policy: [answer from kb.billing-faq]. Does that answer your question, or is there anything else I can clarify for you?"
  • Patient confirms they have what they need confirmed resolution
  • Patient has a follow-up question follow_up intake
  • Patient is still confused or wants to speak with someone needs_agent escalation-human

Category — Scheduling

kb.scheduling-faq — retrieve scheduling policies, new patient process, cancellation policy, telehealth availability

Say"I can help with scheduling. Are you looking to book a new appointment, reschedule or cancel an existing one, or do you have a question about our scheduling process?"
  • Patient wants to book, reschedule, or cancel book_appt scheduling-action
  • Patient asks a general scheduling question general deliver-scheduling-answer
  • Patient mentions a specific provider staff-request escalation-human

Deliver Scheduling Answer

kb.scheduling-faq — confirm answer to scheduling question

Say"Here's what I can tell you about our scheduling: [answer from kb.scheduling-faq]. Would you like me to help you get connected to schedule directly, or is there anything else?"
  • Patient wants to schedule directly book_appt scheduling-action
  • Patient confirms they have what they need confirmed resolution
  • Patient has another question follow_up intake

Scheduling Action

Say"To get you scheduled, I'll connect you with our scheduling team or patient portal. Do you have a preferred provider or location, and are you an existing patient with us?"
  • Existing patient confirmed patient.status EHR.LookupPatient confirm-patient-identity-scheduling
  • New patient new_patient new-patient-intake
  • Patient declines to provide info and wants to self-schedule self_serve resolution

Confirm Patient Identity — Scheduling

Say"I just need to verify a couple of details so I can pull up your record. Could you please confirm your date of birth and the phone number or email we have on file?"
  • Identity confirmed EHR.LookupPatient verified escalation-human
  • Patient cannot verify identity unverified identity-fail

New Patient Intake

kb.new-patient-faq — retrieve new patient registration process, required documents, insurance accepted

Say"Welcome — we're glad you're considering us for your care. As a new patient, you'll want to complete our registration process. Here's how that works: [answer from kb.new-patient-faq]. Would you like me to share the link to our patient portal to get started, or connect you with our front desk?"
  • Patient wants portal link CRM.SendPortalLink resolution
  • Patient wants to speak with front desk speak_to_staff escalation-human
  • Patient confirms they have what they need confirmed resolution

Category — Insurance

kb.insurance-faq — retrieve accepted insurance carriers, coverage verification process, referral and prior authorization info

Say"I can help with insurance questions. Are you asking about which insurance plans we accept, how to verify your coverage, or something about a referral or authorization?"
  • Patient asks which insurance plans are accepted plans_accepted deliver-insurance-answer
  • Patient wants to verify their specific coverage verify_coverage identity-verification
  • Patient asks about referrals or prior authorization auth_referral deliver-insurance-answer
  • Patient asks a general insurance question general deliver-insurance-answer

Deliver Insurance Answer

kb.insurance-faq — confirm answer relevant to patient's insurance question

Say"Here's what I can share: [answer from kb.insurance-faq]. For the most accurate coverage details tied to your specific plan, our insurance team can verify your benefits directly. Would that be helpful?"
  • Patient confirms they have what they need confirmed resolution
  • Patient wants insurance team to verify their benefits verify_coverage identity-verification
  • Patient has a follow-up question follow_up intake
  • Patient is frustrated about coverage or a denial frustrated escalation-human

Category — Services

kb.services-faq — retrieve information on available specialties, procedures, telehealth, and referral requirements

Say"I can tell you about the services and specialties we offer. What would you like to know — are you asking about a specific procedure, a specialty area, or whether we offer telehealth visits?"
  • Patient asks about a specific procedure or treatment procedure deliver-services-answer
  • Patient asks about a specialty specialty deliver-services-answer
  • Patient asks about telehealth telehealth deliver-services-answer
  • Patient's question touches on clinical advice or personal symptoms clinical clinical-deflection

Deliver Services Answer

kb.services-faq — confirm answer relevant to patient's services question

Say"Here's what I can share about our services: [answer from kb.services-faq]. Keep in mind, for questions about whether a specific treatment is right for you personally, our clinical team would be the best resource. Is there anything else I can help you with?"
  • Patient confirms they have what they need confirmed resolution
  • Patient wants to schedule related to this service book_appt category-scheduling
  • Patient has a follow-up question follow_up intake
  • Patient's follow-up veers into clinical advice territory clinical clinical-deflection

Category — Location & Hours

kb.facility-directory — retrieve facility addresses, hours of operation, parking, and contact numbers

Say"I can help with location and hours. Do you have a specific facility or clinic in mind, or would you like general information about our locations?"
  • Patient names a specific facility or location facility.name deliver-location-answer
  • Patient wants a list of all locations all_locations deliver-location-answer
  • Patient asks about after-hours or urgent care availability after_hours deliver-location-answer

Deliver Location Answer

kb.facility-directory — confirm address, hours, and contact details for facility.name

Say"Here are the details for facility.name: [address, hours from kb.facility-directory]. Is there anything else you need, such as directions or a phone number?"
  • Patient confirms they have what they need confirmed resolution
  • Patient has another question follow_up intake
  • Patient cannot find the location or needs further help needs_agent escalation-human

Category — Prescriptions

kb.prescriptions-faq — retrieve prescription refill process, pharmacy partnerships, prior authorization for medications

Say"I can help with general questions about prescriptions. Are you asking about refilling a prescription, our pharmacy partners, or something about prior authorization for a medication?"
  • Patient asks about refills refill deliver-prescriptions-answer
  • Patient asks about pharmacy partners pharmacy deliver-prescriptions-answer
  • Patient asks about prior authorization for a specific medication prior_auth deliver-prescriptions-answer
  • Patient asks about dosage, interactions, or clinical guidance clinical clinical-deflection

Deliver Prescriptions Answer

kb.prescriptions-faq — confirm answer relevant to prescription question

Say"Here's what I can share: [answer from kb.prescriptions-faq]. For anything specific to your prescription or medical history, your care team or pharmacist will have the most accurate guidance. Is there anything else I can help with?"
  • Patient confirms they have what they need confirmed resolution
  • Patient has a follow-up question follow_up intake
  • Patient's question requires clinical judgment clinical clinical-deflection
  • Patient wants to speak with their care team needs_agent escalation-human

Identity Verification

Say"To access any account-specific information, I'll need to verify your identity first. Could you please provide your full name, date of birth, and the phone number or email address associated with your account?"

CRM.VerifyPatientIdentity using patient.name, patient.dob, patient.phone or patient.email

  • Identity verified successfully verified post-verification-routing
  • Identity cannot be verified unverified identity-fail

Post-Verification Routing

Say"Thank you — I've verified your identity. Let me pull up the information you need."
  • Original question was about billing billing EHR.LookupPatientAccount deliver-billing-answer
  • Original question was about insurance or coverage insurance InsuranceEligibility.VerifyCoverage deliver-insurance-answer
  • Original question was about scheduling scheduling EHR.LookupPatient confirm-patient-identity-scheduling
  • Original question required record access record EHR.LookupPatientAccount escalation-human

Identity Fail

Say"I wasn't able to verify your identity with the information provided. For security purposes, I'm not able to share account-specific details without verification. You're welcome to contact us directly by phone or visit one of our locations with a valid photo ID. Is there anything general I can help you with in the meantime?"
  • Patient wants to try a general question general intake
  • Patient wants to call or visit in person confirmed resolution
  • Patient is frustrated or upset frustrated escalation-human

Knowledge Base Fallback

Agent
search available knowledge sources to find the best available answer to the patient's question.
Goal:retrieve an accurate, policy-aligned answer from kb.general-faq, kb.billing-faq, kb.services-faq, or kb.facility-directory without guessing or fabricating information.
Constraints:never provide clinical advice, diagnoses, or medication guidance; if no confident answer is found, acknowledge uncertainty explicitly and do not speculate; never access patient records without verified identity.
Tools available:kb.general-faq, kb.billing-faq, kb.services-faq, kb.scheduling-faq, kb.insurance-faq, kb.facility-directory, kb.prescriptions-faq
  • Answer found with high confidence answer_found deliver-fallback-answer
  • No reliable answer found in knowledge base no_answer acknowledge-uncertainty

Deliver Fallback Answer

Say"Based on our available information, here's what I can share: [answer retrieved]. Is that helpful, or do you have any follow-up questions?"
  • Patient confirms they have what they need confirmed resolution
  • Patient has a follow-up question follow_up intake
  • Patient is unsatisfied or needs more detail needs_agent escalation-human

Acknowledge Uncertainty

Say"I want to make sure you get accurate information, and I don't have a confident answer to that specific question in our resources right now. Rather than guess, I'd recommend speaking directly with our team who can give you a verified answer. Would you like me to connect you with someone, or point you to our patient portal for more information?"
  • Patient wants to be connected to a staff member needs_agent escalation-human
  • Patient wants the patient portal link CRM.SendPortalLink resolution
  • Patient is okay waiting or will follow up themselves confirmed resolution

Clinical Deflection

Say"I appreciate you sharing that with me. I'm not able to provide clinical advice, diagnoses, or guidance on symptoms — that's something a licensed provider needs to assess for your safety. If you have a medical concern, I'd encourage you to contact your care team directly, schedule an appointment, or if it's urgent, please call 911 or go to your nearest emergency room. Would you like help scheduling an appointment or finding a location?"
  • Patient wants to schedule an appointment book_appt category-scheduling
  • Patient wants a facility location location category-location
  • Patient indicates this may be an emergency emergency escalation-emergency
  • Patient confirms they understand and has no further needs confirmed resolution
  • Patient is distressed or escalating distressed escalation-human

Escalation — Emergency

Say"If you or someone else is experiencing a medical emergency, please call 911 or go to your nearest emergency room immediately. Do not wait for a callback. Is there anything else I can do to help right now?"

Escalation to Human Agent

CRM.CreateCaseNote with question.category, conversation summary, and patient.name if provided

CRM.RouteToAgent with priority: standard, tagged with question.category

Say"I'm going to connect you with a member of our team who can help you further. Please hold for just a moment — or if you'd prefer, I can arrange for a callback. Thank you for your patience."

Resolution

Say"I'm glad I could help. If you have any other questions in the future, don't hesitate to reach out. Take care, and have a great day!"

CRM.LogInteraction with question.category and resolution status

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ sms

Dispute Escalation to Human Agent

Financial ServicesDisputesEscalationSupport

Dispute Intake

Say"Thank you for reaching out. I'm here to help you with your dispute. Could you please share your full name and account number so I can pull up your account?"
  • Customer provides name and account number identity-verification
  • Customer mentions an already-open dispute or prior case number existing-case-lookup
  • Customer immediately invokes legal rights (CFPB, arbitration, attorney) or threatens legal action legal_threat escalation-human
  • Customer is highly distressed or agitated distressed escalation-human

Identity Verification

Say"For your security, I need to verify your identity before we proceed. I'll ask you a few quick questions."

IdentityVerification.Verify against customer.accountNumber — check security questions, date of birth, and registered contact details.

Detect
identity verification outcome
  • Identity verified on first or second attempt verified account-and-dispute-lookup
  • Identity cannot be verified after two attempts unverified identity-failure
  • Customer refuses verification or abandons escalation-human

Identity Failure

Say"I'm sorry — I wasn't able to verify your identity through this channel. For your security, I'm unable to proceed with the dispute without verification."
Say"You can resolve this by logging into your secure online account, visiting your nearest branch with a government-issued ID, or calling back with your security details ready."

CRM.LogAttempt tag: identity-verification-failed, linked to customer.accountNumber

Account and Dispute Lookup

CoreBanking.GetAccountDetails for customer.accountNumber

CoreBanking.GetTransactionHistory for customer.accountNumber

Say"Thank you, customer.fullName. I can see your account. Can you tell me the date, amount, and any reference ID or merchant name for the charge or decision you'd like to dispute, and the reason for the dispute?"
  • Customer provides transaction or decision details dispute-eligibility-check
  • Agent cannot locate the transaction after two attempts escalation-human
  • Customer mentions fraud and amount is above USD 500 high_value_fraud escalation-human

Dispute Eligibility Check

kb.dispute-eligibility-policy — check whether transaction.date falls within the eligible dispute window and whether dispute.reason qualifies under policy.

Agent
assess dispute eligibility using transaction.date, transaction.amount, dispute.reason, and kb.dispute-eligibility-policy.
Goal:determine whether the dispute is within the allowable window and falls under a qualifying dispute category before logging a formal case.
Constraints:never log a formal dispute for transactions outside the eligible window without supervisor approval; never waive policy without flagging for human review; always document ineligible attempts in the CRM.
Tools available:CoreBanking.GetTransactionHistory, kb.dispute-eligibility-policy, CRM.LogAttempt
  • Dispute is within policy window and qualifies eligible dispute-logging
  • Dispute falls outside the eligible window or does not qualify under policy ineligible dispute-ineligible
  • Eligibility is ambiguous and requires human judgment ambiguous escalation-human

Dispute Ineligible

Say"I've reviewed your account and I want to be transparent with you — based on our policy, this dispute falls outside the eligible timeframe of dispute.windowDays days, or doesn't meet the qualifying criteria for a formal dispute."
Say"I've documented your concern and today's contact in your account record. If you believe there are exceptional circumstances, I can escalate this to a specialist for a secondary review."

CRM.LogAttempt tag: dispute-ineligible, linked to customer.accountNumber, note dispute.reason

  • Customer accepts the outcome and has no further questions resolution-closed
  • Customer requests secondary review or escalation escalation-human

Existing Case Lookup

Say"It sounds like you may already have an open dispute with us. Let me pull that up — could you share your prior case or reference number?"

CaseManagement.GetCase by dispute.priorCaseNumber or customer.accountNumber

Detect
case lookup outcome
  • Existing open case found case_found existing-case-update
  • No matching case found, treat as new dispute no_case identity-verification
  • Customer escalates frustration about lack of progress frustrated escalation-human

Existing Case Update

Say"I found your existing case — case number case.id, currently with a status of case.status. Let me update it with the new information you've shared today."

CaseManagement.UpdateCase on case.id with new dispute.reason and today's contact timestamp

CRM.LogInteraction linked to case.id, tag: customer-follow-up

Say"I've added your update to the case. A specialist will review the new information and you'll receive a follow-up via customer.preferredContact within the timeframe we originally communicated."
  • Customer is satisfied with the update resolution-closed
  • Customer escalates or expresses legal intent legal_threat escalation-human
  • Customer requests to speak with a human specialist escalation-human

Dispute Logging

Say"Everything looks good. I'm going to formally log your dispute now. This covers the charge of transaction.amount on transaction.date at transaction.merchant, reference ID transaction.referenceId, with reason: dispute.reason. Does that sound correct?"
  • Customer confirms details confirmed case-creation
  • Customer corrects or amends details correction account-and-dispute-lookup

Case Creation

DisputesManagement.CreateCase for customer.accountNumber with transaction.referenceId, transaction.amount, transaction.date, dispute.reason

CaseManagement.AssignCaseNumber and capture as case.id

CRM.LogInteraction tag: dispute-filed, linked to case.id

Say"Your dispute has been formally logged and assigned case number case.id. Here's what happens next — our disputes team will review the details within 3 to 5 business days and you'll receive a status update via customer.preferredContact."

dispute-confirmation

Dispute Confirmation

Twilio.SendSMS to customer.phone: "Your dispute (Case case.id) has been logged. Amount: transaction.amount. We'll follow up within 3–5 business days. Reply STOP to opt out."

Twilio.SendEmail to customer.email with full case summary including case.id, transaction.referenceId, transaction.amount, transaction.date, and next steps.

Say"I've sent a confirmation with your case number and next steps to your email and phone on file. Is there anything else I can help you with today?"
  • Customer has no further questions resolution-closed
  • Customer has additional questions or a separate dispute dispute-intake
  • Customer escalates or requests immediate human follow-up escalation-human

Escalation to Human Agent

Say"I completely understand, and I want to make sure you get the right support. I'm escalating this to a specialist right now who can handle this directly."

CRM.LogInteraction tag: escalation-triggered, linked to customer.accountNumber, note dispute.reason

CaseManagement.CreateOrUpdateCase priority: high, tag: human-escalation, linked to transaction.referenceId

DisputesManagement.FlagForReview on customer.accountNumber with escalation reason and agent transcript summary

Approval
Slack.RequestApproval to #disputes-escalation-queue, approver: disputes_team_lead
Context sent:customer.fullName, customer.accountNumber, case.id, transaction.amount, transaction.referenceId, dispute.reason, escalation trigger summary
  • Specialist accepts and takes over approved escalation-handoff-complete
  • No response within 10 min timeout escalation-handoff-complete

Escalation Handoff Complete

Say"A disputes specialist has been notified and will be in touch with you via customer.preferredContact shortly. Your case reference is case.id — please keep that handy. We're sorry for the difficulty and we'll make sure this is resolved for you."

Twilio.SendSMS to customer.phone: "You've been connected with a disputes specialist. Reference: case.id. Expect contact via customer.preferredContact shortly."

Resolution / Closed

Say"I'm glad we could assist you today. Your case reference is case.id — don't hesitate to reach out if you have any further questions. Take care."

CRM.LogInteraction tag: interaction-complete, linked to case.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ email

Complaint Intake & Routing

Financial ServicesComplaintsComplianceSupport

Intake & Greeting

Say"Thank you for contacting us. I understand you'd like to raise a concern or formally lodge a complaint — I'm here to help you through that process and make sure your matter is fully recorded."
Say"To get started, may I have your full name and the account number related to your complaint?"
  • Customer provides name and account number identity-verification
  • Customer refuses to provide details or cannot locate account number anonymous-record
  • Customer immediately mentions a lawyer, regulator, or media escalation-signal escalation-legal-regulatory

Identity Verification

IdentityVerification.VerifyCustomer using customer.fullName and customer.accountNumber

Detect
outcome of identity verification check
  • Identity confirmed verified complaint-details-collection
  • Identity cannot be confirmed after two attempts unverified anonymous-record
  • System error or timeout system_error CRM.LogAttempt escalation-human-agent

Complaint Details Collection

Say"Thank you, customer.fullName — your identity has been verified. I'll now collect the details of your complaint so we can log it accurately."
Say"Could you please tell me: what is the nature of your complaint, which product or service is involved, and approximately when did the issue occur?"

CRM.UpdateRecord with customer.accountNumber to flag active complaint intake

  • Customer provides complaint details prior-contact-check
  • Customer becomes highly distressed or threatening legal action distressed escalation-legal-regulatory
  • Customer is unclear or needs prompting complaint-clarification

Complaint Clarification

Say"I want to make sure I capture everything correctly. Let me ask a few specific questions to help document your complaint fully."
Say"Which product or service does this relate to — for example, a credit card, mortgage, current account, or a specific interaction with our team?"
Say"And can you recall the approximate date when this issue first occurred?"

kb.complaint-intake-guidelines — review required fields for a complete complaint record

  • Details now sufficient to proceed prior-contact-check
  • Customer remains unable to provide details CRM.LogPartialComplaint complaint-details-collection
  • Customer escalates tone or mentions legal action distressed escalation-legal-regulatory

Prior Contact Check

Say"Have you contacted us previously about this issue? If so, do you have a reference number from that interaction?"

ComplaintManagement.SearchExistingCases using customer.accountNumber and complaint.nature

Detect
whether a duplicate or related case exists
  • Duplicate case found duplicate_detected duplicate-complaint-handling
  • No prior case found, complaint is new no_duplicate regulatory-category-check
  • Customer provides prior reference number complaint.priorReference ComplaintManagement.LinkCase regulatory-category-check

Duplicate Complaint Handling

ComplaintManagement.RetrieveCase to get case.existingId and current status

Say"I can see that a complaint related to this matter is already on record with us, reference number case.existingId. I'll make sure your latest contact is noted against that case."

CRM.AddInteractionNote linked to case.existingId with today's contact details and any new information provided

Say"Your existing complaint is being reviewed and you'll receive a response within regulatory.responseWindow days. Would you like us to send you a status update to your preferred contact?"
  • Customer confirms preferred contact and accepts outcome Twilio.SendSMS to customer.preferredContact resolution-acknowledgment
  • Customer disputes that the duplicate is the same issue complaint-details-collection
  • Customer is dissatisfied with existing case handling frustrated escalation-human-agent

Regulatory Category Check

ComplianceFlagging.ClassifyComplaint using complaint.nature and complaint.product

kb.regulatory-complaint-categories — check whether complaint falls under fraud, discrimination, CFPB-reportable, FCA-reportable, or other regulated classification

Detect
complaint category classification result
  • Complaint classified as regulated category (fraud, discrimination, CFPB, FCA) regulated_category compliance-routing
  • Complaint classified as standard (service, billing, product experience) standard_category complaint-registration
  • Classification inconclusive inconclusive CRM.LogForManualReview escalation-compliance-team

Compliance Routing

Say"Based on the details you've shared, your complaint involves a matter that requires review by our specialist compliance team. I want to assure you this will be prioritised appropriately."

ComplianceFlagging.FlagCase with complaint.category, customer.accountNumber, and complaint.nature

CaseRouting.AssignToComplianceQueue with priority: high

CRM.CreateComplaintRecord tagged regulatory, linked to customer.accountNumber

Say"Your complaint has been assigned reference number complaint.referenceNumber and routed to our compliance team. You can expect a formal written response within regulatory.responseWindow days — this is a regulatory commitment we are required to meet."
  • Customer would like written confirmation now Twilio.SendSMS to customer.preferredContact resolution-acknowledgment
  • Customer has further information to add complaint-clarification
  • Customer escalates or mentions external bodies escalation-signal escalation-legal-regulatory

Complaint Registration

ComplaintManagement.CreateCase with customer.fullName, customer.accountNumber, complaint.nature, complaint.date, complaint.product, complaint.priorReference

CaseRouting.AssignToStandardQueue

ComplaintManagement.GenerateReferenceNumber to produce complaint.referenceNumber

Say"I've now formally logged your complaint. Your reference number is complaint.referenceNumber — please keep this for your records."
Say"Under our obligations, we aim to provide a full written response within regulatory.responseWindow days. You'll receive a written acknowledgment shortly at your preferred contact."
  • Customer confirms preferred contact method preferred-contact-capture
  • Customer wants to add anything further complaint-clarification
  • Customer is highly dissatisfied with the process frustrated escalation-human-agent

Preferred Contact Capture

Say"How would you prefer us to contact you with updates and our formal response — by email, phone, or secure message?"

CRM.UpdatePreferredContact for customer.accountNumber with customer.preferredContact

  • Customer confirms email Twilio.SendEmail to customer.email with acknowledgment letter and complaint.referenceNumber resolution-acknowledgment
  • Customer confirms phone or SMS Twilio.SendSMS to customer.phone with acknowledgment summary and complaint.referenceNumber resolution-acknowledgment
  • Customer has no preference, use address on file CRM.RetrieveContactDetails Twilio.SendEmail to customer.email resolution-acknowledgment

Resolution & Acknowledgment

Say"Your complaint has been recorded and an acknowledgment has been sent to your preferred contact. Your reference number is complaint.referenceNumber."
Say"A member of our team will review your complaint and aim to provide a full written response within regulatory.responseWindow days. If you need to contact us in the meantime, please quote your reference number."
Say"Is there anything else I can help you with today?"

CRM.CloseInteraction with outcome: complaint-logged, reference: complaint.referenceNumber

  • Customer has no further questions — flow ends here
  • Customer raises an additional issue intake-greeting
  • Customer requests to speak with someone now wants_agent escalation-human-agent

Anonymous Record

Say"I understand — I'm not able to access your account without verified details, but I can still log an anonymous record of your concern so it is on record."

ComplaintManagement.CreateAnonymousRecord with complaint.nature and any details provided

ComplaintManagement.GenerateReferenceNumber to produce complaint.referenceNumber

Say"I've created an anonymous reference — your number is complaint.referenceNumber. To allow us to fully investigate and respond to you, we would need you to contact us again with your account credentials or visit a branch with valid identification."
Say"Would you like me to note a preferred contact method in case you are able to verify your identity with us in future?"
  • Customer provides a contact method CRM.LogAnonymousContactPreference resolution-acknowledgment
  • Customer declines and ends the interaction — flow ends here
  • Customer becomes agitated or references legal action distressed escalation-legal-regulatory
Say"I understand this is a serious matter and I want to make sure it's handled with the urgency it deserves. I'm escalating your complaint immediately to a senior complaints handler who has the authority to address concerns of this nature."

ComplianceFlagging.FlagCase with priority: urgent, reason: legal-regulatory-signal

CaseRouting.AssignToSeniorComplaintsHandler

CRM.CreateComplaintRecord tagged escalated, legal-signal, linked to customer.accountNumber

ComplaintManagement.GenerateReferenceNumber to produce complaint.referenceNumber

Twilio.SendSMS to customer.preferredContact confirming escalation and complaint.referenceNumber

Say"Your reference number is complaint.referenceNumber. A senior handler will be in contact with you within one business day. You do not need to contact us again — we will reach out to you."

Escalation — Human Agent

CaseRouting.TransferToLiveAgent with context: complaint.referenceNumber, customer.accountNumber, complaint.nature

CRM.LogHandoffNote with reason: customer-requested or verification-failure or system-error

Say"I'm transferring you now to one of our team members who will be able to assist you directly. Your reference number is complaint.referenceNumber — they'll have full context of our conversation."

Escalation — Compliance Team

ComplianceFlagging.FlagCase with priority: high, reason: inconclusive-classification

CaseRouting.AssignToComplianceReviewTeam

CRM.CreateComplaintRecord tagged compliance-review-required, linked to customer.accountNumber

ComplaintManagement.GenerateReferenceNumber to produce complaint.referenceNumber

Say"Your complaint has been flagged for review by our compliance team to ensure it is handled through the correct process. Your reference number is complaint.referenceNumber and you will receive written confirmation of next steps within two business days."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat▣ email

Complaint Escalation — Insurance

InsuranceComplaintsEscalationRegulatory

Intake and Greeting

Say"Thank you for contacting us. I understand you'd like to raise a concern today — I'm here to help and I want to make sure we handle this properly for you. May I start with your full name and policy number?"
Detect
sentiment and distress level on customer's opening statement
  • Customer is calm or moderately frustrated neutral identity-verification
  • Customer is highly distressed, upset, or using strong escalation language distressed empathy-protocol
  • Customer explicitly mentions the ombudsman, legal action, or litigation legal_threat regulatory-flag

Empathy Protocol

Say"I can hear how frustrated you are, and I want you to know your complaint is being taken very seriously. I'd like to take the time to properly understand everything that's happened. You have my full attention."
  • Customer settles and is willing to continue confirmed identity-verification
  • Customer demands to speak with a manager immediately escalation_request escalation-human
  • Customer remains highly distressed and conversation cannot progress unresolvable escalation-human

Regulatory Flag

ComplaintsManagementSystem.SetPriorityFlag on case.existingId with tag regulatory-legal-threat

Say"I want to make sure we treat this with the urgency it deserves. I'm flagging this right now as a priority complaint. A senior handler will be involved in the resolution of this case."
  • Continue to identity verification identity-verification

Identity Verification

Say"Before I log your complaint and access your policy details, I need to verify your identity. Could you please confirm your date of birth and the postcode associated with your policy?"

IdentityVerification.Verify using policy.number and policy.holderId

  • Identity verified successfully verified complaint-capture
  • Identity cannot be verified after two attempts unverified unverified-complaint-log
  • Customer refuses to provide verification details refused unverified-complaint-log

Complaint Capture

Say"Thank you for confirming your details. I'd now like to understand your complaint fully. Please take as much time as you need — could you walk me through what happened, including when it occurred and any reference numbers you may have for an existing claim or case?"

PolicyAdministrationSystem.GetRecord for policy.number

CRM.GetCustomerProfile for policy.holderId

CaseManagement.SearchExistingCases using policy.number and claim.referenceNumber

Detect
whether an existing open case matches the incoming complaint
  • Existing open case found matching this complaint duplicate duplicate-case-update
  • No existing case found, proceed to log new complaint no_duplicate complaint-classification
  • Complaint involves a protected or vulnerable customer flag customer.vulnerableFlag vulnerable-customer-handling

Vulnerable Customer Handling

Say"I can see from your record that you may benefit from some additional support. I want to make sure we handle your complaint in the way that works best for you. Would you prefer we follow up by phone, email, or letter — and is there anything I can do right now to make this process easier for you?"

CRM.SetVulnerableFlag on policy.holderId

ComplaintsManagementSystem.SetPriorityFlag with tag vulnerable-customer

  • Customer confirms preferred contact method, continue to classification complaint-classification
  • Customer requests specialist support or senior handler escalation-human

Complaint Classification

Agent
classify the complaint using complaint.description and complaint.category against kb.complaint-category-taxonomy.
Goal:determine the correct complaint category (claim handling, policy administration, customer service, billing, regulatory) and assess whether a priority or legal flag should be applied.
Constraints:never dismiss or downgrade a complaint that contains keywords indicating legal threat, vulnerability, or regulatory referral; always apply the most protective classification when ambiguous.
Tools available:ComplaintsManagementSystem.GetCategoryList, kb.complaint-category-taxonomy, kb.regulatory-response-timeframes
  • Classification complete, no escalation triggers identified classified complaint-logging
  • Classification reveals regulatory or legal risk not yet flagged legal_threat regulatory-flag
  • Classification reveals vulnerable customer indicator not yet flagged vulnerable vulnerable-customer-handling

Duplicate Case Update

Say"I can see we already have an open case reference case.existingId related to this matter. Rather than creating a new complaint, I'll update that existing record with everything you've told me today so nothing is lost."

CaseManagement.UpdateCase on case.existingId with complaint.description and complaint.date

CRM.AddInteractionNote for policy.holderId with summary of call and updated complaint details

Say"I've updated your existing case case.existingId with today's information. You'll receive a follow-up via your preferred contact method, and you can reference that case number at any time."
  • Update complete, confirm timeframes with customer regulatory-timeframe-confirmation

Complaint Logging

ComplaintsManagementSystem.CreateComplaint with policy.number, customer.name, complaint.description, complaint.category, complaint.date, claim.referenceNumber

Say"I've formally logged your complaint and your reference number is complaint.referenceNumber. Please keep this safe — you can use it to check on the status of your complaint at any time."

CRM.AddInteractionNote for policy.holderId linking complaint.referenceNumber and complaint.category

  • Complaint logged, proceed to confirm response timeframes regulatory-timeframe-confirmation

Regulatory Timeframe Confirmation

kb.regulatory-response-timeframes — retrieve applicable acknowledgment and resolution deadlines based on complaint.category

Say"Under our regulatory obligations, you'll receive a written acknowledgment within 5 business days. We aim to resolve your complaint fully within 8 weeks. If we're unable to do so, we'll write to you explaining why and advising you of your right to refer your complaint to the Financial Ombudsman Service."
Say"We'll be in touch via customer.preferredContact. Is there anything else you'd like to add before we close today's call?"
  • Customer has nothing further to add confirmed resolution-confirmation
  • Customer raises an additional concern or asks a follow-up question further_query complaint-capture
  • Customer requests a callback from a senior handler escalation_request escalation-human

Unverified Complaint Log

Say"I completely understand — I want to make sure your complaint is still recorded even if we're unable to verify your identity right now. I'll log this as an unverified complaint. Once we're able to verify your identity at a later stage, we can link it to your policy record."

ComplaintsManagementSystem.CreateUnverifiedComplaint with complaint.description, complaint.date, and a note that identity verification is pending

CRM.AddUnverifiedInteractionNote with complaint.description

Say"Your complaint has been logged with reference number complaint.referenceNumber. To progress this further and link it to your policy, please contact us again with your policy number and identity documents. We're sorry we couldn't do more today."
  • Unverified log complete resolution-confirmation

Escalation to Human Agent

ComplaintsManagementSystem.SetPriorityFlag on complaint.referenceNumber with tag senior-handler-required

CRM.AddInteractionNote for policy.holderId with reason for escalation

CaseManagement.AssignToSeniorHandler and notify agent.seniorHandlerEmail

Say"I'm escalating your complaint to a senior handler right now. They will be in contact with you via customer.preferredContact within 24 hours. Your reference number is complaint.referenceNumber — please keep this to hand."

Resolution Confirmation

Say"Thank you for bringing this to our attention — your feedback is important to us and we take all complaints seriously. Your reference number is complaint.referenceNumber. We'll be in touch as discussed. Is there anything else I can help you with today?"

CRM.CloseInteraction for policy.holderId with outcome logged and complaint.referenceNumber attached

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat▣ text

Claims Intake

InsuranceClaimsIntake

Welcome & Policy Lookup

Say"Thank you for contacting us. I'm here to help you report a new claim. To get started, could you please provide your policy number or the name on the account?"

PolicyManagement.LookupPolicy using policy.number or customer.name

  • Policy record found, status active identity-verification
  • Policy record found, status lapsed or expired lapsed-policy
  • Policy record not found after two attempts escalation-human
  • System unavailable CRM.LogInteraction with caller details system-unavailable

Identity Verification

Say"I found an account. For your security, I need to verify your identity before we proceed. Could you please confirm your date of birth and the ZIP code on the policy?"

IdentityVerification.Verify using policy.number and provided identifiers

  • Identity verified on first or second attempt loss-details-collection
  • Identity not verified on primary identifiers secondary-identity-check

Secondary Identity Check

Say"I wasn't able to verify your identity with those details. Let me try a couple of alternative questions. Could you confirm the last four digits of the SSN on the account, or the email address we have on file?"

IdentityVerification.VerifySecondary using policy.number

  • Identity verified with secondary identifiers loss-details-collection
  • Identity still unverified identity_failed escalation-human

Loss Details Collection

Say"Thank you — your identity is confirmed. I'm sorry to hear you've experienced a loss. I'd like to gather a few details about what happened so we can open your claim. Please take your time."
Say"First, can you tell me the date the loss occurred, the location, and a brief description of what happened?"
  • Customer provides loss date, location, and description damages-and-injuries-check
  • Customer is distressed or mentions injuries or fatalities escalation-complex-loss

Damages & Injuries Check

Say"Thank you. Are there any injuries involved, and can you give me a rough sense of the damages — for example, is a vehicle undriveable, or is a property uninhabitable?"
Detect
severity indicators in customer response — injuries, fatalities, large-scale damage, legal intent
  • Customer reports injuries, fatality, or catastrophic loss high_severity escalation-complex-loss
  • Customer mentions intent to involve legal counsel legal_intent escalation-complex-loss
  • No injuries, damages appear routine coverage-check

Coverage Check

kb.coverage-rules — verify loss.type falls within policy.coverageType scope and that loss.date is within the active policy period

Agent
assess whether the reported loss type and circumstances fall within the active policy's coverage scope.
Goal:determine if the claim can proceed as standard intake, needs adjuster-review flagging, or falls into a clear exclusion category.
Constraints:never outright deny a claim to the customer — if exclusion is possible, flag for adjuster review rather than refusing; never proceed to claim creation if policy status is not confirmed active at time of loss.
Tools available:PolicyManagement.GetCoverageDetails, kb.coverage-rules
  • Coverage confirmed active and loss type within scope coverage_confirmed claim-record-creation
  • Loss type appears potentially excluded or ambiguous coverage_ambiguous flagged-adjuster-review
  • Policy was not active on loss.date coverage_inactive lapsed-policy

Claim Record Creation

Say"Everything looks good — I'm creating your claim record now. Just one moment."

ClaimsManagement.CreateClaim with policy.number, customer.name, loss.date, loss.location, loss.description, loss.damages, loss.type

CRM.UpdateContact with customer.preferredContact and claim reference

ClaimsManagement.GetClaimID -> claim.id

  • Claim record created successfully claim_created claim-confirmation
  • System error during claim creation system_error system-unavailable

Claim Confirmation

Say"Your claim has been successfully submitted. Your claim number is claim.id — please keep this for your records. A claims adjuster will be in touch within claim.adjusterContactWindow business days via your preferred contact method."
Say"In the meantime, please preserve any evidence, avoid disposing of damaged property, and document everything with photos if possible. Is there anything else you'd like to know before we wrap up?"

CRM.SendConfirmation to customer.email or customer.phone with claim.id and next-steps summary

  • Customer has additional questions claim-next-steps
  • Customer is satisfied, no further questions resolution

Claim Next Steps

kb.claims-process-guide — retrieve adjuster contact timeline, documentation requirements, and repair/replacement process for policy.coverageType

Say"Happy to walk you through what happens next. Once our adjuster reaches out, they'll schedule an inspection or request documentation depending on your coverage type. You can also track your claim status online using your claim number claim.id."
Say"Do you have any other questions, or is there anything else I can help you with today?"
  • Customer satisfied resolution
  • Customer wants to add more details to the claim ClaimsManagement.UpdateClaim claim-confirmation
  • Customer requests escalation escalation-human

Flagged for Adjuster Review

Say"Thank you for those details. Based on what you've described, I want to make sure your claim receives the right level of review. I'm going to open a claim record and flag it for a specialist who can assess the coverage details carefully."

ClaimsManagement.CreateClaim with policy.number, customer.name, loss.date, loss.location, loss.description, loss.damages, loss.type, flag: coverage_review_required

ClaimsManagement.GetClaimID -> claim.id

CRM.UpdateContact with customer.preferredContact and claim reference

Say"Your claim number is claim.id. A claims specialist will review your policy terms and contact you within claim.adjusterContactWindow business days. We won't make any coverage determination until that review is complete."

CRM.SendConfirmation to customer.email or customer.phone with claim.id and review-pending notice

resolution

Lapsed Policy

Say"I can see your policy — however, it appears that the coverage was not active on the date of the loss. Unfortunately, we're unable to open a claim for a period when the policy was lapsed or expired."

kb.reinstatement-options — retrieve available reinstatement paths for policy.coverageType

Say"I understand this is difficult news. I can share some options around reinstating your policy for future coverage. Would you like me to walk you through those options, or would you prefer to speak with a specialist?"
  • Customer wants reinstatement information CRM.LogInteraction tag: reinstatement-interest escalation-human
  • Customer acknowledges and ends interaction resolution

System Unavailable

Say"I apologize — our claims system is experiencing a temporary issue and I'm unable to create your claim record electronically right now. I want to make sure your report is captured so nothing is lost."

CRM.LogManualClaimDetails with customer.name, customer.phone, customer.email, loss.date, loss.location, loss.description, loss.damages, loss.type, policy.number, flag: manual_follow_up_required

Say"I've logged all of your details securely. You will receive a confirmation and a claim number via your preferred contact method within one business day once our systems are restored. I'm sorry for the inconvenience."
  • Customer accepts and ends interaction resolution
  • Customer is dissatisfied and requests immediate escalation escalation-human

Escalation — Complex or High-Severity Loss

CRM.LogInteraction with full loss details, flag: high_severity

ClaimsManagement.CreatePriorityAlert with loss.description, loss.injuries, policy.number

Say"Based on what you've described, I want to make sure you're connected immediately with a senior claims specialist who handles complex situations like this. I'm escalating your case right now — please stay on the line."

Escalation to Human Agent

CRM.LogInteraction with full context, flag: human_review_required

Say"I'm going to connect you with one of our team members who can assist you further. Please hold for just a moment — thank you for your patience."

Resolution

Say"Thank you for reaching out, and I'm sorry again about your loss. We'll be in touch soon, and please don't hesitate to contact us if you need anything in the meantime. Take care."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ sms

Card Lost / Stolen Replacement

Financial ServicesCard ServicesLoss Prevention

Intake

Say"Thank you for reaching out. I understand you'd like to report a lost or stolen card — I'll help you get this resolved right away. First, I need to verify your identity to protect your account."
  • Customer confirms card is lost confirmed identity-verification
  • Customer mentions unauthorized charges or suspected fraud fraud_concern identity-verification-fraud
  • Customer is unresponsive or unclear identity-verification

Identity Verification

Say"I'll need to verify a few details. Can you please provide your full name, date of birth, and either the last four digits of your Social Security Number or your card PIN?"

KYCVerification.VerifyIdentity with customer.name, customer.dob, customer.ssn_last4, customer.pin

Detect
identity verification outcome
  • Verification passes on first or second attempt verified card-block
  • Verification fails after multiple attempts failed verification-failure

Identity Verification — Fraud Path

Say"I'm sorry to hear that. Before we proceed, I need to verify your identity to protect your account. Can you please provide your full name, date of birth, and either the last four digits of your Social Security Number or your card PIN?"

KYCVerification.VerifyIdentity with customer.name, customer.dob, customer.ssn_last4, customer.pin

Detect
identity verification outcome
  • Verification passes verified card-block-fraud
  • Verification fails after multiple attempts failed verification-failure

Card Block

Say"Thank you — I've verified your identity. I'm blocking your card ending in card.last4 right now to prevent any unauthorized use."

CardManagement.BlockCard for card.id

CoreBanking.UpdateAccountStatus on account.id flagged: card-blocked

Salesforce.CreateCase type: card-lost-stolen, linked to account.id

Say"Your card has been blocked. Can you tell me approximately when and where you last used or had your card? This helps us note the details on your case."
  • Customer provides last seen details address-confirmation
  • Customer cannot recall details address-confirmation

Card Block — Fraud Path

Say"Thank you. I'm blocking your card ending in card.last4 immediately."

CardManagement.BlockCard for card.id

FraudDetection.FlagAccount on account.id tagged: unauthorized-transactions

CoreBanking.UpdateAccountStatus on account.id flagged: card-blocked-fraud

Salesforce.CreateCase type: fraud-card-lost-stolen, priority: high, linked to account.id

Say"Your card has been blocked. Because you've mentioned unauthorized transactions, I'll also need to connect you with our fraud team to open a dispute. Before I do, let me confirm your replacement card details."
  • Proceed to address confirmation for replacement address-confirmation-fraud

Address Confirmation

Say"To send your replacement card, I have your address on file as customer.address. Would you like us to ship to this address, or would you prefer a different one?"
Detect
customer address preference
  • Customer confirms existing address confirmed replacement-issuance
  • Customer requests a new or different address new_address address-review

Address Confirmation — Fraud Path

Say"I have your address on file as customer.address. Should we send the replacement card here, or would you prefer a different address?"
Detect
customer address preference
  • Customer confirms existing address confirmed replacement-issuance-fraud
  • Customer requests a new or different address new_address address-review

Address Review

Say"I've noted the new address you'd like us to use. Because this address is different from what we have on file, our team will need to verify it before we can ship your replacement — this usually takes one business day."

Salesforce.UpdateCase add: unrecognized-replacement-address, replacement.address, flagged-for-review

ShippingFulfillment.HoldOrder pending address verification on account.id

Approval
Slack.RequestApproval to #card-services-review, approver: card_ops_supervisor
Context sent:account.id, customer.name, replacement.address, case reference
  • Address approved approved replacement-issuance
  • Address flagged or rejected rejected escalation-human

Replacement Issuance

Say"Great — I'll get your replacement card ordered now. Would you like standard delivery, or do you need your card sooner? I can check if expedited or same-day delivery is available for you."

ShippingFulfillment.CheckExpedited for account.id

Detect
customer delivery preference
  • Customer requests expedited and delivery.expedited_eligible is true expedited replacement-expedited
  • Customer accepts standard delivery standard replacement-standard
  • Expedited requested but not eligible expedited replacement-standard

Replacement Issuance — Fraud Path

Say"I'll get your replacement card ordered now. Standard delivery typically takes five to seven business days. Would you also like to check expedited options?"

ShippingFulfillment.CheckExpedited for account.id

Detect
customer delivery preference
  • Customer requests expedited and delivery.expedited_eligible is true expedited replacement-expedited-fraud
  • Customer accepts standard delivery standard replacement-standard-fraud

Replacement — Standard

CardManagement.IssueReplacementCard for account.id, ship to customer.address, method: standard

ShippingFulfillment.CreateShipment linked to account.id, capture replacement.tracking_number

Salesforce.UpdateCase add: replacement-issued-standard, replacement.tracking_number

Say"Your replacement card has been ordered and will arrive in five to seven business days. You'll receive a tracking number at customer.email once it ships. In the meantime, would you like me to activate a temporary digital card for mobile or online use?"
  • Customer wants digital card digital-card-offer
  • Customer declines digital card resolution

Replacement — Expedited

CardManagement.IssueReplacementCard for account.id, ship to customer.address, method: expedited

ShippingFulfillment.CreateShipment linked to account.id, method: expedited, capture replacement.tracking_number

Salesforce.UpdateCase add: replacement-issued-expedited, replacement.tracking_number

Say"I've arranged expedited delivery — your replacement card should arrive within one to two business days. Tracking details will be sent to customer.email. Can I also set up a temporary digital card for you in the meantime?"
  • Customer wants digital card digital-card-offer
  • Customer declines resolution

Replacement — Standard (Fraud Path)

CardManagement.IssueReplacementCard for account.id, ship to customer.address, method: standard

ShippingFulfillment.CreateShipment linked to account.id, capture replacement.tracking_number

Salesforce.UpdateCase add: replacement-issued-standard, replacement.tracking_number

Say"Your replacement card is on its way — expected in five to seven business days. A tracking number will be sent to customer.email. I'm now going to transfer you to our fraud team so they can review the unauthorized charges and open a dispute on your behalf."

escalation-fraud

Replacement — Expedited (Fraud Path)

CardManagement.IssueReplacementCard for account.id, ship to customer.address, method: expedited

ShippingFulfillment.CreateShipment linked to account.id, method: expedited, capture replacement.tracking_number

Salesforce.UpdateCase add: replacement-issued-expedited, replacement.tracking_number

Say"Expedited delivery is confirmed — your card should arrive in one to two business days. Tracking details will go to customer.email. Let me now connect you with our fraud team to handle the unauthorized transactions."

escalation-fraud

Digital Card Offer

Agent
determine whether the customer's account and device are eligible for a temporary digital card provisioned via the card management system.
Goal:activate a digital card for the customer if eligible, so they have immediate card access while awaiting physical delivery.
Constraints:only provision digital card if account is in good standing beyond the lost card event; never provision if fraud flag is active on the account; do not override card management eligibility checks.
Tools available:CardManagement.CheckDigitalEligibility, CardManagement.ProvisionDigitalCard, CoreBanking.GetAccountStatus
  • Digital card provisioned successfully provisioned resolution
  • Customer not eligible or provisioning fails ineligible resolution

Verification Failure

Say"I'm sorry — I wasn't able to verify your identity with the information provided, and for your security I'm unable to make changes to the account without successful verification. To protect your account, I'd recommend visiting a branch with a government-issued photo ID, where our team can assist you in person."

Salesforce.CreateCase type: identity-verification-failure, priority: high, linked to account.id

Salesforce.LogNote add: customer-directed-to-branch, verification-failed

Say"Is there anything else I can help you with today, or would you like us to note your nearest branch location?"
  • Customer wants branch info escalation-human
  • Customer ends interaction resolution-no-action

Escalation — Fraud Team

FraudDetection.OpenDisputeCase linked to account.id, flagged: unauthorized-transactions, transaction.unauthorized_flag

Salesforce.UpdateCase priority: high, tagged: fraud-escalation, dispute-opened

Slack.Notify to #fraud-ops with case summary, account.id, card.last4

Say"I'm transferring you now to a fraud specialist who will review the disputed transactions and guide you through the dispute process. Your case reference has been shared with them. Thank you for your patience."

Escalation — Human Agent

Salesforce.UpdateCase priority: high, tagged: manual-review-required

Slack.Notify to #card-services-review with case summary, account.id, customer.name

Say"I'm connecting you with a senior member of our team who can assist you further. I've shared your case details with them so you won't need to repeat yourself. Thank you for your patience."

Resolution

Say"To recap: your card ending in card.last4 has been blocked, a replacement is on its way, and your tracking details will be sent to customer.email. Your account is secure. Is there anything else I can help you with today?"

Salesforce.CloseCase resolution: card-replaced, linked to account.id

Resolution — No Action Taken

Say"Understood. Your card has been blocked as a precaution to protect your account. When you're ready to request a replacement or visit a branch, don't hesitate to reach out. Take care."

Salesforce.CloseCase resolution: blocked-no-replacement-issued, linked to account.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ sms

Branch / ATM Locator & Appointment Booking

Financial ServicesBranchATMAppointmentsLocator

Greeting & Intent Capture

Say"Hello! I'm here to help you find a branch or ATM, or schedule an in-person appointment. Are you looking to find a location near you, or would you like to book an appointment at a branch?"
  • Customer wants to find a branch or ATM find-location location-capture
  • Customer wants to book an appointment book-appointment account-verification
  • Customer mentions a complaint or requests a manager complaint escalation-human
  • Intent is unclear or mixed unclear clarify-intent

Clarify Intent

Say"No problem — I can help with either! Just to make sure I point you in the right direction: are you primarily trying to find a nearby branch or ATM, or are you looking to schedule a visit with someone at a branch?"
  • Customer clarifies location lookup find-location location-capture
  • Customer clarifies appointment booking book-appointment account-verification
  • Customer remains unclear or frustrated frustrated escalation-human

Location Capture

Say"Great! To find the nearest branches and ATMs, could you share your current ZIP code or city?"

MapsGeolocation.DetectLocation from session context if available

  • Location detected automatically from session location-detected location-results
  • Customer provides ZIP code or city manually location-provided location-results
  • Customer cannot or will not provide location no-location location-fallback

Location Fallback

Say"No problem. You can also find branches and ATMs using our branch locator at bankname.com/locations, or call us at any time and we can search by city or state. Is there anything else I can help you with?"
  • Customer provides a ZIP or city after all location-provided location-results
  • Customer is satisfied and done done resolution
  • Customer wants to book an appointment instead book-appointment account-verification

Location Results

BranchATMLocator.Search using customer.zip or customer.city, return top 3 branches and nearest ATMs

Say"Here are the closest options I found for you:"

BranchATMLocator.SurfaceResults including branch.name, branch.address, branch.hours, branch.distance, branch.status, and atm.address, atm.distance

  • One or more branches show as temporarily closed branch-closed closed-branch-handling
  • Customer selects a branch and wants to book an appointment book-appointment account-verification
  • Customer is satisfied with location info only info-only resolution
  • Customer asks about accessibility or language services accessibility accessibility-check

Closed Branch Handling

Say"I see that one or more of those branches is currently closed or has limited hours. Let me pull up the most current hours and the next nearest alternative for you."

BranchATMLocator.GetUpdatedHours for branch.name, surface branch.hours and branch.status

BranchATMLocator.Search for next nearest open branch, surface branch.address and branch.distance

Say"The updated hours for branch.name are branch.hours. The nearest open alternative is branch.address, approximately branch.distance away. Would you like to book an appointment at the open branch, or is this information enough for now?"
  • Customer wants to book at the open alternative book-appointment account-verification
  • Customer satisfied with updated info info-only resolution
  • Customer frustrated or escalates frustrated escalation-human

Accessibility Check

Say"Of course. Could you let me know what you need — for example, wheelchair-accessible facilities, language interpretation services, or anything else? I want to make sure the branch I recommend can fully support you."

BranchATMLocator.FilterByAccessibility using customer.accessibilityNeeds and customer.languagePreference

  • Accessible branch found and customer wants to book book-appointment account-verification
  • Accessible branch found and customer wants info only info-only resolution
  • No fully accessible branch available nearby no-accessible-branch escalation-human

Account Verification

Say"To book an appointment, I just need to confirm a couple of details. Are you an existing account holder with us?"

CRM.LookupCustomer using customer.phone or customer.email

  • Existing customer confirmed account-verified appointment-type-capture
  • Customer is not an existing account holder no-account non-account-holder-handling
  • Unable to verify account status verification-failed manual-account-check

Manual Account Check

Say"I wasn't able to automatically pull up your account. Could you provide the phone number or email address associated with your account so I can look you up?"

CRM.LookupCustomer using customer.phone or customer.email

  • Account found account-verified appointment-type-capture
  • Still unable to verify verification-failed non-account-holder-handling

Non-Account Holder Handling

Say"No problem — you're welcome to visit any branch or use our ATMs without an account. I should let you know that certain appointment types, such as account openings or loan consultations, do require an existing account or a new-customer intake process. Would you like help finding a branch, or are you interested in learning about opening an account?"
  • Customer wants branch or ATM info only find-location location-capture
  • Customer interested in opening an account new-account escalation-specialist
  • Customer wants to book a general appointment anyway book-appointment appointment-type-capture

Appointment Type Capture

Say"What type of appointment are you looking to schedule? For example: general banking, account services, safe deposit box access, notary services, or a financial review. You can also just describe what you need."
  • Customer requests a standard appointment type standard-appointment datetime-capture
  • Customer requests a specialized appointment such as mortgage, business banking, or wealth management specialist-appointment escalation-specialist
  • Customer describes a complaint or sensitive issue complaint escalation-human

Date & Time Capture

Say"Great. What date and time works best for you? I'll check availability at your preferred branch."

AppointmentScheduler.CheckAvailability for appointment.type at branch.name on appointment.preferredDate at appointment.preferredTime

  • Slot is available slot-available appointment-confirmation
  • Requested slot is unavailable slot-unavailable offer-alternative-slot
  • Branch has no availability on preferred date no-availability offer-alternative-branch

Offer Alternative Slot

Say"It looks like appointment.preferredTime on appointment.preferredDate isn't available at branch.name. The next available slot is branch.nextAvailableSlot. Would that work for you, or would you prefer a different date?"

AppointmentScheduler.GetNextAvailable for appointment.type at branch.name

  • Customer accepts the next available slot accepts-slot appointment-confirmation
  • Customer wants a different date or time different-datetime datetime-capture
  • Customer wants to try a different branch different-branch offer-alternative-branch

Offer Alternative Branch

Say"I understand — let me check a nearby branch that may have better availability for you."

BranchATMLocator.Search for next nearest branch with availability for appointment.type on appointment.preferredDate

AppointmentScheduler.CheckAvailability at alternative branch

Say"The next closest branch with availability is branch.name at branch.address, with an opening on branch.nextAvailableSlot. Would you like to book there?"
  • Customer accepts alternative branch and slot accepts-slot appointment-confirmation
  • Customer wants to try yet another date or branch different-datetime datetime-capture
  • Customer frustrated or wants to escalate frustrated escalation-human

Appointment Confirmation

AppointmentScheduler.BookAppointment for customer.email, appointment.type, appointment.preferredDate, appointment.preferredTime at branch.name

Say"You're all set! Your appointment.type appointment is confirmed at branch.name, branch.address on appointment.preferredDate at appointment.preferredTime. Your confirmation number is appointment.confirmationNumber."

Twilio.SendSMS to customer.phone with confirmation details: appointment.confirmationNumber, branch.name, branch.address, appointment.preferredDate, appointment.preferredTime

Twilio.SendEmail to customer.email with the same confirmation details and a calendar invite attachment

Say"I've sent a confirmation to your phone and email. Is there anything else I can help you with — for example, accessibility needs at the branch, or directions?"
  • Customer has accessibility or special requirements accessibility accessibility-check
  • Customer is done done resolution
  • Customer wants to modify or cancel the appointment modify-appointment appointment-modification

Appointment Modification

Say"Of course. I can help you reschedule or cancel your appointment with confirmation number appointment.confirmationNumber. Would you like to reschedule to a new date and time, or cancel the appointment altogether?"

AppointmentScheduler.LookupAppointment using appointment.confirmationNumber

  • Customer wants to reschedule reschedule datetime-capture
  • Customer wants to cancel cancel AppointmentScheduler.CancelAppointment for appointment.confirmationNumber cancellation-confirmation
  • Customer is unsure or has another question other greeting-intent-capture

Cancellation Confirmation

Twilio.SendSMS to customer.phone confirming cancellation of appointment.confirmationNumber

Twilio.SendEmail to customer.email confirming cancellation

Say"Your appointment has been cancelled and you'll receive a confirmation shortly. If you'd like to rebook in the future, I'm happy to help. Is there anything else I can assist you with?"
  • Customer wants to rebook book-appointment appointment-type-capture
  • Customer is done done resolution

Escalation to Specialist

CRM.CreateCase tagged specialist-appointment, linked to customer.email and appointment.type

AppointmentScheduler.RouteToAdvisor for appointment.type, surface available advisor and earliest slot

Say"For a appointment.type appointment, I'll connect you with a dedicated advisor who can make sure you get the right level of service. Let me get that arranged for you."

Twilio.SendEmail to customer.email with advisor contact information and next steps

Say"A specialist will be in touch shortly to confirm your appointment details. Is there anything else I can help you with in the meantime?"
  • Customer has additional questions other greeting-intent-capture
  • Customer is satisfied done resolution

Escalation to Human Agent

CRM.CreateCase priority: high, tagged branch-escalation, linked to customer.phone and customer.email

Say"I want to make sure you get the right help. Let me connect you with one of our team members who can assist you directly."

Resolution

Say"You're all set! Don't hesitate to reach out if you need to find a location, book an appointment, or have any other questions. Have a great day!"
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ sms

Billing Inquiry / Dispute

TelecomBillingDisputeSupport

Greeting and Identity Verification

Say"Thank you for contacting us today. I'm here to help with your billing question. Can I start with your account number or the phone number on the account?"

IdentityVerification.LookupAccount using customer.accountNumber or customer.phoneNumber

Say"To protect your account, I'll need to verify your identity. Could you please provide your account PIN, date of birth, or the last four digits of your Social Security Number?"

IdentityVerification.Verify using customer.pin, customer.dob, or customer.ssn4

  • Identity verified successfully verified inquiry-intake
  • Identity verification fails after two attempts unverified identity-failure
  • Customer is unable to provide any credentials identity-failure

Identity Failure

Say"I'm sorry, I'm not able to pull up the account details without completing verification — this is to keep your account secure."
Say"You're welcome to visit any of our retail locations with a valid photo ID, or you can reset your PIN online using the email address on file. Would either of those work for you?"

CaseManagement.LogContact note: identity verification failed, customer redirected

  • Customer agrees to visit store or reset online resolution-no-account-access
  • Customer wants to escalate or is upset frustrated escalation-human

Resolution — No Account Access

Say"I've noted this contact on your account so that when you do verify, our team will have the full context. Is there anything else I can help you with that doesn't require account access?"

Inquiry Intake

CRM.PullAccount for customer.accountNumber, load customer.name, billing.previousCredits, billing.accountBalance

Say"Thanks for verifying, customer.name. I've got your account pulled up. Can you tell me which charge you're seeing a question about — do you have the amount or the description from your bill?"

BillingSystem.FetchBillDetail for billing.cycleAffected

  • Customer identifies a specific charge or line item charge-review
  • Customer is generally confused about the total bill amount full-bill-walkthrough
  • Customer mentions they never received a notification about a plan or rate change plan-change-review
  • Customer sounds upset or frustrated before details are gathered frustrated emotional-acknowledgment

Emotional Acknowledgment

Say"I completely understand — seeing an unexpected charge on your bill is frustrating, and I want to make sure we get to the bottom of this together. Let's take this one step at a time."
Detect
sentiment on customer response
  • Customer settles and is ready to continue neutral inquiry-intake
  • Customer remains highly agitated or begins demanding a supervisor escalating escalation-human

Full Bill Walkthrough

BillingSystem.FetchBillDetail for billing.cycleAffected

Say"Let me walk you through the main sections of your bill for this cycle. Your base plan charge is listed first, followed by any add-ons, taxes, and fees. I'll highlight anything that looks different from last month."

kb.telecom-billing-line-item-guide — review standard line items, taxes, and surcharge descriptions

  • Customer identifies a specific charge after walkthrough charge-review
  • Customer accepts the explanation confirmed resolution-explained
  • Customer remains confused or disputes a line charge-review

Plan Change Review

BillingSystem.FetchPlanChangeHistory for customer.accountNumber

Say"I can see any plan or rate changes that were applied to your account. Let me pull that history up now."

kb.telecom-plan-change-notification-policy — verify whether advance notice was required and sent

  • Notification was sent and change was valid charge-review
  • No notification found and change was applied without notice notification-missing error-confirmed
  • Customer disputes they authorized the change charge-review

Charge Review

BillingSystem.FetchChargeDetail for billing.chargeDate, billing.chargeDescription, billing.chargeAmount

Say"I'm looking at that charge now — billing.chargeDescription for billing.chargeAmount on your billing.cycleAffected bill. Give me just a moment to review the detail."

kb.telecom-billing-policy — check overage rules, promo expiration terms, and adjustment eligibility

Agent
analyze the charge detail against account plan, usage records, and billing policy.
Goal:determine whether the charge is valid, the result of a billing error, a promo expiration, an overage, or an unauthorized change.
Constraints:do not promise a credit before confirming eligibility; never access or modify financial records without completed identity verification; flag any pattern suggesting account fraud before proceeding.
Tools available:BillingSystem.FetchChargeDetail, BillingSystem.FetchUsageRecords, BillingSystem.FetchPlanChangeHistory, kb.telecom-billing-policy
  • Charge is valid and explainable explanation-delivery
  • Billing error confirmed error-confirmed error-confirmed
  • Charge is outside the 90-day policy adjustment window outside-policy-window
  • Usage or account pattern suggests possible fraud fraud-suspected escalation-human
  • Billing system is unavailable or returns an error system-down billing-system-down

Explanation Delivery

Say"Here's what I'm seeing: billing.chargeDescription was applied because billing.chargeAmount reflects the details I've reviewed. Let me walk you through exactly why this appeared."

kb.telecom-billing-policy — reference relevant policy language for promo expiration, overages, or rate changes

Say"Does that explanation make sense, or do you have any follow-up questions about this charge?"
Detect
customer acceptance or continued dispute
  • Customer accepts the explanation confirmed resolution-explained
  • Customer disputes the explanation or asks for a supervisor unsatisfied escalation-human
  • Customer accepts but asks for a goodwill credit goodwill-credit-evaluation

Error Confirmed

Say"You're right — I can see this charge was applied in error, and I sincerely apologize for that. I'm going to take care of this for you right now."

BillingSystem.FetchAccountBalance to confirm current billing.accountBalance and billing.previousCredits

  • Error amount is within agent authorization threshold within-auth credit-issuance
  • Error amount exceeds agent.authLimit exceeds-auth escalation-human

Outside Policy Window

Say"I can see this charge is from more than billing.policyWindowDays days ago. Our standard adjustment policy covers charges within that window, so I'm not able to issue a full reversal for charges older than that."

kb.telecom-goodwill-credit-policy — check goodwill credit eligibility and authorized limit

Say"What I can do is apply a goodwill credit within the amount I'm authorized to offer. Would that be helpful while we resolve this?"
  • Customer accepts goodwill credit offer goodwill-credit-evaluation
  • Customer rejects and requests further escalation escalation-human

Goodwill Credit Evaluation

Agent
determine the appropriate goodwill credit amount given account history, charge context, and policy limits.
Goal:offer the highest reasonable goodwill credit within authorized limits to retain the customer and resolve the inquiry.
Constraints:never exceed the goodwill credit cap defined in kb.telecom-goodwill-credit-policy; do not apply a second goodwill credit if one was issued within the last 90 days per billing.previousCredits.
Tools available:CRM.FetchAccountHistory, BillingSystem.FetchPreviousCredits, kb.telecom-goodwill-credit-policy
  • Goodwill credit is appropriate and within limits approved credit-issuance
  • Credit was already issued recently or customer is ineligible ineligible escalation-human

Credit Issuance

CreditAdjustmentModule.IssueCredit for credit.amount, linked to customer.accountNumber and billing.cycleAffected

BillingSystem.FetchAccountBalance to confirm updated billing.accountBalance post-credit

CRM.LogInteraction note: credit of credit.amount issued, reason, billing cycle, and agent ID

Say"I've applied a credit of credit.amount to your account. Your updated balance is billing.accountBalance. You should see this reflected on your next statement, and you may also receive a confirmation by email at customer.email."
Say"Is there anything else I can help you with today?"
  • Customer is satisfied and has no further questions confirmed resolution-credit-issued
  • Customer has an additional question or concern inquiry-intake

Billing System Down

Say"I'm sorry — I'm running into a system issue on my end that's preventing me from pulling up your full billing detail right now. I don't want to give you incomplete information."

CaseManagement.CreateCase priority: normal, note: billing inquiry pending system restoration, link customer.accountNumber

CaseManagement.GenerateReferenceNumber assign to case.referenceNumber

Say"I've logged your inquiry and assigned it reference number case.referenceNumber. Our team will reach out within one business day once the system is restored — would you prefer a callback or an email to customer.email?"

CRM.LogContact note: billing system unavailable, case created, reference case.referenceNumber

  • Customer confirms callback or email preference resolution-callback-scheduled
  • Customer is upset about the delay frustrated emotional-acknowledgment

Escalation to Human Agent

CRM.LogInteraction note: escalation triggered, reason, dispute amount billing.chargeAmount, account customer.accountNumber

CaseManagement.CreateCase priority: high, linked to customer.accountNumber, billing.chargeDescription, billing.chargeAmount

Say"I want to make sure you get the best possible resolution on this. I'm going to connect you with a senior billing specialist who has the authority to review this further. I'll make sure they have the full context so you won't need to repeat yourself."

Resolution — Charge Explained

Say"I'm glad I could help clarify that. If you ever have questions about a future bill, don't hesitate to reach out. Is there anything else I can help you with today?"

CRM.LogInteraction note: billing inquiry resolved via explanation, no credit issued

Resolution — Credit Issued

Say"Your account has been updated and the credit is confirmed. Thank you for bringing this to our attention, customer.name — we appreciate your patience. Take care!"

CRM.LogInteraction note: billing dispute resolved, credit issued, customer confirmed satisfied

Resolution — Callback Scheduled

Say"You're all set. Reference number case.referenceNumber is yours to keep, and we'll be in touch within one business day. Thank you for your patience, and I'm sorry for the inconvenience."

CRM.LogInteraction note: callback or email follow-up scheduled, system outage, reference case.referenceNumber

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ sms

Balance / Transaction Inquiry

Financial ServicesSupportBalanceTransactions

Intake

Say"Thank you for reaching out to Financial Services support. I can help you with your account balance or a transaction question. Could you please share your full name and either your account number or the last four digits of your card?"
Detect
customer intent from opening message
  • Customer asks about current balance balance-inquiry identity-verification
  • Customer asks about a specific transaction or unrecognized charge transaction-inquiry identity-verification
  • Customer immediately alleges fraud or unauthorized access fraud-allegation escalation-fraud
  • Intent unclear — ask a clarifying question, then identity-verification

Identity Verification

Say"To protect your account, I need to verify your identity. I'll send a one-time passcode to your phone number on file. Please share the code when you receive it."

OTPAuth.SendOTP to customer.phone

  • Customer provides correct OTP verified IdentityVerification.Confirm account-lookup
  • Customer cannot receive OTP, offer security question fallback otp-failed security-question-fallback
  • Customer has already failed one attempt — verification.attemptCount equals 1 second-attempt-warning

Second Attempt Warning

Say"That code didn't match. You have one attempt remaining before I'll need to pause access for your security. Please double-check the code and try again."
  • Customer provides correct OTP on second try verified IdentityVerification.Confirm account-lookup
  • Customer fails again unverified escalation-identity-failure

Security Question Fallback

Say"No problem — let me try another way. I'll ask you a security question linked to your account. Please answer as accurately as you can."

IdentityVerification.FetchSecurityQuestion for customer.accountNumber

Say"Here is your security question: please go ahead and answer when ready."
  • Customer answers correctly verified IdentityVerification.Confirm account-lookup
  • Customer answers incorrectly unverified escalation-identity-failure

Account Lookup

CoreBanking.GetAccountSummary for customer.accountNumber including account.status, account.balance, account.availableBalance, and customer.accountType

  • Account returned successfully and status is active account-found inquiry-routing
  • Account has a hold, freeze, or legal flag on it account-flagged escalation-account-flag
  • System returns an error or times out lookup-error system-error

Inquiry Routing

Detect
what the customer needs based on original request and account data
  • Customer needs current balance confirmed balance-inquiry balance-delivery
  • Customer needs a specific transaction explained transaction-inquiry transaction-lookup
  • Customer now mentions an unexpected fee fee-concern fee-review

Balance Delivery

CoreBanking.GetAccountSummary to retrieve account.balance and account.availableBalance for customer.accountType

Say"Here is your current account summary for your customer.accountType account. Your current balance is account.balance and your available balance is account.availableBalance. Is there anything specific about those figures you would like me to explain?"
  • Customer is satisfied and has no further questions satisfied resolution
  • Customer wants to see recent transactions as well wants-transactions transaction-lookup
  • Customer disputes a charge or says a transaction looks wrong transaction-dispute transaction-lookup
  • Customer raises concern about an unexpected fee fee-concern fee-review

Transaction Lookup

Say"I'll pull up the transactions for you now. Could you let me know the approximate date range or the amount you are looking into? That will help me find the right record quickly."

CoreBanking.GetTransactionHistory for customer.accountNumber over inquiry.dateRange

  • Transactions returned successfully transactions-found transaction-detail
  • No transactions found in the requested range no-results no-transaction-found
  • System returns an error lookup-error system-error

Transaction Detail

Say"I found the transaction. Here are the details: the charge of transaction.amount was made on transaction.date at transaction.merchant, categorized as transaction.category. Does that help explain what you were looking at?"

CRM.LogInteraction tagged balance-transaction-inquiry, linked to customer.accountNumber and transaction.id

  • Customer recognizes the transaction and is satisfied satisfied resolution
  • Customer does not recognize the transaction and believes it is fraudulent fraud-allegation escalation-fraud
  • Customer recognizes the merchant but wants to dispute the amount amount-dispute escalation-fraud
  • Customer has a question about a fee within the transaction fee-concern fee-review

No Transaction Found

Say"I wasn't able to find a transaction matching that description in the date range you gave me. It's possible it may appear under a different date or may still be pending. Would you like me to widen the search, or can you share any additional details?"
  • Customer provides more details — retry lookup transaction-lookup
  • Customer still cannot locate the transaction and suspects fraud fraud-allegation escalation-fraud
  • Customer is satisfied and wants to close satisfied resolution

Fee Review

Say"I can see you have a concern about a fee on your account. Let me take a look at the details and check whether any options are available to you."

CoreBanking.GetFeeDetail for fee.type and fee.amount on customer.accountNumber

kb.fee-waiver-policy — check one-time waiver eligibility criteria for customer.accountType and account standing

Agent
evaluate waiver eligibility for fee.type of fee.amount on customer.accountNumber using account history and kb.fee-waiver-policy.
Goal:determine whether the customer qualifies for a one-time courtesy fee waiver and, if so, apply it; if not, explain why clearly and empathetically.
Constraints:never apply more than one waiver per calendar year per account; never waive fees on accounts with an active hold or delinquency flag; do not promise a waiver before eligibility is confirmed.
Tools available:CoreBanking.GetFeeDetail, CoreBanking.ApplyFeeWaiver, CoreBanking.GetAccountStanding, kb.fee-waiver-policy
  • Customer is eligible and agent applies waiver waiver-applied CoreBanking.ApplyFeeWaiver fee-waiver-confirmation
  • Customer is not eligible for a waiver waiver-ineligible fee-waiver-declined
  • Customer is upset and escalation is warranted needs-escalation escalation-human

Fee Waiver Confirmation

Say"Good news — you qualify for a one-time courtesy waiver on that fee. I have applied it to your account and it should be reflected within one business day. Is there anything else I can help you with today?"

CRM.LogInteraction tagged fee-waiver-applied, linked to customer.accountNumber and fee.type

  • Customer is satisfied satisfied resolution
  • Customer has an additional question inquiry-routing

Fee Waiver Declined

Say"I reviewed your account and unfortunately I am not able to apply a waiver at this time. I want to be transparent — your account has already received a waiver this year, so another one isn't available under our current policy. I'm sorry I can't do more here. Would you like me to connect you with a specialist who may have additional options?"
  • Customer accepts the outcome satisfied resolution
  • Customer wants to speak to a specialist or is upset escalation-requested escalation-human

System Error

Say"I apologize — I'm having trouble retrieving your account information right now. This is a system issue on our end, not with your account. I'll log this so our team can look into it, and I can arrange for a callback at your convenience."

CRM.LogIncident tagged system-error, linked to customer.accountNumber and customer.phone

CRM.ScheduleCallback for customer.phone at next available slot

  • Customer agrees to callback and conversation ends satisfied resolution
  • Customer wants to try again immediately account-lookup
  • Customer is very frustrated and demands to speak with someone now escalation-requested escalation-human

Escalation — Fraud or Dispute

Say"I take this very seriously. Let me flag this right away and connect you with our fraud team who can open a formal investigation and protect your account immediately."

FraudDetection.FlagAccount for customer.accountNumber tagged suspected-fraud, linked to transaction.id

CRM.CreateCase priority: high, tagged fraud-dispute, linked to customer.accountNumber and transaction.id

fraud-alert-follow-up

Escalation — Identity Verification Failed

Say"For your protection, I'm not able to continue with the inquiry after multiple unsuccessful verification attempts. I'd encourage you to visit your nearest branch with a government-issued ID, or use our secure identity reset flow through the mobile app."

CRM.LogIncident tagged verification-failure, linked to customer.phone

CRM.CreateCase priority: high, tagged identity-lockout

Escalation — Account Flag

Say"I can see there is a restriction on your account that prevents me from sharing details through this channel. I'll need to connect you with a specialist who can review what's happening and assist you directly."

CRM.CreateCase priority: high, tagged account-flag-review, linked to customer.accountNumber

CRM.LogInteraction tagged account-flag-escalation

escalation-human

Escalation — Human Specialist

Say"I'm going to transfer you to one of our account specialists right now. They'll have the full context of our conversation so you won't need to repeat anything."

CRM.CreateCase priority: high, tagged specialist-handoff, linked to customer.accountNumber

CRM.LogInteraction tagged escalation-human, with case summary

Resolution

Say"I'm glad I could help. To summarize what we covered today: your account information has been confirmed and any actions taken are noted on your account. If you ever have another question, don't hesitate to reach out. Have a great day!"

CRM.LogInteraction tagged inquiry-resolved, linked to customer.accountNumber

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ chat▣ voice▣ sms

Amenity / Service Request

TravelHospitalityIn-StayGuest Serviceszinglekipsu

Greet and Identify

Say"Welcome! I'm happy to help with anything you need during your stay. Could I start with your name and room number?"
Detect
sentiment and intent on guest opening message
  • Guest provides name and room number confirmed verify-reservation
  • Guest expresses urgency or frustration upfront frustrated priority-flag
  • Guest message is unclear or incomplete unclear greet-and-identify

Verify Reservation

PMS.LookupReservation by guest.roomNumber and guest.name to confirm reservation.status

  • Active reservation found, room matches confirmed capture-request
  • Room number not found or name mismatch unverified secondary-verification
  • Reservation is checked out or future-dated inactive reservation-mismatch

Secondary Verification

Say"I want to make sure I have the right room. Could you share your reservation confirmation number or the email address used at check-in?"

PMS.LookupReservation by guest.reservationId as fallback

  • Identity confirmed on second attempt confirmed capture-request
  • Identity still cannot be confirmed unverified escalation-human

Reservation Mismatch

Say"I'm showing your reservation as either not yet checked in or already checked out. If you believe this is an error, I'd love to connect you with a team member who can look into it directly."
  • Guest believes it is an error escalation-human
  • Guest acknowledges wrong room or wrong stay greet-and-identify

Capture Request

Say"Great, thanks guest.name! You're all set in room guest.roomNumber. What can we bring or arrange for you today?"

kb.amenity-catalog — check available items, standard fees, and any quantity limits per room type

  • Guest states item or service clearly confirmed check-availability
  • Guest is unsure what is available unclear suggest-options
  • Guest raises a safety or accessibility concern safety escalation-human

Suggest Options

Say"Of course — here is a quick overview of what we can arrange: extra linens and towels, rollaway beds, cribs, toiletry top-ups, late checkout requests, luggage storage, and more. What sounds helpful for your stay?"
  • Guest selects an item or service confirmed check-availability
  • Guest still uncertain, requests human assistance unclear escalation-human

Check Availability

HousekeepingDispatch.CheckInventory for request.item against current stock and department capacity

  • Item is available and no fee applies available confirm-and-dispatch
  • Item is available with an associated fee fee_required disclose-fee
  • Item is unavailable or out of stock unavailable offer-alternative
  • Request is a late checkout or policy-bound service policy-check

Disclose Fee

Say"Just so you know, request.item carries a fee of item.fee which will be applied to your room account. Shall I go ahead and arrange it for you?"
  • Guest accepts the fee confirmed confirm-and-dispatch
  • Guest declines the fee declined offer-alternative
  • Guest disputes the fee frustrated escalation-human

Policy Check

kb.hotel-stay-policies — check late checkout availability, occupancy level, and any blackout conditions for reservation.checkoutDate

  • Late checkout is available within policy window available confirm-and-dispatch
  • Hotel is at full occupancy or request falls outside policy window unavailable policy-limitation

Policy Limitation

Say"I'm sorry — late checkout isn't available today due to high occupancy. What I can offer instead is complimentary luggage storage so you can enjoy the property until your departure. Would that work for you?"
  • Guest accepts the alternative confirmed confirm-and-dispatch
  • Guest requests a manager or fee waiver escalate escalation-human
  • Guest declines and has no further requests declined resolution-close

Offer Alternative

Agent
identify the closest available substitute for request.item using current inventory and kb.amenity-catalog.
Goal:propose one or two concrete alternatives that meet the guest's underlying need without over-promising on availability.
Constraints:only suggest items confirmed as in-stock by HousekeepingDispatch.CheckInventory; never promise a specific item that has not been verified available; do not offer complimentary upgrades without manager approval.
Tools available:HousekeepingDispatch.CheckInventory, kb.amenity-catalog
  • Suitable alternative identified and guest accepts confirmed confirm-and-dispatch
  • Guest declines all alternatives declined escalation-human

Confirm and Dispatch

HousekeepingDispatch.CreateTicket for request.item to room guest.roomNumber, urgency request.urgency, notes request.notes — returns dispatch.ticketId and dispatch.eta

CRM.LogInteraction for guest.reservationId tagged amenity-request, linked to dispatch.ticketId

Say"Perfect — I've sent that request through. You can expect request.item to arrive by dispatch.eta. Is there anything else I can help with during your stay?"
  • Guest confirms and has nothing further confirmed resolution-close
  • Guest has an additional request additional capture-request
  • Guest expresses dissatisfaction with the expected wait time frustrated priority-flag

Priority Flag

Say"I completely understand, and I apologize for the inconvenience. I'm marking this as a priority and re-dispatching now with a shortened delivery window."

HousekeepingDispatch.EscalateTicket for dispatch.ticketId, set priority: urgent — returns updated dispatch.eta

CRM.LogInteraction for guest.reservationId tagged priority-escalation

  • Re-dispatch confirmed and guest is satisfied confirmed resolution-close
  • Guest remains dissatisfied after re-dispatch frustrated escalation-human

Escalation to Human Agent

CRM.LogInteraction for guest.reservationId tagged escalation, with full request context and dispatch.ticketId

GuestMessaging.NotifyStaff to #guest-services-ops with guest.name, guest.roomNumber, request.item, and reason for escalation

Say"I want to make sure this is handled just right. I'm connecting you with a member of our team now who can assist you personally. Thank you for your patience, guest.name."

Resolution / Close

Say"You're all set, guest.name! Your request is confirmed and on its way. Don't hesitate to reach out if there is anything else we can do to make your stay more comfortable."

CRM.LogInteraction for guest.reservationId tagged resolved, linked to dispatch.ticketId

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat

SIM Swap / Number Porting

TelecomSIMPortingSecurity

Intake & Request Classification

Say"Thank you for contacting us. I can help you with a SIM swap or number transfer today. Could you tell me what you need — are you moving your number to a new SIM card, switching to a different carrier, or reporting a lost or stolen SIM?"
Detect
intent on customer reply
  • Customer requests SIM swap (upgrade or device change) sim-swap identity-verification
  • Customer requests port-out to another carrier port-out identity-verification
  • Customer reports lost or stolen SIM lost-stolen identity-verification
  • Customer reports a SIM change they did not request unauthorized suspected-hijacking

Identity Verification

Say"Before I can make any changes to your account, I need to verify your identity. Could you please provide your full name, date of birth, and your account PIN or security passphrase?"

IdentityVerification.CheckCustomer using customer.fullName, customer.dateOfBirth, customer.accountPIN against customer.phoneNumber

Detect
verification outcome
  • Verification passes verified account-eligibility-check
  • Verification fails on first attempt unverified verification-retry
  • Verification fails a second time or customer cannot provide credentials failed verification-lockout

Verification Retry

Say"I wasn't able to verify your identity with those details. Let's try once more — please double-check your date of birth and the PIN or passphrase on your account."

IdentityVerification.CheckCustomer using customer.fullName, customer.dateOfBirth, customer.accountPIN against customer.phoneNumber

Detect
verification outcome on retry
  • Verification passes verified account-eligibility-check
  • Verification fails again failed verification-lockout

Verification Lockout

Say"I'm sorry, I wasn't able to verify your identity after multiple attempts. For your security, I'm unable to proceed with this request over the phone or chat."

CRM.LogFailedVerification for customer.phoneNumber, flag request as locked

CRM.AddNote to account.id: "Identity verification failed — in-store ID required."

Say"Please visit any of our retail stores with a government-issued photo ID, and our team will be able to assist you there. Is there anything else I can help you with today?"

Account Eligibility Check

CRM.LookupAccount by customer.phoneNumber, retrieve account.id, account.fraudFlag, account.portFreeze

Detect
account status
  • Account has an active fraud flag fraud-flag fraud-hold-escalation
  • Account has an active port freeze port-freeze fraud-hold-escalation
  • Account is clear and eligible eligible request-routing

Request Routing

Detect
request type from request.type captured at intake
  • Request is a SIM swap sim-swap sim-swap-execution
  • Request is a port-out port-out port-out-execution
  • Request is for a lost or stolen SIM lost-stolen lost-stolen-sim

SIM Swap Execution

Say"Great — I've verified your identity and your account is in good standing. To complete the SIM swap, I'll need the ICCID number printed on your new SIM card. You can usually find it on the SIM card itself or its packaging."

SubscriberProvisioning.ValidateICCID for sim.newICCID

Detect
ICCID validation result
  • ICCID is valid and unassigned iccid-valid sim-swap-confirm
  • ICCID is invalid or already in use iccid-invalid sim-swap-iccid-error

SIM ICCID Error

Say"I wasn't able to validate that SIM card number. It may be invalid or already assigned to another account. Could you double-check the ICCID, or let me know if you have a different SIM card available?"
  • Customer provides a new ICCID to try sim-swap-execution
  • Customer cannot provide a valid ICCID escalation-human-agent

SIM Swap Confirm

Say"I'm about to move your number customer.phoneNumber to the new SIM card ending in the last four digits of your ICCID. This will deactivate your current SIM immediately. Can you confirm you'd like to proceed?"
Detect
customer confirmation
  • Customer confirms confirmed sim-swap-provisioning
  • Customer cancels or is unsure cancelled sim-swap-cancelled

SIM Swap Provisioning

SubscriberProvisioning.ExecuteSIMSwap for account.id, new ICCID sim.newICCID, deactivate old SIM

CRM.LogActivity on account.id: "SIM swap completed, new ICCID recorded."

CarrierMessagingGateway.SendSMS to customer.phoneNumber: "Your SIM swap is complete. If your service is not active within 15 minutes, please restart your device."

Say"Your SIM swap is done. Your number is now active on the new SIM card. Please restart your device if service doesn't appear within a few minutes."

resolution

SIM Swap Cancelled

Say"No problem — I've left your account unchanged. Please don't hesitate to reach out when you're ready to proceed. Is there anything else I can help you with?"

resolution

Port-Out Execution

Say"To transfer your number to a new carrier, I'll generate a port authorization code — sometimes called a PAC or transfer PIN — that your new carrier will need to initiate the transfer. Before I do, could you confirm the name of the carrier you're moving to?"

NumberPortabilityClearinghouse.LookupCarrier for port.receivingCarrier

Detect
carrier lookup result
  • Carrier found and eligible for port carrier-valid port-auth-code-generation
  • Carrier lookup fails or carrier not found carrier-not-found port-lookup-failure

Port Authorization Code Generation

NumberPortabilityClearinghouse.GeneratePAC for customer.phoneNumber, linked to account.id

CRM.LogActivity on account.id: "Port-out PAC generated for port.receivingCarrier."

Say"Your port authorization code is: port.authCode. Please provide this code to port.receivingCarrier when you activate your new service. The transfer typically completes within one business day, though it may take up to three days in some cases."
Say"Once the port completes, your current service on this account will end automatically. Is there anything else you'd like to know before you go?"

resolution

Port Lookup Failure

CRM.CreateTicket for account.id: "Port-out request — receiving carrier lookup failed. Carrier: port.receivingCarrier. Manual follow-up required."

CRM.LogActivity on account.id: "Carrier lookup failed during port-out request."

Say"I'm sorry — I wasn't able to reach the number portability system for your carrier right now. I've logged your request and a member of our team will follow up with your port authorization code within two business hours. Would you like us to reach you at customer.phoneNumber or a different number?"
Detect
callback preference
  • Customer provides callback number callback-provided port-callback-scheduled
  • Customer prefers email email-preferred port-callback-scheduled
  • Customer wants to wait and try again retry port-out-execution

Port Callback Scheduled

CRM.ScheduleCallback on case.id with customer contact preference

Say"You're all set — we'll be in touch shortly. I apologize for the inconvenience. Is there anything else I can help you with today?"

resolution

Lost or Stolen SIM

Say"I'm sorry to hear that. To protect your account right away, I'm going to suspend your current SIM immediately. Once that's done, I can issue a replacement SIM or walk you through your options."

SubscriberProvisioning.SuspendSIM for customer.phoneNumber, reason: lost-stolen

CRM.LogActivity on account.id: "SIM suspended — customer reported lost or stolen. Replacement process initiated."

FraudManagement.NotifyLostStolen for account.id

Say"Your current SIM has been suspended. Would you like me to arrange a replacement SIM now? You can have one shipped to your address on file or pick one up at a store."
Detect
customer preference for replacement
  • Customer wants replacement shipped ship-replacement replacement-sim-dispatch
  • Customer will pick up in store store-pickup store-pickup-guidance
  • Customer needs more time to decide undecided resolution

Replacement SIM Dispatch

SubscriberProvisioning.OrderReplacementSIM for account.id, ship to address on file

CRM.LogActivity on account.id: "Replacement SIM ordered — shipping to address on file."

CarrierMessagingGateway.SendSMS to customer.email: "Your replacement SIM has been ordered and will arrive in 3 to 5 business days. Activation instructions will be included."

Say"Your replacement SIM has been ordered and will arrive within 3 to 5 business days. Once you receive it, you can activate it through our app, website, or by calling us back. Is there anything else I can help you with?"

resolution

Store Pickup Guidance

Say"No problem — you can visit any of our retail locations to pick up a replacement SIM. Please bring your government-issued photo ID. Our team there can activate the new SIM for you on the spot. Would you like me to look up the nearest store to you?"

CRM.LogActivity on account.id: "Customer advised to pick up replacement SIM in store."

resolution

Suspected SIM Hijacking

Say"I understand — thank you for letting us know immediately. This is being treated as a priority security concern. I'm suspending your account right now to prevent any unauthorized use."

SubscriberProvisioning.SuspendAccount for customer.phoneNumber, reason: suspected-hijacking

FraudManagement.RaiseSIMHijackingAlert for account.id

CRM.CreateTicket for account.id: "Suspected SIM hijacking — customer did not authorize swap. Immediate fraud team review required."

Say"Your account has been suspended. Our fraud team has been alerted and will investigate this immediately. You'll receive a follow-up within one hour. Do not attempt to log into any accounts that use this phone number for two-factor authentication until you've heard from us."

escalation-fraud-team

Fraud Hold Escalation

Say"I can see there is a security hold on your account that needs to be reviewed before any changes can be made. I'm going to connect you with our fraud team right away — they're the only team authorized to make changes while this hold is active."

FraudManagement.EscalateAccount for account.id, reason: port-freeze-or-fraud-flag

CRM.LogActivity on account.id: "SIM/port request blocked — active fraud flag or port freeze. Escalated to fraud team."

escalation-fraud-team

Escalation — Fraud Team

FraudManagement.CreateCase for account.id, priority: high

CRM.NotifyFraudTeam with account.id, customer.phoneNumber, case summary

Say"I'm transferring you to our fraud and security specialists now. They have full visibility into your account and the authority to resolve this. Please stay on the line — I'll make sure they have all the context from our conversation."

Escalation — Human Agent

CRM.CreateTicket for account.id: "Customer requires human agent assistance — could not complete SIM swap or port automatically."

Say"I'm going to connect you with one of our senior support agents who can assist you further. Thank you for your patience — please stay on the line."

Resolution

Say"Is there anything else I can help you with today?"
Detect
customer response
  • Customer has another request new-request intake
  • Customer is done done close

Close

Say"Thank you for choosing us. Have a great day — goodbye!"

CRM.CloseInteraction for account.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ email▣ voice

Returns / Exchange Request

RetailReturnsExchangeSupport

Intake

Say"Hi there! I'm here to help with your return or exchange. To get started, could you please share your order ID or receipt number along with the email address on your account?"
  • Customer provides order ID and email order-verification
  • Customer says they don't have their order ID no_order_id order-lookup-fallback
  • Customer immediately states item is damaged or wrong damaged_wrong damaged-wrong-item

Order Lookup Fallback

Say"No problem — I can try to locate your order another way. Could you share your full name, email address, or the last four digits of the payment method used?"

CRM.LookupOrder by customer.name or customer.email or lookup.method

  • Order found order-verification
  • Order not found after lookup CRM.LogAttempt escalation-human

Order Verification

OrderManagement.GetOrder using order.id and customer.email

kb.return-exchange-policy — confirm return window, final sale rules, and eligible items for order.purchaseDate

  • Order verified and item is within return window reason-and-preference
  • Order verified but item is outside return window outside_window outside-return-window
  • Order verified and item is marked final sale final_sale final-sale-ineligible
  • Order cannot be verified after attempts escalation-human

Reason and Preference

Say"Great, I've pulled up your order. Could you let me know the reason for the return and whether you'd prefer a refund to your original payment method or an exchange for a different size, color, or item?"
  • Customer states reason and wants a refund wants_refund refund-path
  • Customer states reason and wants an exchange wants_exchange exchange-path
  • Customer is unsure — offer both options Say: "I can process either a full refund back to your original payment method or place a new exchange order — whichever works best for you." reason-and-preference

Refund Path

Agent
evaluate the refund request against policy and order data.
Goal:confirm eligibility, calculate refund amount for order.total, and determine whether to auto-process or route for approval based on refund value.
Constraints:never auto-approve refunds above USD 300 without escalation; always verify item condition stated by customer matches return.reason before proceeding.
Tools available:OrderManagement.GetOrder, ReturnsManagement.CheckEligibility, kb.return-exchange-policy
  • Refund is eligible and amount is within auto-approve threshold approved generate-return-label
  • Refund amount exceeds threshold high_value refund-approval
  • Item flagged as ineligible based on stated reason ineligible policy-exception-check

Generate Return Label

ReturnsManagement.CreateReturnShipment for item.sku linked to order.id

ShippingCarrier.GenerateLabel and capture return.label

EmailNotification.Send to customer.email with return.label, return instructions, and expected refund timeline

Say"You're all set! I've emailed your prepaid return shipping label to customer.email. Once we receive the item, your refund will be processed within 5 to 7 business days. Is there anything else I can help you with?"

resolution

Exchange Path

Say"Happy to set up an exchange for you. What size, color, or item would you like instead? Please also confirm the item you're returning and the reason for the exchange."

ReturnsManagement.CheckEligibility for item.sku and order.id

OrderManagement.CheckInventory for the requested replacement item

  • Replacement item is in stock place-exchange-order
  • Replacement item is out of stock Say: "Unfortunately the item you requested isn't available right now. I can set up a refund instead, or hold the exchange until it's restocked — which would you prefer?" reason-and-preference
  • Item is ineligible for exchange ineligible policy-exception-check

Place Exchange Order

OrderManagement.CreateExchangeOrder linked to order.id, capture exchange.orderId

ReturnsManagement.CreateReturnShipment for original item.sku

ShippingCarrier.GenerateLabel and capture return.label

EmailNotification.Send to customer.email with return.label, exchange.orderId, and exchange confirmation details

Say"Your exchange is confirmed! I've emailed you a prepaid return label for the original item and a confirmation for your new order exchange.orderId. The replacement will ship once we receive the return. Anything else I can help with?"

resolution

Refund Approval

Approval
Slack.RequestApproval to #returns-approvals, approver: returns_ops_lead
Context sent:order.id, order.total, customer.email, return.reason, agent risk assessment
  • Approved approved generate-return-label
  • Rejected rejected escalation-human
  • No response within 30 min escalation-human

Damaged or Wrong Item

Say"I'm really sorry about that — receiving a damaged or incorrect item is never acceptable. I want to get this resolved quickly for you. Could you share your order ID and email so I can pull up the details?"

OrderManagement.GetOrder using order.id and customer.email

CRM.LogIssue tagged damaged-or-wrong, linked to order.id

Agent
assess whether to reship immediately without requiring a return or to request photo evidence before reshipping.
Goal:resolve the customer's issue as fast as possible while following fraud-prevention guidelines for order.total.
Constraints:never skip return requirement for orders above USD 150 without manager approval; always log the issue in CRM before taking action.
Tools available:OrderManagement.GetOrder, OrderManagement.CreateReplacementOrder, ReturnsManagement.WaiveReturn, kb.damaged-item-policy
  • Low value order — waive return and reship immediately OrderManagement.CreateReplacementOrder EmailNotification.Send resolution
  • Higher value order — request photo evidence then reship evidence_required Say: "Could you reply with a photo of the item? Once I have that I'll get a replacement out to you right away." damaged-evidence-review
  • Ambiguous or high-risk needs_review escalation-human

Damaged Evidence Review

Say"Thanks for sending that over — I've reviewed the details and will get a replacement on its way to you now."

OrderManagement.CreateReplacementOrder linked to order.id

ReturnsManagement.WaiveReturn for item.sku

EmailNotification.Send to customer.email with replacement order confirmation and apology note

resolution

Outside Return Window

Say"I completely understand your frustration. Looking at your order, the purchase date of order.purchaseDate falls outside our policy.returnWindowDays-day return window, so I'm unable to process a standard return."

kb.return-exchange-policy — check goodwill store credit eligibility for borderline cases

  • Purchase is borderline outside window (within 7 days past deadline) — offer store credit as goodwill gesture Say: "As a one-time courtesy, I'd be happy to offer you store credit for the value of the item. Would that work for you?" goodwill-store-credit
  • Purchase is well outside window — explain policy firmly outside_window_firm Say: "Unfortunately I'm not able to make exceptions beyond our standard window, but I'd love to help you with anything else." resolution
  • Customer disputes and is highly dissatisfied highly_dissatisfied escalation-human

Goodwill Store Credit

ReturnsManagement.IssueStoreCredit for order.total linked to customer.email

EmailNotification.Send to customer.email with store credit amount and redemption instructions

CRM.LogNote tagged goodwill-credit, linked to order.id

Say"I've applied a store credit equal to the item value to your account — you'll receive an email with details shortly. We appreciate your understanding and hope to see you shop with us again."

resolution

Final Sale Ineligible

Say"I can see this item was purchased as a final sale item, which means it isn't eligible for returns or exchanges under our policy. I'm sorry for the inconvenience."

kb.return-exchange-policy — confirm no exceptions apply for final sale items

  • Customer accepts the policy resolution
  • Customer reports the item arrived damaged or wrong damaged_wrong damaged-wrong-item
  • Customer disputes and is highly dissatisfied highly_dissatisfied escalation-human

Policy Exception Check

Agent
review the specific reason the item was flagged ineligible and determine whether any documented policy exception applies.
Goal:find a fair resolution that aligns with policy while preserving customer satisfaction where possible.
Constraints:never override a final sale classification without manager-level approval; never issue a refund outside policy without an escalation record in CRM.
Tools available:ReturnsManagement.CheckEligibility, CRM.LogNote, kb.return-exchange-policy
  • Exception applies — proceed with return or exchange generate-return-label
  • No exception — inform customer and offer alternative support final-sale-ineligible
  • Requires manager judgment needs_review escalation-human

Escalation to Human Agent

CRM.CreateCase priority: high, tagged returns-escalation, linked to order.id and customer.email

Slack.Notify to #returns-escalations with case summary, order.id, order.total, and return.reason

Say"I want to make sure this gets the attention it deserves. I'm escalating your case to a senior member of our team who will be in touch shortly with a resolution. I'm sorry for the inconvenience and appreciate your patience."

Resolution

Say"Is there anything else I can help you with today? If you have any questions about your return or exchange, don't hesitate to reach out — we're always happy to help."

CRM.UpdateCase status: resolved, linked to order.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat

Prior Authorization Status Inquiry

HealthcarePrior AuthorizationMember ServicesProvider Services

Intake & Caller Identification

Say"Thank you for contacting member services. I'm here to help with a prior authorization inquiry. May I ask — are you calling as the member, or as a provider or practice staff member?"
Detect
caller relationship to member
  • Caller identifies as the patient or member confirmed member-identity-verification
  • Caller identifies as provider staff or office provider provider-identity-verification
  • Caller relationship unclear or caller does not respond unclear intake-verification

Member Identity Verification

Say"I'll need to verify your identity before I can share any authorization details. Could you please provide me with your Member ID and date of birth?"

EligibilitySystem.VerifyMember using member.id and member.dob

CRM.PullMemberRecord for member.id

  • Identity verified, coverage active verified auth-lookup
  • Identity verified but coverage inactive coverage_inactive coverage-issue
  • Identity cannot be confirmed after two attempts unverified escalation-human

Provider Identity Verification

Say"Thank you for calling on behalf of your practice. Could you please provide the member's Member ID or date of birth, your practice NPI, and the authorization reference number if you have it?"

ProviderDirectory.VerifyProvider using provider.npi or provider.practiceName

EligibilitySystem.VerifyMember using member.id and member.dob

  • Provider and member both verified, coverage active verified auth-lookup
  • Member coverage inactive coverage_inactive coverage-issue
  • Provider NPI not found in directory provider_not_found escalation-human
  • Identity cannot be confirmed unverified escalation-human

Coverage Issue

Say"Before we discuss the authorization, I want to let you know that the member's coverage appears to be inactive as of today. I'll flag this on the record. Depending on the coverage dates, this may affect the authorization request."

CRM.LogCoverageFlag for member.id with status member.coverageStatus

  • Caller wants to continue to auth lookup regardless auth-lookup
  • Caller wants to resolve coverage issue first escalation-human

Authorization Lookup

Say"Thank you. I'm pulling up the authorization request now. Could you confirm the medication or procedure being authorized and the date the request was submitted?"

AuthManagement.LookupAuthorization using auth.referenceNumber or member.id and auth.submittedDate and medication.name or procedure.name

  • Authorization record found, status is pending pending status-pending
  • Authorization record found, status is approved approved status-approved
  • Authorization record found, status is denied denied status-denied
  • Authorization record found, clinical info still outstanding info_outstanding clinical-info-outstanding
  • Authorization record cannot be located not_found auth-not-found

Status — Pending

Say"I can see that the authorization request for medication.name or procedure.name is currently pending review. It was submitted on auth.submittedDate and is within the standard review window."

AuthManagement.CheckReviewDeadline for auth.referenceNumber

  • Request is still within the payer's mandated review timeframe pending-next-steps
  • Request has exceeded the mandated review timeframe overdue escalation-urgent

Pending — Next Steps

Say"The expected decision date is auth.reviewDeadline. You don't need to take any action right now. If you haven't received a decision by that date, please contact us and we'll escalate on your behalf. Is there anything else I can help you with?"

CRM.LogInteraction for member.id with status pending and next review date auth.reviewDeadline

  • Caller has additional questions intake-verification
  • Caller is satisfied and ends interaction resolution

Status — Approved

Say"Great news — the authorization for medication.name or procedure.name has been approved. The approval is effective auth.effectiveDates. An approval letter has been or will be sent to both the member and the ordering provider."

CRM.LogInteraction for member.id with outcome approved

Portal.ConfirmLetterDelivery for auth.referenceNumber

  • Caller needs the approval reference number or letter resent resend-approval
  • Caller has no further questions resolution

Resend Approval Letter

Say"I'll arrange for the approval letter to be resent right away. Can you confirm the best delivery method — secure portal message or mailing address on file?"

Portal.ResendApprovalLetter for auth.referenceNumber to member.id

CRM.LogInteraction noting resend requested

  • Letter resent successfully letter_sent resolution
  • Delivery fails or address needs updating delivery_failed escalation-human

Status — Denied

Say"I'm sorry to share that the authorization request for medication.name or procedure.name has been denied. The reason on file is: auth.denialReason. I want to make sure you understand your options from here."

kb.appeal-rights-policy — confirm appeal window, peer-to-peer review rights, and deadline rules for auth.denialReason

Say"You have the right to appeal this decision. The appeal must be submitted by auth.appealDeadline. If the treating provider would like to speak directly with the medical reviewer, a peer-to-peer review can also be requested within that same window. Would you like me to note a formal appeal intent on this record?"

CRM.LogDenialOutcome for member.id and auth.referenceNumber with reason auth.denialReason

  • Denial involves urgent or life-sustaining treatment urgent escalation-urgent
  • Caller confirms intent to appeal appeal_intent escalation-appeal
  • Caller wants to discuss denial reason further denial-detail
  • Caller accepts denial and has no further questions resolution

Denial Detail

Say"The denial reason provided is: auth.denialReason. This determination was based on the clinical criteria applied to the submitted documentation. If additional clinical evidence is available, that can be included as part of a formal appeal."

kb.clinical-criteria-policy — look up criteria applied to medication.name or procedure.name

  • Caller now wants to initiate appeal appeal_intent escalation-appeal
  • Caller has no further questions resolution

Clinical Info Outstanding

Say"The authorization is currently on hold because additional clinical information is needed before a determination can be made. The outstanding documentation is: auth.outstandingDocs."
Say"The ordering provider's office will need to submit this information directly to the payer's clinical review team. Once received, the review will resume. Would you like me to send a notification to the provider's portal?"

Portal.SendClinicalInfoRequest to provider.npi with list auth.outstandingDocs

CRM.LogInteraction for member.id noting outstanding documents and notification sent

  • Notification sent and caller is satisfied notified resolution
  • Provider disputes what is listed as outstanding disputed escalation-human

Authorization Not Found

Say"I wasn't able to locate an authorization request matching the details you provided. Let me confirm what we have: Member ID member.id, submitted date auth.submittedDate, for medication.name or procedure.name."
Say"If those details are correct, it's possible the request did not process successfully. I'd recommend the submitting provider resubmit the request through the portal or by fax, and retain the submission confirmation number. I can also escalate this to our intake team to investigate."

CRM.LogInteraction for member.id noting authorization not found and submission details provided

  • Caller wants to escalate to intake team for investigation escalate_intake escalation-intake
  • Caller will resubmit and has no further questions resolution

Escalation — Urgent or Life-Sustaining Denial

CRM.FlagUrgentCase for member.id and auth.referenceNumber with priority high

AuthManagement.EscalateForExpediteReview for auth.referenceNumber

Say"Given the urgent nature of this request, I'm flagging this case for immediate escalation to our clinical review team and escalating for an expedited review. A specialist will be in contact within 24 hours. You'll receive a reference number for this escalation shortly."

CRM.LogInteraction noting urgent escalation initiated

Escalation — Formal Appeal

CRM.OpenAppealCase for member.id and auth.referenceNumber with deadline auth.appealDeadline

Portal.SendAppealInstructions to member.id and provider.npi

Say"I've noted your intent to appeal and opened an appeal case on your account. You'll receive written instructions outlining the appeal process and submission requirements. The deadline to submit is auth.appealDeadline. A dedicated appeals coordinator will follow up with you."

CRM.LogInteraction noting appeal case opened

Escalation — Intake Investigation

CRM.CreateIntakeInvestigationTicket for member.id with submission details auth.submittedDate and medication.name or procedure.name

CRM.LogInteraction noting intake escalation for missing authorization record

Say"I've created a ticket for our intake team to investigate. They will review submission records and follow up within two business days. Your ticket reference has been added to your account. Is there anything else I can help with?"
  • Caller has additional questions intake-verification
  • Caller is satisfied resolution

Escalation — Human Agent

CRM.LogInteraction for member.id noting reason for escalation

CRM.RouteToSpecialist priority standard

Say"I want to make sure you get the right help here. I'm transferring you to a member services specialist who can assist further. Please hold for just a moment, and thank you for your patience."

Resolution

Say"Thank you for contacting us today. To recap: I've provided you with the current status of your authorization request and any next steps. If you have further questions or need follow-up, don't hesitate to call back or send a message through the member portal. Take care."

CRM.LogInteraction for member.id with outcome resolved and summary of interaction

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ sms▣ email▣ chat

Policy Renewal Reminder / Confirmation

InsuranceRenewalRetentionBilling

Renewal Outreach

Twilio.SendSMS to customer.phone: "Hi customer.name, your policy policy.number is due for renewal on policy.renewal_date. Your updated premium is policy.renewal_premium. Reply CONFIRM to renew, CHANGE to update coverage, or call us to speak with an agent."

Twilio.SendEmail to customer.email with full renewal notice including policy.coverage_summary, policy.renewal_premium, and policy.expiry_deadline.

Detect
customer intent from inbound reply or inbound call
  • Customer responds CONFIRM or calls to confirm renewal confirmed identity-verification
  • Customer responds CHANGE or requests a coverage update change_coverage identity-verification
  • Customer calls or replies to dispute the premium amount dispute_premium identity-verification
  • Customer calls or replies with intent not to renew cancel_intent identity-verification
  • No response within 5 days Twilio.SendSMS follow-up reminder, then renewal-outreach-followup

Renewal Outreach Follow-up

Twilio.SendSMS to customer.phone: "Reminder: your policy policy.number expires on policy.expiry_deadline. Please confirm your renewal to avoid a lapse in coverage. Reply CONFIRM or call us."

Twilio.SendEmail to customer.email with final renewal warning and policy.expiry_deadline highlighted.

Detect
customer intent from inbound reply or call
  • Customer responds or calls to confirm confirmed identity-verification
  • Customer responds or calls to dispute or change dispute_premium identity-verification
  • Customer calls or replies with intent not to renew cancel_intent identity-verification
  • No response before expiry deadline CRM.LogNoResponse, flag policy for lapse review escalation-lapse-review

Identity Verification

Say"Thank you for reaching out about your policy renewal. For security purposes, I'll need to verify your identity before we proceed. Could you please provide your date of birth and the last four digits of your Social Security Number?"

PolicyManagement.VerifyIdentity using customer.dob and customer.ssn_last4 against policy.number

  • Identity verified successfully identity_verified policy-review
  • Identity cannot be verified after two attempts identity_failed escalation-human

Policy Review

PolicyManagement.GetPolicyDetails for policy.number to load policy.coverage_summary, policy.current_premium, policy.renewal_premium, and policy.renewal_date.

BillingPlatform.GetAccountBalance for policy.number to check billing.outstanding_balance.

Say"I've pulled up your policy policy.number. Your current premium is policy.current_premium and your renewal premium is policy.renewal_premium. Your renewal date is policy.renewal_date."
  • Customer has an outstanding balance and billing.outstanding_balance is greater than zero balance_due outstanding-balance-resolution
  • Customer's intent was to dispute the premium dispute_premium premium-dispute
  • Customer's intent was to change coverage change_coverage coverage-change-request
  • Customer's intent was to cancel cancel_intent cancellation-intent
  • No outstanding balance and customer is ready to confirm renewal confirmed renewal-confirmation

Outstanding Balance Resolution

Say"I can see there is an outstanding balance of billing.outstanding_balance on your account. Unfortunately, we'll need to resolve this before we can process your renewal to avoid a lapse in coverage. I can help you pay the balance now, or we can explore a payment plan."

BillingPlatform.GetPaymentOptions for policy.number

Agent
assess the customer's situation and determine the best path to resolve billing.outstanding_balance.
Goal:resolve the outstanding balance so renewal can proceed, either by collecting full payment now or arranging an approved payment plan.
Constraints:never proceed with renewal while a balance remains unresolved; payment plans must comply with kb.billing-payment-plan-policy; never waive balances without supervisor approval.
Tools available:BillingPlatform.ProcessPayment, BillingPlatform.CreatePaymentPlan, kb.billing-payment-plan-policy, CRM.LogInteraction
  • Customer agrees to pay balance in full now payment-processing
  • Customer agrees to a payment plan and plan is within policy limits payment_plan_arranged renewal-confirmation
  • Customer refuses to pay or situation is too complex for self-service balance_unresolved escalation-billing

Premium Dispute

Say"I completely understand — a premium change can be surprising. Let me walk you through the factors that contributed to the updated rate."

UnderwritingEngine.GetRateChangeFactors for policy.number

Say"The adjustment to policy.renewal_premium reflects changes in policy.coverage_summary, along with updated risk factors and market conditions. I'm happy to explain any of these in more detail."

kb.rate-change-explanations — retrieve standard explanations for common rate change drivers

Detect
customer reaction to the explanation
  • Customer accepts the explanation and is ready to renew accepted renewal-confirmation
  • Customer wants to explore lower-cost coverage tiers explore_options coverage-change-request
  • Customer formally disputes the rate and wants an official review formal_dispute escalation-underwriting
  • Customer still intends to cancel after explanation cancel_intent cancellation-intent

Coverage Change Request

Say"No problem — I can log your requested coverage changes. These will need to be reviewed before we finalize your renewal. Please go ahead and describe the changes you'd like to make."

CRM.LogCoverageChangeRequest for policy.number with customer's requested modifications.

Agent
review the requested coverage changes against underwriting eligibility rules.
Goal:determine whether the requested changes can be approved automatically or require underwriter review before renewal is finalized.
Constraints:never finalize renewal with unapproved coverage changes; changes outside standard guidelines must be escalated; do not quote a revised premium without system confirmation.
Tools available:UnderwritingEngine.CheckEligibility, PolicyManagement.GetCoverageOptions, kb.underwriting-guidelines, CRM.LogInteraction
  • Requested changes are within auto-approval parameters changes_approved renewal-confirmation
  • Requested changes require underwriter review needs_underwriter escalation-underwriting
  • Customer decides not to change coverage after all and wants to renew as-is confirmed renewal-confirmation

Cancellation Intent

Say"I'm sorry to hear you're considering not renewing. Before I process anything, I'd love to understand what's driving that decision — is it the premium, coverage, or something else?"
Detect
primary reason for cancellation intent
  • Price is the concern price_concern premium-dispute
  • Coverage or service concern coverage_concern coverage-change-request
  • Customer is switching to another insurer switching_insurer retention-offer
  • Customer confirms firm decision to cancel after retention scripting firm_cancel cancellation-logging

Retention Offer

kb.retention-offers — look up eligible discounts, bundling options, and loyalty incentives for policy.number

Say"I appreciate your loyalty and I'd like to see if we can find a better fit for you before you go. Based on your policy, here are some options that might help."

CRM.LogRetentionAttempt for policy.number

Agent
select and present the most relevant retention offers from kb.retention-offers based on the customer's stated reason for leaving.
Goal:retain the customer by presenting a genuinely compelling option — a discount, loyalty reward, or alternative coverage tier — that addresses their concern.
Constraints:never promise a discount that hasn't been confirmed as available via kb.retention-offers; do not exceed authorized discount thresholds without supervisor approval.
Tools available:kb.retention-offers, PolicyManagement.GetCoverageOptions, BillingPlatform.GetDiscountEligibility, CRM.LogInteraction
  • Customer accepts a retention offer and agrees to renew retention_accepted renewal-confirmation
  • Customer declines all offers and confirms cancellation intent firm_cancel cancellation-logging
  • Situation is complex or customer is very high value high_value_at_risk escalation-retention

Cancellation Logging

Say"I understand, and I respect your decision. I've noted your intent not to renew policy policy.number. Your coverage will remain active until policy.expiry_deadline. You'll receive written confirmation of non-renewal shortly."

PolicyManagement.LogNonRenewalIntent for policy.number with cancellation reason.

CRM.UpdateCustomerRecord with non-renewal status and reason code.

DocumentDelivery.SendNonRenewalConfirmation to customer.email.

Renewal Confirmation

Say"Great — let's confirm your renewal. Your policy policy.number will be renewed at a premium of policy.renewal_premium. Your current payment method on file is billing.payment_method ending in billing.payment_method_last4. Would you like to use this method, or update it?"
Detect
customer payment method preference
  • Customer confirms existing payment method use_existing_payment payment-processing
  • Customer wants to update payment method update_payment payment-method-update
  • Customer wants to schedule payment for a later date schedule_payment payment-scheduling

Payment Method Update

Say"Of course — please provide your new payment details and I'll update them securely on your account."

BillingPlatform.UpdatePaymentMethod for policy.number

  • Payment method updated successfully payment_updated payment-processing
  • Payment method update fails or customer has trouble payment_update_failed escalation-billing

Payment Scheduling

Say"I can schedule your renewal payment. Please note the payment must be received by policy.expiry_deadline to avoid any lapse in coverage. What date works for you?"

BillingPlatform.SchedulePayment for policy.number on customer's chosen date

  • Payment successfully scheduled payment_scheduled renewal-complete
  • Requested date is after expiry deadline date_invalid escalation-billing

Payment Processing

BillingPlatform.ProcessPayment for policy.number using billing.payment_method for policy.renewal_premium.

  • Payment processed successfully payment_success renewal-complete
  • Payment declined or failed payment_failed escalation-billing

Renewal Complete

PolicyManagement.ConfirmRenewal for policy.number and generate renewal.confirmation_number.

DocumentDelivery.SendRenewalConfirmation to customer.email with updated policy documents, policy.renewal_premium, and renewal.confirmation_number.

CRM.UpdateCustomerRecord with renewal status and renewal.confirmation_number.

Say"Your policy policy.number has been successfully renewed. Your confirmation number is renewal.confirmation_number and a full copy of your updated policy documents has been sent to customer.email. Is there anything else I can help you with today?"

Escalation — Human Agent

CRM.CreateCase priority: high, reason: identity-verification-failure, linked to policy.number.

Twilio.NotifyAgent on #renewal-support-queue with case summary and policy.number.

Say"I want to make sure you're taken care of, so I'm going to connect you with a specialist who can assist you further. Please hold for just a moment."

Escalation — Underwriting Review

CRM.CreateCase priority: high, reason: underwriting-review-required, linked to policy.number.

UnderwritingEngine.SubmitReviewRequest for policy.number with supporting details and customer's stated concerns.

Twilio.NotifyAgent on #underwriting-queue with case summary.

Say"I've submitted your policy for underwriting review. A specialist will be in touch within two business days to discuss your options. You'll receive an email at customer.email confirming the review has been opened."

Escalation — Billing

CRM.CreateCase priority: high, reason: billing-issue, linked to policy.number.

Twilio.NotifyAgent on #billing-support-queue with case summary, billing.outstanding_balance, and policy.renewal_date.

Say"I'm going to connect you with our billing team who has the tools to resolve this quickly and ensure your coverage doesn't lapse. Thank you for your patience."

Escalation — Retention Specialist

CRM.CreateCase priority: urgent, reason: high-value-cancellation-risk, linked to policy.number.

CRM.FlagForRetentionSpecialist for policy.number.

Twilio.NotifyAgent on #retention-team with customer summary, policy.renewal_premium, and cancellation reason.

Say"I want to make sure we do everything we can to find the right solution for you. I'm transferring you to one of our senior retention specialists right now who can work with you directly."

Escalation — Lapse Review

PolicyManagement.FlagPolicyForLapse for policy.number.

CRM.CreateCase priority: high, reason: no-response-lapse-risk, linked to policy.number.

Twilio.SendSMS to customer.phone: "Urgent: your policy policy.number has not been renewed and is at risk of lapsing on policy.expiry_deadline. Please call us immediately to avoid a gap in coverage."

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ voice▣ email

Payment / Billing Issue

RetailBillingPaymentsRefunds

Identity Verification

Say"Thank you for reaching out. I'm happy to help you sort out this billing concern. To get started, could you please confirm your full name and the email address on your account?"

CRM.LookupAccount using customer.email

  • Account found, identity confirmed transaction-lookup
  • Account not found or details do not match identity-retry
  • Customer reports suspected fraud or unauthorized access escalation-fraud

Identity Retry

Say"I wasn't able to locate an account with those details. Could you double-check the email address, or try an alternate one you may have used when placing your order?"

CRM.LookupAccount using customer.email

  • Account found on second attempt transaction-lookup
  • Still unable to locate account escalation-back-office

Transaction Lookup

Say"Thanks, customer.name — I've pulled up your account. Can you share the order ID or transaction ID and the charge amount and date you're seeing?"

OrderManagement.GetOrder using order.id

PaymentProcessor.GetTransaction using transaction.id

  • Transaction located and discrepancy confirmed discrepancy-assessment
  • Transaction found but charge appears valid valid-charge-explanation
  • Transaction cannot be found in any system manual-collection

Discrepancy Assessment

Agent
assess the billing discrepancy using transaction.id, transaction.amount, transaction.date, payment.method, and kb.billing-policy.
Goal:determine whether the discrepancy is a duplicate charge, an erroneous fee, a missing refund that was already issued, or a failed payment requiring retry.
Constraints:never initiate a refund above USD 150 without escalating for approval; always verify refund has not already been processed before initiating a new one; never modify account payment details without customer consent.
Tools available:PaymentProcessor.GetTransaction, PaymentProcessor.GetRefundStatus, OrderManagement.GetOrder, RefundPortal.CheckRefundHistory, kb.billing-policy
  • Duplicate or erroneous charge confirmed, refund not yet issued refund-initiation
  • Charge is valid upon review valid-charge-explanation
  • Refund was already issued, customer has not received it refund-status-check
  • Payment failed due to card or funds issue failed-payment-recovery
  • Refund amount exceeds agent authorization limit high_value escalation-approval
  • Issue cannot be reproduced or confirmed in any system manual-collection

Refund Initiation

Say"I can confirm that charge should not have been applied. I'm going to process a refund of refund.amount to your payment.method right now."

RefundPortal.InitiateRefund for transaction.id, amount refund.amount, linked to customer.accountId

EmailNotifications.Send to customer.email with refund confirmation, refund.id, and refund.timeline

Say"Your refund of refund.amount has been submitted. You should see it back on your payment.method within refund.timeline. I've also sent a confirmation to customer.email. Is there anything else I can help with?"
  • Customer confirms resolution resolution-confirmed
  • Customer has additional questions resolution-confirmed

Valid Charge Explanation

Say"I've reviewed the charge and I can see it was applied for a specific reason. Let me walk you through what happened."

kb.billing-policy — retrieve applicable policy documentation (restocking fees, subscription renewals, promotional terms)

Say"This charge of transaction.amount on transaction.date relates to your order order.id. Based on our billing policy, this was applied as — [restocking fee / subscription renewal / promotional adjustment]. I can send you the full policy documentation for your records."

EmailNotifications.Send to customer.email with charge explanation and relevant kb.billing-policy documentation

  • Customer accepts the explanation resolution-confirmed
  • Customer disputes the explanation and still believes charge is incorrect escalation-back-office
  • Customer reports the charge was not authorized by them escalation-fraud

Refund Status Check

PaymentProcessor.GetRefundStatus using refund.id

RefundPortal.CheckRefundHistory for customer.accountId

Say"Our records show a refund of refund.amount was issued on transaction.date with reference number refund.id. Refunds to payment.method typically take refund.timeline to appear, depending on your bank's processing times."
Say"If it has been longer than that window, I'd recommend contacting your bank or card issuer with this reference number: refund.id — they can trace it on their end."

EmailNotifications.Send to customer.email with refund.id, refund.status, and bank follow-up instructions

  • Customer is satisfied with the status and reference number resolution-confirmed
  • Refund is still within processing window, customer accepts resolution-confirmed
  • Refund is overdue and processor shows an error or failed status refund_failed escalation-back-office

Failed Payment Recovery

Say"It looks like this payment didn't go through. The most common reasons are an expired card or insufficient funds. Let me help you get this sorted."
  • Error message indicates expired card card_expired update-payment-method
  • Error message indicates insufficient funds insufficient_funds update-payment-method
  • Error message is unclear or system shows another reason unknown_error escalation-back-office

Update Payment Method

Say"I can guide you through updating your payment information so we can retry the charge. For security, you'll need to do this directly in your account settings — I can walk you through it step by step."

kb.billing-policy — retrieve payment update and retry procedures

Say"Once you've updated your card details, the system will automatically retry the payment within 24 hours, or you can place the order again. Would you like me to send you a direct link to update your payment method?"

EmailNotifications.Send to customer.email with payment update link and retry instructions

  • Customer confirms they have updated their payment method payment-retry-confirmed
  • Customer is unable to update payment method and needs further help escalation-back-office

Payment Retry Confirmed

Say"Great — your updated payment details are in place. The retry will process within 24 hours and you'll receive a confirmation email once it goes through. I'll send a summary to customer.email now."

EmailNotifications.Send to customer.email with payment retry confirmation and order.id status

  • Customer confirms resolution resolution-confirmed
  • Customer has additional questions resolution-confirmed

Manual Collection

Say"I wasn't able to locate that transaction in our systems right now, but I don't want to leave this unresolved. Let me collect the details so our back-office team can investigate."
Say"Could you please confirm the order ID or transaction ID, the exact charge amount, the date it appeared, the payment method used, and any error messages you received?"

CRM.CreateCase for customer.accountId, tagged billing-discrepancy, with transaction.amount, transaction.date, payment.method, and error.message

EmailNotifications.Send to customer.email confirming case has been opened with expected response timeline

  • Details collected and case created escalation-back-office

Escalation — Back-Office Review

CRM.CreateCase priority: high, tagged billing-review, linked to customer.accountId and order.id

CRM.AssignToBackOfficeQueue with all collected transaction details

Say"I've escalated this to our billing specialist team who have the tools to investigate further. You'll receive a follow-up at customer.email within one to two business days. Your case reference is available in your account."

EmailNotifications.Send to customer.email with case reference, summary of issue, and expected resolution timeline

Escalation — High-Value Refund Approval

Approval
Slack.RequestApproval to #billing-approvals, approver: billing_manager
Context sent:customer.accountId, transaction.id, transaction.amount, transaction.date, agent's discrepancy assessment, payment.method
  • Approved approved refund-initiation
  • Rejected rejected valid-charge-explanation
  • No response within 60 min escalation-back-office

Escalation — Fraud or Unauthorized Access

Say"I take this very seriously. I'm flagging your account immediately and connecting you with our fraud and security team who are equipped to handle this."

CRM.CreateCase priority: urgent, tagged fraud-suspected, linked to customer.accountId

CRM.FlagAccount for customer.accountId with fraud-hold status

PaymentProcessor.NotifyFraudTeam with transaction.id and customer.accountId

Say"Your account has been secured and our fraud team will be in touch at customer.email within 24 hours. Please do not attempt to use your payment method until you hear from them."

EmailNotifications.Send to customer.email with fraud case reference and next steps

Resolution Confirmed

Say"I'm glad we were able to get that sorted for you. Is there anything else I can help you with today?"

CRM.UpdateCase status: resolved, linked to customer.accountId and order.id

EmailNotifications.Send to customer.email with resolution summary and case closure confirmation

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ sms

Password / Login Recovery

Financial ServicesAccount AccessSecuritySupport

Intake — Login Issue

Say"Thank you for reaching out. I'm here to help you regain access to your account. Can you briefly describe what's happening when you try to log in?"
Detect
nature of login issue reported by customer
  • Customer states forgotten password or cannot log in forgotten-password identity-verification
  • Customer states account appears locked or suspended account-locked account-status-check
  • Customer states they did not initiate any lockout or suspects unauthorised access unauthorised-access escalation-fraud-review
  • Issue is unclear or customer is unsure unclear CRM.LogInteraction, ask one clarifying question identity-verification

Identity Verification

Say"Before I can make any changes to your account, I need to verify your identity. I'll ask you a few quick questions — please have your account details handy."

CRM.PullCustomerRecord using customer.registeredEmail or customer.accountNumber

IdentityVerification.InitiateCheck for customer.fullName, customer.dateOfBirth, customer.lastFourSSN

Say"Can you please confirm your full name, date of birth, and either your account number or the email address registered on the account?"
Detect
identity verification outcome from verification.attemptCount and submitted details
  • Identity confirmed on first or second attempt identity-confirmed account-status-check
  • Identity fails first attempt identity-failed-once CRM.IncrementAttemptCount, prompt retry identity-verification-retry
  • Account already shows two or more failed attempts max-attempts-reached escalation-identity-lockout

Identity Verification — Retry

Say"I wasn't able to match those details. You have one more attempt before the account must be secured for your protection. Please double-check and try again — confirm your full name, date of birth, and the last four digits of your Social Security Number."

IdentityVerification.InitiateCheck for customer.fullName, customer.dateOfBirth, customer.lastFourSSN

CRM.IncrementAttemptCount

Detect
identity verification outcome on retry
  • Identity confirmed on retry identity-confirmed account-status-check
  • Identity fails again on retry identity-failed-twice escalation-identity-lockout

Account Status Check

CoreBanking.GetAccountStatus for customer.accountNumber

FraudMonitoring.CheckFraudFlag for customer.accountNumber

Detect
account status returned by core banking and fraud monitoring systems
  • Account is clear with no flags or locks account-clear contact-info-check
  • Account is locked due to repeated failed login attempts account-locked-cooldown cooldown-notice
  • Account is flagged for suspicious or fraudulent activity fraud-flag-active escalation-fraud-review
  • Account status is suspended or otherwise restricted account-suspended escalation-account-review

Contact Info Check

Say"Great — your identity is confirmed and your account looks clear. I'll send a password reset link now. Just to confirm: should I send it to the email address or phone number we have on file?"

CRM.VerifyContactInfo for customer.registeredEmail and customer.registeredPhone

Detect
whether registered contact information is current and reachable
  • Registered email or phone confirmed current by customer contact-confirmed mfa-challenge
  • Customer states contact info is outdated or no longer accessible contact-outdated escalation-manual-id-verification

MFA Challenge

MFAOTP.SendCode to customer.registeredEmail or customer.registeredPhone based on reset.linkDeliveryMethod

Say"I've just sent a one-time verification code to your registered contact. Please share that code with me once you receive it so we can proceed."
Detect
MFA code submission and validation outcome
  • Customer provides correct OTP code otp-valid password-reset-initiation
  • Customer provides incorrect code otp-invalid escalation-mfa-failure
  • Customer states they did not receive the code otp-not-received MFAOTP.ResendCode, confirm delivery method mfa-challenge
  • Customer states the contact they received it on is not theirs otp-wrong-contact escalation-fraud-review

Password Reset Initiation

CoreBanking.InitiatePasswordReset for customer.accountNumber

EmailSMSDelivery.SendResetLink to customer.registeredEmail or customer.registeredPhone

Say"A secure password reset link has been sent to you now. The link is valid for 15 minutes. Once you've reset your password, please try logging in and let me know if access is restored."
Detect
customer confirmation of access outcome
  • Customer confirms new password set and login successful access-restored resolution-access-confirmed
  • Customer states link expired or not received link-expired EmailSMSDelivery.ResendResetLink password-reset-initiation
  • Customer states they are still unable to log in after reset reset-failed escalation-account-review

Cooldown Notice

CoreBanking.GetCooldownStatus for customer.accountNumber

Say"Your account was temporarily secured after several unsuccessful login attempts, which is a standard security measure. A mandatory waiting period is currently in effect before a reset can be issued."
Say"Once the cooling-off period has passed, you're welcome to contact us again and we can proceed with the reset right away. If you believe you did not make those login attempts yourself, please let me know now."
Detect
customer response to cooldown notice
  • Customer acknowledges and agrees to wait customer-accepts-cooldown resolution-cooldown-advised
  • Customer states they did not make those login attempts customer-denies-attempts escalation-fraud-review

Resolution — Access Confirmed

Say"Wonderful — I'm glad we got that sorted. Your access has been restored. For your security, I'd recommend choosing a strong, unique password and enabling two-factor authentication if you haven't already."

CRM.LogInteraction tagged password-reset-successful, linked to customer.accountNumber

CoreBanking.ClearLockStatus for customer.accountNumber

Resolution — Cooldown Advised

Say"Thank you for your patience. Your account remains protected in the meantime. Please reach back out once the waiting period has passed and we'll get the reset sent to you right away."

CRM.LogInteraction tagged cooldown-in-effect, linked to customer.accountNumber

Escalation — Identity Lockout

Say"I'm sorry — I wasn't able to verify your identity through this channel after the maximum number of attempts. For your protection, your account has been secured and the reset cannot proceed remotely."
Say"To restore access, you'll need to visit a branch in person with a valid government-issued photo ID, or complete our document verification process. I'll create a case for you now so the team is ready when you arrive."

CoreBanking.LockAccount for customer.accountNumber

CRM.CreateCase priority: high, tagged identity-verification-failed, linked to customer.accountNumber

CRM.LogInteraction tagged max-attempts-reached

Escalation — Fraud Review

Say"I want to make sure your account is fully protected. There's an indicator on your account that requires our fraud team to review it before any changes can be made. I'm going to escalate this to them now and a specialist will follow up with you shortly."

CoreBanking.FreezeAccount for customer.accountNumber

FraudMonitoring.EscalateCase for customer.accountNumber, flag: suspicious-activity

CRM.CreateCase priority: high, tagged fraud-review-required, linked to customer.accountNumber

CRM.LogInteraction tagged fraud-flag-escalation

Escalation — Manual ID Verification

Say"Because the contact information we have on file may not be current, I'm not able to send the reset link through our standard process. I'll need to pass this to our verification team who can walk you through an alternative identity confirmation method."

CRM.CreateCase priority: medium, tagged outdated-contact-info-manual-review, linked to customer.accountNumber

CRM.LogInteraction tagged contact-info-outdated-escalation

Escalation — MFA Failure

Say"The one-time code didn't match what we sent. For your account's security, I'm unable to proceed with the reset at this time. I'll refer this to our account security team who will reach out to you directly to complete the verification safely."

CRM.CreateCase priority: medium, tagged mfa-failure-escalation, linked to customer.accountNumber

CRM.LogInteraction tagged otp-verification-failed

Escalation — Account Review

Say"It looks like there may be an additional restriction on your account that I'm not able to resolve through this channel. I'm escalating this to our account management team who can investigate and get back to you promptly."

CRM.CreateCase priority: medium, tagged account-status-restricted, linked to customer.accountNumber

CRM.LogInteraction tagged account-review-escalation

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ voice▣ email

Order Modification / Cancellation

RetailOrdersCancellationModification

Identity Verification

Say"Hi, thanks for reaching out! I'd be happy to help with your order. To get started, can you please share your order number and the email address or phone number on your account?"

CRM.LookupCustomer using provided email or phone against customer.email or customer.phone

Detect
whether identity can be confirmed from customer's reply
  • Identity verified successfully confirmed order-status-check
  • Customer cannot provide matching credentials unverified identity-failure
  • Customer provides partial info — try one additional prompt partial identity-retry

Identity Retry

Say"No problem — let me try one more way to verify. Can you confirm the billing address or the last four digits of the payment method used for this order?"

CRM.LookupCustomer with alternate verification field

Detect
outcome of second verification attempt
  • Identity confirmed on second attempt confirmed order-status-check
  • Still unable to verify unverified identity-failure

Identity Failure

Say"I'm sorry — I wasn't able to verify your identity with the information provided. For your account security, I'm unable to make changes without verification. You're welcome to log in to your account directly and make modifications through self-service, or contact us again once you have your order confirmation email handy."

EmailNotification.Send to customer.email with self-service portal link and instructions

Order Status Check

Say"Got it — let me pull up order order.id for you right now."

OrderManagement.GetOrder using order.id to retrieve order.status, order.items, order.total, order.shippingAddress, order.paymentMethod

kb.order-modification-policy — check modification and cancellation window rules against order.status

  • Order is still in a modifiable state (not yet shipped) confirmed change-intent
  • Order has already shipped or is out for delivery shipped order-already-shipped
  • Order is flagged for fraud review fraud_flag escalation-fraud

Change Intent

Say"Great news — your order is still within our modification window. What change would you like to make? For example, I can update items or quantities, change your shipping address, or cancel the order entirely."
Detect
type of modification customer is requesting
  • Customer wants to cancel the full order cancel cancellation-confirm
  • Customer wants to change item or quantity item_change item-modification
  • Customer wants to update shipping address address_change address-modification
  • Customer is unsure or wants to discuss options unclear change-intent

Cancellation Confirm

Say"I can cancel order order.id for you. Just to confirm, you'd like to cancel all items in this order and receive a refund of order.total to your order.paymentMethod. Is that correct?"

kb.order-cancellation-policy — confirm refund eligibility and timeline for order.paymentMethod

Detect
customer confirmation of full cancellation
  • Customer confirms cancellation confirmed process-cancellation
  • Customer changes their mind or wants partial cancellation instead partial item-modification
  • Customer wants to reconsider — pause and re-engage uncertain change-intent

Process Cancellation

OrderManagement.CancelOrder for order.id

PaymentProcessor.InitiateRefund for refund.amount to order.paymentMethod

EmailNotification.Send to customer.email with cancellation confirmation and refund.timeline

Say"Your order has been successfully cancelled. A refund of refund.amount will be returned to your order.paymentMethod — typically within refund.timeline. You'll receive a confirmation email shortly."

resolution-complete

Item Modification

Say"Sure, I can help adjust the items on your order. Which item would you like to change, and what would you prefer instead — a different size, colour, quantity, or would you like to remove it entirely?"

OrderManagement.CheckInventory for the requested replacement or updated quantity against change.requested

  • Requested item or quantity is available apply-item-change
  • Requested substitution is out of stock out_of_stock offer-alternatives
  • Customer wants to remove item and remainder falls below free-shipping threshold below_threshold shipping-cost-warning

Offer Alternatives

Say"Unfortunately, the item you've requested isn't currently available. I have a few similar options I can suggest — would you like me to check what's in stock, or would you prefer to remove that item from your order or cancel entirely?"

OrderManagement.GetSimilarItems for item.substitute recommendations

Detect
customer response to alternative options
  • Customer selects an available alternative confirmed apply-item-change
  • Customer wants to remove the item instead remove shipping-cost-warning
  • Customer wants to cancel the full order cancel cancellation-confirm
  • Customer wants to keep the original order as-is keep resolution-complete

Shipping Cost Warning

Say"Just a heads-up — removing that item would bring your order total below our free-shipping threshold of order.freeShippingThreshold, which means a shipping fee of order.shippingCost would apply. Would you still like to proceed with the removal, or would you prefer to keep the item or choose an alternative?"
Detect
customer decision after being informed of shipping cost impact
  • Customer accepts the added shipping cost and confirms removal confirmed apply-item-change
  • Customer decides to keep the item keep resolution-complete
  • Customer wants to cancel the full order instead cancel cancellation-confirm

Apply Item Change

OrderManagement.ModifyOrder for order.id with updated order.items and quantities

PaymentProcessor.AdjustCharge if order total has changed, updating refund.amount as applicable

EmailNotification.Send to customer.email with updated order summary

Say"Done — I've updated your order. You'll receive a confirmation email with the revised details shortly. Is there anything else you'd like to adjust?"
Detect
whether customer has additional requests
  • Customer has another change to make more_changes change-intent
  • Customer is satisfied confirmed resolution-complete

Address Modification

Say"Of course — what is the new shipping address you'd like to use for this order?"

OrderManagement.UpdateShippingAddress for order.id with new order.shippingAddress

EmailNotification.Send to customer.email confirming the address update

Say"Your shipping address has been updated successfully. You'll receive a confirmation email with the new details. Is there anything else I can help you with?"
Detect
whether customer has additional requests
  • Customer has another change more_changes change-intent
  • Customer is satisfied confirmed resolution-complete

Order Already Shipped

Say"I'm sorry — it looks like your order has already shipped, so we're unable to make changes or cancel it at this stage. Once your package arrives, you're welcome to initiate a return and we'll process a refund from there. Would you like me to send you the return instructions?"

kb.return-policy — retrieve return window and process details

Detect
customer response
  • Customer wants return instructions sent confirmed EmailNotification.Send to customer.email with return instructions resolution-complete
  • Customer disputes the charge or is not satisfied disputed escalation-dispute
  • Customer accepts the outcome accepted resolution-complete

Escalation — Fraud Review

Say"I can see your order is currently under a brief security review. I'm going to connect you with a specialist who can look into this further and assist you directly."

CRM.CreateCase priority: high, tagged fraud-review, linked to order.id

Slack.Notify to #fraud-ops with order.id, customer.email, and order summary

Escalation — Dispute or High-Value Refund

Say"I want to make sure this is handled properly for you. I'm escalating this to a senior specialist who has the authorization to review and resolve this fully. You'll hear from them very shortly."

CRM.CreateCase priority: high, tagged charge-dispute, linked to order.id and refund.amount

Slack.Notify to #support-escalations with order.id, customer.name, refund.amount, and case summary

Resolution Complete

Say"You're all set! Is there anything else I can help you with today?"

CRM.UpdateCase status: resolved, linked to order.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ voice▣ email

Loyalty / Rewards Inquiry

RetailLoyaltyRewardsSupport

Intake & Account Lookup

Say"Welcome! I'd be happy to help with your rewards account. Could you share the email address or phone number linked to your loyalty account?"

LoyaltyPlatform.LookupAccount by customer.email or customer.phone

  • Account found, no fraud flag identity-verification
  • Account found with fraud flag fraud_flag escalation-human
  • Account not found account-not-found

Identity Verification

IdentityVerification.Verify using customer.fullName and customer.accountId

Say"Just to protect your account, can you confirm your full name and the last four digits of the phone number on file?"
  • Identity confirmed on first or second attempt verified inquiry-classification
  • Identity fails after two attempts unverified escalation-human

Account Not Found

Say"I wasn't able to find an account with that information. Let's try a different detail — do you have an alternate email address or phone number you may have used when signing up?"

LoyaltyPlatform.LookupAccount secondary attempt using alternate customer.email or customer.phone

  • Account found on secondary lookup identity-verification
  • Account still not found after secondary attempt escalation-human

Inquiry Classification

Say"Great, I've pulled up your account, customer.fullName. Your current balance is loyalty.pointsBalance points and your tier is loyalty.tier. What can I help you with today — checking your balance, redeeming rewards, reporting missing points, or something about expiration?"
Detect
customer intent from reply
  • Customer asks about balance or tier status balance_inquiry balance-and-tier-summary
  • Customer wants to redeem rewards redeem redemption-assistance
  • Customer reports missing points after a purchase missing_points missing-points-investigation
  • Customer asks about or disputes expiration expiration_inquiry expiration-review
  • Customer expresses frustration or perceived unfair treatment frustrated empathy-and-policy-explanation

Balance & Tier Summary

LoyaltyPlatform.GetAccountDetails for customer.accountId

Say"You currently have loyalty.pointsBalance points in your account. You're at the loyalty.tier tier, and your points are set to expire on loyalty.expirationDate. Would you like to know how to use your points, or is there anything else I can help with?"

kb.loyalty-rewards-policy — confirm tier benefits and point value rules

  • Customer wants to know how to redeem redeem redemption-assistance
  • Customer is satisfied and has no further questions resolved resolution
  • Customer raises a new concern new_concern inquiry-classification

Redemption Assistance

kb.loyalty-rewards-policy — retrieve current redemption options, minimum threshold, and any active promotions

Say"You can redeem your points in a few ways: as a discount at checkout online or in-store, for gift cards, or toward eligible products. Your current balance of loyalty.pointsBalance points is worth — shall I walk you through how to apply them right now?"

LoyaltyPlatform.GetRedemptionOptions for customer.accountId

  • Customer wants to apply reward to a current or upcoming purchase LoyaltyPlatform.ApplyReward redemption-confirmed
  • Customer wants to know options only, no redemption yet info_only resolution
  • Customer's balance is below the redemption minimum below_minimum below-minimum-notice

Below Minimum Notice

Say"It looks like your current balance of loyalty.pointsBalance points is just below the minimum needed to redeem. I can let you know exactly how many more points you'd need, and share some ways to earn them faster if that's helpful."

kb.loyalty-rewards-policy — confirm minimum redemption threshold and earning opportunities

  • Customer is satisfied with the explanation resolved resolution
  • Customer is frustrated or disputes the threshold frustrated empathy-and-policy-explanation

Redemption Confirmed

Say"Your reward has been applied successfully. You'll see the discount reflected at checkout. Is there anything else I can help you with?"

CRM.LogInteraction tagged reward-redeemed, linked to customer.accountId

  • Customer has no further questions resolved resolution
  • Customer has another question new_concern inquiry-classification

Missing Points Investigation

Say"I'm sorry to hear your points didn't post — let's look into that. Can you share the receipt number or order number and the approximate date of the purchase?"

OrderManagement.LookupTransaction by transaction.receiptNumber and transaction.purchaseDate

  • Transaction found and points not yet posted LoyaltyPlatform.CheckPendingPoints points-adjustment-review
  • Transaction found and points already posted points-already-posted
  • Transaction not found in order history unverified-transaction

Points Already Posted

Say"Good news — it looks like those points actually did post to your account, though they may take up to 48 hours to appear in your balance display. Your current total is loyalty.pointsBalance points. Does that match what you're seeing?"
  • Customer confirms the issue is resolved resolved resolution
  • Customer says the balance still looks wrong disputed escalation-human

Unverified Transaction

Say"I wasn't able to locate that transaction in our system with those details. Could you double-check the receipt number or share any other details — like the store location or the total amount? That will help me dig further."

OrderManagement.LookupTransaction secondary attempt using transaction.amount and transaction.purchaseDate

  • Transaction found on secondary lookup points-adjustment-review
  • Transaction still not found after second attempt escalation-human

Points Adjustment Review

Agent
evaluate whether a manual points adjustment is warranted based on transaction details and loyalty account history.
Goal:determine if the missing points qualify for a manual credit under policy, and calculate the correct points amount to award.
Constraints:never issue a points adjustment above the policy maximum without manager approval; cross-reference kb.loyalty-rewards-policy for eligible purchase categories before approving any credit.
Tools available:LoyaltyPlatform.GetAccountDetails, OrderManagement.LookupTransaction, kb.loyalty-rewards-policy
  • Adjustment is within policy limits and clearly supported low_risk_adjustment adjustment-approval
  • Adjustment amount is high, ambiguous, or flags a pattern high_risk_adjustment escalation-human

Adjustment Approval

Approval
Slack.RequestApproval to #loyalty-ops-approvals, approver: loyalty_ops_manager
Context sent:customer.accountId, customer.fullName, transaction.receiptNumber, transaction.purchaseDate, transaction.amount, agent's assessment of missing points
  • Approved approved LoyaltyPlatform.CreditPoints adjustment-confirmed
  • Rejected rejected adjustment-declined
  • No response in 30 min escalation-human

Adjustment Confirmed

Say"Great news — the missing points have been added to your account. Your updated balance is loyalty.pointsBalance points. You should see this reflected immediately. Is there anything else I can help you with?"

CRM.LogInteraction tagged points-adjustment-approved, linked to customer.accountId, reference adjustment.requestId

  • Customer is satisfied resolved resolution
  • Customer has another question new_concern inquiry-classification

Adjustment Declined

Say"I reviewed the details with our team, and unfortunately we weren't able to apply a points credit for this transaction based on our current policy. I know that's not the answer you were hoping for. I can share exactly why if that would be helpful, or connect you with a specialist who can look at this further."

kb.loyalty-rewards-policy — confirm decline reason to share with customer

  • Customer accepts the explanation resolved resolution
  • Customer remains dissatisfied or requests an exception frustrated escalation-human

Expiration Review

kb.loyalty-rewards-policy — retrieve expiration policy, grace window rules, and reinstatement eligibility criteria

Say"Your points are currently set to expire on loyalty.expirationDate. Our policy allows points to remain active as long as there's account activity within a set window. Would you like me to walk you through the details or check if any of your points are at risk?"
  • Points have not yet expired, customer wants prevention tips info_only resolution
  • Points expired recently and fall within the grace window within_grace_window escalation-human
  • Points expired outside the grace window outside_grace_window expiration-outside-grace
  • Customer is upset about the expiration frustrated empathy-and-policy-explanation

Expiration Outside Grace

Say"I understand how frustrating that is, especially when you've worked hard to earn those points. Unfortunately, the expiration date of loyalty.expirationDate falls outside the window where we're able to reinstate points under our current policy. I want to make sure I'm giving you the full picture — would you like me to explain how to keep future points active?"

kb.loyalty-rewards-policy — confirm grace window boundaries and prevention steps

  • Customer accepts the explanation resolved resolution
  • Customer is still dissatisfied and requests a policy exception frustrated escalation-human

Empathy & Policy Explanation

Say"I completely understand your frustration, and I want you to know your loyalty to us genuinely matters. Let me make sure I explain our policy as clearly as possible so this makes sense."

kb.loyalty-rewards-policy — retrieve relevant policy section to explain to customer

Detect
customer sentiment after explanation
  • Customer feels heard and is satisfied satisfied resolution
  • Customer remains dissatisfied and wants to escalate escalate escalation-human

Escalation to Human Agent

CRM.LogInteraction tagged escalation, linked to customer.accountId, with full interaction summary

Slack.Notify to #loyalty-ops with customer.accountId, customer.fullName, reason for escalation

Say"I want to make sure you get the best possible resolution on this. I'm connecting you with a member of our loyalty specialist team right now who has the authority to look into this further. Please hold just a moment."

Resolution

Say"I'm glad I could help sort that out for you today! Is there anything else you need before we wrap up?"

CRM.LogInteraction tagged resolved, linked to customer.accountId

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ text▣ chat▣ sms

General FAQ Telecom

TelecomFAQSupport

Intake

Say"Hi, thanks for reaching out to support! I'm here to help. What's your question today?"
Detect
intent category on question.raw
  • Question is purely general / no account data needed general general-lookup
  • Question requires account-specific details account-specific identity-verification
  • Question reveals a billing dispute or unexpected charge billing-dispute escalation-billing
  • Question reveals a service outage or technical fault technical-issue escalation-technical
  • Customer sounds frustrated or complaint is embedded in the question frustrated acknowledge-concern

Acknowledge Concern

Say"I hear you — that sounds frustrating, and I want to make sure we get this sorted for you properly. Let me help you with that now."
Detect
whether the underlying topic is account-specific or general
  • Underlying topic is general general general-lookup
  • Underlying topic requires account data account-specific identity-verification
  • Underlying topic is a billing dispute billing-dispute escalation-billing
  • Underlying topic is a technical fault technical-issue escalation-technical
  • Concern is a formal complaint requiring case handling complaint escalation-complaint

Identity Verification

Say"To pull up your account details, I'll need to verify your identity first. Could you please provide your account number or the phone number registered to your account?"

IdentityVerification.RequestAccountLookup using customer.accountNumber or customer.phone

Say"Thanks — and can you confirm your name and either your account PIN or the last 4 digits of your SSN?"

IdentityVerification.VerifyIdentity using customer.name, customer.pin, customer.ssn4

  • Identity verified successfully verified account-lookup
  • Identity verification fails after two attempts unverified unverified-general-only

Unverified — General Info Only

Say"I wasn't able to verify your identity, so I'm not able to access your specific account details right now. I can still share general information about our plans and policies, which may help. For anything account-specific, you're welcome to log in through the app or visit a store with a valid ID."

kb.general-plans-policy — retrieve publicly available plan and policy information relevant to question.topic

  • Customer accepts general information and asks a follow-up general general-lookup
  • Customer wants to try a different verification channel retry escalation-human
  • Customer has no further questions resolution

Account Lookup

CRM.GetAccountProfile using customer.accountNumber

AccountManagement.GetCurrentPlan to retrieve customer.currentPlan and customer.serviceType

Say"Got it — I can see your account. Let me look into that for you now."

account-specific-answer

Account-Specific Answer

Agent
answer question.raw using customer.currentPlan, customer.serviceType, and account profile from CRM alongside kb.faq-content.
Goal:deliver a precise, complete answer to the customer's question based on their actual account data and relevant policy, minimising back-and-forth.
Constraints:never disclose account credentials or full SSN; never make plan changes or billing adjustments without transferring to the appropriate change playbook; do not promise credits or refunds — route those to the billing escalation path.
Tools available:CRM.GetAccountProfile, AccountManagement.GetCurrentPlan, AccountManagement.GetBillingHistory, kb.faq-content, kb.general-plans-policy
  • Answer delivered and customer is satisfied confirmed resolution
  • Answer reveals a billing discrepancy or charge dispute billing-dispute escalation-billing
  • Answer reveals a service or network issue technical-issue escalation-technical
  • Topic is outside knowledge base coverage kb-gap escalation-human
  • Customer wants to make a plan change plan-change escalation-plan-change

General Lookup

kb.faq-content — retrieve answer matching question.topic

kb.general-plans-policy — supplement with plan or policy details if applicable

Say"Great question — let me find that for you."
Agent
compose a clear, plain-language answer to question.raw using kb.faq-content and kb.general-plans-policy.
Goal:give the customer a complete, accurate answer that does not require a follow-up, using only publicly available information.
Constraints:do not reference or imply any account-specific data; do not promise promotional offers not listed in kb.general-plans-policy; do not make commitments about network coverage beyond published service maps.
Tools available:kb.faq-content, kb.general-plans-policy
  • Answer delivered and customer confirms it resolved their question confirmed resolution
  • Customer follow-up question is still general general general-lookup
  • Customer follow-up requires account details account-specific identity-verification
  • Topic falls outside knowledge base coverage kb-gap kb-gap-acknowledgement
  • Customer reveals frustration or complaint frustrated acknowledge-concern

Knowledge Base Gap

Say"That's a great question, and I want to make sure you get an accurate answer — this one falls outside what I can confirm directly. I'd rather connect you with someone who has the full picture than give you incomplete information."
  • Customer agrees to be escalated confirmed escalation-human
  • Customer has a different, simpler question general general-lookup
  • Customer wants to try self-service and end the call self-service resolution

Escalation — Human Agent

CRM.CreateCase tagged faq-escalation, linked to customer.accountNumber, notes include question.raw

Say"I'm going to connect you with a specialist who can give you a definitive answer on this. One moment please."

Escalation — Billing

CRM.CreateCase tagged billing-dispute, priority: high, linked to customer.accountNumber

Say"It sounds like there may be a billing issue here — let me get you over to our billing team who can review the details and take action on your account."

Escalation — Technical Issue

CRM.CreateCase tagged technical-issue, linked to customer.accountNumber, notes include customer.serviceType

Say"This sounds like it needs a technical look — I'm routing you to our technical support team now so they can diagnose and fix this properly."

Escalation — Plan Change

Say"I can absolutely help you explore a plan change. Let me transfer you to the right flow to walk through your options and make that update."

plan-change-telecom

Escalation — Complaint

CRM.CreateCase tagged formal-complaint, priority: high, linked to customer.accountNumber, notes include question.raw

Say"I want to make sure your concern is properly recorded and handled. I'm escalating this to our customer relations team who will follow up with you directly."

Resolution

Say"Is there anything else I can help you with today?"
Detect
whether the customer has a follow-up question
  • Customer has another question follow-up intake
  • Customer confirms they are done confirmed close

Close

Say"Wonderful — glad I could help. Thanks for reaching out, and don't hesitate to contact us if anything else comes up. Have a great day!"
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ text▣ chat▣ sms

General FAQ / Product Info

Financial ServicesFAQProduct InfoSupport

Intake

Say"Thanks for reaching out. I'm here to help with any questions about our products, accounts, rates, fees, or policies. What would you like to know today?"
Detect
customer intent on opening message
  • Customer asks about a specific product or account type (HYSA, CD, checking, savings, loan) product-inquiry topic-identification
  • Customer asks about rates or current pricing rate-inquiry topic-identification
  • Customer asks about fees or charges fee-inquiry topic-identification
  • Customer asks about a policy or terms policy-inquiry topic-identification
  • Customer references their own account balance, transaction, or personal account detail account-detail-request identity-verification
  • Customer mentions a complaint, dispute, or expresses frustration complaint escalation-human
  • Customer explicitly asks to speak with a human human-request escalation-human
  • Intent unclear or ambiguous unclear clarify-question

Clarify Question

Say"Happy to help — could you give me a bit more detail? For example, are you asking about a specific product like a high-yield savings account or CD, or about a fee or policy on an existing account?"
Detect
clarified intent on follow-up reply
  • Customer clarifies a product, rate, fee, or policy topic product-inquiry topic-identification
  • Customer clarifies they need account-specific information account-detail-request identity-verification
  • Customer still unclear or asks for a human unclear escalation-human

Topic Identification

Agent
identify the precise product, fee, rate, or policy topic from query.topic and query.product, then determine the right knowledge base source to query.
Goal:pinpoint exactly what information the customer needs — product mechanics, current rate, fee schedule, or policy rule — so the correct, up-to-date record is retrieved.
Constraints:never guess at rates, fees, or policy details; never surface a rate or fee that has not been confirmed as current from the rate-fee-database or faq-cms; always note if customer.state may affect product availability or terms.
Tools available:FAQCMS.LookupTopic, RateFeeDatabase.QueryProduct, CRM.GetCustomerProfile, kb.product-catalog
  • Topic identified and maps to a standard product or policy kb.product-catalog knowledge-base-lookup
  • Topic identified and is rate- or fee-specific RateFeeDatabase.QueryProduct rate-fee-retrieval
  • Topic involves investment products or securities investment-topic investment-disclaimer-check
  • Topic cannot be matched to any known product or policy no-match knowledge-gap-handling

Knowledge Base Lookup

FAQCMS.LookupTopic for query.topic filtered by customer.state

CRM.GetCustomerProfile for customer.id to confirm customer.status (existing or prospective)

Detect
lookup result quality
  • Clear, current, single result returned result-found deliver-answer
  • Result returned but flagged as recently updated or version-changed stale-or-updated change-flag-review
  • No result or conflicting entries returned no-result knowledge-gap-handling

Rate / Fee Retrieval

RateFeeDatabase.QueryProduct for product.name filtered by customer.state

FAQCMS.LookupTopic for any associated fee-schedule or policy footnotes

Detect
promotional or time-sensitive context
  • Current rate or fee confirmed, no promotional flag result-found deliver-answer
  • Promotional rate or limited-time offer applies promo-active promo-terms-delivery
  • Rate or fee recently changed rate-changed change-flag-review
  • Query returns no data or an error no-result knowledge-gap-handling

Change Flag Review

RateFeeDatabase.QueryProduct to pull the most current record and confirm effective date

FAQCMS.LookupTopic to retrieve any change notice or customer communication linked to query.topic

Say"Just so you know, there was a recent update to this information — I want to make sure I give you the latest. One moment."
  • Most current version confirmed and retrieved deliver-answer
  • Change is tied to a promotional window promo-active promo-terms-delivery
  • Conflict persists or effective date is ambiguous conflict knowledge-gap-handling

Promo Terms Delivery

Say"Great news — there's a current promotional offer that applies here. Let me share the details, including when it expires."
Say"The current promotional rate or terms are: promo.terms. This offer is available until promo.expiry. Standard terms apply after that period."
Say"Would you like me to walk you through how to take advantage of this, or do you have any other questions?"
Detect
customer follow-up intent
  • Customer wants to know how to apply or enroll apply-intent escalation-human
  • Customer has another question more-questions intake
  • Customer is satisfied and has no further questions satisfied close-interaction

Investment Disclaimer Check

ComplianceDisclaimerLibrary.GetDisclaimer for query.product

Detect
nature of investment question
  • Customer is asking for general product information only (no personalized recommendation) general-info knowledge-base-lookup
  • Customer is asking for a recommendation or advice on what to buy or invest in advice-request escalation-human
  • Regulatory disclaimer required before answering kb.compliance-disclaimer-library deliver-answer-with-disclaimer

Deliver Answer

Agent
compose a clear, plain-language response to the customer's question using retrieved content from product.rateInfo, product.feeInfo, or product.policyInfo.
Goal:give the customer an accurate, complete, and easy-to-understand answer that directly addresses query.topic without jargon; tailor any state-specific nuances if customer.state affects the answer.
Constraints:never paraphrase or interpolate policy or rate data beyond what was retrieved; do not omit material terms or conditions; do not present promotional terms as permanent; always surface any applicable footnotes or conditions attached to the retrieved record.
Tools available:FAQCMS.LookupTopic, RateFeeDatabase.QueryProduct, kb.product-catalog, kb.fee-schedule
Say"Here's what you need to know about product.name: product.policyInfo"
Say"Is there anything about that I can clarify, or do you have another question?"
Detect
customer follow-up intent
  • Customer has a follow-up question on the same topic follow-up deliver-answer
  • Customer has a new question on a different topic new-topic intake
  • Customer asks something that now touches on their specific account account-detail-request identity-verification
  • Customer is satisfied satisfied close-interaction
  • Customer expresses frustration or dissatisfaction frustrated escalation-human

Deliver Answer With Disclaimer

Agent
compose a plain-language answer to the customer's general investment product question using retrieved content, then append the required regulatory disclaimer from disclaimer.text.
Goal:answer the general informational question accurately while ensuring the required compliance language is delivered before closing the topic.
Constraints:the disclaimer from ComplianceDisclaimerLibrary.GetDisclaimer must be appended verbatim and in full — it may not be shortened, paraphrased, or omitted; if the customer asks for a personalized recommendation, stop and route to escalation immediately.
Tools available:FAQCMS.LookupTopic, ComplianceDisclaimerLibrary.GetDisclaimer, kb.product-catalog, kb.compliance-disclaimer-library
Say"Here's a general overview of product.name: product.policyInfo"
Say"disclaimer.text"
Say"Do you have any other questions I can help with?"
Detect
customer follow-up intent
  • Customer has another general question more-questions intake
  • Customer asks for a personalized recommendation or advice advice-request escalation-human
  • Customer is satisfied satisfied close-interaction

Identity Verification

Say"To access any details specific to your account, I'll need to verify your identity first. This should only take a moment."

IdentityVerification.InitiateCheck for customer.id via query.channel

Detect
verification outcome
  • Verification passed identity-verified account-detail-lookup
  • Verification failed or customer unable to complete it identity-failed escalation-human
  • Customer declines verification declined offer-general-only

Offer General Only

Say"No problem — I'm not able to pull up account-specific information without verification, but I'm happy to answer any general questions about our products, rates, or policies."
Detect
customer response
  • Customer accepts general answer and asks a product question product-inquiry intake
  • Customer still wants account detail or requests a human human-request escalation-human
  • Customer has no further questions satisfied close-interaction

Account Detail Lookup

CRM.GetCustomerProfile for customer.id

RateFeeDatabase.QueryProduct for customer.accountType filtered by customer.state

Say"Thanks for verifying. I can now look into the details for your account."
Detect
nature of account detail requested
  • Customer is asking about their current rate or fee on an existing product rate-fee-detail deliver-answer
  • Customer is asking about a balance or recent transaction transaction-request escalation-human
  • Customer is asking about a policy as it applies to their account policy-detail deliver-answer

Knowledge Gap Handling

Say"I want to make sure I give you accurate information, and I don't have a confident answer to that specific question right now. Rather than guess, I'd like to connect you with someone who can give you a definitive answer."

CRM.LogInteraction with query.topic flagged as unresolved, route note to specialist.queue

  • Route to specialist queue escalation-human

Escalation to Human

CRM.LogInteraction with full conversation context, query.topic, customer.id, and escalation reason

CRM.CreateCase tagged faq-escalation, linked to customer.id and query.topic

Say"I'm going to connect you with one of our specialists who will be able to help you fully with this. You won't need to repeat yourself — I'm passing along everything we've covered."

Close Interaction

Say"You're all set. If you ever have more questions about our products or accounts, don't hesitate to reach out. Have a great day!"

CRM.LogInteraction with query.topic marked resolved and customer.status updated

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ sms▣ chat

Fraud Alert Follow-up

Financial ServicesFraudSupport

Alert Notification

FraudDetectionPlatform.FetchFlaggedTransaction to retrieve transaction.id, transaction.amount, transaction.merchant, transaction.datetime, and transaction.riskScore.

  • System lookup succeeds and transaction details are retrieved identity-verification
  • System lookup fails or returns no transaction record system_error system-lookup-failure

Identity Verification

Say"Hello, this is your Financial Services support agent reaching out about a recent alert on your account ending in card.last4. For your security, I need to verify your identity before we continue."
Say"Can you please confirm your full name, date of birth, and either your PIN or the answer to your security question on file?"

IdentityVerification.VerifyCustomer using customer.name, customer.dob, and customer.pin or customer.securityAnswer.

Detect
verification outcome from IdentityVerification.VerifyCustomer result
  • Identity verified successfully confirmed transaction-confirmation
  • Identity cannot be verified after two attempts failed verification-failure
  • Customer is uncertain or provides partial information partial verification-retry

Verification Retry

Say"No problem — let's try a different credential. Could you confirm your date of birth and the answer to your security question instead?"

IdentityVerification.VerifyCustomer retry with alternate credentials.

Detect
verification outcome on retry
  • Identity verified on retry confirmed transaction-confirmation
  • Identity still cannot be verified failed verification-failure

Verification Failure

Say"I'm sorry, but I'm unable to verify your identity at this time, so I'm not able to share any account details for your security. Please visit your nearest branch with a valid photo ID, or call us back once you have your credentials available."

CRM.LogInteraction tagged verification-failure, linked to account.id, noting no transaction details were disclosed.

Transaction Confirmation

Say"Thank you, customer.name — your identity is confirmed. We flagged a transaction on your account ending in card.last4: a charge of transaction.amount at transaction.merchant on transaction.datetime. Do you recognize this transaction?"
  • Customer confirms the transaction is theirs confirmed resolution-clear
  • Customer says the transaction is not theirs denied disputed-transaction
  • Customer is unsure or asks for more time uncertain transaction-detail-review

Transaction Detail Review

Say"Completely understandable — let me give you a moment. The charge was transaction.amount at transaction.merchant, dated transaction.datetime. Does that help you recall whether this was you?"

kb.fraud-dispute-policy — review dispute eligibility window for transaction.datetime.

  • Customer recognizes the transaction after further detail confirmed resolution-clear
  • Customer confirms the transaction is not theirs denied disputed-transaction
  • Customer remains unsure and cannot confirm or deny uncertain CRM.LogInteraction tagged pending-customer-response escalation-human

Disputed Transaction

Say"I'm sorry to hear that. I'm going to take immediate steps to secure your account. First, let me block your current card ending in card.last4 to prevent any further unauthorized use."

CardManagement.BlockCard for card.last4.

CRM.UpdateCase flagged as fraud-reported, linked to account.id and transaction.id.

Say"Your card has been blocked. Before I open a formal dispute, I also want to check — are there any other recent transactions on your account that you don't recognize?"
Detect
customer response regarding additional unrecognized transactions
  • Customer confirms only the single flagged transaction is unrecognized single-transaction open-dispute
  • Customer flags additional unrecognized transactions multiple-transactions expanded-fraud-event
  • Customer is distressed, upset, or requests immediate escalation distressed escalation-human

Expanded Fraud Event

Say"Thank you for letting me know — this is very important. I'm escalating your case immediately for a full account review. A specialist will contact you shortly, and your account will be secured while the review is underway."

CoreBanking.FreezeAccount for account.id.

FraudDetectionPlatform.FlagAccountCompromised linked to account.id.

CRM.CreateCase priority: critical, tagged expanded-fraud-account-review, linked to account.id.

DisputeManagement.OpenExpandedReview for account.id, noting all flagged transactions.

  • Case created and account frozen escalation-human

Open Dispute

DisputeManagement.OpenDispute for transaction.id, transaction.amount, transaction.merchant, linked to account.id. Capture dispute.caseId.

Say"I've opened a dispute for the charge of transaction.amount at transaction.merchant. Your dispute reference number is dispute.caseId. Our team will investigate and you'll receive an update within 5 to 7 business days."

replacement-card

Replacement Card

Say"I'll now arrange a replacement card for you. Can you confirm your current mailing address so we can get that sent out?"

CardManagement.IssueReplacementCard for card.last4, ship to replacement.deliveryAddress.

Approval
Slack.RequestApproval to #fraud-ops-approvals, approver: fraud_ops_lead
Context sent:account.id, transaction.id, transaction.amount, dispute.caseId, card block confirmed, replacement card address
  • Approved approved dispute-wrap-up
  • Rejected rejected escalation-human
  • No response within 30 min escalation-human

Dispute Wrap-up

CRM.UpdateCase with dispute.caseId, card block status, and replacement card shipping confirmation.

CoreBanking.ClearFraudAlert on transaction.id.

Say"Your replacement card will arrive within 5 to 7 business days. Your dispute is filed under reference dispute.caseId, and your account is now secured. Is there anything else I can help you with today?"
  • Customer has further questions or concerns escalation-human
  • Customer is satisfied and call can close resolution-clear

System Lookup Failure

CRM.LogInteraction tagged system-error-transaction-lookup, linked to account.id, noting transaction details could not be retrieved.

Say"I apologize — I'm experiencing a technical issue and I'm unable to retrieve the transaction details at this moment. I've flagged this for our team to review manually. Please call us back in a short while or visit your nearest branch, and we'll have this sorted for you as quickly as possible."

FraudDetectionPlatform.FlagForManualReview linked to account.id, tagged system-lookup-failure.

Escalation to Human Agent

CRM.CreateCase priority: high, tagged fraud-escalation, linked to account.id and transaction.id.

Slack.Notify to #fraud-ops with case summary including account.id, transaction.id, transaction.amount, card.last4, and reason for escalation.

Say"I'm connecting you now with a fraud specialist who has full visibility into your account and can take immediate action. Please hold for just a moment — you're in good hands."

Resolution — Clear

CoreBanking.ClearFraudAlert on transaction.id.

CRM.LogInteraction tagged alert-cleared-customer-confirmed, linked to account.id.

Say"Great — I've cleared the alert on that transaction and your account remains fully active with no further action needed. Thank you for confirming, customer.name. If you ever spot anything unfamiliar, don't hesitate to reach out. Have a great day."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ text

Device Troubleshooting

TelecomSupportDeviceTroubleshooting

Identity Verification

Say"Thanks for reaching out to support. I'm here to help get your device working again. Can I start by pulling up your account? Please share your name and the phone number or account number associated with your account."

CRM.LookupAccount using customer.phone or customer.accountId

  • Account found, identity confirmed verified device-details
  • Account not found or system lookup fails lookup_failed manual-account-collection
  • Customer cannot verify identity after two attempts escalation-human

Manual Account Collection

Say"No problem — I can look into this manually. Could you give me your full name, the device's phone number, and if you have it handy, the IMEI number printed on your device or in Settings?"

CRM.CreateManualRecord with collected details

Ticketing.FlagForDataSyncReview tagged data-sync-error, linked to customer.accountId

  • Details collected and record created device-details
  • Customer unable to provide sufficient details escalation-human

Device Details

Say"Great, I've got your account. Now let's look at the device. Can you confirm the make and model of the device you're having trouble with, and roughly when the issue started?"

DeviceManagement.LookupDevice using device.imei or customer.accountId

  • Device record found, pulling device.make, device.model, device.imei issue-intake
  • Device record not found CRM.NoteManualDevice collect device.make, device.model, device.imei manually issue-intake

Issue Intake

Say"Thanks. Tell me what's been happening with your device.make device.model — what does the problem look like, and have you already tried anything to fix it?"

CRM.LogInteraction note issue.description, issue.startDate, issue.stepsTried

Ticketing.CheckPriorContacts for customer.accountId, device.imei

Detect
prior contact history and issue severity
  • Same issue reported three or more times repeat_contact escalation-specialist
  • Customer expresses significant frustration or urgency frustrated escalation-specialist
  • Physical damage mentioned (cracked screen, water damage, etc.) physical_damage physical-damage-assessment
  • No prior contacts or fewer than three, standard issue basic-troubleshooting

Basic Troubleshooting

Say"Let's start with the most common fixes — these resolve the majority of issues. I'll walk you through each one and we can check as we go."

kb.device-troubleshooting-standard-steps — retrieve model-specific restart and reset instructions for device.make device.model

Say"First, let's do a full restart. Hold down the power button and select Restart — let me know once it's back up."

NetworkDiagnostics.RunCheck on device.imei — scan for signal, data connectivity, and provisioning issues

  • Network or provisioning fault detected network_fault NetworkDiagnostics.PushProvisioningFix post-basic-check
  • No network fault, continue with device-side steps software-update-check

Software Update Check

Say"Good. Now let's make sure your software is up to date. Go to Settings, then General or About, then Software Update. Do you see an update available?"
  • Customer confirms update available, guides them to install DeviceManagement.LogUpdateInitiated post-basic-check
  • Device already on latest software, no update available network-settings-reset

Network Settings Reset

Say"The next step is resetting your network settings — this won't delete your apps or photos, but it will clear saved Wi-Fi passwords. Go to Settings, then General, then Transfer or Reset, then Reset Network Settings."

kb.network-reset-instructions — confirm steps for device.make device.model

  • Customer completes reset and reconnects post-basic-check
  • Customer declines to proceed or step causes a new error advanced-troubleshooting

Post-Basic Check

Say"Let's see where we are — is the issue resolved now, or are you still seeing the same problem?"
Detect
customer confirmation of issue status
  • Issue resolved confirmed resolution-confirmed
  • Issue still present unresolved advanced-troubleshooting

Advanced Troubleshooting

Agent
diagnose the remaining fault using device.imei diagnostics, issue.description, issue.stepsTried, and kb.advanced-device-troubleshooting.
Goal:identify whether the fault is software-recoverable (factory reset candidate), network/provisioning-related, or hardware in nature, and recommend the correct next step.
Constraints:never recommend a factory reset without explicitly warning the customer that all data will be erased and confirming backup; never promise a replacement device without first confirming warranty or insurance eligibility.
Tools available:NetworkDiagnostics.DeepScan, DeviceManagement.GetDiagnosticsReport, kb.advanced-device-troubleshooting
  • Agent determines factory reset is appropriate path factory_reset_candidate factory-reset-guidance
  • Agent determines hardware fault likely hardware_fault physical-damage-assessment
  • Agent determines issue is unresolvable through scripted steps unresolved_scripted escalation-specialist

Factory Reset Guidance

Say"Based on the diagnostics, a factory reset is the most likely fix. This will erase everything on the device and restore it to out-of-box settings. Before we go further — do you have your data backed up, or would you like help with that first?"

kb.factory-reset-instructions — retrieve step-by-step for device.make device.model

  • Customer confirms backup complete and agrees to proceed DeviceManagement.LogFactoryResetInitiated post-factory-check
  • Customer wants to back up first CRM.NoteBackupPending callback-scheduling
  • Customer declines factory reset escalation-specialist

Post-Factory Check

Say"Give the device a moment to come back up — this can take a few minutes. Once you're back to the setup screen, let me know and we'll confirm everything is working."
Detect
customer confirmation of issue status after factory reset
  • Issue resolved confirmed resolution-confirmed
  • Issue still present after factory reset unresolved escalation-specialist

Physical Damage Assessment

Say"I'm sorry to hear the device has physical damage. Let me check what coverage options are available on your account."

WarrantyInsurance.CheckEligibility for device.imei, customer.accountId — retrieve device.warrantyStatus, device.insuranceStatus

  • Device under active warranty, damage type covered warranty_eligible warranty-repair-route
  • Device covered by insurance insurance_eligible insurance-claim-route
  • No warranty or insurance coverage no_coverage out-of-warranty-options

Warranty Repair Route

Say"Good news — your device is covered under warranty. I'll get a repair or replacement order started for you now."

WarrantyInsurance.InitiateWarrantyClaim for device.imei, customer.accountId

Ticketing.CreateTicket tagged warranty-repair, linked to device.imei

CRM.LogInteraction note warranty claim initiated

Say"I've opened a warranty claim. You'll receive a confirmation at customer.email with next steps — typically within one business day. Is there anything else I can help with today?"

resolution-confirmed

Insurance Claim Route

Say"Your device is covered under your insurance plan. I'll transfer you to the claims workflow now, where a specialist will walk you through filing your claim and arranging a replacement or repair."

Ticketing.CreateTicket tagged insurance-claim, linked to device.imei

CRM.LogInteraction note insurance claim routed

insurance-claims-workflow

Out-of-Warranty Options

Say"Unfortunately the device isn't covered under warranty or insurance for this type of damage. I can walk you through a couple of options — a paid repair through an authorized service center, or an upgrade to a new device on your account."

kb.repair-center-locator — retrieve authorized repair centers near customer

kb.device-upgrade-eligibility — check upgrade options for customer.accountId

  • Customer wants paid repair CRM.LogInteraction note repair referral provided, share repair center details resolution-confirmed
  • Customer wants to explore upgrade escalation-human
  • Customer wants to think it over CRM.LogInteraction note options presented resolution-confirmed

Callback Scheduling

Say"No problem at all — let's get a time scheduled for a senior tech specialist to call you back, so you have the time you need to get your backup sorted first."

CRM.ScheduleCallback for customer.phone, note issue.description and steps completed

Ticketing.CreateTicket tagged callback-pending, linked to device.imei

Say"You're all set — you'll receive a confirmation at customer.phone. The specialist will have the full notes from today so you won't have to repeat yourself."

resolution-confirmed

Escalation to Specialist

Say"I want to make sure you get the best help here. I'm escalating this to one of our senior tech specialists who has the tools to dig deeper into this. I'll make sure they have all the notes from today."

Ticketing.CreateTicket tagged specialist-escalation, priority: high, linked to device.imei, customer.accountId

CRM.LogInteraction note escalation reason: issue.description, prior contacts ticket.priorContactCount, steps completed

CRM.NotifySpecialistQueue with ticket summary

Say"A specialist will be with you shortly — or if you prefer a callback, just let me know and I can schedule that instead."
  • Customer prefers callback callback-scheduling
  • Customer holds for specialist escalation-human

Escalation to Human Agent

Ticketing.CreateTicket tagged human-handoff, priority: high, linked to device.imei, customer.accountId

CRM.LogInteraction note full interaction summary

Say"I'm connecting you with a team member right now who can take it from here. I've passed along everything from our conversation so you're all set."

Resolution Confirmed

Say"Glad we could sort that out! Just to confirm — is everything working as expected now, or is there anything else I can help you with today?"

Ticketing.CreateTicket tagged resolved, linked to device.imei, customer.accountId

CRM.LogInteraction note resolution summary, steps taken, outcome

CRM.CloseInteraction for customer.accountId

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ chat▣ email▣ sms

Complaint Escalation Stay/Trip Issue

TravelHospitalityComplaintsEscalation

Intake & Verification

Say"Thank you for reaching out. I'm sorry to hear you experienced an issue — I want to make sure we get this resolved for you. Could you please share your booking or reservation ID along with the property name and dates of your stay?"

CRM.LookupCustomer by customer.phone or customer.email

PropertyManagementSystem.LookupReservation by booking.id

  • Reservation found and account matched complaint-capture
  • Reservation not found in system manual-case-creation
  • Customer mentions a prior unresolved case CaseManagement.LookupCase by complaint.priorCaseNumber complaint-capture

Complaint Capture

Say"Thank you, customer.name — I can see your stay at booking.propertyName from booking.checkIn to booking.checkOut. I'm sorry things didn't go as expected. Could you walk me through what happened so I can fully understand the situation?"

LoyaltyPlatform.GetProfile by customer.loyaltyNumber

Detect
sentiment and escalation signals in customer description
  • Customer describes issue calmly and provides clear details neutral policy-check
  • Customer is highly upset, distressed, or emotional frustrated empathy-de-escalation
  • Customer explicitly mentions legal action, regulatory body, health or safety incident threatened escalation-human

Empathy & De-escalation

Say"I completely understand how frustrating this must have been, and I sincerely apologize for the experience you had. Your feedback matters enormously to us, and I am personally going to make sure this is handled properly. Please take your time."
Detect
whether customer de-escalates after empathy response
  • Customer calms and continues describing the issue neutral policy-check
  • Customer remains highly distressed or repeats legal / safety threat threatened escalation-human

Policy Check

kb.complaint-resolution-policy — verify complaint window, eligible remedy types, and authorization limits for booking.checkOut and complaint.nature

PropertyManagementSystem.GetReservationDetails for booking.id to confirm rate, room type, and recorded amenities

  • Stay is within complaint window and issue is policy-eligible remedy-assessment
  • Stay falls outside complaint window or issue is partially out of scope out-of-scope-partial-remedy
  • Booking channel is a third-party OTA OTAPartnerPortal.CheckBookingOwnership ota-redirect

Remedy Assessment

Agent
evaluate the appropriate remedy for complaint.nature and complaint.details against booking.id history and kb.complaint-resolution-policy.
Goal:determine whether to offer a full refund, partial refund, loyalty credit, apology voucher, or formal complaint documentation, and at what value.
Constraints:never authorize a refund or credit above USD 500 without human approval; never promise compensation before verifying the stay record; always document every remedy offer in the case management system regardless of outcome.
Tools available:PropertyManagementSystem.GetReservationDetails, LoyaltyPlatform.GetProfile, RefundBillingSystem.CheckEligibility, kb.complaint-resolution-policy
  • Remedy is within authorization limits and straightforward remedy-confirmation
  • Requested or warranted compensation exceeds authorization limit exceeds_limit escalation-human
  • Complaint involves a safety or health element safety_flag escalation-human

Remedy Confirmation

Say"Based on what you've described and your reservation details, I'd like to offer you remedy.type valued at remedy.value as a remedy for your experience. Does that sound acceptable to you?"
Detect
customer response to proposed remedy
  • Customer accepts the remedy confirmed process-remedy
  • Customer rejects and requests higher compensation dissatisfied escalation-review
  • Customer requests time to think and asks to be followed up case-documentation

Process Remedy

RefundBillingSystem.ProcessRefundOrCredit for booking.id with remedy.type and remedy.value

LoyaltyPlatform.ApplyCredit if remedy.type is loyalty credit

CaseManagement.CreateCase tagged complaint-resolved, linked to booking.id and customer.loyaltyNumber

CRM.UpdateCustomerRecord with case reference case.id and remedy details

Say"I've processed your remedy.type — you should see it reflected within 3 to 5 business days. I've also created case case.id as a record of this interaction. Is there anything else I can help you with today?"
  • Customer confirms receipt and has no further issues resolution-close
  • Customer raises an additional complaint complaint-capture

Escalation Review

Approval
Slack.RequestApproval to #hospitality-resolutions, approver: resolutions_manager
Context sent:booking.id, booking.propertyName, booking.checkIn, booking.checkOut, complaint.nature, complaint.details, customer.desiredResolution, remedy.type, remedy.value, customer.loyaltyNumber
  • Approved approved process-remedy
  • Rejected rejected remedy-final-offer
  • No response in 60 min escalation-human

Remedy Final Offer

Say"I've reviewed your case with our resolutions team. While we aren't able to meet the full amount requested, we'd like to offer remedy.type at remedy.value as our best available resolution. I understand this may not be everything you hoped for, and I want to sincerely apologize again for the inconvenience."
Detect
customer response to final offer
  • Customer accepts confirmed process-remedy
  • Customer declines and wishes to escalate further dissatisfied escalation-human

OTA Redirect

Say"I can see that your booking was made through a third-party platform, which means the payment and refund for your reservation are managed on their end. Unfortunately I'm not able to process a direct refund from our side, but I want to make sure you're not left without support."

CaseManagement.CreateCase tagged ota-redirect, linked to booking.id

OTAPartnerPortal.InitiateDisputeReferral for booking.id with complaint.nature and complaint.details

Say"I've created an internal record of your complaint as case case.id, and I've flagged the issue with the booking platform on your behalf. I'd recommend also contacting them directly to request the refund. Can I help you with anything else, or provide any documentation to support your claim?"
  • Customer is satisfied with the redirect guidance resolution-close
  • Customer is unsatisfied and escalates frustration frustrated escalation-human

Out-of-Scope / Partial Remedy

Say"I've reviewed your reservation details and I want to be transparent with you — based on our policy, this type of complaint typically needs to be raised within a specific window after checkout, and we're slightly outside that timeframe. I'm sorry for any confusion around that."

kb.complaint-resolution-policy — identify any goodwill or partial remedy options available outside the standard window

Say"While I'm not able to process a full remedy in this case, I do want to acknowledge the experience you had. I can offer remedy.type as a goodwill gesture, and I'll make sure your feedback is formally documented."

CaseManagement.CreateCase tagged out-of-scope, linked to booking.id

  • Customer accepts the partial or goodwill remedy confirmed process-remedy
  • Customer is dissatisfied and escalates frustrated escalation-human

Manual Case Creation

Say"I wasn't able to locate a reservation with those details in our system right now — that can sometimes happen if the booking is very recent or was made under a different contact. No worries; let me gather your information manually so we can investigate and follow up with you."

CRM.LookupCustomer by customer.email or customer.loyaltyNumber

CaseManagement.CreateCase tagged pending-lookup, with booking.propertyName, booking.checkIn, booking.checkOut, complaint.nature, customer.email, customer.phone

Say"I've created a pending case reference for you — case.id. Our team will investigate and reach out to you at customer.email within 2 business days. I'm sorry we couldn't resolve this immediately."
  • Customer accepts the follow-up path resolution-close
  • Customer is unwilling to wait and is highly agitated frustrated escalation-human

Escalation to Human Agent

CaseManagement.CreateCase priority: urgent, tagged escalation, linked to booking.id and customer.loyaltyNumber

CRM.UpdateCustomerRecord with escalation flag and complaint.details

Slack.Notify to #hospitality-escalations with case summary, booking.id, complaint.nature, and customer.desiredResolution

Say"I completely understand, and I want to make sure you're speaking with someone who has the full authority to address this. I'm escalating your case to our senior resolutions team right now — you'll be connected with a specialist shortly. Your case reference is case.id."

Case Documentation & Follow-up

Say"Of course — I'll document everything we've discussed and make sure your case is ready whenever you'd like to proceed. Your case reference is case.id, and you can reach us at any time to continue."

CaseManagement.CreateCase tagged pending-customer-response, linked to booking.id with complaint.details and proposed remedy.type

CRM.UpdateCustomerRecord with case.id and follow-up flag

SendEmail to customer.email with case summary, proposed remedy, and contact instructions

  • Customer returns and accepts remedy confirmed process-remedy
  • Customer returns and escalates dissatisfied escalation-human

Resolution & Close

Say"I'm glad we were able to work through this together. Your experience has been documented as case case.id, and we truly value your feedback — it helps us improve. We hope to welcome you back and provide the experience you deserve. Is there anything else I can help you with today?"

CaseManagement.CloseCase for case.id with resolution status

CRM.UpdateCustomerRecord with resolved status and remedy applied

LoyaltyPlatform.LogInteraction for customer.loyaltyNumber tagged complaint-resolved

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ voice▣ chat▣ email

Complaint Escalation

RetailComplaintsEscalationSupport

Greeting & Acknowledgement

Say"Thank you for reaching out. I'm sorry to hear you've had a difficult experience — I'm here to help get this sorted for you. Could I start with your name and order or account number?"
Detect
sentiment on customer opening message or tone
  • Customer provides details calmly or with mild frustration neutral identity-verification
  • Customer is immediately hostile or uses escalation language ("speak to a manager", "unacceptable") escalation_language pre-escalation-check
  • Customer is highly distressed or emotional frustrated empathy-bridge

Empathy Bridge

Say"I can hear how frustrating this has been, and I want you to know I take this seriously. Let me pull up your details right now so we can focus on finding a resolution for you."
  • Customer settles and is willing to continue identity-verification
  • Customer continues to demand a manager or escalate escalation_language pre-escalation-check

Identity Verification

CRM.LookupCustomer using customer.accountId or order.id

ContactHistory.GetLog for customer.accountId to retrieve prior contact history on this issue

  • Customer identity and order verified successfully verified complaint-review
  • Identity or order cannot be verified unverified proof-request

Proof Request

Say"I want to make sure I'm looking at the right account. Could you provide an alternative proof of purchase — such as a receipt, confirmation email, or the card used for payment?"
  • Alternate proof provided and accepted verified complaint-review
  • Customer cannot provide any proof unverified policy-exception-flag
  • Customer becomes agitated or refuses frustrated empathy-bridge

Complaint Review

OrderManagement.GetOrderDetails for order.id including order.value, order.date, and item details

ContactHistory.GetLog to confirm complaint.nature and complaint.date and any previous resolution attempts

Say"Thank you — I can see your order from order.date. Just to make sure I have everything right, can you walk me through what happened and what you were hoping we could do for you?"
Detect
nature of complaint submitted by customer
  • Complaint relates to a product defect or damage product_issue remedy-assessment
  • Complaint relates to a missing, late, or incorrect order fulfilment_issue remedy-assessment
  • Complaint relates to a service or staff experience service_issue remedy-assessment
  • Complaint involves a potential safety or legal concern safety_legal escalation-supervisor

Remedy Assessment

Agent
evaluate the appropriate remedy for complaint.nature based on order.value, contact.history, and kb.returns-compensation-policy.
Goal:identify the most suitable remedy — refund, replacement, discount, or formal apology — that falls within agent compensation authority and policy limits.
Constraints:never approve a refund or compensation exceeding the agent authority threshold for order.value without supervisor approval; never offer a remedy that contradicts kb.returns-compensation-policy; always check contact.history for prior remedy offers before making a new one.
Tools available:OrderManagement.GetOrderDetails, ContactHistory.GetLog, RefundCompensationTool.CheckEligibility, kb.returns-compensation-policy
  • Remedy identified within policy and agent authority remedy_ready remedy-offer
  • Order value or complexity exceeds agent authority threshold authority_exceeded escalation-supervisor
  • Issue falls outside return or compensation policy out_of_policy policy-exception-flag

Remedy Offer

Say"Based on what you've described, here's what I'd like to offer you: remedy.offered. Does that work for you?"
  • Customer accepts the remedy accepted resolution-logging
  • Customer rejects the remedy and gives a reason rejected alternative-remedy-offer
  • Customer demands a manager explicitly escalation_language pre-escalation-check

Alternative Remedy Offer

Agent
construct one alternative remedy within policy limits, accounting for the customer's stated reason for rejecting remedy.offered.
Goal:offer a single alternative that meaningfully addresses the customer's concern without exceeding compensation authority or policy.
Constraints:only one alternative offer is permitted before mandatory escalation; cannot exceed agent compensation authority; must not duplicate remedy.offered.
Tools available:RefundCompensationTool.CheckEligibility, ContactHistory.GetLog, kb.returns-compensation-policy
Say"I completely understand — let me see what else I can do. remedy.alternative — would that be acceptable?"
  • Customer accepts the alternative remedy accepted resolution-logging
  • Customer rejects the alternative remedy as well rejected pre-escalation-check
  • Customer demands a manager escalation_language pre-escalation-check

Pre-Escalation Check

Detect
whether situation involves abusive language or conduct
  • Customer language is abusive or threatening abusive conduct-warning
  • Customer is demanding escalation but not abusive escalation_language escalation-supervisor
  • Two remedy offers have been refused remedies_exhausted escalation-supervisor

Conduct Warning

Say"I want to help you resolve this, and I'll do everything I can — but I do need to ask that we keep the conversation respectful so I'm able to assist you. Can we continue on that basis?"
  • Customer agrees and calms down neutral remedy-offer
  • Customer continues to use abusive language abusive escalation-conduct

Policy Exception Flag

Say"I want to be upfront with you — based on our current policy, this situation falls outside what I'm able to action directly. I'm going to document your case and flag it for a supervisor review so it receives the right attention."

CRM.UpdateCase with complaint.nature, order.id, and exception request details

RefundCompensationTool.FlagException tagged policy-exception, linked to order.id

Approval
SupervisorQueue.RequestReview to #complaints-supervisor, approver: complaints_supervisor
Context sent:customer.accountId, order.id, order.value, complaint.nature, complaint.date, contact.history, reason for policy exception
  • Approved approved remedy-offer
  • Rejected rejected escalation-supervisor
  • No response within 30 min timeout escalation-supervisor

Escalation to Supervisor

CRM.UpdateCase with full complaint summary, remedy.offered, remedy.alternative, contact.history, and escalation reason

SupervisorQueue.Assign priority: high, tagged complaint-escalation, linked to order.id

Say"I want to make sure you get the best possible help here. I'm transferring you to a senior member of our team right now who has full authority to resolve this for you. I've passed them everything we've discussed so you won't need to repeat yourself."

Escalation — Conduct Transfer

CRM.UpdateCase with complaint.nature, contact.history, and conduct flag

SupervisorQueue.Assign priority: high, tagged conduct-escalation, linked to customer.accountId

Say"I'm going to transfer you to a senior agent who may be better placed to assist you. Thank you for your patience."

Resolution Logging

RefundCompensationTool.ApplyRemedy for order.id with agreed remedy details

CRM.UpdateCase with complaint.nature, remedy applied, and resolution status: closed

ContactHistory.LogResolution for customer.accountId with outcome summary

Say"Brilliant — I've gone ahead and processed that for you. You should receive a confirmation shortly. I'm really sorry again for the experience, and thank you for giving us the chance to put it right. Is there anything else I can help you with today?"
  • Customer has further queries greeting-acknowledgement
  • Customer is satisfied and done confirmed resolution-complete

Resolution Complete

Say"Wonderful. Thank you for your patience, customer.name — take care and have a great day."

CRM.UpdateCase status: resolved, satisfaction: confirmed

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat▣ text

Claim Status Inquiry

InsuranceClaimsSupport

Intake and Verification

Say"Thank you for contacting us. I'm here to help with your claim. Can I please have your full name, policy number, and either your claim number or date of loss?"

CRM.LookupCustomer using customer.fullName and policy.number

Say"To protect your account, I'll need to verify your identity. Could you please provide your date of birth or the last four digits of your Social Security Number?"

IdentityVerification.Verify using customer.dateOfBirth or customer.ssnLast4 against policy.number

  • Identity verified successfully verified claim-record-lookup
  • Identity verification fails or information does not match unverified identity-failure
  • Customer mentions legal action, complaint, or attorney representation escalation-intent escalation-special-handling

Claim Record Lookup

ClaimsManagementSystem.GetClaim using claim.number or claim.dateOfLoss and policy.number

  • Claims system returns record successfully claim-triage
  • Claims system is unavailable or returns an error system-down system-unavailable

Claim Triage

Detect
special handling flags on claim record — litigation, attorney-represented, fatality, major injury, or special handling
  • claim.litigationFlag or claim.attorneyFlag or claim.specialHandlingFlag is set special_handling escalation-special-handling
  • claim.fatalityFlag or major injury indicator is set major_injury escalation-special-handling
  • Claim status is denied denied denial-status
  • Claim status is approved, paid, under review, received, or closed standard_status standard-status-delivery

Standard Status Delivery

Say"I've pulled up your claim. Here's the current status: claim.status."

PolicyAdministrationSystem.GetOutstandingItems for claim.number

  • Outstanding action items exist for the customer items_outstanding outstanding-items-review
  • No outstanding items and claim is closed or paid resolution-and-close
  • No outstanding items and claim is still in progress resolution-and-close

Outstanding Items Review

Say"There are a few things we still need from you to move your claim forward. Let me go through those now."

kb.claims-outstanding-items-guide — reference for explaining document or action requirements to policyholders

Say"The outstanding items on your claim are: claim.outstandingItems. Once we receive those, our team will continue processing your claim. Would you like me to send a summary of these items to your preferred contact on file?"

CRM.LogInteraction with claim.number, customer.fullName, outstanding items noted, preferred contact customer.preferredContact

  • Customer requests follow-up summary TicketingPlatform.SendSummary to customer.preferredContact resolution-and-close
  • Customer has no further requests resolution-and-close

Denial Status

Say"I can see that a decision was made on your claim. I'm sorry to share that it was denied. The reason noted on file is: claim.denialReasonCode."

kb.claims-appeals-process — retrieve current appeals eligibility window, required forms, and submission instructions

Say"You do have the right to appeal this decision. I can walk you through the appeals process, including the timeframe and what documentation you'll need to submit. Would you like me to do that?"

CRM.LogInteraction with claim.number, denial reason claim.denialReasonCode, appeals information provided

  • Customer wants appeals information explained appeals-guidance
  • Customer expresses intent to file complaint or legal action escalation-intent escalation-special-handling
  • Customer declines appeals information and has no further questions resolution-and-close

Appeals Guidance

kb.claims-appeals-process — confirm deadlines, required forms, and submission address or portal link

Say"To file an appeal, you'll need to submit a written request along with any supporting documentation within the timeframe specified in your policy. I can send the appeal form and instructions directly to your preferred contact. Is there anything else you'd like me to clarify about the process?"

TicketingPlatform.SendAppealInstructions to customer.preferredContact with claim.number

CRM.LogInteraction with claim.number, appeals guidance provided, instructions sent to customer.preferredContact

  • Customer has additional questions resolution-and-close
  • Customer has no further questions resolution-and-close

Identity Failure

Say"I'm sorry — I wasn't able to verify your identity with the information provided, which means I'm unable to share claim details at this time. This is to protect the security of your account."

IdentityVerification.SendSecureLink to customer.preferredContact

Say"I've sent a secure verification link to the contact information we have on file. Once you complete that step, you'll be able to access your claim details through the portal, or you're welcome to call back and we can try again. Is there anything else I can help you with today?"

CRM.LogInteraction with policy.number, identity verification failed, secure link sent

System Unavailable

Say"I apologize — our claims system appears to be temporarily unavailable, and I'm not able to pull up your record right now. I don't want to leave you without an answer."

TicketingPlatform.CreateInquiry with customer.fullName, policy.number, claim.number, claim.dateOfLoss, customer.preferredContact — generate ticket.referenceNumber

Say"I've logged your inquiry and assigned it a reference number: ticket.referenceNumber. A member of our claims team will follow up with you within one business day using your preferred contact method. Is there anything else I can note on your behalf?"

CRM.LogInteraction with ticket.referenceNumber, system unavailability noted, callback committed

Escalation — Special Handling

Agent
assess the case context to prepare a complete handoff package for the claims legal or special handling team.
Goal:compile all available claim identifiers, flags, and customer-stated concerns so the receiving team can act immediately without re-contacting the customer for basic information.
Constraints:do not comment on claim merits, liability, settlement posture, or legal strategy; do not confirm or deny specific claim details beyond what has already been shared prior to flag detection; always notify the customer that a specialist is taking over before transferring.
Tools available:CRM.LogInteraction, TicketingPlatform.CreatePriorityCase, kb.special-handling-routing-guide
Say"I want to make sure your situation receives the right level of attention. I'm going to transfer you to our specialized claims team who handles cases like yours directly. They'll have your information and will be able to assist you fully."

TicketingPlatform.CreatePriorityCase with customer.fullName, policy.number, claim.number, claim.specialHandlingFlag, claim.litigationFlag, claim.fatalityFlag, claim.attorneyFlag, escalation reason noted

CRM.LogInteraction with claim.number, escalation to special handling team, reason flagged

  • Handoff package complete and specialist team notified escalation_ready escalation-human

Escalation to Human Specialist

Say"I'm now connecting you with a claims specialist. Please hold for just a moment — they have your information and will pick up right where we left off. Thank you for your patience."

CRM.UpdateCase priority: high, assigned to claims-special-handling-team, ticket.referenceNumber noted

Resolution and Close

Say"Just to recap: your claim claim.number is currently showing as claim.status. If anything changes or you have additional questions, don't hesitate to reach back out — we're happy to help."

CRM.LogInteraction with claim.number, inquiry resolved, status communicated, no further action required

Say"Is there anything else I can help you with today?"
  • Customer has additional questions or a new topic intake-and-verification
  • Customer confirms no further questions — interaction complete
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat▣ email

Cancellation Request

InsuranceCancellationRetention

Intake & Identity Verification

Say"Thank you for contacting us. I can help you with a cancellation request today. To get started, I'll need to verify your identity. Could you please provide your full name, date of birth, and policy number?"

CRM.LookupCustomer using customer.fullName and customer.dateOfBirth

PolicyManagement.LookupPolicy using policy.number

Detect
identity verification outcome
  • Identity confirmed and policy found confirmed reason-capture
  • Identity cannot be confirmed after two attempts unverified escalation-identity-failure
  • Policy number not found or does not match customer record mismatch escalation-identity-failure

Reason Capture

Say"Thank you, I've verified your account. Before I process your cancellation request, could you tell me the reason you'd like to cancel, and what effective date you have in mind for the cancellation?"

CRM.LogInteraction tag: cancellation-request, policy.number

Detect
cancellation reason category
  • Customer states price is too high or service dissatisfaction price-or-service retention-offer
  • Customer states they are switching providers switching active-claim-check
  • Customer states coverage no longer needed coverage-not-needed active-claim-check
  • Any other stated reason other-reason active-claim-check

Retention Offer

Say"I'm sorry to hear that. Before we proceed with the cancellation, I'd like to see if there's something we can do to address your concerns. We may be able to offer a premium discount, adjust your coverage levels, or explore a payment plan that better fits your budget."

kb.retention-offers — check available discounts and coverage adjustment options for policy.type

  • Customer is open to hearing options interested present-retention-options
  • Customer declines and confirms they want to cancel declines-retention active-claim-check

Present Retention Options

Agent
present the best-fit retention option to the customer based on cancellation.reason, policy.type, and kb.retention-offers.
Goal:identify and offer one or two targeted retention alternatives — discount, coverage adjustment, or payment plan — that directly address the customer's stated reason for cancelling.
Constraints:never promise a discount not listed in kb.retention-offers; never modify the policy without explicit customer confirmation; always confirm the customer understands the new terms before applying any change.
Tools available:PolicyManagement.GetPolicyDetails, BillingPayments.GetPaymentHistory, kb.retention-offers
  • Customer accepts a retention offer and wants to keep the policy retained PolicyManagement.ApplyRetentionChange retention-confirmed
  • Customer hears the options and still wants to cancel still-cancelling active-claim-check

Retention Confirmed

Say"Wonderful — I've applied the change to your policy. You'll receive a confirmation email shortly outlining the updated terms. Is there anything else I can help you with today?"

DocumentDelivery.SendEmail to customer.email with updated policy summary

Active Claim Check

PolicyManagement.CheckActiveClaims for policy.number

Detect
active claim status on policy
  • No active claims found no-claims effective-date-check
  • Active claim found on policy active-claim escalation-active-claim

Effective Date Check

PolicyManagement.ValidateCancellationDate using cancellation.requestedDate and policy.effectiveDate

kb.cancellation-backdating-rules — check whether backdating is permitted for policy.type

Detect
requested effective date validity
  • Requested date is today or in the future date-valid cancellation-terms-review
  • Requested date is in the past and backdating is permitted per policy rules backdating-permitted cancellation-terms-review
  • Requested date is in the past and backdating is not permitted backdating-not-permitted flag-backdating-issue

Flag Backdating Issue

Say"I see you've requested a cancellation date that falls in the past. Unfortunately, our policy guidelines don't allow us to backdate cancellations to that date. The earliest effective date we can process is today. Would you like to proceed with today's date, or would you prefer a future date?"
Detect
customer response to backdating limitation
  • Customer accepts today's date or a future date accepts-new-date cancellation-terms-review
  • Customer disputes the backdating limitation and refuses disputes-backdating escalation-fee-or-policy-dispute

Cancellation Terms Review

BillingPayments.GetOutstandingBalance for policy.number

BillingPayments.CalculateRefund for policy.number and cancellation.requestedDate

Say"Before I finalize the cancellation, let me go over the terms with you. Your policy will be cancelled effective cancellation.requestedDate. Any outstanding balance of policy.cancellationFee will need to be settled, and your estimated refund is policy.refundAmount. Do you have any questions about these terms before we proceed?"
Detect
customer response to cancellation terms
  • Customer confirms and wants to proceed confirmed-terms authorization-check
  • Customer disputes the cancellation fee disputes-fee escalation-fee-or-policy-dispute
  • Customer wants to reconsider reconsider reason-capture

Authorization Check

kb.cancellation-authorization-rules — check whether policy.type requires a licensed agent or supervisor to authorize

Detect
authorization requirement for policy type
  • Standard policy — no additional authorization required standard-auth process-cancellation
  • Policy type requires licensed agent or supervisor authorization requires-supervisor escalation-supervisor-authorization

Process Cancellation

PolicyManagement.CancelPolicy policy: policy.number, effectiveDate: cancellation.requestedDate

BillingPayments.ProcessRefund amount: policy.refundAmount, to: customer.email

CRM.UpdateRecord tag: policy-cancelled, policy.number, cancellation.reason

DocumentDelivery.SendEmail to customer.email with cancellation confirmation and cancellation.confirmationNumber

Say"Your policy has been successfully cancelled effective cancellation.requestedDate. You'll receive a confirmation email at customer.email shortly, which includes your confirmation number and refund details. Is there anything else I can help you with today?"

cancellation-complete

Cancellation Complete

Say"Thank you for being a customer with us. If you ever need coverage again in the future, we'd be happy to help. Take care."

CRM.LogInteraction tag: cancellation-complete, policy.number, cancellation.confirmationNumber

Escalation — Active Claim on Policy

Say"I've found that there is currently an active claim on your policy. We're unable to process a cancellation while a claim is open, as this could affect your coverage for that claim. I'm going to connect you with a specialist who can walk you through your options and the implications in detail."

CRM.LogInteraction tag: escalation-active-claim, policy.number, claim.id, claim.status

CRM.CreateCase priority: high, tag: cancellation-blocked-active-claim, policy.number

Escalation — Identity Failure

Say"I'm sorry, but I'm unable to verify your identity with the information provided, which means I can't process this request over the phone. For your security, cancellation requests can be submitted in writing by visiting a branch or mailing a signed request to the address on your policy documents. We can also send a secure email link if you have your email on file with us."

CRM.LogInteraction tag: identity-verification-failed, policy.number

Escalation — Fee or Policy Dispute

Say"I understand your concern, and I want to make sure this is handled fairly. I'm going to escalate this to a senior member of our team who has the authority to review and address your dispute directly."

CRM.CreateCase priority: high, tag: cancellation-dispute, policy.number, cancellation.reason

CRM.LogInteraction tag: escalation-dispute, policy.number

Escalation — Supervisor Authorization Required

Say"Your policy type requires authorization from a licensed agent or supervisor before the cancellation can be finalized. I'm going to transfer you now — everything we've discussed is noted on your account so you won't need to repeat it."

CRM.LogInteraction tag: escalation-supervisor-auth-required, policy.number, policy.type

CRM.CreateCase priority: normal, tag: supervisor-auth-cancellation, policy.number

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ chat▣ voice▣ email

Booking Modification

TravelHospitalityBookingsSupport

Verify Customer

Say"Thank you for reaching out. I'd be happy to help you modify your reservation. Could you please provide your booking reference or confirmation number and the name on the reservation?"

CRM.LookupCustomer using customer.name and booking.reference

  • Customer provides valid reference and name, identity confirmed verified retrieve-booking
  • Customer cannot provide reference or name fails to match identity-not-found
  • Customer mentions a group booking or multi-leg itinerary escalation-complex-booking

Identity Not Found

Say"I wasn't able to locate a reservation with those details. Let's try a different approach — could you provide the email address used at the time of booking, or a phone number?"

CRM.LookupByContact using customer.email or customer.phone

  • Record found and customer confirmed verified retrieve-booking
  • Still no match after second attempt escalation-complex-booking

Retrieve Booking

ReservationSystem.GetBooking using booking.reference

LoyaltyDB.GetCustomerTier using customer.name to resolve customer.loyaltyTier

Say"I can see your reservation. Here are the current details: booking reference booking.reference, dates booking.currentDates, room or travel type booking.roomType, and guest name booking.passengerName. What change would you like to make today?"
Detect
intent on customer's requested modification
  • Customer wants to change dates change-dates check-date-availability
  • Customer wants to change room or cabin type change-room-type check-room-availability
  • Customer wants to update passenger or guest name change-name process-name-change
  • Customer requests multiple changes at once multiple-changes escalation-complex-booking
  • Booking was made through a third party third-party-booking third-party-advisory

Check Date Availability

Say"Let me check availability for your requested new dates."

AvailabilityEngine.CheckDates using booking.reference and change.newDates

ReservationSystem.GetRateRules using booking.reference to evaluate booking.rateType

  • Requested dates are available and rate is modifiable available review-fare-difference
  • Requested dates are available but rate is non-modifiable non-modifiable non-modifiable-rate
  • Requested dates are unavailable unavailable suggest-alternative-dates

Suggest Alternative Dates

AvailabilityEngine.GetNearestAvailable using booking.reference to resolve availability.nearestDates

Say"Unfortunately, your requested dates aren't available. The nearest available options are availability.nearestDates. Would any of these work for you?"
  • Customer accepts an alternative date review-fare-difference
  • Customer declines all alternatives and wants to cancel cancel-request cancellation-advisory
  • Customer wants to think it over and call back defer wrap-up-no-change

Check Room Availability

Say"Let me check whether your preferred room or cabin type is available."

AvailabilityEngine.CheckRoomType using booking.reference and change.newRoomType

ReservationSystem.GetRateRules using booking.reference to evaluate booking.rateType

  • Room type available and rate is modifiable available review-fare-difference
  • Room type available but rate is non-modifiable non-modifiable non-modifiable-rate
  • Room type unavailable unavailable suggest-alternative-room

Suggest Alternative Room

AvailabilityEngine.GetAlternativeRooms using booking.reference

Say"That room type isn't available for your dates. Here are comparable alternatives that are open. Would any of these suit you?"
  • Customer selects an alternative review-fare-difference
  • Customer declines all alternatives and wants to cancel cancel-request cancellation-advisory
  • Customer wants to think it over defer wrap-up-no-change

Review Fare Difference

PaymentProcessor.CalculateDifference using booking.reference, change.newDates, change.newRoomType to resolve fare.difference and fee.modification

Say"Here's a summary of the change: the fare difference is fare.difference and the modification fee is fee.modification. The total additional charge to your payment method on file would be reflected accordingly. Would you like to proceed?"
  • Customer accepts the cost and confirms confirmed apply-modification
  • Customer disputes the modification fee disputes-fee fee-waiver-review
  • Customer declines and wants to cancel cancel-request cancellation-advisory
  • Customer declines and wants to keep original booking keep-original wrap-up-no-change

Fee Waiver Review

LoyaltyDB.GetCustomerTier using customer.name to confirm customer.loyaltyTier

kb.goodwill-waiver-policy — check eligibility based on customer.loyaltyTier and fee.modification

Agent
determine whether the modification fee qualifies for a waiver based on loyalty status and goodwill policy.
Goal:decide if the fee can be waived automatically or requires supervisor approval.
Constraints:never waive fees above USD 150 without supervisor approval; always document the waiver reason in the CRM; do not offer goodwill waivers more than once per customer per calendar year.
Tools available:LoyaltyDB.GetCustomerTier, CRM.GetWaiverHistory, kb.goodwill-waiver-policy
  • Agent determines fee is auto-waivable under loyalty or goodwill policy auto-waiver apply-modification
  • Agent determines fee waiver requires supervisor sign-off needs-approval waiver-approval
  • Agent determines fee is not waivable and customer still disputes disputed escalation-fee-dispute

Waiver Approval

Approval
Slack.RequestApproval to #reservations-supervisors, approver: reservations_supervisor
Context sent:booking.reference, customer.name, customer.loyaltyTier, fee.modification, agent's waiver rationale
  • Approved approved CRM.LogWaiverGranted apply-modification
  • Rejected rejected fee-waiver-declined
  • No response in 20 min escalation-fee-dispute

Fee Waiver Declined

Say"I wasn't able to get the fee waived on this occasion. The modification fee of fee.modification would still apply. Would you like to proceed with the change, or would you prefer to keep your current booking as is?"
  • Customer agrees to pay the fee confirmed apply-modification
  • Customer declines and wants to cancel cancel-request cancellation-advisory
  • Customer wants to keep original booking keep-original wrap-up-no-change
  • Customer escalates and demands supervisor escalate escalation-fee-dispute

Process Name Change

Say"I can help with a name correction. Could you confirm the correct full name as it should appear on the reservation, and let me know whether this is a minor correction or a full name transfer?"

kb.name-change-policy — verify permissible name change rules for booking.rateType

  • Minor spelling correction permitted under policy minor-correction apply-modification
  • Full name transfer or legal name change required escalation-complex-booking

Apply Modification

ReservationSystem.UpdateBooking with booking.reference, change.newDates, change.newRoomType, change.newPassengerName, change.requestedDetail

PaymentProcessor.ChargeBalance using booking.paymentMethod for fare.difference and any approved fee.modification

CRM.UpdateRecord for customer.name with new booking details

NotificationService.SendConfirmation to customer.email and customer.phone with updated itinerary

Say"Your booking has been updated successfully. I've sent a confirmation with your revised itinerary to customer.email. Is there anything else I can help you with?"
  • Customer has additional requests more-changes retrieve-booking
  • Customer is satisfied and done done wrap-up-confirmed

Non-Modifiable Rate

Say"I can see that the rate on your current booking is non-modifiable, which means changes to the reservation aren't permitted under the original fare rules. I have a couple of options for you: I can look into cancelling the booking subject to the applicable refund policy, or I can check whether a same-rate rebooking is available for your new dates."

kb.cancellation-refund-policy — review applicable refund terms for booking.rateType

  • Customer wants to explore cancellation and refund cancel-request cancellation-advisory
  • Customer wants to check same-rate rebooking availability rebook check-date-availability
  • Customer wants to keep original booking keep-original wrap-up-no-change

Cancellation Advisory

kb.cancellation-refund-policy — retrieve applicable terms for booking.rateType and booking.currentDates

Say"Based on your fare type, here are the cancellation terms that would apply: the refund or credit eligibility depends on your booking's rate rules. Would you like me to go ahead and initiate the cancellation, or would you prefer to keep the booking?"
  • Customer confirms cancellation confirmed escalation-cancellation-processing
  • Customer changes mind and wants to keep booking keep-original wrap-up-no-change
  • Customer disputes refund terms and demands exception dispute escalation-fee-dispute

Third-Party Advisory

Say"I can see that your reservation was originally made through a third-party provider — such as an online travel agency or travel management company. Unfortunately, modifications to third-party bookings must be processed directly through the channel where you booked, as we're unable to alter those reservations on their behalf. I'd recommend contacting them directly and referencing booking reference booking.reference. Is there anything else I can assist you with?"
  • Customer understands and has no further questions done wrap-up-no-change
  • Customer disagrees and insists we process it anyway disputes escalation-complex-booking

Wrap-Up — No Change Made

Say"No problem at all — your original booking remains exactly as it was. If you change your mind or need anything else, don't hesitate to reach out. Have a great trip!"

CRM.LogInteraction for customer.name with outcome: no modification made

Wrap-Up — Change Confirmed

Say"Wonderful — everything is confirmed. Your updated booking details have been sent to customer.email. We look forward to welcoming you. Have a great trip!"

CRM.LogInteraction for customer.name with outcome: modification successful

Escalation — Complex Booking

CRM.CreateCase priority: high, tagged complex-modification, linked to booking.reference

Slack.Notify to #reservations-complex with case summary, booking.reference, and customer.name

Say"Your request involves details that I'd like to have our specialist team handle to make sure everything is done perfectly. I'm transferring you now — they'll have full context and can take it from here."

Escalation — Fee Dispute

CRM.CreateCase priority: high, tagged fee-dispute, linked to booking.reference

Slack.Notify to #reservations-supervisors with customer.name, booking.reference, fee.modification, and dispute summary

Say"I completely understand your concern. Let me escalate this to a supervisor who has the authority to review your case in full. You'll be connected shortly, and they'll have all the details."

Escalation — Cancellation Processing

CRM.CreateCase priority: normal, tagged cancellation-request, linked to booking.reference

ReservationSystem.InitiateCancellation using booking.reference

NotificationService.SendCancellationSummary to customer.email with refund terms and timeline

Say"I've initiated the cancellation for booking booking.reference and sent a summary to customer.email, including the applicable refund terms and expected timeline. A specialist will follow up if any further action is needed."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat▣ sms

Billing / Statement Inquiry

HealthcareBillingPatient Support

Patient Greeting

Say"Thank you for contacting our billing support team. My name is your Healthcare Support Agent. To protect your privacy and access your account, I'll need to verify your identity first. May I have your full name, date of birth, and your account or guarantor ID?"
  • Patient provides all required identifiers identity-verification
  • Patient is unable or unwilling to provide identifiers hipaa-decline
  • Patient is clearly distressed or immediately demands a supervisor frustrated escalation-human

Identity Verification

CRM.LookupPatient using patient.name, patient.dob, and patient.accountId

Detect
identity verification outcome
  • All three identifiers match confirmed in system verified inquiry-intake
  • Partial match — one identifier missing or mismatched partial_match identity-retry
  • No matching record found no_match hipaa-decline

Identity Retry

Say"I want to make sure I'm protecting your information. I was unable to fully confirm your identity with what you provided. Could you double-check your account or guarantor ID — you can find it in the top right corner of your paper statement or in the patient portal?"
  • Patient provides corrected identifiers CRM.LookupPatient identity-verification
  • Patient still cannot provide matching information hipaa-decline

HIPAA Decline

Say"I'm sorry, but under federal HIPAA privacy regulations I'm unable to access or share any account or billing details without confirming your identity. I'd encourage you to log into the patient portal at your convenience, or visit our billing office in person with a valid photo ID. Is there anything general I can help you with today?"

CRM.LogInteraction note: identity verification failed, HIPAA protocol applied, no account data disclosed

Inquiry Intake

Say"Thank you, patient.name — I've verified your account. I can see your billing record. Could you tell me which charge or balance you have a question about? If you have your statement handy, the date of service or the specific line item description would be very helpful."

PatientBillingSystem.PullAccount using patient.accountId

  • Patient identifies a specific charge or line item charge-lookup
  • Patient has a general question about their total balance balance-explanation
  • Patient reports they believe there is a billing error billing-error-flag
  • Patient disputes the clinical service itself was rendered or necessary clinical-dispute
  • Patient mentions possible fraud or identity theft suspected_fraud escalation-human

Charge Lookup

PatientBillingSystem.GetChargeDetail for charge.lineItem on charge.dateOfService

InsuranceEligibilityClaims.GetClaimStatus using insurance.memberId and claim.id

EOBLookup.GetEOB for claim.id

Detect
claim and EOB status
  • EOB received and processed, patient responsibility calculated eob_received charge-explanation
  • Claim submitted but EOB not yet issued — claim still pending claim_pending pending-claim-advisory
  • Claim was denied by insurer claim_denied claim-denial-review
  • Charge not found or appears duplicated charge_anomaly billing-error-flag

Charge Explanation

Say"I've pulled up that charge. The service on charge.dateOfService for charge.description was billed at charge.amount. Your insurer insurance.planName processed the claim and applied your benefits — your portion after insurance is eob.patientResponsibility. This reflects your current deductible, copay, or coinsurance as outlined in your plan."

kb.billing-patient-responsibility — reference plan benefit structure and cost-sharing explanation guidance

Say"Does that explanation make sense, or would you like me to walk through how your benefits were applied in more detail?"
  • Patient understands and accepts the explanation confirmed payment-options
  • Patient disagrees with the insurance calculation or wants to dispute the claim disputed claim-denial-review
  • Patient still has questions about the charge needs_clarification charge-explanation-detail

Charge Explanation Detail

Agent
provide a detailed line-by-line walkthrough of how insurance.planName applied benefits to charge.lineItem, referencing the EOB and plan cost-sharing rules.
Goal:ensure the patient fully understands what each component of their bill represents and why eob.patientResponsibility is the amount owed.
Constraints:never speculate about future insurance decisions or promise adjustments not yet authorized; only describe what is documented in the EOB and billing system.
Tools available:PatientBillingSystem.GetChargeDetail, EOBLookup.GetEOB, kb.billing-patient-responsibility
  • Patient satisfied with detailed explanation confirmed payment-options
  • Patient remains unconvinced and wishes to dispute claim-denial-review
  • Patient becomes distressed frustrated escalation-human

Balance Explanation

PatientBillingSystem.GetAccountSummary for patient.accountId

Say"I can see your current account balance. Let me walk you through the outstanding charges, how insurance has been applied to each, and what remains as your patient responsibility."

kb.billing-patient-responsibility — use for explaining deductible, copay, and coinsurance terms

  • Patient understands the balance and wants to pay payment-options
  • Patient questions a specific line item on the account charge-lookup
  • Patient believes the total is incorrect billing-error-flag
  • Patient is unable to pay and asks about financial assistance kb.financial-assistance-programs payment-options

Pending Claim Advisory

Say"It looks like your insurance claim for the service on charge.dateOfService is still being processed by insurance.planName. We haven't yet received the Explanation of Benefits that tells us your exact patient responsibility. I'd recommend waiting until that EOB is issued — typically within 30 days of the claim submission date — before making any payment on this charge."
Say"I'm going to make a note on your account so our team is aware you called, and I'll flag this for a follow-up outreach once the EOB is received. Is there a preferred contact method — phone or email — for that follow-up?"

CRM.LogInteraction note: patient inquiry on pending claim claim.id, follow-up requested

CaseManagement.CreateCase type: pending-eob-followup, linked to claim.id, patient.accountId

  • Patient is satisfied and wants no further action resolution-close
  • Patient wants to escalate because the claim has been pending an unusually long time frustrated escalation-human

Claim Denial Review

InsuranceEligibilityClaims.GetDenialReason for claim.id

kb.claim-denial-codes — reference insurer denial code definitions and standard appeal pathways

Agent
assess the denial reason for claim.id and determine whether the denial is due to a technical/administrative issue correctable by rebilling, a coverage exclusion, or a clinical necessity decision requiring formal appeal.
Goal:advise the patient on the correct next step — administrative correction, insurance appeal, or billing specialist referral.
Constraints:never promise that an appeal will succeed or that a charge will be waived; do not initiate a claim adjustment without billing specialist authorization; always document the denial reason before routing.
Tools available:InsuranceEligibilityClaims.GetDenialReason, InsuranceEligibilityClaims.GetClaimStatus, kb.claim-denial-codes, CaseManagement.CreateCase
  • Denial is administrative or technical — can be corrected by rebilling admin_denial CaseManagement.CreateCase type: rebilling-request billing-error-flag
  • Denial is a coverage or clinical necessity issue requiring appeal clinical_denial escalation-human
  • Patient wishes to proceed independently and is satisfied with the information confirmed resolution-close

Billing Error Flag

Say"Thank you for bringing this to our attention. Based on what you've described, this may need to be reviewed by our billing specialists. I'm going to document this now and open a case so a specialist can investigate and correct the record if needed."

CaseManagement.CreateCase type: billing-review, priority: standard, linked to patient.accountId, charge.lineItem, charge.dateOfService

CRM.LogInteraction note: potential billing error flagged on charge.lineItem, case opened for specialist review

Say"A billing specialist will review this within 3 to 5 business days and will reach out to you at patient.phone or patient.email. You will not need to make any payment on a disputed charge while it is under active review. Is there anything else I can help you with today?"
  • Patient is satisfied and the case is documented resolution-close
  • Patient is not satisfied and demands immediate resolution frustrated escalation-human

Clinical Dispute

Say"I understand — disputes about whether a service was rendered or was medically appropriate are taken very seriously. Our billing team is not able to make clinical determinations, so I'll need to document your concern and route it to the appropriate clinical or patient relations department."

CRM.LogInteraction note: patient disputes clinical service on charge.dateOfService, charge.description — routed to clinical review

CaseManagement.CreateCase type: clinical-dispute, priority: high, linked to patient.accountId, charge.dateOfService

Say"A member of our patient relations team will contact you within 2 business days to discuss your concern. You should not receive any collections activity on this charge while it is under review."
  • Patient acknowledges and accepts the routing resolution-close
  • Patient is distressed or requests immediate supervisor contact frustrated escalation-human

Payment Options

Say"I can help you take care of this balance now or set up an arrangement that works for you. You have a few options: you can pay online through the patient portal, pay by phone with a credit or debit card right now, or set up an interest-free monthly payment plan if your balance qualifies."

kb.financial-assistance-programs — check eligibility criteria for charity care, sliding scale, or hardship plans

  • Patient wants to pay now PaymentPortal.ProcessPayment using patient.accountId payment-confirmation
  • Patient wants to set up a payment plan PaymentPortal.CreatePaymentPlan using patient.accountId payment-plan-setup
  • Patient wants to apply for financial assistance CaseManagement.CreateCase type: financial-assistance-referral resolution-close
  • Patient declines to pay at this time and has no further questions resolution-close

Payment Confirmation

PaymentPortal.ProcessPayment confirm transaction for patient.accountId, charge.amount

CRM.LogInteraction note: payment processed for charge.amount on account patient.accountId

Say"Your payment has been processed and a confirmation will be sent to patient.email. Your updated account balance will reflect this payment within one to two business days. Is there anything else I can help you with?"
  • Patient has additional questions inquiry-intake
  • Patient is done resolution-close

Payment Plan Setup

PaymentPortal.CreatePaymentPlan for patient.accountId

Say"I've set up a payment plan on your account. You'll receive a confirmation at patient.email with the payment schedule and amounts. Each installment will be automatically applied to your balance. If your financial situation changes, please contact us and we can review the plan."

CRM.LogInteraction note: payment plan established for patient.accountId

  • Patient confirms and is satisfied resolution-close
  • Patient has additional questions inquiry-intake

Escalation to Human Agent

CRM.LogInteraction note: escalation triggered — reason documented, all context preserved for handoff

CaseManagement.CreateCase type: escalation, priority: high, linked to patient.accountId, claim.id

Say"I completely understand, and I want to make sure you get the help you need. I'm going to connect you with a senior billing specialist or supervisor who can take this further. Please hold for just a moment — I'll make sure they have all the details from our conversation so you don't have to repeat yourself."

CRM.TransferWithContext to billing-escalation-queue, include patient.accountId, claim.id, charge.lineItem, interaction summary

Resolution / Close

Say"I'm glad we could assist you today. To summarize: we reviewed the charge for charge.description from charge.dateOfService, and your next steps are clear. If you have any further questions about your bill, don't hesitate to contact us — you can also view your account and statements at any time through the patient portal."

CRM.LogInteraction note: inquiry resolved, case closed

CaseManagement.CloseCase for case.id if open

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat▣ sms

Appointment Scheduling

HealthcareSchedulingPatient Support

Patient Intake

Say"Thank you for reaching out. I'm here to help you schedule, reschedule, or cancel an appointment. Can I start with your full name and date of birth?"

EHR.LookupPatient using patient.fullName and patient.dateOfBirth

  • Patient record found and identity confirmed verified appointment-intent
  • Patient record not found or details do not match identity-retry
  • Patient describes urgent or emergent symptoms at any point escalation-clinical

Identity Retry

Say"I wasn't able to match those details in our system. Let's try once more — could you double-check the name and date of birth on file with us?"

EHR.LookupPatient retry with corrected input

  • Record found on second attempt verified appointment-intent
  • Still no match after retry escalation-human

Appointment Intent

Say"Got it, patient.fullName — I've confirmed your record. Are you looking to book a new appointment, reschedule an existing one, or cancel?"
  • Patient wants to book a new appointment book insurance-verification
  • Patient wants to reschedule an existing appointment reschedule reschedule-lookup
  • Patient wants to cancel an appointment cancel cancel-lookup
  • Patient describes urgent or emergent symptoms escalation-clinical

Insurance Verification

Say"Before I check availability, I'll need your insurance information. What is your insurance provider and member ID?"

InsuranceEligibilityAPI.VerifyEligibility using patient.insurance.provider and patient.insurance.memberId

kb.insurance-eligibility-policy — check referral requirements for appointment.type

  • Insurance verified, no referral required eligible gather-preferences
  • Insurance verified, referral required and on file eligible referral_present gather-preferences
  • Insurance verified, referral required but not on file referral_missing referral-hold
  • Insurance verification fails or returns inactive coverage ineligible insurance-unverified
  • Patient has no insurance or declines to provide self-pay-offer

Self-Pay Offer

kb.selfpay-rates — retrieve selfpay.rate for appointment.type

Say"No problem. Our self-pay rate for this type of visit is selfpay.rate. Would you like to proceed on a self-pay basis, or would you prefer to contact your insurer first and call us back?"
  • Patient agrees to self-pay confirmed gather-preferences
  • Patient wants to contact insurer first callback intake-close-callback
  • Patient is unsure escalation-human

Insurance Unverified

Say"I wasn't able to verify active coverage with patient.insurance.provider at this time. This could be a data mismatch or a lapse in coverage. I'd recommend contacting your insurer directly to confirm. In the meantime, would you like to hear our self-pay rates or hold off until coverage is confirmed?"
  • Patient wants self-pay rates self-pay-offer
  • Patient wants to wait and call back intake-close-callback
  • Patient wants to escalate or is frustrated escalation-human

Referral Hold

Say"It looks like a referral is required for this appointment type, and we don't currently have one on file for you. I can place a soft reservation to hold a slot while you obtain the referral from your primary care provider. Would you like me to do that?"

SchedulingModule.HoldSoftReservation for patient.fullName, appointment.type, appointment.preferredDates

  • Patient agrees to soft hold confirmed CRM.CreateTask referral-pending note intake-close-referral
  • Patient does not want a hold intake-close-callback
  • Patient says referral is already submitted escalation-human

Gather Preferences

Say"Great. What is the reason for your visit, and do you have a preferred provider or location? Also, what dates and times work best for you?"

EHR.GetProviderList filtered by appointment.preferredLocation and appointment.type

  • Preferences collected, preferred provider specified slot-search-provider
  • Preferences collected, no provider preference slot-search-open

Slot Search — Provider Preference

SchedulingModule.GetAvailableSlots for appointment.preferredProvider, appointment.preferredDates, appointment.preferredTimes, appointment.type

  • Matching slots found slot-selection
  • No slots match preferences for preferred provider slot-no-match

Slot Search — Open Availability

SchedulingModule.GetAvailableSlots for appointment.preferredLocation, appointment.preferredDates, appointment.preferredTimes, appointment.type

  • Matching slots found slot-selection
  • No slots match preferences slot-no-match

Slot Selection

Say"I have a few openings that match what you're looking for. Let me share those with you now."

PatientPortal.DisplaySlots or read aloud up to three options from appointment.selectedSlot candidates

Say"Which of these works best for you?"
  • Patient selects a slot confirmed booking-confirmation
  • Patient wants to hear more options slot-search-open
  • Patient wants to go on a waitlist instead waitlist-enrollment
  • Patient changes their mind and wants to cancel the process intake-close-callback

Slot No Match

Say"I wasn't able to find an opening that matches all of your preferences right now. I can offer you the next closest available slot, or I can add you to our waitlist so you're notified as soon as something opens up. Which would you prefer?"

SchedulingModule.GetNextAvailable for appointment.type, appointment.preferredLocation

  • Patient accepts next closest slot confirmed booking-confirmation
  • Patient wants waitlist waitlist-enrollment
  • Patient wants to try different dates or times gather-preferences

Waitlist Enrollment

Say"I'll add you to the waitlist for appointment.type. You'll be contacted at patient.phone or patient.email as soon as a matching slot opens up."

SchedulingModule.AddToWaitlist patient.fullName, appointment.type, appointment.preferredProvider, appointment.preferredDates

CRM.UpdateRecord waitlist status for patient.fullName

Say"You're all set on the waitlist. Is there anything else I can help you with today?"
  • Patient has another request appointment-intent
  • Patient is done intake-close-complete

Booking Confirmation

SchedulingModule.BookAppointment for patient.fullName, appointment.selectedSlot, appointment.type, appointment.preferredProvider

CRM.UpdateRecord appointment booked, appointment.confirmationNumber

Twilio.SendSMS to patient.phone: "Your appointment is confirmed for appointment.selectedSlot. Confirmation number: appointment.confirmationNumber. Reply CANCEL to cancel or call us to make changes."

Twilio.SendEmail to patient.email with appointment details, preparation instructions, and location or telehealth link

Say"You're all booked. Your confirmation number is appointment.confirmationNumber and I've sent the details to your phone and email. Is there anything else I can help you with?"
  • Patient has another request appointment-intent
  • Patient is done intake-close-complete

Reschedule Lookup

Say"I can help you reschedule. Let me pull up your existing appointment — can you confirm the date and type of visit, or your confirmation number?"

SchedulingModule.GetAppointment using appointment.existingId or patient.fullName and patient.dateOfBirth

  • Appointment found reschedule-preferences
  • Appointment not found escalation-human

Reschedule Preferences

Say"I found your appointment. What new dates or times work better for you, and would you like to keep the same provider and location?"

SchedulingModule.CancelAppointment for appointment.existingId

SchedulingModule.GetAvailableSlots for updated appointment.preferredDates, appointment.preferredTimes, appointment.type, appointment.preferredProvider

  • New slots found slot-selection
  • No slots match new preferences slot-no-match

Cancel Lookup

Say"I can help with that. Can you confirm the appointment date and type, or share your confirmation number?"

SchedulingModule.GetAppointment using appointment.existingId or patient.fullName and patient.dateOfBirth

kb.cancellation-policy — check short-notice window and applicable cancellation.fee for appointment.selectedSlot

  • Appointment found, cancellation outside short-notice window cancel-confirm
  • Appointment found, cancellation within short-notice window short_notice cancel-fee-notice
  • Appointment not found escalation-human

Cancel Fee Notice

Say"I can cancel this appointment. Please be aware that because this is within our short-notice window, a cancellation fee of cancellation.fee may apply per our policy. Would you still like to proceed?"
  • Patient confirms cancellation despite fee confirmed cancel-confirm
  • Patient wants to reschedule instead reschedule-preferences
  • Patient disputes the fee or wants to escalate escalation-human

Cancel Confirm

SchedulingModule.CancelAppointment for appointment.existingId

CRM.UpdateRecord cancellation logged for patient.fullName

Twilio.SendSMS to patient.phone: "Your appointment has been cancelled. Confirmation: appointment.confirmationNumber. Contact us to rebook."

Twilio.SendEmail to patient.email with cancellation confirmation

Say"Your appointment has been cancelled and you'll receive a confirmation shortly. Is there anything else I can help you with?"
  • Patient wants to book a new appointment appointment-intent
  • Patient is done intake-close-complete

Intake Close — Callback

Say"Understood — no problem at all. When you're ready to move forward, you can reach us by phone, through the patient portal, or by replying to this message. We're happy to help whenever you're set."

CRM.UpdateRecord contact reason, outcome pending callback, patient.fullName

Intake Close — Referral Pending

Say"We've placed a soft hold for you while you get the referral sorted. Once it's submitted by your referring provider, give us a call or message us and we'll confirm that slot right away. Take care!"

CRM.UpdateRecord soft hold active, referral pending, patient.fullName

Intake Close — Complete

Say"You're all set, patient.fullName. Thank you for reaching out, and we look forward to seeing you. Have a great day!"

CRM.UpdateRecord interaction complete, outcome successful, patient.fullName

Escalation — Clinical

Say"What you're describing sounds like it may need immediate attention. Please call 911 or go to your nearest emergency room if you're experiencing a medical emergency. I'm also connecting you with a clinical team member right now who can assist further."

CRM.CreateCase priority: urgent, tagged clinical-escalation, patient.fullName

Twilio.NotifyOnCall clinical triage staff with patient name and reported symptoms

Escalation — Human Agent

Say"I want to make sure you get the right help here. Let me connect you with one of our scheduling specialists who can take it from here."

CRM.CreateCase priority: high, tagged scheduling-escalation, patient.fullName, interaction summary

Twilio.TransferCall or route chat to live scheduling specialist queue

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ sms

Account Closure Request

Financial ServicesAccount ManagementComplianceRetention

Intake and Identity Verification

Say"Thank you for contacting us. I understand you'd like to close an account today. Before we proceed, I'll need to verify your identity. Can I have your full name and date of birth?"

CRM.LookupCustomer using customer.fullName and customer.dateOfBirth

IdentityVerification.InitiateCheck for customer.fullName and customer.dateOfBirth

Detect
identity verification outcome
  • Verification passes confirmed account-selection
  • Verification fails on first attempt unconfirmed verification-retry
  • Account has an active fraud or legal hold flagged by IdentityVerification.InitiateCheck hold_detected escalation-human
  • Customer is linked to a business or trust account entity_account escalation-human

Verification Retry

Say"I wasn't able to verify your identity with those details. Let me try one more method — can you confirm the last four digits of your Social Security Number and the phone number on file?"

IdentityVerification.SecondaryCheck using additional customer-provided details

Detect
secondary verification outcome
  • Verification passes on retry confirmed account-selection
  • Verification fails again unconfirmed escalation-human

Account Selection

Say"Thank you, customer.fullName — your identity is verified. Which account or accounts would you like to close today? Please provide the account number or I can list the accounts currently on file."

CoreBanking.GetAccountList for verified customer record

Say"I can see the following accounts associated with your profile. Please confirm the account number or numbers you'd like to close."
Detect
customer intent on account selection
  • Customer provides a valid account number confirmed compliance-screening
  • Customer is unsure which account or requests guidance needs_help account-selection-assist
  • Customer becomes uncooperative or hostile hostile escalation-human

Account Selection Assist

Say"No problem — let me walk you through the accounts on your profile so we can identify the right one."

CoreBanking.GetAccountList — surface account type, last four digits, and current status for each account

Say"Can you confirm which of these is the account you'd like to close? I want to make sure we process the correct one."
  • Customer confirms account selection confirmed compliance-screening
  • Customer still cannot identify the account unconfirmed escalation-human

Compliance and AML Screening

ComplianceAML.ScreenAccount for account.number

CRM.LogInteraction note: closure request initiated for account.number

Detect
compliance screening outcome
  • Account clears compliance screening confirmed account-balance-check
  • Account flagged for elevated risk or AML concern high_risk compliance-review
  • Account has an existing legal or regulatory hold legal_hold escalation-human

Compliance Review

Agent
assess the flagged account against compliance.riskScore, account.status, and kb.aml-compliance-policy.
Goal:determine whether the closure request can proceed, must be held pending review, or must be escalated to the compliance team.
Constraints:never approve closure of a flagged account without documented risk assessment; never communicate hold details that would tip off a potentially fraudulent actor; always log the screening outcome to agent.caseId.
Tools available:ComplianceAML.ScreenAccount, ComplianceAML.GetRiskDetail, CRM.LogInteraction, kb.aml-compliance-policy
  • Agent determines low-risk flag, safe to proceed account-balance-check
  • Agent determines elevated risk requiring human review needs_review escalation-human

Account Balance and Pending Transaction Check

CoreBanking.GetAccountDetail for account.number — retrieve account.balance, account.pendingTransactions, and account.status

Detect
account financial state
  • Balance is zero and no pending transactions clear closure-reason-collection
  • Pending transactions exist on the account pending pending-transactions-hold
  • Outstanding balance or linked loan exists on the account balance_owed outstanding-balance-hold

Pending Transactions Hold

Say"I can see there are pending transactions on this account that haven't settled yet. Account closure will be processed automatically once all pending transactions have cleared — typically within three to five business days."

kb.account-closure-policy — confirm settlement window and closure processing rules for account.type

Say"Would you like us to proceed with the closure request now so it triggers automatically after settlement, or would you prefer to call back once the transactions have cleared?"
Detect
customer preference
  • Customer agrees to automatic post-settlement closure confirmed CoreBanking.QueueClosureRequest for account.number closure-reason-collection
  • Customer prefers to wait and call back declined closure-pending-confirmation
  • Customer escalates or disputes the pending transactions disputed escalation-human

Closure Pending Confirmation

Say"Understood — no problem. Your closure request has not been submitted. Please contact us again once your pending transactions have settled and we'll process the closure at that time. Is there anything else I can help you with today?"

CRM.LogInteraction note: customer deferred closure for account.number pending transaction settlement

Outstanding Balance Hold

Say"I'm showing an outstanding balance or a linked loan associated with this account. Before we can process the closure, the balance will need to be resolved — either paid in full or transferred to another eligible account."

kb.account-closure-policy — confirm balance resolution requirements for account.type

Say"Would you like me to walk you through your options for resolving the balance, or would you prefer to speak with a specialist?"
Detect
customer response
  • Customer agrees to resolve balance and requests options confirmed escalation-human
  • Customer requests more time and wants to call back declined closure-pending-confirmation
  • Customer disputes the balance disputed escalation-human

Closure Reason Collection

Say"Before we finalize the closure, I'd like to note the reason for your request — this helps us improve our services. Common reasons include switching to another institution, account no longer needed, fee concerns, or a change in financial goals. What's the primary reason for closing your account today?"
Detect
closure reason and customer sentiment
  • Customer cites fees or dissatisfaction with service frustrated retention-offer
  • Customer cites a neutral or logistical reason neutral funds-destination-collection
  • Customer shows signs of financial distress distressed financial-distress-flag

Financial Distress Flag

ComplianceAML.FlagForReview note: potential financial distress indicator on account.number

CRM.LogInteraction note: distress signal detected during closure request for customer.fullName

Say"I want to make sure we're exploring every option available to you before we proceed. We have resources that may help — would it be okay if I connected you with a financial wellness specialist?"
Detect
customer response
  • Customer agrees to speak with a specialist confirmed escalation-human
  • Customer declines and wishes to continue closure declined funds-destination-collection

Retention Offer

Say"I hear you, and I'm sorry to hear you've had that experience. Before we proceed, I'd like to see if there's anything we can do — such as a fee waiver, a rate adjustment, or a product that better fits your needs. Would you be open to hearing your options?"

kb.retention-offers-policy — surface eligible retention offers for account.type and customer.fullName profile

Detect
customer response to retention offer
  • Customer is open to retention options interested escalation-human
  • Customer declines and confirms they want to close confirmed funds-destination-collection

Funds Destination Collection

Say"To transfer your remaining balance, I'll need the destination account details — the bank name, routing number, and account number you'd like the funds sent to."

ACHTransfer.ValidateDestination for transfer.destinationAccount and transfer.destinationBank

Detect
destination verification outcome
  • Destination account validated successfully confirmed closure-confirmation
  • Destination account cannot be verified unconfirmed funds-destination-hold
  • Customer has no external account and requests a check CoreBanking.GetAccountDetail closure-confirmation

Funds Destination Hold

Say"I wasn't able to verify the destination account details you provided. To protect your funds, we'll need to place the closure on hold until we can confirm a valid transfer destination."
Say"You can provide updated banking details by calling us back, visiting a branch, or sending a secure message through your online banking portal. Once we have verified details on file, we'll process your closure and fund transfer right away."

CRM.LogInteraction note: closure held for account.number — destination account unverifiable

SecureMessaging.SendConfirmation to customer.email note: closure request on hold pending valid transfer details

Closure Confirmation

CoreBanking.SubmitClosureRequest for account.number — generate closure.requestId and closure.timeline

ACHTransfer.InitiateTransfer of account.balance to transfer.destinationAccount

CRM.LogInteraction note: closure submitted for account.number, request ID closure.requestId

SecureMessaging.SendConfirmation to customer.email with closure.requestId and closure.timeline

Say"Your closure request has been submitted. Your confirmation number is closure.requestId. Any remaining balance will be transferred to your destination account within closure.timeline business days. You'll receive a written confirmation at the email address on file."
Say"Is there anything else I can help you with today?"
Detect
customer response
  • Customer has additional questions or requests needs_help post-closure-support
  • Customer is satisfied and ends interaction confirmed resolution

Post-Closure Support

Say"Of course — I'm happy to help. What else can I assist you with?"

kb.account-closure-policy — reference post-closure FAQs including statement access, tax documents, and credit impact

Detect
nature of follow-up question
  • Question answered and customer satisfied confirmed resolution
  • Issue requires specialist involvement or account access complex escalation-human

Escalation to Human Agent

CRM.CreateCase priority: high, tagged account-closure-escalation, linked to account.number

CRM.LogInteraction note: escalation triggered — reason logged under agent.caseId

SecureMessaging.SendNotification to assigned specialist with customer profile, account.number, and case summary

Say"I'm going to connect you with a specialist who has the tools and authority to assist you further. They'll have full context on your request so you won't need to repeat yourself. Please hold for just a moment."

Resolution

Say"Thank you for contacting us today, customer.fullName. Your request has been handled and you'll receive written confirmation shortly. We appreciate your time and wish you all the best. Have a great day."

CRM.LogInteraction note: closure interaction completed for customer.fullName, account account.number

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ text

Symptom Triage / Nurse Line Routing

HealthcareTriageNursingPatient Support

Identity Verification

Say"Thank you for calling. I'm your Healthcare Support Agent. To get started, can I get your full name and date of birth?"

EHR.LookupPatient by patient.fullName and patient.dateOfBirth

  • Identity confirmed, record found CRM.OpenRecord symptom-intake
  • Identity confirmed but DOB mismatch — ask for patient.memberId EHR.LookupPatientById symptom-intake
  • Caller is a caregiver, not the patient — collect patient.caregiverName and relationship, then verify patient identity symptom-intake
  • Identity cannot be verified after two attempts CRM.FlagUnverified unverified-caller-triage

Symptom Intake

Say"I'm going to ask you a few questions about your symptoms so I can make sure you get the right care as quickly as possible. Please describe what you're experiencing today."

Collect patient.primarySymptom, patient.symptomDuration, and patient.symptomTrend.

Say"Are you currently taking any medications, or do you have any conditions I should know about — such as diabetes, heart disease, or a compromised immune system?"

Collect patient.currentMedications and patient.knownConditions.

  • Caller mentions chest pain, pressure, or tightness emergency-redirect
  • Caller mentions difficulty breathing or shortness of breath at rest emergency-redirect
  • Caller mentions sudden face drooping, arm weakness, or speech difficulty emergency-redirect
  • Caller mentions severe bleeding that won't stop or loss of consciousness emergency-redirect
  • Caller explicitly requests to speak with a nurse escalation-nurse-callback
  • Symptoms collected, no red-flag keywords detected triage-assessment

Emergency Redirect

Say"What you're describing could be a medical emergency. Please call 911 right now or have someone nearby call for you. Do not drive yourself. I will stay on the line with you while you do this."

CRM.CreateCase priority: critical, tagged emergency-redirect, linked to patient.memberId

NurseQueue.AlertOnCall with patient.primarySymptom and case.id

EHR.AddEncounterNote "Emergency redirect issued. Patient advised to call 911. Symptoms: patient.primarySymptom. Duration: patient.symptomDuration."

  • Caller confirms they are calling 911 or help is on the way emergency-documentation
  • Caller refuses to call 911 — document refusal, stay on the line, re-advise care-refusal
  • No response or line goes silent NurseQueue.AlertOnCall escalate immediately escalation-nurse-callback

Emergency Documentation

Say"Help is on the way. Stay as calm as you can, stay on the line if you're able, and unlock your door if someone can do that safely. We are documenting this call and your care team will be notified."

EHR.AddEncounterNote "Patient acknowledged emergency redirect. 911 advised. Case case.id created."

CRM.UpdateCase case.id status: emergency-dispatched

Triage Assessment

Agent
evaluate patient.primarySymptom, patient.symptomDuration, patient.symptomTrend, patient.currentMedications, and patient.knownConditions against triage protocols.
Goal:determine the appropriate care tier — self-care, nurse callback, urgent care within 4 hours, or emergency services — using validated clinical decision support.
Constraints:never downgrade a symptom set that includes high-risk modifiers (immunocompromised, anticoagulant use, age over 65 with fever, pediatric under 3 months with fever); always escalate to nurse if the protocol confidence score is below threshold; never advise the patient that symptoms are "nothing to worry about" without a completed protocol match.
Tools available:TriageEngine.EvaluateSymptoms, TriageEngine.GetProtocol, kb.schmitt-thompson-protocols, EHR.GetPatientRiskFlags
  • Triage engine returns tier: self-care tier_selfcare self-care-guidance
  • Triage engine returns tier: nurse callback tier_nurse escalation-nurse-callback
  • Triage engine returns tier: urgent care tier_urgent urgent-care-routing
  • Triage engine returns tier: emergency tier_emergency emergency-redirect
  • Triage engine lookup fails or confidence below threshold needs_review escalation-nurse-callback

Self-Care Guidance

kb.schmitt-thompson-protocols — retrieve home-care instructions matching triage.protocol

Say"Based on what you've described, this sounds like something you can manage safely at home. Here's what I'd recommend: triage.protocol. Please monitor your symptoms over the next 24 hours."
Say"If your symptoms worsen — especially if you develop a fever above 103°F, difficulty breathing, or you feel significantly worse — please call us back right away or go to your nearest urgent care."

EHR.AddEncounterNote "Triage complete. Tier: self-care. Protocol: triage.protocol. Guidance delivered. Symptoms: patient.primarySymptom. Duration: patient.symptomDuration."

CRM.UpdateCase case.id status: self-care-guidance-provided

  • Patient accepts guidance and has no further questions resolution
  • Patient is uncertain or wants a nurse to confirm escalation-nurse-callback
  • Patient refuses self-care recommendation care-refusal

Urgent Care Routing

Scheduling.FindNearestUrgentCare by patient.zip -> facility.nearest

Say"Based on your symptoms, I recommend you visit an urgent care center within the next 4 hours. The nearest in-network location to you is facility.nearest. Do you need directions or help finding another location?"
Say"Please do not delay — if at any point your symptoms feel significantly worse before you arrive, call 911 immediately."

EHR.AddEncounterNote "Triage complete. Tier: urgent care within 4 hours. Facility: facility.nearest. Symptoms: patient.primarySymptom. Protocol: triage.protocol."

CRM.UpdateCase case.id status: urgent-care-routed

SecureMessaging.SendSummary to patient.phone with facility address and care instructions

  • Patient confirms they will go resolution
  • Patient requests a different facility Scheduling.FindNearestUrgentCare alternate urgent-care-routing
  • Patient refuses urgent care recommendation care-refusal
  • Patient requests nurse confirmation before going escalation-nurse-callback

Escalation to Nurse Callback

NurseQueue.AddToCallbackQueue patient.memberId, patient.primarySymptom, patient.symptomDuration, patient.symptomTrend, patient.knownConditions, patient.currentMedications, triage.riskScore

NurseQueue.GetEta -> nurse.callbackEta

CRM.CreateCase priority: high, tagged nurse-callback, linked to patient.memberId

Say"I'm connecting you with one of our registered nurses who will call you back at patient.phone. Your estimated wait time is nurse.callbackEta. Please stay near your phone and call 911 immediately if your symptoms get significantly worse before then."

EHR.AddEncounterNote "Escalated to nurse callback queue. ETA: nurse.callbackEta. Symptoms: patient.primarySymptom. Risk score: triage.riskScore. Case: case.id."

SecureMessaging.SendSummary to patient.phone confirming callback and safety instructions

  • Nurse callback queued and patient is stable resolution
  • Patient's condition appears to be worsening during call emergency-redirect

Unverified Caller Triage

Say"I wasn't able to verify your identity in our system, but your health and safety are the priority. I'm going to collect your symptoms now and make sure a nurse follows up with you."

Collect patient.primarySymptom, patient.symptomDuration, patient.symptomTrend.

CRM.CreateCase priority: high, tagged unverified-caller, flagged for nurse review

NurseQueue.AddToCallbackQueue unverified, patient.primarySymptom, patient.symptomDuration, patient.phone

Say"I've flagged your case for a nurse to review and call you back. Can I confirm the best number to reach you?"

EHR.AddEncounterNote "Unverified caller. Symptoms collected for nurse review. Callback number: patient.phone."

  • Caller mentions any emergency symptom emergency-redirect
  • Case queued successfully resolution
  • Caller explicitly requests nurse immediately escalation-nurse-callback

Care Refusal

Say"I understand, and I respect your decision. I do want to make sure you have all the information — based on your symptoms, our recommendation is triage.tier level care. Delaying care in some situations can lead to symptoms becoming more serious."
Say"If you change your mind, please don't hesitate to call us back at any time, day or night. I'm going to note your preference in your record."

EHR.AddEncounterNote "Patient declined recommended care tier: triage.tier. Symptoms: patient.primarySymptom. Refusal documented per protocol. Case: case.id."

CRM.UpdateCase case.id status: care-refusal-documented

NurseQueue.AlertOnCall with refusal note and patient.memberId for awareness

  • Patient reconsiders and agrees to recommended care tier triage-assessment
  • Patient maintains refusal but accepts lower-acuity guidance self-care-guidance
  • Patient ends call resolution

Resolution

Say"Is there anything else I can help you with today? Please remember — if your symptoms change or worsen at any point, call us back right away or call 911 if it feels like an emergency. Take care."

EHR.AddEncounterNote "Encounter complete. Final routing: triage.tier. Case: case.id. Patient acknowledged next steps."

CRM.UpdateCase case.id status: resolved

SecureMessaging.SendSummary to patient.phone with encounter summary and care instructions

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat

SIM Swap / Number Porting

TelecomSIMPortingSecurity

Intake & Request Classification

Say"Thank you for contacting us. I can help you with a SIM swap or number transfer today. Could you tell me what you need — are you moving your number to a new SIM card, switching to a different carrier, or reporting a lost or stolen SIM?"
Detect
intent on customer reply
  • Customer requests SIM swap (upgrade or device change) sim-swap identity-verification
  • Customer requests port-out to another carrier port-out identity-verification
  • Customer reports lost or stolen SIM lost-stolen identity-verification
  • Customer reports a SIM change they did not request unauthorized suspected-hijacking

Identity Verification

Say"Before I can make any changes to your account, I need to verify your identity. Could you please provide your full name, date of birth, and your account PIN or security passphrase?"

IdentityVerification.CheckCustomer using customer.fullName, customer.dateOfBirth, customer.accountPIN against customer.phoneNumber

Detect
verification outcome
  • Verification passes verified account-eligibility-check
  • Verification fails on first attempt unverified verification-retry
  • Verification fails a second time or customer cannot provide credentials failed verification-lockout

Verification Retry

Say"I wasn't able to verify your identity with those details. Let's try once more — please double-check your date of birth and the PIN or passphrase on your account."

IdentityVerification.CheckCustomer using customer.fullName, customer.dateOfBirth, customer.accountPIN against customer.phoneNumber

Detect
verification outcome on retry
  • Verification passes verified account-eligibility-check
  • Verification fails again failed verification-lockout

Verification Lockout

Say"I'm sorry, I wasn't able to verify your identity after multiple attempts. For your security, I'm unable to proceed with this request over the phone or chat."

CRM.LogFailedVerification for customer.phoneNumber, flag request as locked

CRM.AddNote to account.id: "Identity verification failed — in-store ID required."

Say"Please visit any of our retail stores with a government-issued photo ID, and our team will be able to assist you there. Is there anything else I can help you with today?"

Account Eligibility Check

CRM.LookupAccount by customer.phoneNumber, retrieve account.id, account.fraudFlag, account.portFreeze

Detect
account status
  • Account has an active fraud flag fraud-flag fraud-hold-escalation
  • Account has an active port freeze port-freeze fraud-hold-escalation
  • Account is clear and eligible eligible request-routing

Request Routing

Detect
request type from request.type captured at intake
  • Request is a SIM swap sim-swap sim-swap-execution
  • Request is a port-out port-out port-out-execution
  • Request is for a lost or stolen SIM lost-stolen lost-stolen-sim

SIM Swap Execution

Say"Great — I've verified your identity and your account is in good standing. To complete the SIM swap, I'll need the ICCID number printed on your new SIM card. You can usually find it on the SIM card itself or its packaging."

SubscriberProvisioning.ValidateICCID for sim.newICCID

Detect
ICCID validation result
  • ICCID is valid and unassigned iccid-valid sim-swap-confirm
  • ICCID is invalid or already in use iccid-invalid sim-swap-iccid-error

SIM ICCID Error

Say"I wasn't able to validate that SIM card number. It may be invalid or already assigned to another account. Could you double-check the ICCID, or let me know if you have a different SIM card available?"
  • Customer provides a new ICCID to try sim-swap-execution
  • Customer cannot provide a valid ICCID escalation-human-agent

SIM Swap Confirm

Say"I'm about to move your number customer.phoneNumber to the new SIM card ending in the last four digits of your ICCID. This will deactivate your current SIM immediately. Can you confirm you'd like to proceed?"
Detect
customer confirmation
  • Customer confirms confirmed sim-swap-provisioning
  • Customer cancels or is unsure cancelled sim-swap-cancelled

SIM Swap Provisioning

SubscriberProvisioning.ExecuteSIMSwap for account.id, new ICCID sim.newICCID, deactivate old SIM

CRM.LogActivity on account.id: "SIM swap completed, new ICCID recorded."

CarrierMessagingGateway.SendSMS to customer.phoneNumber: "Your SIM swap is complete. If your service is not active within 15 minutes, please restart your device."

Say"Your SIM swap is done. Your number is now active on the new SIM card. Please restart your device if service doesn't appear within a few minutes."

resolution

SIM Swap Cancelled

Say"No problem — I've left your account unchanged. Please don't hesitate to reach out when you're ready to proceed. Is there anything else I can help you with?"

resolution

Port-Out Execution

Say"To transfer your number to a new carrier, I'll generate a port authorization code — sometimes called a PAC or transfer PIN — that your new carrier will need to initiate the transfer. Before I do, could you confirm the name of the carrier you're moving to?"

NumberPortabilityClearinghouse.LookupCarrier for port.receivingCarrier

Detect
carrier lookup result
  • Carrier found and eligible for port carrier-valid port-auth-code-generation
  • Carrier lookup fails or carrier not found carrier-not-found port-lookup-failure

Port Authorization Code Generation

NumberPortabilityClearinghouse.GeneratePAC for customer.phoneNumber, linked to account.id

CRM.LogActivity on account.id: "Port-out PAC generated for port.receivingCarrier."

Say"Your port authorization code is: port.authCode. Please provide this code to port.receivingCarrier when you activate your new service. The transfer typically completes within one business day, though it may take up to three days in some cases."
Say"Once the port completes, your current service on this account will end automatically. Is there anything else you'd like to know before you go?"

resolution

Port Lookup Failure

CRM.CreateTicket for account.id: "Port-out request — receiving carrier lookup failed. Carrier: port.receivingCarrier. Manual follow-up required."

CRM.LogActivity on account.id: "Carrier lookup failed during port-out request."

Say"I'm sorry — I wasn't able to reach the number portability system for your carrier right now. I've logged your request and a member of our team will follow up with your port authorization code within two business hours. Would you like us to reach you at customer.phoneNumber or a different number?"
Detect
callback preference
  • Customer provides callback number callback-provided port-callback-scheduled
  • Customer prefers email email-preferred port-callback-scheduled
  • Customer wants to wait and try again retry port-out-execution

Port Callback Scheduled

CRM.ScheduleCallback on case.id with customer contact preference

Say"You're all set — we'll be in touch shortly. I apologize for the inconvenience. Is there anything else I can help you with today?"

resolution

Lost or Stolen SIM

Say"I'm sorry to hear that. To protect your account right away, I'm going to suspend your current SIM immediately. Once that's done, I can issue a replacement SIM or walk you through your options."

SubscriberProvisioning.SuspendSIM for customer.phoneNumber, reason: lost-stolen

CRM.LogActivity on account.id: "SIM suspended — customer reported lost or stolen. Replacement process initiated."

FraudManagement.NotifyLostStolen for account.id

Say"Your current SIM has been suspended. Would you like me to arrange a replacement SIM now? You can have one shipped to your address on file or pick one up at a store."
Detect
customer preference for replacement
  • Customer wants replacement shipped ship-replacement replacement-sim-dispatch
  • Customer will pick up in store store-pickup store-pickup-guidance
  • Customer needs more time to decide undecided resolution

Replacement SIM Dispatch

SubscriberProvisioning.OrderReplacementSIM for account.id, ship to address on file

CRM.LogActivity on account.id: "Replacement SIM ordered — shipping to address on file."

CarrierMessagingGateway.SendSMS to customer.email: "Your replacement SIM has been ordered and will arrive in 3 to 5 business days. Activation instructions will be included."

Say"Your replacement SIM has been ordered and will arrive within 3 to 5 business days. Once you receive it, you can activate it through our app, website, or by calling us back. Is there anything else I can help you with?"

resolution

Store Pickup Guidance

Say"No problem — you can visit any of our retail locations to pick up a replacement SIM. Please bring your government-issued photo ID. Our team there can activate the new SIM for you on the spot. Would you like me to look up the nearest store to you?"

CRM.LogActivity on account.id: "Customer advised to pick up replacement SIM in store."

resolution

Suspected SIM Hijacking

Say"I understand — thank you for letting us know immediately. This is being treated as a priority security concern. I'm suspending your account right now to prevent any unauthorized use."

SubscriberProvisioning.SuspendAccount for customer.phoneNumber, reason: suspected-hijacking

FraudManagement.RaiseSIMHijackingAlert for account.id

CRM.CreateTicket for account.id: "Suspected SIM hijacking — customer did not authorize swap. Immediate fraud team review required."

Say"Your account has been suspended. Our fraud team has been alerted and will investigate this immediately. You'll receive a follow-up within one hour. Do not attempt to log into any accounts that use this phone number for two-factor authentication until you've heard from us."

escalation-fraud-team

Fraud Hold Escalation

Say"I can see there is a security hold on your account that needs to be reviewed before any changes can be made. I'm going to connect you with our fraud team right away — they're the only team authorized to make changes while this hold is active."

FraudManagement.EscalateAccount for account.id, reason: port-freeze-or-fraud-flag

CRM.LogActivity on account.id: "SIM/port request blocked — active fraud flag or port freeze. Escalated to fraud team."

escalation-fraud-team

Escalation — Fraud Team

FraudManagement.CreateCase for account.id, priority: high

CRM.NotifyFraudTeam with account.id, customer.phoneNumber, case summary

Say"I'm transferring you to our fraud and security specialists now. They have full visibility into your account and the authority to resolve this. Please stay on the line — I'll make sure they have all the context from our conversation."

Escalation — Human Agent

CRM.CreateTicket for account.id: "Customer requires human agent assistance — could not complete SIM swap or port automatically."

Say"I'm going to connect you with one of our senior support agents who can assist you further. Thank you for your patience — please stay on the line."

Resolution

Say"Is there anything else I can help you with today?"
Detect
customer response
  • Customer has another request new-request intake
  • Customer is done done close

Close

Say"Thank you for choosing us. Have a great day — goodbye!"

CRM.CloseInteraction for account.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ sms

Roaming / International Add-on Request

TelecomRoamingInternationalAdd-onsTravel

Identity Verification

Say"Thanks for reaching out! I'd be happy to help you with international coverage. To get started, can I have your account number or the phone number on the account, followed by your account PIN or passcode?"

CRM.LookupAccount using customer.phone or customer.accountNumber

CRM.VerifyPIN against customer.pin

  • Identity verified successfully verified account-review
  • PIN incorrect on first attempt — prompt once more identity-retry
  • Account not found or unresolvable escalation-human

Identity Retry

Say"I wasn't able to match that PIN. Let's try one more time — please re-enter your account PIN or passcode."

CRM.VerifyPIN against customer.pin

  • Identity verified on second attempt verified account-review
  • Second attempt fails failed escalation-human

Account Review

CRM.GetAccountDetails for customer.accountNumber — pull customer.currentPlan, customer.outstandingBalance, customer.accountFlags

Detect
account status flags on customer.accountFlags
  • Account flagged for fraud or suspension flagged escalation-human
  • Account has a past-due balance outstanding pastdue past-due-balance
  • Account in good standing, no flags clear trip-details

Past-Due Balance

Say"I can see there's an outstanding balance of customer.outstandingBalance on your account. Add-on activations are on hold until the balance is cleared. Would you like to make a payment now so we can get your roaming plan set up right away?"
  • Customer agrees to pay payment-collection
  • Customer declines or requests a payment arrangement escalation-human

Payment Collection

PaymentProcessing.InitiatePayment for customer.outstandingBalance on customer.accountNumber

Say"I'll bring up the payment flow now. Once that goes through, we'll be all set to activate your international add-on."
  • Payment successful payment_cleared CRM.UpdateAccountStatus trip-details
  • Payment declined or failed payment_failed escalation-human

Trip Details

Say"Great! Let's find the best plan for your trip. Which country or countries will you be visiting, and what are your travel dates?"

CRM.SetTripContext with trip.destinationCountry, trip.departureDate, trip.returnDate

  • Travel dates are upcoming or current and destination captured device-check
  • Customer is already abroad and reports unexpected charges already-abroad

Device Check

DeviceCompatibilityChecker.Assess using device.imei, device.model, device.simStatus for trip.destinationCountry

CarrierInternationalAPI.CheckPartnerCoverage for trip.destinationCountry

  • Device is compatible with international bands and destination network device_ok addon-selection
  • Device is CDMA-only or SIM-locked for destination device_incompatible device-incompatibility
  • Coverage unavailable in destination through partner network no_coverage escalation-human

Device Incompatibility

Say"I've checked your device and unfortunately it isn't compatible with the networks in trip.destinationCountry — it may be CDMA-only or SIM-locked for that region. I can offer you a couple of alternatives: an international SIM card or a temporary rental device that's fully unlocked and compatible. Would either of those work for you?"
  • Customer wants international SIM option sim-rental-offer
  • Customer wants rental device option sim-rental-offer
  • Customer declines alternatives and wants to explore further escalation-human

SIM / Rental Offer

Say"Perfect. I'll connect you with our device services team who can get that arranged before your trip. They'll confirm availability, pricing, and delivery or in-store pickup options."

CRM.CreateCase tagged device-compatibility-roaming, linked to customer.accountNumber

escalation-human

Add-on Selection

AddonCatalog.GetEligibleAddons for customer.currentPlan, trip.destinationCountry, trip.departureDate, trip.returnDate

Say"Great news — your device is compatible. Here are the international add-on options available for your plan and destination. I'll walk you through the options, including pricing and any usage caps."

kb.roaming-addon-policy — review eligible plans, pricing tiers, promotional offers, and usage caps for trip.destinationCountry

  • Customer selects a preferred add-on pricing-confirmation
  • Customer disputes the pricing or expected charges pricing-dispute
  • Customer requests a plan not currently eligible for their account escalation-human

Pricing Confirmation

Say"Just to confirm — you'd like to add addon.name for addon.price, which covers you in trip.destinationCountry. Your usage cap is addon.usageCap. This will activate on addon.effectiveDate. Does that all look correct?"
  • Customer confirms selection confirmed addon-activation
  • Customer wants to change selection addon-selection
  • Customer wants to cancel the request resolution-no-change

Add-on Activation

BillingPlatform.ActivateAddon with addon.name, addon.effectiveDate on customer.accountNumber

CRM.LogInteraction with add-on details, trip.destinationCountry, trip.departureDate, trip.returnDate

BillingPlatform.SendConfirmationEmail to customer.email with addon.name, addon.price, addon.usageCap, addon.effectiveDate

Say"You're all set! Your addon.name has been activated and takes effect on addon.effectiveDate. You'll receive a confirmation to customer.email shortly. Remember, your usage cap is addon.usageCap — you'll get an alert if you're approaching the limit. Is there anything else I can help you with?"
  • Customer has additional questions or requests trip-details
  • Customer is satisfied, no further needs resolution-complete

Already Abroad

Say"I'm sorry to hear your service isn't working as expected. Let me pull up your account and check what's been happening since your arrival."

BillingPlatform.GetRecentCharges for customer.accountNumber — review charge.amount for pay-per-use international activity

kb.roaming-retroactive-credit-policy — check eligibility window and thresholds for credit.eligibility

  • Customer has been incurring pay-per-use charges within the retroactive credit window credit_eligible retroactive-credit-review
  • Charges are outside the policy window or ineligible for credit addon-selection
  • Customer is disputing a large existing international charge charge-dispute

Retroactive Credit Review

Agent
assess retroactive credit eligibility for charge.amount against kb.roaming-retroactive-credit-policy.
Goal:determine whether a courtesy credit for pay-per-use roaming charges can be applied and activate the appropriate add-on going forward.
Constraints:never approve a retroactive credit above USD 75 without supervisor approval; always activate the going-forward add-on before issuing any credit; confirm credit eligibility against policy window before proceeding.
Tools available:BillingPlatform.GetRecentCharges, BillingPlatform.ApplyCredit, kb.roaming-retroactive-credit-policy, AddonCatalog.GetEligibleAddons
  • Credit is within agent approval threshold and eligible credit_approved apply-retroactive-credit
  • Credit amount exceeds agent threshold or policy bars it credit_escalate escalation-human

Apply Retroactive Credit

BillingPlatform.ApplyCredit of credit.amount to customer.accountNumber tagged retroactive-roaming-adjustment

CRM.LogInteraction with credit amount, reason, and linked charges

Say"I've applied a credit of credit.amount to your account for the roaming charges you incurred. It will appear on your next billing cycle. Now let's get a proper international add-on activated so you're covered for the rest of your trip."

addon-selection

Charge Dispute

Say"I understand — let's take a close look at those charges. Can you confirm the total amount you're disputing?"

BillingPlatform.GetChargeDetail for charge.disputeAmount on customer.accountNumber

kb.roaming-dispute-policy — review dispute thresholds and agent authorization limits

  • Dispute amount is within agent adjustment authority within_threshold pricing-dispute
  • Dispute amount exceeds agent authority exceeds_threshold escalation-human

Pricing Dispute

Say"I hear you — let me review any current promotions or adjustments that might apply to your account."

kb.roaming-addon-policy — check active promotional offers, loyalty discounts, and goodwill adjustment eligibility

Detect
outcome of promotion or adjustment review
  • A valid promotion or discount applies and resolves the concern promotion_found BillingPlatform.ApplyPromotion addon-selection
  • No promotion available but a courtesy adjustment is warranted and within threshold courtesy_ok BillingPlatform.ApplyCredit addon-selection
  • No resolution possible within agent authority no_resolution escalation-human

Escalation to Human Agent

CRM.CreateCase priority: high, tagged roaming-escalation, linked to customer.accountNumber

CRM.LogInteraction with full context: trip.destinationCountry, customer.currentPlan, charge.disputeAmount, customer.accountFlags

Say"I want to make sure this gets fully resolved for you. I'm escalating your case to a specialist who has the tools and authority to handle this. They'll have all the details so you won't need to repeat yourself."

Resolution — Complete

Say"Wonderful — you're all set for your trip to trip.destinationCountry. Safe travels, and don't hesitate to reach out if you need anything while you're away!"

CRM.LogInteraction with resolved add-on, addon.effectiveDate, trip.destinationCountry, trip.returnDate

Resolution — No Change

Say"No problem at all — no changes have been made to your account. If you'd like to revisit your options before your trip, we're here anytime. Have a great day!"

CRM.LogInteraction tagged no-change-requested, customer.accountNumber

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ chat▣ voice▣ sms

Quote Request Intake

InsuranceSalesQuotes

Intake Greeting

Say"Hi there! I'm your insurance support agent. I'd be happy to help you get a quote today. To get started, could you tell me what type of coverage you're looking for — for example, auto, home, life, renters, or something else?"
Detect
intent on customer reply
  • Customer names a specific coverage type confirmed coverage-type-selected
  • Customer is unsure or asks for a recommendation uncertain coverage-guidance
  • Customer wants to speak with a person directly escalation_request escalation-human

Coverage Guidance

Say"No problem at all — let me ask a few quick questions so I can point you in the right direction."
Agent
recommend the most appropriate coverage product based on the customer's situation.
Goal:identify the best-fit coverage type (auto, home, life, renters, umbrella, etc.) by asking clarifying questions about assets, dependents, and existing coverage.
Constraints:never recommend a specific policy dollar amount without running the quoting engine; only recommend product categories; ask no more than three clarifying questions before making a recommendation.
Tools available:kb.coverage-product-guide, kb.underwriting-eligibility-overview
  • Agent identifies a suitable coverage type and customer agrees confirmed coverage-type-selected
  • Customer remains undecided or disengages disengaged partial-intake-save
  • Customer requests a human advisor escalation_request escalation-human

Coverage Type Selected

Say"Great choice. I'll now collect a few details so we can generate your quote. This should only take a couple of minutes."

CRM.LookupCustomer by customer.phone or customer.email to check for an existing record.

  • Existing customer record found returning_customer risk-detail-collection
  • No existing record found new_customer personal-info-collection

Personal Info Collection

Say"First, could I get your full name, email address, phone number, and mailing address?"

CRM.CreateContact with customer.name, customer.email, customer.phone, customer.address

  • All required contact details collected info_complete risk-detail-collection
  • Customer provides partial info then stops responding disengaged partial-intake-save

Risk Detail Collection

Say"Thanks, customer.name. Now I'll need a few details specific to the coverage you're looking for. I'll guide you through them one at a time."
Agent
collect all risk-relevant details required for the selected coverage.type.
Goal:gather complete risk inputs — vehicle make/model/year and VIN for auto (risk.vehicleInfo), property address and year built for home (risk.propertyAddress), age and health status for life (risk.age, risk.healthStatus) — plus coverage.desiredLimits, coverage.startDate, and coverage.currentProvider.
Constraints:never ask for Social Security Number or financial account numbers; if a customer declines to answer a required field, note it as missing and continue; do not proceed to quoting with fewer than 80% of required fields complete.
Tools available:CRM.UpdateContact, kb.risk-field-requirements, kb.coverage-product-guide
  • All required risk fields collected fields_complete underwriting-check
  • Critical fields missing after follow-up prompts fields_incomplete partial-intake-save
  • Customer disengages mid-collection disengaged partial-intake-save

Underwriting Check

UnderwritingRulesAPI.Evaluate with coverage.type, risk.vehicleInfo, risk.propertyAddress, risk.age, risk.healthStatus, coverage.desiredLimits

Detect
underwriting eligibility result
  • Risk profile passes standard guidelines eligible quote-generation
  • Risk profile flagged — outside standard guidelines flagged high_risk underwriter-review
  • API returns an error or timeout error quoting-system-error

Quote Generation

QuotingEngine.GenerateQuote with customer.name, coverage.type, risk.vehicleInfo, risk.propertyAddress, risk.age, risk.healthStatus, coverage.desiredLimits, coverage.startDate

Detect
quoting engine response
  • Quote successfully generated quote_ready quote-presentation
  • Quoting engine error or timeout on first attempt error quoting-retry

Quoting Retry

Say"I'm sorry — our quoting system took a moment. Let me try one more time."

QuotingEngine.GenerateQuote retry with same inputs

  • Quote successfully generated on retry quote_ready quote-presentation
  • Second attempt also fails error quoting-system-error

Quote Presentation

Say"Great news, customer.name! I have your quote ready. Your estimated premium for coverage.type coverage is quote.premium per month, at the quote.tier coverage tier, with your requested limits. Your quote ID is quote.id."

NotificationService.SendEmail to customer.email with quote summary: quote.id, quote.premium, quote.tier, coverage.desiredLimits, coverage.startDate

NotificationService.SendSMS to customer.phone with quote summary link

Say"I've sent a copy to your email and a summary link to your phone. Would you like to move forward and bind this coverage, get a different tier, or have a licensed agent walk you through your options?"
Detect
customer response intent
  • Customer wants to bind coverage now bind_now next-steps-binding
  • Customer wants to explore different tiers or limits adjust_quote risk-detail-collection
  • Customer wants to speak with a licensed agent escalation_request escalation-human
  • Customer acknowledges receipt but wants to decide later defer resolution-follow-up

Next Steps — Binding

Say"Wonderful! I'll connect you with our policy team to complete the binding process. Your quote ID quote.id and all your details are ready for them."

PolicyManagement.InitiateBinding with quote.id, customer.name, customer.email, coverage.startDate

CRM.UpdateContact status: quote-accepted, linked to quote.id

Say"You're all set. Someone from our team will reach out within one business day to finalize your policy documents and payment details. Is there anything else I can help you with today?"
  • Customer has additional questions intake-greeting
  • Customer is done — no further questions resolution-complete

Underwriter Review

Say"Thank you for sharing those details, customer.name. Your risk profile requires a brief review by one of our underwriting specialists before we can finalize a quote. This is a standard step for certain coverage requests."

CRM.UpdateContact status: pending-underwriter-review, flag: underwriting.flagReason

NotificationService.SendEmail to customer.email confirming review is in progress, expected timeline 1 to 2 business days

UnderwritingRulesAPI.CreateReviewCase with customer.name, coverage.type, underwriting.flagReason, all risk fields

Say"We'll reach out to you at customer.email within 1 to 2 business days with your quote or any follow-up questions. Would you like me to also arrange a call with a licensed agent in the meantime?"
  • Customer wants an agent callback confirmed escalation-human
  • Customer is satisfied to wait defer resolution-follow-up

Partial Intake Save

CRM.SavePartialIntake with all collected fields, status: incomplete, customer.phone, customer.email

NotificationService.ScheduleFollowUp outreach in 24 hours to customer.phone and customer.email

Say"No problem at all — I've saved everything you've shared so far. One of our team members will follow up with you within 24 hours to help complete your quote at a time that's convenient for you. Is there a preferred time or contact method we should use?"

CRM.UpdateContact preferred_contact: as stated by customer

  • Customer provides a preferred follow-up time or method resolution-follow-up
  • Customer does not respond or disengages resolution-follow-up

Quoting System Error

Say"I apologize — our quoting system is not available right now, and I want to make sure you get an accurate quote as quickly as possible. I'm going to connect you with a licensed agent who can complete this for you directly."

CRM.LogQuoteAttempt status: system-error, customer.name, coverage.type, all collected risk fields

NotificationService.AlertLicensedAgent with customer.name, customer.phone, customer.email, coverage.type, collected risk fields

  • Handoff to licensed agent escalation-human

Escalation to Human Agent

CRM.UpdateContact status: escalated-to-agent

CRM.CreateTask priority: high, assigned: licensed_agent_queue, linked to customer.name, coverage.type, quote.id

NotificationService.AlertLicensedAgent with full intake summary: customer.name, customer.email, customer.phone, coverage.type, coverage.desiredLimits, coverage.startDate, all risk fields, quote.id if available

Say"I'm transferring you now to a licensed agent who has all the details you've shared with me. You won't need to repeat anything. Thank you for your patience, customer.name."

Resolution — Follow-up Scheduled

Say"You're all set, customer.name. We'll be in touch soon to continue where we left off. Don't hesitate to reach back out if you have any questions in the meantime."

CRM.UpdateContact status: follow-up-scheduled

Resolution — Complete

Say"Thank you for choosing us, customer.name. Your quote is confirmed and our team will be in touch shortly. Have a great day!"

CRM.UpdateContact status: quote-delivered

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat

Prior Authorization Status Inquiry

HealthcarePrior AuthorizationMember ServicesProvider Services

Intake & Caller Identification

Say"Thank you for contacting member services. I'm here to help with a prior authorization inquiry. May I ask — are you calling as the member, or as a provider or practice staff member?"
Detect
caller relationship to member
  • Caller identifies as the patient or member confirmed member-identity-verification
  • Caller identifies as provider staff or office provider provider-identity-verification
  • Caller relationship unclear or caller does not respond unclear intake-verification

Member Identity Verification

Say"I'll need to verify your identity before I can share any authorization details. Could you please provide me with your Member ID and date of birth?"

EligibilitySystem.VerifyMember using member.id and member.dob

CRM.PullMemberRecord for member.id

  • Identity verified, coverage active verified auth-lookup
  • Identity verified but coverage inactive coverage_inactive coverage-issue
  • Identity cannot be confirmed after two attempts unverified escalation-human

Provider Identity Verification

Say"Thank you for calling on behalf of your practice. Could you please provide the member's Member ID or date of birth, your practice NPI, and the authorization reference number if you have it?"

ProviderDirectory.VerifyProvider using provider.npi or provider.practiceName

EligibilitySystem.VerifyMember using member.id and member.dob

  • Provider and member both verified, coverage active verified auth-lookup
  • Member coverage inactive coverage_inactive coverage-issue
  • Provider NPI not found in directory provider_not_found escalation-human
  • Identity cannot be confirmed unverified escalation-human

Coverage Issue

Say"Before we discuss the authorization, I want to let you know that the member's coverage appears to be inactive as of today. I'll flag this on the record. Depending on the coverage dates, this may affect the authorization request."

CRM.LogCoverageFlag for member.id with status member.coverageStatus

  • Caller wants to continue to auth lookup regardless auth-lookup
  • Caller wants to resolve coverage issue first escalation-human

Authorization Lookup

Say"Thank you. I'm pulling up the authorization request now. Could you confirm the medication or procedure being authorized and the date the request was submitted?"

AuthManagement.LookupAuthorization using auth.referenceNumber or member.id and auth.submittedDate and medication.name or procedure.name

  • Authorization record found, status is pending pending status-pending
  • Authorization record found, status is approved approved status-approved
  • Authorization record found, status is denied denied status-denied
  • Authorization record found, clinical info still outstanding info_outstanding clinical-info-outstanding
  • Authorization record cannot be located not_found auth-not-found

Status — Pending

Say"I can see that the authorization request for medication.name or procedure.name is currently pending review. It was submitted on auth.submittedDate and is within the standard review window."

AuthManagement.CheckReviewDeadline for auth.referenceNumber

  • Request is still within the payer's mandated review timeframe pending-next-steps
  • Request has exceeded the mandated review timeframe overdue escalation-urgent

Pending — Next Steps

Say"The expected decision date is auth.reviewDeadline. You don't need to take any action right now. If you haven't received a decision by that date, please contact us and we'll escalate on your behalf. Is there anything else I can help you with?"

CRM.LogInteraction for member.id with status pending and next review date auth.reviewDeadline

  • Caller has additional questions intake-verification
  • Caller is satisfied and ends interaction resolution

Status — Approved

Say"Great news — the authorization for medication.name or procedure.name has been approved. The approval is effective auth.effectiveDates. An approval letter has been or will be sent to both the member and the ordering provider."

CRM.LogInteraction for member.id with outcome approved

Portal.ConfirmLetterDelivery for auth.referenceNumber

  • Caller needs the approval reference number or letter resent resend-approval
  • Caller has no further questions resolution

Resend Approval Letter

Say"I'll arrange for the approval letter to be resent right away. Can you confirm the best delivery method — secure portal message or mailing address on file?"

Portal.ResendApprovalLetter for auth.referenceNumber to member.id

CRM.LogInteraction noting resend requested

  • Letter resent successfully letter_sent resolution
  • Delivery fails or address needs updating delivery_failed escalation-human

Status — Denied

Say"I'm sorry to share that the authorization request for medication.name or procedure.name has been denied. The reason on file is: auth.denialReason. I want to make sure you understand your options from here."

kb.appeal-rights-policy — confirm appeal window, peer-to-peer review rights, and deadline rules for auth.denialReason

Say"You have the right to appeal this decision. The appeal must be submitted by auth.appealDeadline. If the treating provider would like to speak directly with the medical reviewer, a peer-to-peer review can also be requested within that same window. Would you like me to note a formal appeal intent on this record?"

CRM.LogDenialOutcome for member.id and auth.referenceNumber with reason auth.denialReason

  • Denial involves urgent or life-sustaining treatment urgent escalation-urgent
  • Caller confirms intent to appeal appeal_intent escalation-appeal
  • Caller wants to discuss denial reason further denial-detail
  • Caller accepts denial and has no further questions resolution

Denial Detail

Say"The denial reason provided is: auth.denialReason. This determination was based on the clinical criteria applied to the submitted documentation. If additional clinical evidence is available, that can be included as part of a formal appeal."

kb.clinical-criteria-policy — look up criteria applied to medication.name or procedure.name

  • Caller now wants to initiate appeal appeal_intent escalation-appeal
  • Caller has no further questions resolution

Clinical Info Outstanding

Say"The authorization is currently on hold because additional clinical information is needed before a determination can be made. The outstanding documentation is: auth.outstandingDocs."
Say"The ordering provider's office will need to submit this information directly to the payer's clinical review team. Once received, the review will resume. Would you like me to send a notification to the provider's portal?"

Portal.SendClinicalInfoRequest to provider.npi with list auth.outstandingDocs

CRM.LogInteraction for member.id noting outstanding documents and notification sent

  • Notification sent and caller is satisfied notified resolution
  • Provider disputes what is listed as outstanding disputed escalation-human

Authorization Not Found

Say"I wasn't able to locate an authorization request matching the details you provided. Let me confirm what we have: Member ID member.id, submitted date auth.submittedDate, for medication.name or procedure.name."
Say"If those details are correct, it's possible the request did not process successfully. I'd recommend the submitting provider resubmit the request through the portal or by fax, and retain the submission confirmation number. I can also escalate this to our intake team to investigate."

CRM.LogInteraction for member.id noting authorization not found and submission details provided

  • Caller wants to escalate to intake team for investigation escalate_intake escalation-intake
  • Caller will resubmit and has no further questions resolution

Escalation — Urgent or Life-Sustaining Denial

CRM.FlagUrgentCase for member.id and auth.referenceNumber with priority high

AuthManagement.EscalateForExpediteReview for auth.referenceNumber

Say"Given the urgent nature of this request, I'm flagging this case for immediate escalation to our clinical review team and escalating for an expedited review. A specialist will be in contact within 24 hours. You'll receive a reference number for this escalation shortly."

CRM.LogInteraction noting urgent escalation initiated

Escalation — Formal Appeal

CRM.OpenAppealCase for member.id and auth.referenceNumber with deadline auth.appealDeadline

Portal.SendAppealInstructions to member.id and provider.npi

Say"I've noted your intent to appeal and opened an appeal case on your account. You'll receive written instructions outlining the appeal process and submission requirements. The deadline to submit is auth.appealDeadline. A dedicated appeals coordinator will follow up with you."

CRM.LogInteraction noting appeal case opened

Escalation — Intake Investigation

CRM.CreateIntakeInvestigationTicket for member.id with submission details auth.submittedDate and medication.name or procedure.name

CRM.LogInteraction noting intake escalation for missing authorization record

Say"I've created a ticket for our intake team to investigate. They will review submission records and follow up within two business days. Your ticket reference has been added to your account. Is there anything else I can help with?"
  • Caller has additional questions intake-verification
  • Caller is satisfied resolution

Escalation — Human Agent

CRM.LogInteraction for member.id noting reason for escalation

CRM.RouteToSpecialist priority standard

Say"I want to make sure you get the right help here. I'm transferring you to a member services specialist who can assist further. Please hold for just a moment, and thank you for your patience."

Resolution

Say"Thank you for contacting us today. To recap: I've provided you with the current status of your authorization request and any next steps. If you have further questions or need follow-up, don't hesitate to call back or send a message through the member portal. Take care."

CRM.LogInteraction for member.id with outcome resolved and summary of interaction

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat

Premium Payment / Billing Inquiry

InsuranceBillingPayments

Inbound Greeting

Say"Thank you for contacting insurance support. My name is your virtual support agent. I can help you with billing questions, premium payments, and policy account inquiries. May I have your policy number to get started?"

CRM.LookupCustomer on policy.number

  • Policy number provided and record found identity-verification
  • Customer cannot locate policy number identity-verification
  • No response or line is silent escalation-human

Identity Verification

Say"To protect your account, I need to verify your identity before I can share any account details. Could you please confirm your date of birth, the last four digits of your Social Security Number, or your account security passphrase?"

PolicyManagement.VerifyIdentity using customer.dob, customer.ssn_last4, or customer.passphrase

Detect
verification outcome
  • Identity verified successfully verified policy-overview
  • Identity cannot be verified after two attempts unverified identity-failure
  • Customer hesitant or asks why it is needed frustrated verification-explain

Verification Explain

Say"Completely understandable — your security is our top priority. We require identity verification before sharing any account details to protect you from unauthorized access. I can verify using your date of birth, the last four digits of your Social Security Number, or your security passphrase — whichever you prefer."
  • Customer agrees and provides credentials identity-verification
  • Customer refuses to verify and wants to end call escalation-human

Identity Failure

Say"I'm sorry — I wasn't able to verify your identity with the information provided. For the security of your account, I'm unable to share policy or billing details over this channel."
Say"You're welcome to visit one of our branch locations with a valid photo ID, or submit a written inquiry through our secure customer portal. I can also transfer you to a specialist who can walk you through those options."
  • Customer wants branch or written request information CRM.LogContactAttempt escalation-human
  • Customer agrees to end call CRM.LogContactAttempt session-close

Policy Overview

PolicyManagement.GetPolicyDetails on policy.number

BillingLedger.GetCurrentBalance returning policy.premium_amount, policy.due_date, payment.outstanding_balance, payment.last_payment_date, payment.method_on_file

Detect
policy lapse or cancellation-pending status against policy.lapse_status
  • Policy is active and in good standing active billing-inquiry-triage
  • Policy is in lapsed status lapsed escalation-lapsed-policy
  • Policy is cancellation-pending cancellation_pending escalation-lapsed-policy

Billing Inquiry Triage

Say"I've pulled up your account. Your current premium is policy.premium_amount, due on policy.due_date. Your outstanding balance is payment.outstanding_balance, and your payment method on file is payment.method_on_file. How can I help you today?"
Detect
customer's primary billing intent
  • Customer wants to make a payment now pay_now process-payment
  • Customer questions or disputes the premium amount dispute_amount premium-explanation
  • Customer reports a missed or failed payment missed_payment missed-payment-review
  • Customer asks about an upcoming renewal renewal_question renewal-review
  • Customer asks about an unexpected or unrecognized charge unexpected_charge premium-explanation
  • Customer wants to update payment method update_payment update-payment-method
  • Customer requests supervisor or escalation wants_supervisor escalation-human

Premium Explanation

Say"I understand — let me review any recent changes to your policy that may have affected your premium."

BillingLedger.GetChangeHistory on policy.number returning billing.recent_changes, billing.endorsements, billing.rate_adjustment_reason

kb.premium-rate-adjustment-policy — review applicable rate change rules and endorsement billing guidelines

  • Change explained by endorsement or coverage adjustment CRM.LogExplanation explanation-confirmed
  • Change explained by annual rate adjustment CRM.LogExplanation explanation-confirmed
  • Change cannot be explained by visible account data unexplained_charge escalation-human

Explanation Confirmed

Say"The change to your premium is due to billing.rate_adjustment_reason. This is consistent with the terms of your policy. I'm happy to email or text you a summary of this breakdown for your records."
  • Customer accepts explanation and wants to pay now process-payment
  • Customer accepts explanation but has no payment due confirmation-send
  • Customer still disputes the explanation still_disputing escalation-human

Missed Payment Review

Say"I can see your last payment was on payment.last_payment_date and there is an outstanding balance of payment.outstanding_balance. Let me check whether your account is eligible for a payment plan or grace period extension."

kb.payment-plan-eligibility-policy — check grace period rules, payment plan thresholds, and eligibility criteria

  • Account is within grace period and customer wants to pay now within_grace process-payment
  • Account is eligible for a payment plan payment_plan_eligible payment-plan-setup
  • Grace period has expired and policy is at risk grace_expired escalation-lapsed-policy

Payment Plan Setup

Say"Good news — your account qualifies for a payment plan. I can break your outstanding balance of payment.outstanding_balance into installments. Would you like me to walk you through the available options?"

kb.payment-plan-options — retrieve available installment schedules and terms

Agent
present payment plan options based on payment.outstanding_balance and kb.payment-plan-options.
Goal:identify the most suitable installment schedule for the customer and confirm their agreement before enrolling.
Constraints:never enroll a customer in a payment plan that extends beyond the policy renewal date without supervisor approval; never waive fees without approved authorization; always confirm the first installment amount and date before proceeding.
Tools available:BillingLedger.GetPaymentPlanOptions, BillingLedger.EnrollPaymentPlan, kb.payment-plan-options
  • Customer agrees to a plan and first payment is collected BillingLedger.EnrollPaymentPlan confirmation-send
  • Customer declines plan and wants to pay full balance now process-payment
  • Customer declines all options escalation-human

Renewal Review

Say"Your policy is scheduled for renewal on policy.due_date. Your renewal premium will be policy.premium_amount. I can walk you through what's included, any coverage changes, or help you make a payment in advance if you'd like."

kb.renewal-billing-policy — review renewal terms, auto-pay rules, and advance payment options

  • Customer wants to make an advance renewal payment process-payment
  • Customer has questions about coverage changes at renewal coverage_question escalation-human
  • Customer wants to update payment method before renewal update-payment-method
  • Customer is satisfied with the renewal information confirmation-send

Update Payment Method

Say"No problem — I can update your payment method right now. For security, the new payment details you provide will be verified before being saved to your account. Please go ahead and share the new payment method you'd like to use."

PaymentGateway.UpdatePaymentMethod with new details provided by customer

BillingLedger.ConfirmMethodUpdate on policy.number

  • Payment method updated successfully method_updated billing-inquiry-triage
  • New payment method declined or invalid method_declined payment-declined

Process Payment

Say"I'll process a payment of payment.outstanding_balance using your payment.method_on_file. Shall I go ahead?"

PaymentGateway.ProcessPayment for payment.outstanding_balance on policy.number

Detect
payment processing outcome
  • Payment approved and processed successfully payment_success confirmation-send
  • Payment method declined payment_declined payment-declined
  • Payment gateway timeout or system error system_error escalation-human

Payment Declined

Say"I'm sorry — the payment method on file was unable to be processed. This can happen due to insufficient funds, an expired card, or a bank hold. Would you like to try a different payment method, or would you prefer to set up a payment plan?"
  • Customer provides an alternate payment method update-payment-method
  • Customer wants to explore a payment plan payment-plan-setup
  • Customer wants to call back later CRM.LogDeclinedPayment CRM.SetFollowUpFlag session-close
  • Customer requests supervisor escalation-human

Confirmation Send

Say"Your account is in good standing. I'll send a confirmation of today's activity to customer.email and customer.phone right now."

Twilio.SendSMS to customer.phone with payment confirmation and payment.confirmation_number

CRM.SendConfirmationEmail to customer.email with policy status, payment amount, and next due date

CRM.LogInteraction with summary of inquiry type, actions taken, and outcome

  • Confirmation sent and customer has no further questions session-close
  • Customer has an additional question additional_question billing-inquiry-triage

Escalation — Lapsed or Cancellation-Pending Policy

Say"I can see your policy is currently in a lapsed or cancellation-pending status. I'm not able to process a standard payment for a policy in this state — I'll need to connect you with a specialist who handles reinstatement."

CRM.LogEscalation tagged lapse-reinstatement, linked to policy.number

CRM.FlagForReinstatementReview on policy.number

  • Transferring to reinstatement workflow policy-reinstatement-workflow
  • Customer disconnects before transfer CRM.LogContactAttempt session-close

Escalation to Human Agent

Say"I'm going to connect you with a specialist who can assist you further. Please hold for just a moment — I'm passing along your account details so you won't need to repeat yourself."

CRM.LogEscalation with inquiry summary, policy.number, and reason for escalation

CRM.CreateCase priority: high, tagged billing-escalation, linked to policy.number

Session Close

Say"Thank you for contacting insurance support. Is there anything else I can help you with today?"
  • Customer has another question another_question inbound-greeting
  • Customer is done — closing interaction CRM.LogInteraction tagged session-complete
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat▣ sms

Policy Coverage Question

InsuranceCoverageSupport

Inbound Coverage Inquiry

Say"Thank you for reaching out. I'm here to help you understand your coverage. Could I please have your full name and policy number to get started?"
  • Customer provides name and policy number identity-verification
  • Customer doesn't have policy number handy collect-account-details

Collect Account Details

Say"No problem at all. I can look you up another way. Could you please provide the email address or phone number associated with your account?"

PolicyManagement.LookupByContact using customer.email or customer.phone

  • Account found identity-verification
  • Account not found CRM.CreatePendingRecord system-lookup-failure

Identity Verification

PolicyManagement.FetchPolicy using policy.number

CRM.VerifyIdentity confirm customer.name against policy record

Say"Just to protect your account, I'll need to verify a couple of details. Can you confirm your date of birth and the zip code on file?"
Detect
verification outcome
  • Identity confirmed, policy active confirmed retrieve-policy-details
  • Identity confirmed, policy lapsed or expired confirmed lapsed-policy
  • Identity check fails after two attempts unverified escalation-human

Retrieve Policy Details

PolicyManagement.GetPolicyDetails for policy.number — retrieve policy.type, policy.effectiveDate, policy.expirationDate, policy.deductible, policy.coverageLimits

CRM.LogInteraction tag: coverage-inquiry, linked to policy.number

Say"Great, I've pulled up your policy.type policy, which is active from policy.effectiveDate through policy.expirationDate. Now, could you describe the situation you'd like me to check coverage for?"
  • Customer describes a specific situation or event coverage-assessment
  • Customer is distressed or alarmed about a potential denial frustrated acknowledge-concern

Acknowledge Concern

Say"I completely understand — it can be really stressful not knowing whether something is covered, and I want to make sure you get an accurate answer. I'm not going to make any promises I can't back up, but let's walk through this together. Can you tell me what happened?"
Detect
sentiment on follow-up response
  • Customer calms down and describes the situation neutral coverage-assessment
  • Customer remains very distressed or mentions legal action frustrated escalation-licensed-agent

Coverage Assessment

Agent
evaluate whether coverage.situation is covered under policy.type using the coverage rules engine and policy knowledge base.
Goal:produce a clear coverage determination — covered, excluded, or gray-area — along with applicable deductible and limit details from policy.deductible and policy.coverageLimits.
Constraints:never make a binding coverage promise on ambiguous or high-value situations; do not interpret legal or disputed policy language; flag any situation involving a loss above USD 10000 for underwriter review regardless of apparent outcome.
Tools available:CoverageRulesEngine.Evaluate, DocumentRetrieval.GetPolicyWording, kb.coverage-exclusions-guide, kb.policy-terms-glossary
  • Situation is clearly covered deliver-covered-answer
  • Situation falls in a gray area or under an exclusion explain-exclusion-or-gray-area
  • Situation involves a large, complex, or legally disputed claim complex_claim escalation-underwriter

Deliver Covered Answer

DocumentRetrieval.GetRelevantSection for policy.type and coverage.situation

Say"Good news — based on your policy, this situation is covered. Your applicable deductible is policy.deductible, and the coverage limit for this type of loss is policy.coverageLimits. I'd recommend reviewing the relevant section of your policy document, which I can send to customer.email if you'd like."
  • Customer asks about filing a claim claim-guidance
  • Customer confirms they understand and has no further questions resolution-close
  • Customer wants to speak with a licensed agent escalation_requested escalation-licensed-agent

Explain Exclusion or Gray Area

DocumentRetrieval.GetExclusionClause for policy.type and coverage.situation

kb.coverage-exclusions-guide — retrieve plain-language explanation for the applicable exclusion

Say"I want to be transparent with you — based on what you've described, this situation may fall under an exclusion in your policy. Let me explain what that means and why, and then we can talk about your options."
Say"Your policy does have a section that addresses this. I can walk you through it now, or I can connect you with an underwriting specialist who can do a formal review — especially if the circumstances are complex or there are details that might change the picture."
  • Customer wants underwriter review escalation-underwriter
  • Customer accepts the explanation and understands resolution-close
  • Customer disputes the exclusion or mentions an attorney frustrated escalation-licensed-agent

Claim Guidance

CRM.CheckExistingClaim for policy.number and coverage.situation

  • Existing claim found, linked to claim.existingId claim-already-filed
  • No existing claim found new-claim-guidance

Claim Already Filed

Say"I can see there's already a claim on file related to this — claim reference claim.existingId. Your claims team will be in touch, or you can contact them directly to get a status update. Is there anything else about your coverage I can clarify today?"
  • Customer has more questions coverage-assessment
  • Customer is satisfied resolution-close

New Claim Guidance

Say"If you'd like to move forward, I can help you start a claim. You'll need to have the date and description of the incident, any photos or documentation you have, and receipts or estimates if applicable. Would you like me to open a claim now, or do you need more time to gather information?"
  • Customer wants to file now PolicyManagement.InitiateClaim resolution-close
  • Customer wants to file later resolution-close
  • Customer wants to escalate or speak with someone directly escalation-licensed-agent

Lapsed Policy

Say"I can see that your policy with us is currently inactive — it appears coverage lapsed on policy.expirationDate. I'm sorry to be the bearer of that news. Unfortunately, I'm not able to confirm coverage for a situation that occurred after that date, but I can connect you with our renewals team to talk about reinstating or updating your policy."
  • Customer wants to explore reinstatement or renewal policy-renewal-reinstatement
  • Customer wants to speak with someone directly escalation-licensed-agent
  • Customer acknowledges and wants to end the call resolution-close

System Lookup Failure

Say"I'm running into a technical issue retrieving your policy details right now, and I don't want to give you inaccurate information. I'd like to collect a few notes manually and have a specialist follow up with you within one business day. Would that work for you?"

CRM.CreateFollowUpTask assign to policy-support team, SLA: 1 business day, include customer.name, customer.phone, customer.email, coverage.situation

  • Customer agrees to follow-up resolution-close
  • Customer wants immediate assistance escalation-licensed-agent

Escalation to Underwriter

UnderwritingQueue.SubmitReviewRequest with policy.number, coverage.situation, agent's risk assessment, and policy.coverageLimits

CRM.LogInteraction tag: underwriter-referral, linked to policy.number

Say"I've flagged your situation for a formal review by one of our underwriting specialists. They'll be able to give you a definitive answer and will reach out to you at customer.email or customer.phone within two business days. I'll make sure all the context I have is passed along so you don't have to repeat yourself."
  • Customer has additional questions for the underwriter escalation-licensed-agent
  • Customer is satisfied with the next step resolution-close

Escalation to Licensed Agent

CRM.CreateCase priority: high, tag: licensed-agent-requested, linked to policy.number

CRM.LogInteraction tag: escalation, include full coverage-question context

Say"I'm going to connect you with a licensed agent who has the authority to give you a definitive answer and discuss your options in full. Please hold just a moment while I bring them in — and I'll pass along everything we've discussed so you won't need to start over."

Policy Renewal Reinstatement

CRM.LogInteraction tag: renewal-interest, linked to policy.number

Say"Let me pass you to our renewals team who can walk you through your reinstatement options and any updated terms. They'll be able to tell you exactly what it would take to get coverage active again."

policy-renewal-reinstatement-flow

Resolution Close

CRM.CloseInteraction tag: resolved, linked to policy.number

Say"Is there anything else I can help you with today regarding your coverage or your policy?"
  • Customer has another question inbound-coverage-inquiry
  • Customer is done Say: "Thank you for calling. You're all set, and don't hesitate to reach out if questions come up. Have a great day." resolution-close
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ voice▣ email

Payment / Billing Issue

RetailBillingPaymentsRefunds

Identity Verification

Say"Thank you for reaching out. I'm happy to help you sort out this billing concern. To get started, could you please confirm your full name and the email address on your account?"

CRM.LookupAccount using customer.email

  • Account found, identity confirmed transaction-lookup
  • Account not found or details do not match identity-retry
  • Customer reports suspected fraud or unauthorized access escalation-fraud

Identity Retry

Say"I wasn't able to locate an account with those details. Could you double-check the email address, or try an alternate one you may have used when placing your order?"

CRM.LookupAccount using customer.email

  • Account found on second attempt transaction-lookup
  • Still unable to locate account escalation-back-office

Transaction Lookup

Say"Thanks, customer.name — I've pulled up your account. Can you share the order ID or transaction ID and the charge amount and date you're seeing?"

OrderManagement.GetOrder using order.id

PaymentProcessor.GetTransaction using transaction.id

  • Transaction located and discrepancy confirmed discrepancy-assessment
  • Transaction found but charge appears valid valid-charge-explanation
  • Transaction cannot be found in any system manual-collection

Discrepancy Assessment

Agent
assess the billing discrepancy using transaction.id, transaction.amount, transaction.date, payment.method, and kb.billing-policy.
Goal:determine whether the discrepancy is a duplicate charge, an erroneous fee, a missing refund that was already issued, or a failed payment requiring retry.
Constraints:never initiate a refund above USD 150 without escalating for approval; always verify refund has not already been processed before initiating a new one; never modify account payment details without customer consent.
Tools available:PaymentProcessor.GetTransaction, PaymentProcessor.GetRefundStatus, OrderManagement.GetOrder, RefundPortal.CheckRefundHistory, kb.billing-policy
  • Duplicate or erroneous charge confirmed, refund not yet issued refund-initiation
  • Charge is valid upon review valid-charge-explanation
  • Refund was already issued, customer has not received it refund-status-check
  • Payment failed due to card or funds issue failed-payment-recovery
  • Refund amount exceeds agent authorization limit high_value escalation-approval
  • Issue cannot be reproduced or confirmed in any system manual-collection

Refund Initiation

Say"I can confirm that charge should not have been applied. I'm going to process a refund of refund.amount to your payment.method right now."

RefundPortal.InitiateRefund for transaction.id, amount refund.amount, linked to customer.accountId

EmailNotifications.Send to customer.email with refund confirmation, refund.id, and refund.timeline

Say"Your refund of refund.amount has been submitted. You should see it back on your payment.method within refund.timeline. I've also sent a confirmation to customer.email. Is there anything else I can help with?"
  • Customer confirms resolution resolution-confirmed
  • Customer has additional questions resolution-confirmed

Valid Charge Explanation

Say"I've reviewed the charge and I can see it was applied for a specific reason. Let me walk you through what happened."

kb.billing-policy — retrieve applicable policy documentation (restocking fees, subscription renewals, promotional terms)

Say"This charge of transaction.amount on transaction.date relates to your order order.id. Based on our billing policy, this was applied as — [restocking fee / subscription renewal / promotional adjustment]. I can send you the full policy documentation for your records."

EmailNotifications.Send to customer.email with charge explanation and relevant kb.billing-policy documentation

  • Customer accepts the explanation resolution-confirmed
  • Customer disputes the explanation and still believes charge is incorrect escalation-back-office
  • Customer reports the charge was not authorized by them escalation-fraud

Refund Status Check

PaymentProcessor.GetRefundStatus using refund.id

RefundPortal.CheckRefundHistory for customer.accountId

Say"Our records show a refund of refund.amount was issued on transaction.date with reference number refund.id. Refunds to payment.method typically take refund.timeline to appear, depending on your bank's processing times."
Say"If it has been longer than that window, I'd recommend contacting your bank or card issuer with this reference number: refund.id — they can trace it on their end."

EmailNotifications.Send to customer.email with refund.id, refund.status, and bank follow-up instructions

  • Customer is satisfied with the status and reference number resolution-confirmed
  • Refund is still within processing window, customer accepts resolution-confirmed
  • Refund is overdue and processor shows an error or failed status refund_failed escalation-back-office

Failed Payment Recovery

Say"It looks like this payment didn't go through. The most common reasons are an expired card or insufficient funds. Let me help you get this sorted."
  • Error message indicates expired card card_expired update-payment-method
  • Error message indicates insufficient funds insufficient_funds update-payment-method
  • Error message is unclear or system shows another reason unknown_error escalation-back-office

Update Payment Method

Say"I can guide you through updating your payment information so we can retry the charge. For security, you'll need to do this directly in your account settings — I can walk you through it step by step."

kb.billing-policy — retrieve payment update and retry procedures

Say"Once you've updated your card details, the system will automatically retry the payment within 24 hours, or you can place the order again. Would you like me to send you a direct link to update your payment method?"

EmailNotifications.Send to customer.email with payment update link and retry instructions

  • Customer confirms they have updated their payment method payment-retry-confirmed
  • Customer is unable to update payment method and needs further help escalation-back-office

Payment Retry Confirmed

Say"Great — your updated payment details are in place. The retry will process within 24 hours and you'll receive a confirmation email once it goes through. I'll send a summary to customer.email now."

EmailNotifications.Send to customer.email with payment retry confirmation and order.id status

  • Customer confirms resolution resolution-confirmed
  • Customer has additional questions resolution-confirmed

Manual Collection

Say"I wasn't able to locate that transaction in our systems right now, but I don't want to leave this unresolved. Let me collect the details so our back-office team can investigate."
Say"Could you please confirm the order ID or transaction ID, the exact charge amount, the date it appeared, the payment method used, and any error messages you received?"

CRM.CreateCase for customer.accountId, tagged billing-discrepancy, with transaction.amount, transaction.date, payment.method, and error.message

EmailNotifications.Send to customer.email confirming case has been opened with expected response timeline

  • Details collected and case created escalation-back-office

Escalation — Back-Office Review

CRM.CreateCase priority: high, tagged billing-review, linked to customer.accountId and order.id

CRM.AssignToBackOfficeQueue with all collected transaction details

Say"I've escalated this to our billing specialist team who have the tools to investigate further. You'll receive a follow-up at customer.email within one to two business days. Your case reference is available in your account."

EmailNotifications.Send to customer.email with case reference, summary of issue, and expected resolution timeline

Escalation — High-Value Refund Approval

Approval
Slack.RequestApproval to #billing-approvals, approver: billing_manager
Context sent:customer.accountId, transaction.id, transaction.amount, transaction.date, agent's discrepancy assessment, payment.method
  • Approved approved refund-initiation
  • Rejected rejected valid-charge-explanation
  • No response within 60 min escalation-back-office

Escalation — Fraud or Unauthorized Access

Say"I take this very seriously. I'm flagging your account immediately and connecting you with our fraud and security team who are equipped to handle this."

CRM.CreateCase priority: urgent, tagged fraud-suspected, linked to customer.accountId

CRM.FlagAccount for customer.accountId with fraud-hold status

PaymentProcessor.NotifyFraudTeam with transaction.id and customer.accountId

Say"Your account has been secured and our fraud team will be in touch at customer.email within 24 hours. Please do not attempt to use your payment method until you hear from them."

EmailNotifications.Send to customer.email with fraud case reference and next steps

Resolution Confirmed

Say"I'm glad we were able to get that sorted for you. Is there anything else I can help you with today?"

CRM.UpdateCase status: resolved, linked to customer.accountId and order.id

EmailNotifications.Send to customer.email with resolution summary and case closure confirmation

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ sms▣ email▣ chat

Patient Intake Pre-Visit

HealthcarePatient IntakePre-VisitScheduling

Pre-Visit Outreach

Twilio.SendSMS to patient.phone: "Hi patient.firstName, your appointment with appointment.provider is scheduled for appointment.date at appointment.time. Please complete your pre-visit intake at intake.linkUrl to help us serve you better. It takes about 5 minutes."

Twilio.SendEmail to patient.email with subject "Complete Your Pre-Visit Intake — appointment.date" and body including intake.linkUrl, appointment.provider, and appointment.time.

Detect
patient response and intake link engagement
  • Patient opens intake link and proceeds engaged identity-verification
  • Patient replies with an urgent symptom or distress signal urgent escalation-human
  • No response within 24 hours Twilio.SendSMS reminder to patient.phone intake-reminder
  • Patient replies they cannot access the portal access_issue assisted-intake

Identity Verification

Say"Before we begin, we need to confirm your identity. Please enter your full legal name and date of birth as they appear on your records."

PatientPortal.VerifyIdentity using patient.firstName, patient.lastName, patient.dateOfBirth, patient.portalId

  • Identity confirmed on first or second attempt identity_verified demographics-and-insurance
  • Identity cannot be verified after two attempts identity_failed escalation-human

Demographics and Insurance

Say"Great, patient.firstName! Let's confirm your contact and insurance information. Please review what we have on file and update anything that has changed."

EHR.GetPatientRecord for chart.id — pre-populate name, address, phone, email, emergency contact

Say"Please confirm or update: your preferred phone number, email address, and emergency contact name and phone number."

InsuranceEligibilityAPI.CheckEligibility using insurance.carrier, insurance.memberId, insurance.groupNumber

  • All demographic and insurance fields confirmed, eligibility verified confirmed health-history
  • Insurance ID does not match eligibility records eligibility_mismatch insurance-verification
  • Patient updates contact or emergency contact details updated EHR.UpdatePatientRecord health-history

Insurance Verification

Say"We weren't able to verify your insurance with the information on file. Please double-check your member ID and group number, or you can upload a photo of your insurance card for our team to review."

PatientPortal.RequestInsuranceCardUpload for patient.portalId

  • Patient re-enters corrected insurance details InsuranceEligibilityAPI.CheckEligibility insurance-recheck
  • Patient uploads insurance card photo EHR.FlagForManualVerification tagged insurance-review, linked to chart.id health-history
  • Patient is unable to provide insurance information EHR.FlagChart as insurance-unverified health-history

Insurance Recheck

InsuranceEligibilityAPI.CheckEligibility using updated insurance.carrier, insurance.memberId, insurance.groupNumber

  • Eligibility now confirmed eligibility_verified health-history
  • Still not matching after recheck eligibility_failed EHR.FlagForManualVerification tagged insurance-review health-history

Health History

Say"Now let's review your health history. Please confirm your current medications and any known allergies. If anything has changed or looks incorrect, let us know."

EHR.GetMedicationList for chart.id — display current medications on file

EHR.GetAllergyList for chart.id — display current allergies on file

  • Patient confirms medications and allergies as accurate confirmed reason-for-visit
  • Patient disputes a listed medication medication_dispute EHR.FlagMedication as needs-review linked to medication.flagged medications-flagged
  • Patient disputes a listed allergy allergy_dispute EHR.FlagAllergy as needs-review linked to allergy.flagged allergies-flagged
  • Patient reports a new urgent symptom during review urgent escalation-human

Medications Flagged

Say"Understood — we've marked that medication as needing review rather than removing it from your record. A clinician will confirm the correct information with you at your visit. Are there any other medications or allergies to flag?"

EHR.AddClinicalNote to chart.id: "Patient disputes medication on file. Item flagged as needs-review pending clinician reconciliation."

  • Additional items to dispute more_disputes health-history
  • No further disputes confirmed reason-for-visit

Allergies Flagged

Say"Thank you for letting us know — we've flagged that allergy entry as needing review. A clinician will reconcile it with you at your visit. Are there any other items to flag?"

EHR.AddClinicalNote to chart.id: "Patient disputes allergy on file. Item flagged as needs-review pending clinician reconciliation."

  • Additional items to dispute more_disputes health-history
  • No further disputes confirmed reason-for-visit

Reason for Visit

Say"Almost done! Please briefly describe the primary reason for your visit and your main concern or symptom. This helps your care team prepare."
Detect
urgency and content of reported symptom or chief complaint
  • Routine or previously known concern symptom.reported, no urgency flags routine pharmacy-and-preferences
  • Patient describes a new or worsening urgent symptom urgent urgent-symptom-triage
  • Patient indicates a mental health crisis or emergency crisis escalation-human

Urgent Symptom Triage

Say"Thank you for sharing that. Based on what you've described, we want to make sure you get the right level of care promptly."

kb.triage-guidelines — check symptom against urgency thresholds and same-day care criteria

Say"Rather than waiting for your scheduled appointment, we recommend you call our clinic directly at the number on file or visit an urgent care center as soon as possible. If this is a life-threatening emergency, please call 911 immediately."

CRM.CreateUrgentNote linked to chart.id and appointment.id, tagged triage-flagged

Twilio.SendSMS to patient.phone: "We've noted your symptom. Please call our clinic or visit urgent care. For emergencies, call 911."

  • Patient acknowledges and will seek immediate care acknowledged AppointmentScheduling.FlagAppointment as triage-pending intake-incomplete-flag
  • Patient insists on continuing intake continues pharmacy-and-preferences

Pharmacy and Preferences

Say"What is your preferred pharmacy for prescriptions? Please provide the pharmacy name and location, or confirm the one we have on file."

EHR.GetPreferredPharmacy for chart.id — display pharmacy on file if available

  • Patient confirms pharmacy on file confirmed intake-complete
  • Patient provides a new or updated pharmacy EHR.UpdatePreferredPharmacy for chart.id intake-complete

Intake Complete

EHR.UpdateChartStatus for chart.id as intake-complete

CRM.LogInteraction for patient.portalId tagged pre-visit-intake-completed, linked to appointment.id

Twilio.SendSMS to patient.phone: "Your intake is complete — thank you, patient.firstName! We look forward to seeing you on appointment.date at appointment.time."

Twilio.SendEmail to patient.email with appointment summary and any flagged items note if applicable

Say"You're all set! Your care team has been notified that your intake is ready for review. See you at your appointment."

AppointmentScheduling.NotifyCareTeam for appointment.id: "Intake complete. Chart chart.id ready for pre-visit review."

Intake Reminder

Twilio.SendSMS to patient.phone: "Hi patient.firstName, a reminder to complete your pre-visit intake before intake.cutoffTime: intake.linkUrl. It only takes a few minutes."

Detect
patient response after reminder
  • Patient engages with intake link after reminder engaged identity-verification
  • Patient does not respond by cutoff window no_response EHR.FlagChart as intake-incomplete intake-incomplete-flag
  • Patient replies with an urgent concern urgent escalation-human

Intake Incomplete Flag

EHR.UpdateChartStatus for chart.id as intake-incomplete

CRM.CreateTask assigned to front-desk, tagged collect-on-arrival, linked to appointment.id and chart.id

Twilio.SendEmail to front-desk team: "Patient patient.firstName patient.lastName (appointment.date, appointment.time) did not complete pre-visit intake. Please collect information on arrival."

Say"No problem — our front desk team will help you complete the remaining information when you arrive. See you on appointment.date!"

Assisted Intake

Say"No problem, patient.firstName. I can help you complete your intake right here via this conversation. Let's go through it together, starting with confirming your identity."

identity-verification

Escalation to Care Team

EHR.FlagChart for chart.id as escalation-required, tagged crisis-or-identity-failure

CRM.CreateUrgentCase priority: high, linked to patient.portalId and appointment.id, tagged patient-escalation

AppointmentScheduling.AlertClinicalStaff for appointment.id with escalation reason and chart.id

Twilio.SendSMS to patient.phone: "We want to make sure you get the right support. A member of our care team will reach out to you shortly. If this is an emergency, please call 911 now."

Say"I'm connecting you with a member of our care team right away. If you are experiencing a medical emergency, please call 911 immediately or go to your nearest emergency room."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ sms

Outage Report & Status Check

TelecomSupportOutageNetwork

Inbound Contact

Say"Thank you for reaching out to support. I'm here to help with any service issues you're experiencing. To get started, can I have your account number or the phone number registered to your account?"
  • Customer provides account number or registered phone number identity-verification
  • Customer cannot or will not provide account details public-outage-info
  • Customer mentions inability to reach emergency services safety_risk escalation-safety

Identity Verification

IdentityVerification.VerifyCustomer using customer.accountNumber or customer.phone

  • Verification passes verified account-and-symptoms
  • Verification fails after two attempts unverified public-outage-info

Account & Symptoms

CRM.PullAccount using customer.accountNumber to retrieve customer.name, customer.serviceAddress, customer.serviceType

Say"Thanks, customer.name. I can see your account. Can you briefly describe what you're experiencing — for example, no signal, slow data, or a complete outage? And is this affecting one device or multiple?"
Detect
customer intent and severity of issue
  • Customer describes complete loss of service no_service outage-lookup
  • Customer describes degraded signal or slow data degraded_service outage-lookup
  • Customer mentions safety impact such as no 911 access safety_concern safety_risk escalation-safety
  • Customer describes issue on one device only single_device outage-lookup

Outage Lookup

OutageManagement.CheckActiveIncidents for customer.serviceAddress and customer.serviceType

  • Known active outage found matching location and service type outage_found known-outage-confirmed
  • No known outage found for this location no_outage no-outage-found
  • System lookup fails or times out lookup_error escalation-noc

Known Outage Confirmed

OutageManagement.GetIncidentDetails to retrieve outage.incidentId, outage.affectedArea, outage.estimatedRestoration, outage.duration

Say"I can confirm there is a known outage affecting your area. Our network team is actively working on it. The estimated restoration time is outage.estimatedRestoration. Your incident reference number is outage.incidentId."
  • Outage duration is extended and likely qualifies for service credit kb.service-credit-policy CRM.FlagAccountForCreditReview captures credit.flagId outage-updates-offer
  • Outage is recent and within normal resolution window outage-updates-offer

Outage Updates Offer

Say"Would you like me to send you automatic updates on this outage via SMS or email as soon as the service is restored?"
  • Customer wants SMS updates Twilio.SendSMS to customer.phone with outage.incidentId and outage.estimatedRestoration resolution-confirmed
  • Customer wants email updates NotificationPlatform.SendEmail to customer.email with outage.incidentId and outage.estimatedRestoration resolution-confirmed
  • Customer declines updates resolution-confirmed

No Outage Found

Say"I don't see any active outages on record for your area at the moment. Let's try a few quick troubleshooting steps to see if we can restore your service."

kb.telecom-troubleshooting-guide — retrieve steps appropriate for customer.serviceType and customer.symptoms

Say"Can you try restarting your device and checking whether your SIM or cable connections are secure? Let me know once you've tried that and whether service has returned."
Detect
outcome of troubleshooting attempt
  • Customer confirms service is restored resolved resolution-confirmed
  • Customer confirms issue persists after troubleshooting unresolved new-ticket-creation
  • Customer reports safety-related impact during troubleshooting safety_concern safety_risk escalation-safety

New Ticket Creation

Ticketing.CreateTroubleTicket with customer.accountNumber, customer.serviceAddress, customer.serviceType, customer.symptoms, customer.deviceCount to generate ticket.id and ticket.referenceNumber

Say"I've created a trouble ticket for your account. Your reference number is ticket.referenceNumber. A technician will follow up with you. Would you prefer contact via SMS or email?"
  • Customer requests SMS confirmation Twilio.SendSMS to customer.phone with ticket.referenceNumber resolution-confirmed
  • Customer requests email confirmation NotificationPlatform.SendEmail to customer.email with ticket.referenceNumber resolution-confirmed
  • Customer needs no confirmation resolution-confirmed
  • Customer expresses continued frustration or reports critical business impact escalation_needed escalation-specialist

Public Outage Info

Say"I'm not able to access account details without verifying your identity, but I can share general outage information. You can check our public outage map at our website or call back with your account details and we can look into your specific situation."

OutageManagement.GetPublicOutageSummary for any broad regional incidents

  • Public outage exists in the reported region public_outage_found public-outage-details
  • No public outage on record public-no-outage

Public Outage Details

Say"There is a known service disruption in some areas that our team is actively working to resolve. For a personalized update and a reference number tied to your account, please call back or verify your identity when you're ready."
  • Customer wants to try verification again identity-verification
  • Customer acknowledges and ends contact resolution-confirmed

Public No Outage

Say"We don't currently show any widespread outages in our system. For account-specific diagnostics, please contact us with your account number or registered phone number so we can investigate further."
  • Customer wants to try verification again identity-verification
  • Customer acknowledges and ends contact resolution-confirmed

Escalation — Network Operations

NOCDashboard.RaiseSystemLookupFailure with customer.accountNumber and customer.serviceAddress

CRM.LogInteraction with lookup failure details and customer.phone for callback scheduling

Twilio.SendSMS to customer.phone confirming a callback will be arranged

Say"I'm sorry — our outage system isn't responding right now. I've flagged this with our network operations team and arranged for a callback to your registered number as soon as possible. I apologize for the inconvenience."

Escalation — Specialist

Ticketing.EscalateTicket for ticket.id to senior support queue

CRM.LogInteraction with escalation reason and customer.accountNumber

Say"I understand this has been frustrating and I want to make sure you get the right help. I'm escalating your case to a senior specialist who will be in touch with you shortly. Your reference number remains ticket.referenceNumber."

Escalation — Safety

CRM.LogInteraction flagged safety_risk with customer.accountNumber and customer.symptoms

NOCDashboard.RaiseSafetyFlag with customer.serviceAddress

Say"Your safety is our top priority. If you need to reach emergency services right now, please try an alternative phone or ask a neighbor. I am escalating your case immediately as a priority incident and our team will contact you as soon as possible."

Resolution Confirmed

Say"Is there anything else I can help you with today?"
  • Customer has additional questions or issues inbound-contact
  • Customer confirms they are all set CRM.LogInteraction with resolution summary and outage.incidentId or ticket.referenceNumber close-interaction

Close Interaction

Say"Thank you for your patience, customer.name. We appreciate you being a valued customer. Don't hesitate to reach out if you experience any further issues. Have a great day."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ voice▣ email

Order Modification / Cancellation

RetailOrdersCancellationModification

Identity Verification

Say"Hi, thanks for reaching out! I'd be happy to help with your order. To get started, can you please share your order number and the email address or phone number on your account?"

CRM.LookupCustomer using provided email or phone against customer.email or customer.phone

Detect
whether identity can be confirmed from customer's reply
  • Identity verified successfully confirmed order-status-check
  • Customer cannot provide matching credentials unverified identity-failure
  • Customer provides partial info — try one additional prompt partial identity-retry

Identity Retry

Say"No problem — let me try one more way to verify. Can you confirm the billing address or the last four digits of the payment method used for this order?"

CRM.LookupCustomer with alternate verification field

Detect
outcome of second verification attempt
  • Identity confirmed on second attempt confirmed order-status-check
  • Still unable to verify unverified identity-failure

Identity Failure

Say"I'm sorry — I wasn't able to verify your identity with the information provided. For your account security, I'm unable to make changes without verification. You're welcome to log in to your account directly and make modifications through self-service, or contact us again once you have your order confirmation email handy."

EmailNotification.Send to customer.email with self-service portal link and instructions

Order Status Check

Say"Got it — let me pull up order order.id for you right now."

OrderManagement.GetOrder using order.id to retrieve order.status, order.items, order.total, order.shippingAddress, order.paymentMethod

kb.order-modification-policy — check modification and cancellation window rules against order.status

  • Order is still in a modifiable state (not yet shipped) confirmed change-intent
  • Order has already shipped or is out for delivery shipped order-already-shipped
  • Order is flagged for fraud review fraud_flag escalation-fraud

Change Intent

Say"Great news — your order is still within our modification window. What change would you like to make? For example, I can update items or quantities, change your shipping address, or cancel the order entirely."
Detect
type of modification customer is requesting
  • Customer wants to cancel the full order cancel cancellation-confirm
  • Customer wants to change item or quantity item_change item-modification
  • Customer wants to update shipping address address_change address-modification
  • Customer is unsure or wants to discuss options unclear change-intent

Cancellation Confirm

Say"I can cancel order order.id for you. Just to confirm, you'd like to cancel all items in this order and receive a refund of order.total to your order.paymentMethod. Is that correct?"

kb.order-cancellation-policy — confirm refund eligibility and timeline for order.paymentMethod

Detect
customer confirmation of full cancellation
  • Customer confirms cancellation confirmed process-cancellation
  • Customer changes their mind or wants partial cancellation instead partial item-modification
  • Customer wants to reconsider — pause and re-engage uncertain change-intent

Process Cancellation

OrderManagement.CancelOrder for order.id

PaymentProcessor.InitiateRefund for refund.amount to order.paymentMethod

EmailNotification.Send to customer.email with cancellation confirmation and refund.timeline

Say"Your order has been successfully cancelled. A refund of refund.amount will be returned to your order.paymentMethod — typically within refund.timeline. You'll receive a confirmation email shortly."

resolution-complete

Item Modification

Say"Sure, I can help adjust the items on your order. Which item would you like to change, and what would you prefer instead — a different size, colour, quantity, or would you like to remove it entirely?"

OrderManagement.CheckInventory for the requested replacement or updated quantity against change.requested

  • Requested item or quantity is available apply-item-change
  • Requested substitution is out of stock out_of_stock offer-alternatives
  • Customer wants to remove item and remainder falls below free-shipping threshold below_threshold shipping-cost-warning

Offer Alternatives

Say"Unfortunately, the item you've requested isn't currently available. I have a few similar options I can suggest — would you like me to check what's in stock, or would you prefer to remove that item from your order or cancel entirely?"

OrderManagement.GetSimilarItems for item.substitute recommendations

Detect
customer response to alternative options
  • Customer selects an available alternative confirmed apply-item-change
  • Customer wants to remove the item instead remove shipping-cost-warning
  • Customer wants to cancel the full order cancel cancellation-confirm
  • Customer wants to keep the original order as-is keep resolution-complete

Shipping Cost Warning

Say"Just a heads-up — removing that item would bring your order total below our free-shipping threshold of order.freeShippingThreshold, which means a shipping fee of order.shippingCost would apply. Would you still like to proceed with the removal, or would you prefer to keep the item or choose an alternative?"
Detect
customer decision after being informed of shipping cost impact
  • Customer accepts the added shipping cost and confirms removal confirmed apply-item-change
  • Customer decides to keep the item keep resolution-complete
  • Customer wants to cancel the full order instead cancel cancellation-confirm

Apply Item Change

OrderManagement.ModifyOrder for order.id with updated order.items and quantities

PaymentProcessor.AdjustCharge if order total has changed, updating refund.amount as applicable

EmailNotification.Send to customer.email with updated order summary

Say"Done — I've updated your order. You'll receive a confirmation email with the revised details shortly. Is there anything else you'd like to adjust?"
Detect
whether customer has additional requests
  • Customer has another change to make more_changes change-intent
  • Customer is satisfied confirmed resolution-complete

Address Modification

Say"Of course — what is the new shipping address you'd like to use for this order?"

OrderManagement.UpdateShippingAddress for order.id with new order.shippingAddress

EmailNotification.Send to customer.email confirming the address update

Say"Your shipping address has been updated successfully. You'll receive a confirmation email with the new details. Is there anything else I can help you with?"
Detect
whether customer has additional requests
  • Customer has another change more_changes change-intent
  • Customer is satisfied confirmed resolution-complete

Order Already Shipped

Say"I'm sorry — it looks like your order has already shipped, so we're unable to make changes or cancel it at this stage. Once your package arrives, you're welcome to initiate a return and we'll process a refund from there. Would you like me to send you the return instructions?"

kb.return-policy — retrieve return window and process details

Detect
customer response
  • Customer wants return instructions sent confirmed EmailNotification.Send to customer.email with return instructions resolution-complete
  • Customer disputes the charge or is not satisfied disputed escalation-dispute
  • Customer accepts the outcome accepted resolution-complete

Escalation — Fraud Review

Say"I can see your order is currently under a brief security review. I'm going to connect you with a specialist who can look into this further and assist you directly."

CRM.CreateCase priority: high, tagged fraud-review, linked to order.id

Slack.Notify to #fraud-ops with order.id, customer.email, and order summary

Escalation — Dispute or High-Value Refund

Say"I want to make sure this is handled properly for you. I'm escalating this to a senior specialist who has the authorization to review and resolve this fully. You'll hear from them very shortly."

CRM.CreateCase priority: high, tagged charge-dispute, linked to order.id and refund.amount

Slack.Notify to #support-escalations with order.id, customer.name, refund.amount, and case summary

Resolution Complete

Say"You're all set! Is there anything else I can help you with today?"

CRM.UpdateCase status: resolved, linked to order.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ chat▣ sms▣ email

Loyalty Tier / Points Inquiry

TravelHospitalityLoyaltyPointsTier

Identity Verification

Say"Welcome to loyalty support. I can help you with your points balance, tier status, or a points question. Could I please have your membership ID or the email address on your account?"

IdentityVerification.LookupMember using member.id or member.email

  • Member record found, proceed to secondary verification secondary-verification
  • Member record not found after two attempts identity-failure
  • Loyalty platform unavailable CaseManagement.LogInquiry system-outage

Secondary Verification

Say"Thank you. For security, could you please confirm your full name and either your date of birth or the phone number on your account?"

IdentityVerification.VerifySecondaryFactor using member.fullName and member.dateOfBirth or member.phone

  • Identity verified successfully account-overview
  • Identity verification fails once secondary-verification-retry
  • Identity verification fails twice identity-failure

Secondary Verification Retry

Say"I wasn't able to match that detail. Let's try one more time — could you confirm your date of birth or the phone number registered to your account?"

IdentityVerification.VerifySecondaryFactor using member.fullName and member.dateOfBirth or member.phone

  • Identity verified on retry account-overview
  • Identity fails again identity-failure

Account Overview

LoyaltyPlatform.GetMemberProfile for member.id — retrieve member.currentTier, member.pointsBalance, member.pendingPoints, member.expiringPoints, member.expiryDate, member.tierQualifyingNights, member.tierThreshold, member.tierExpiryDate

CRM.UpdateLastContactDate for member.id

Say"I've pulled up your account, member.fullName. You're currently a member.currentTier member with member.pointsBalance points available. You have member.pendingPoints points pending and member.expiringPoints points expiring on member.expiryDate."
Detect
intent of customer's follow-up question
  • Customer asks about tier status or how to reach the next tier tier-inquiry tier-status
  • Customer asks about a specific points discrepancy or missing points discrepancy discrepancy-intake
  • Customer is concerned about tier or points expiry expiry-concern expiry-review
  • Customer's question is fully answered satisfied resolution-summary
  • Customer asks about points earning or redemption history history-inquiry points-history

Tier Status

kb.loyalty-tier-thresholds — retrieve qualification criteria, benefits, and upgrade requirements for member.currentTier and the next tier

Say"As a member.currentTier member, you've qualified with member.tierQualifyingNights nights this year. To reach the next tier you'll need member.tierThreshold qualifying nights. Your current tier status is valid through member.tierExpiryDate."
  • Customer wants to know about tier benefits tier-status-benefits
  • Customer is upset that they are close but won't reach next tier frustrated tier-goodwill-check
  • Customer is satisfied with the information satisfied resolution-summary

Tier Status Benefits

kb.loyalty-tier-benefits — retrieve current and next-tier benefit details

Say"Your member.currentTier status includes benefits such as complimentary room upgrades when available, bonus points on stays, and dedicated check-in. Upgrading to the next tier would add additional perks including higher bonus earn rates and lounge access."
  • Customer has further questions follow-up account-overview
  • Customer is satisfied satisfied resolution-summary

Tier Goodwill Check

Agent
assess whether a goodwill tier extension or status match is permitted for member.id.
Goal:determine if the shortfall in qualifying nights falls within the policy threshold for a complimentary extension or one-time status courtesy, and apply it if so.
Constraints:never extend tier status if shortfall exceeds the policy ceiling in kb.loyalty-goodwill-policy; never apply more than one goodwill extension per rolling 24-month period per member; always confirm current extension history before acting.
Tools available:LoyaltyPlatform.GetExtensionHistory, LoyaltyPlatform.ApplyGoodwillExtension, kb.loyalty-goodwill-policy
  • Goodwill extension is within policy and applied LoyaltyPlatform.ApplyGoodwillExtension goodwill-confirmation
  • Shortfall exceeds policy limit or extension already used this period exceeds-policy escalation-loyalty-specialist

Goodwill Confirmation

Say"As a valued member.currentTier member, I've applied a one-time courtesy extension to your tier status. Your member.currentTier status has been extended through your next qualification anniversary. You'll receive a confirmation to member.email shortly."

CRM.LogInteraction note: goodwill tier extension applied for member.id

LoyaltyPlatform.SendConfirmationEmail to member.email

  • Customer has additional questions follow-up account-overview
  • Customer is satisfied satisfied resolution-summary

Points History

Say"I can pull up your recent points activity. Do you have a specific stay or booking reference you'd like me to look into, or would you like a general summary of recent transactions?"

LoyaltyPlatform.GetTransactionHistory for member.id

Detect
customer's response
  • Customer provides a specific booking reference specific-booking discrepancy-intake
  • Customer wants a general history summary general-history points-history-summary
  • Customer identifies a missing or incorrect transaction discrepancy discrepancy-intake

Points History Summary

LoyaltyPlatform.GetTransactionHistory for member.id — last 90 days of earn and redemption activity

Say"Over the past 90 days your account shows earn activity from stays and partner transactions, and any redemptions you've made. I can walk through specific entries if anything looks unfamiliar."
  • Customer spots a discrepancy discrepancy discrepancy-intake
  • Customer is satisfied with the summary satisfied resolution-summary

Discrepancy Intake

Say"I'm sorry to hear about that. To look into this properly, could you share the booking or stay reference number and the approximate date of the stay or transaction in question?"

LoyaltyPlatform.GetTransaction using booking.referenceNumber or transaction.id

PropertyManagementSystem.VerifyStay using booking.referenceNumber and member.id

Detect
outcome of transaction lookup
  • Transaction found and points gap confirmed gap-confirmed discrepancy-assessment
  • Transaction not found or stay not verified unverified discrepancy-unverified
  • Transaction involves a very large point volume or suspected fraud high-risk escalation-loyalty-specialist

Discrepancy Assessment

Agent
review transaction details against kb.loyalty-earn-rules to determine whether the points shortfall is an eligible auto-correction or requires a manual audit.
Goal:decide if the discrepancy can be corrected immediately using standard earn rules, or must be escalated to a manual audit queue with a follow-up commitment.
Constraints:never apply a points correction above 10,000 points without supervisor approval; always cross-reference the property's posted earn rate before correcting; log every correction attempt in the case management system.
Tools available:LoyaltyPlatform.GetTransactionHistory, LoyaltyPlatform.CalculateExpectedPoints, CaseManagement.CreateCase, kb.loyalty-earn-rules
  • Discrepancy is within auto-correction threshold and earn rules confirm the gap points-correction-approval
  • Discrepancy requires manual audit or exceeds auto-correction threshold needs-audit manual-audit-queue
  • Agent detects pattern suggesting account compromise suspected-fraud escalation-loyalty-specialist

Points Correction Approval

Approval
Slack.RequestApproval to #loyalty-ops-approvals, approver: loyalty_ops_lead
Context sent:member.id, member.fullName, transaction.id, transaction.date, transaction.property, transaction.points, agent's earn-rule assessment
  • Approved approved LoyaltyPlatform.AdjustPoints correction-confirmation
  • Rejected rejected manual-audit-queue
  • No response in 60 min manual-audit-queue

Correction Confirmation

CaseManagement.CreateCase linked to member.id and transaction.id, status: resolved

Say"Great news — the points adjustment has been approved. Your account will reflect the corrected balance within 24 hours. You'll also receive a confirmation email at member.email."

LoyaltyPlatform.SendConfirmationEmail to member.email

  • Customer has further questions follow-up account-overview
  • Customer is satisfied satisfied resolution-summary

Manual Audit Queue

CaseManagement.CreateCase priority: standard, tagged points-discrepancy, linked to member.id and transaction.id

CRM.LogInteraction note: points discrepancy flagged for manual audit, case case.id created

Say"I've flagged this transaction for a manual review by our loyalty team. You'll receive an update at member.email within 5 to 7 business days. Your case reference is case.id — please keep this handy if you follow up."
  • Customer is satisfied with the timeline satisfied resolution-summary
  • Customer escalates or disputes the timeline frustrated escalation-loyalty-specialist

Discrepancy Unverified

Say"I wasn't able to locate a matching stay or transaction with the details provided. This sometimes happens with partner properties or if the booking was made under a different profile. I'll open a case so our team can investigate further."

CaseManagement.CreateCase priority: standard, tagged unverified-discrepancy, linked to member.id

CRM.LogInteraction note: transaction unverified, manual investigation case created, case case.id opened

  • Customer accepts the outcome and case creation satisfied resolution-summary
  • Customer insists on immediate resolution frustrated escalation-loyalty-specialist

Expiry Review

kb.loyalty-expiry-policy — retrieve points and tier expiry rules, extension eligibility, and activity requirements

Say"Your member.expiringPoints points are set to expire on member.expiryDate, and your member.currentTier tier status is valid through member.tierExpiryDate. Points expiry can often be reset by completing a qualifying stay or partner activity before that date."
Detect
customer's reaction
  • Customer is calm and accepts the information satisfied resolution-summary
  • Customer is upset about imminent expiry and requests help frustrated expiry-goodwill-check
  • Customer wants to know what activity would prevent expiry activity-inquiry expiry-activity-options

Expiry Activity Options

kb.loyalty-earn-partners — retrieve list of qualifying partner activities that reset expiry clock

Say"To keep your points active you would need to complete a qualifying earn activity before member.expiryDate. This includes any eligible hotel stay, car rental with a partner, or a purchase through a loyalty-linked partner. Would you like me to send you the full list of qualifying partners?"

CRM.LogInteraction note: expiry activity options provided to member.id

  • Customer requests the list be sent LoyaltyPlatform.SendPartnerListEmail to member.email resolution-summary
  • Customer is satisfied with the verbal summary satisfied resolution-summary

Expiry Goodwill Check

Agent
assess whether a goodwill points expiry extension is permitted for member.id under current policy.
Goal:determine if the member's expiry situation qualifies for a one-time extension of points or tier, and apply it if within policy authority.
Constraints:never extend points expiry if the member has already received a goodwill extension within the past 12 months; never extend a balance exceeding the ceiling defined in kb.loyalty-goodwill-policy without escalating; always verify activity history before acting.
Tools available:LoyaltyPlatform.GetExtensionHistory, LoyaltyPlatform.ExtendPointsExpiry, kb.loyalty-goodwill-policy, kb.loyalty-expiry-policy
  • Extension is within policy and applied LoyaltyPlatform.ExtendPointsExpiry expiry-extension-confirmation
  • Extension not permitted under policy or limit already used exceeds-policy escalation-loyalty-specialist

Expiry Extension Confirmation

Say"I've applied a one-time courtesy extension to your points. Your member.expiringPoints points have been extended and will no longer expire on member.expiryDate. A confirmation will be sent to member.email."

CRM.LogInteraction note: one-time points expiry extension applied for member.id

LoyaltyPlatform.SendConfirmationEmail to member.email

  • Customer has additional questions follow-up account-overview
  • Customer is satisfied satisfied resolution-summary

System Outage

Say"I apologize — our loyalty system is currently unavailable and I'm unable to access your account right now. I'll log your inquiry and have a specialist contact you within 4 business hours."

CaseManagement.CreateCase priority: standard, tagged system-outage-callback, linked to member.email

CRM.LogInteraction note: loyalty platform unavailable, callback committed within 4 business hours

  • Customer accepts the callback commitment satisfied resolution-summary
  • Customer requests immediate escalation frustrated escalation-loyalty-specialist

Identity Failure

Say"I'm sorry, I wasn't able to verify your identity with the details provided. For the security of your account I'm unable to share account information at this time. You can reset your credentials through our member portal or visit a property front desk with a valid photo ID for in-person verification."

CRM.LogInteraction note: identity verification failed, member directed to self-service portal or property front desk

Escalation to Loyalty Specialist

CaseManagement.CreateCase priority: high, tagged loyalty-specialist-escalation, linked to member.id

CRM.LogInteraction note: escalated to loyalty specialist, reason captured in case case.id

Slack.Notify to #loyalty-specialist-queue with member summary, member.id, member.currentTier, member.pointsBalance, and reason for escalation

Say"I want to make sure this is handled properly for you. I'm escalating your case to one of our loyalty specialists who has the authority to resolve this. Your case reference is case.id and you'll hear from the team at member.email within 2 business hours."

Resolution Summary

Say"To recap: your account shows member.pointsBalance available points, member.pendingPoints pending, and your current status is member.currentTier valid through member.tierExpiryDate. Is there anything else I can help you with today?"

CRM.LogInteraction note: inquiry resolved, summary provided to member.id

  • Customer has another question follow-up account-overview
  • Customer is done satisfied farewell

Farewell

Say"Thank you for being a valued member.currentTier member. We appreciate your loyalty and look forward to welcoming you on your next stay. Have a wonderful day."

CRM.CloseInteraction for member.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat

Insurance Coverage Check

HealthcareInsuranceCoverage

Patient Intake

Say"Thank you for calling. I'm here to help you check your insurance coverage. To get started, may I have your full name and date of birth?"

CRM.LookupPatient using patient.fullName and patient.dateOfBirth

  • Patient record found in CRM insurance-verification
  • No record found, continue to collect details manually insurance-verification
  • Patient is unresponsive or call drops escalation-human

Insurance Verification

Say"Thank you, patient.fullName. Can you please provide your insurance carrier name and your member ID? You can find those on the front of your insurance card."

EligibilitySystem.VerifyMember using patient.insuranceCarrier and patient.memberId

Detect
eligibility system response
  • Coverage active and returned successfully confirmed service-inquiry
  • Coverage shows as inactive or lapsed inactive coverage-lapsed
  • System returns no results or an error error system-error

Service Inquiry

Say"Great, I can see your coverage is active as of coverage.effectiveDate. Now, what service, procedure, or specialist visit would you like me to check? If you have a CPT code from your provider, that will help me look this up quickly."

CRM.UpdateRecord with patient.memberId and confirmed coverage.status

  • Patient provides service type or CPT code network-status-check
  • Patient is unsure of service details service-clarification

Service Clarification

Say"No problem. Can you tell me the name of the provider or facility you are planning to visit, and describe the type of care — for example, a specialist consultation, imaging, lab work, or a surgical procedure?"
  • Patient provides enough detail to proceed network-status-check
  • Patient still unable to provide details escalation-human

Network Status Check

ProviderDirectory.CheckNetworkStatus using provider.name and provider.facility and patient.insuranceCarrier

PayerPortal.LookupBenefit using service.cptCode and patient.memberId and coverage.effectiveDate

Detect
network and benefit lookup result
  • Provider and service confirmed in-network in-network benefit-details
  • Provider confirmed out-of-network out-of-network out-of-network-options
  • Service requires prior authorization prior-auth-required prior-auth-guidance
  • Lookup returns ambiguous or missing data unclear escalation-human

Benefit Details

Say"Good news — provider.name is in-network under your patient.insuranceCarrier plan. Here are your cost-sharing details for this service."

kb.benefit-tier-definitions — confirm explanation of coverage.tier, copay, and deductible language

Say"Your plan tier for this service is coverage.tier. Your copay is coverage.copay per visit. Your annual deductible is coverage.deductible, and based on your current usage, coverage.deductibleMet has been applied so far."

PriorAuthTracker.CheckRequirements using service.cptCode and patient.memberId

  • No referral or prior authorization required confirmation-close
  • Referral required referral-flag referral-guidance
  • Prior authorization required prior-auth-flag prior-auth-guidance

Referral Guidance

Say"One thing to keep in mind — this service does require a referral from your primary care provider before your visit. Without a referral on file, the claim may not be covered."

kb.referral-process — retrieve steps for obtaining and submitting a referral

Say"To get a referral, please contact your primary care provider's office and ask them to submit a referral for service.type to provider.name. Once the referral is on file with your insurer, you will be all set to schedule your visit."
  • Patient understands and confirms next steps confirmation-close
  • Patient has questions or disputes the referral requirement escalation-human

Prior Auth Guidance

Say"I do want to let you know that service.type requires prior authorization from patient.insuranceCarrier before the service can be covered."

kb.prior-auth-process — retrieve steps and typical timelines for prior authorization submission

Say"Prior authorization must be submitted by your ordering provider or facility — not by you directly. They will need to send clinical documentation to patient.insuranceCarrier. The review typically takes 3 to 15 business days. I can log this so your provider's office receives a notification."

PriorAuthTracker.CreateCase using patient.memberId and service.cptCode and provider.name

Say"I've created a prior authorization tracking case, reference number auth.caseId, and your provider can use that to follow up with the insurer."
  • Patient acknowledges and has no further questions confirmation-close
  • Patient wants to dispute that prior auth is required escalation-human

Out-of-Network Options

Say"I checked the provider directory and provider.name is currently out-of-network for your patient.insuranceCarrier plan. Let me explain your options."

kb.out-of-network-benefits — look up whether the plan includes out-of-network benefit coverage and applicable cost-sharing

Detect
out-of-network benefit availability
  • Plan includes out-of-network benefits oon-benefits-available oon-benefit-details
  • Plan does not cover out-of-network services oon-no-benefits suggest-in-network

OON Benefit Details

Say"Your plan does have out-of-network benefits, though your cost-sharing will be higher than in-network. Typically, out-of-network services are subject to a separate deductible and a higher coinsurance percentage. I recommend contacting patient.insuranceCarrier directly to get the exact figures before your appointment."
  • Patient wants in-network alternatives instead suggest-in-network
  • Patient is satisfied with out-of-network information confirmation-close
  • Patient references a denial or billing dispute escalation-human

Suggest In-Network Alternatives

Say"I can help you find an in-network provider for service.type. Let me search the provider directory."

ProviderDirectory.FindInNetworkProviders using service.type and patient.insuranceCarrier

Say"Based on your plan and location, here are some in-network providers who offer the same type of care. I can share their names and contact information so you can schedule directly."
  • Patient accepts alternatives and has no further questions confirmation-close
  • Patient insists on the out-of-network provider and references a coverage dispute escalation-human

Coverage Lapsed

Say"I checked your insurance information and unfortunately your coverage with patient.insuranceCarrier does not appear to be active at this time. This could be due to a lapse in premium payment, an open enrollment issue, or an employer benefits change."

kb.enrollment-support — retrieve guidance on coverage reinstatement and insurer contact process

Say"I would recommend contacting patient.insuranceCarrier directly using the member services number on your insurance card to resolve the enrollment status. Once your coverage is reinstated, we would be happy to complete this coverage check for you."
  • Patient wants to escalate or believes coverage should be active escalation-human
  • Patient understands and will contact insurer confirmation-close

System Error

Say"I apologize — I'm running into a technical issue retrieving your eligibility information from our system right now. This can happen occasionally when there is a delay syncing with the insurer's records."
Say"I have a couple of options for you: I can try reaching the payer portal directly, or I can arrange a callback once our team resolves the issue. Which would you prefer?"

PayerPortal.ManualEligibilityLookup using patient.memberId and patient.insuranceCarrier

  • Payer portal lookup succeeds network-status-check
  • Payer portal also unavailable, offer callback CRM.CreateCallbackTask escalation-human

Confirmation & Close

Say"To summarize what we covered today: your patient.insuranceCarrier coverage is active as of coverage.effectiveDate, service.type with provider.name is confirmed coverage.tier, and your cost-sharing is coverage.copay copay with coverage.deductible deductible, of which coverage.deductibleMet has been met."
Say"Is there anything else you would like me to check, or do you have any other questions about your benefits?"

CRM.LogInteraction with coverage check summary, patient.memberId, service.cptCode, and outcome

Detect
patient response
  • Patient has no further questions satisfied session-complete
  • Patient has an additional service to check new-inquiry service-inquiry
  • Patient raises a dispute or references a denial dispute escalation-human

Session Complete

Say"You're all set. If you have any other questions about your coverage before your appointment, don't hesitate to reach out. Take care, patient.fullName."

CRM.CloseInteraction with resolved status and patient.memberId

Escalation to Specialist

Say"I want to make sure you get the most accurate help possible. I'm going to connect you with one of our coverage specialists who can review this in more detail and, if needed, coordinate directly with patient.insuranceCarrier on your behalf."

CRM.CreateCase priority: high, tagged coverage-escalation, linked to patient.memberId and service.cptCode

CRM.LogInteraction with escalation reason and full session context

Say"I've created a case for you and a specialist will be with you shortly. Your reference number is auth.caseId. Thank you for your patience."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ text▣ chat▣ sms

General FAQ Telecom

TelecomFAQSupport

Intake

Say"Hi, thanks for reaching out to support! I'm here to help. What's your question today?"
Detect
intent category on question.raw
  • Question is purely general / no account data needed general general-lookup
  • Question requires account-specific details account-specific identity-verification
  • Question reveals a billing dispute or unexpected charge billing-dispute escalation-billing
  • Question reveals a service outage or technical fault technical-issue escalation-technical
  • Customer sounds frustrated or complaint is embedded in the question frustrated acknowledge-concern

Acknowledge Concern

Say"I hear you — that sounds frustrating, and I want to make sure we get this sorted for you properly. Let me help you with that now."
Detect
whether the underlying topic is account-specific or general
  • Underlying topic is general general general-lookup
  • Underlying topic requires account data account-specific identity-verification
  • Underlying topic is a billing dispute billing-dispute escalation-billing
  • Underlying topic is a technical fault technical-issue escalation-technical
  • Concern is a formal complaint requiring case handling complaint escalation-complaint

Identity Verification

Say"To pull up your account details, I'll need to verify your identity first. Could you please provide your account number or the phone number registered to your account?"

IdentityVerification.RequestAccountLookup using customer.accountNumber or customer.phone

Say"Thanks — and can you confirm your name and either your account PIN or the last 4 digits of your SSN?"

IdentityVerification.VerifyIdentity using customer.name, customer.pin, customer.ssn4

  • Identity verified successfully verified account-lookup
  • Identity verification fails after two attempts unverified unverified-general-only

Unverified — General Info Only

Say"I wasn't able to verify your identity, so I'm not able to access your specific account details right now. I can still share general information about our plans and policies, which may help. For anything account-specific, you're welcome to log in through the app or visit a store with a valid ID."

kb.general-plans-policy — retrieve publicly available plan and policy information relevant to question.topic

  • Customer accepts general information and asks a follow-up general general-lookup
  • Customer wants to try a different verification channel retry escalation-human
  • Customer has no further questions resolution

Account Lookup

CRM.GetAccountProfile using customer.accountNumber

AccountManagement.GetCurrentPlan to retrieve customer.currentPlan and customer.serviceType

Say"Got it — I can see your account. Let me look into that for you now."

account-specific-answer

Account-Specific Answer

Agent
answer question.raw using customer.currentPlan, customer.serviceType, and account profile from CRM alongside kb.faq-content.
Goal:deliver a precise, complete answer to the customer's question based on their actual account data and relevant policy, minimising back-and-forth.
Constraints:never disclose account credentials or full SSN; never make plan changes or billing adjustments without transferring to the appropriate change playbook; do not promise credits or refunds — route those to the billing escalation path.
Tools available:CRM.GetAccountProfile, AccountManagement.GetCurrentPlan, AccountManagement.GetBillingHistory, kb.faq-content, kb.general-plans-policy
  • Answer delivered and customer is satisfied confirmed resolution
  • Answer reveals a billing discrepancy or charge dispute billing-dispute escalation-billing
  • Answer reveals a service or network issue technical-issue escalation-technical
  • Topic is outside knowledge base coverage kb-gap escalation-human
  • Customer wants to make a plan change plan-change escalation-plan-change

General Lookup

kb.faq-content — retrieve answer matching question.topic

kb.general-plans-policy — supplement with plan or policy details if applicable

Say"Great question — let me find that for you."
Agent
compose a clear, plain-language answer to question.raw using kb.faq-content and kb.general-plans-policy.
Goal:give the customer a complete, accurate answer that does not require a follow-up, using only publicly available information.
Constraints:do not reference or imply any account-specific data; do not promise promotional offers not listed in kb.general-plans-policy; do not make commitments about network coverage beyond published service maps.
Tools available:kb.faq-content, kb.general-plans-policy
  • Answer delivered and customer confirms it resolved their question confirmed resolution
  • Customer follow-up question is still general general general-lookup
  • Customer follow-up requires account details account-specific identity-verification
  • Topic falls outside knowledge base coverage kb-gap kb-gap-acknowledgement
  • Customer reveals frustration or complaint frustrated acknowledge-concern

Knowledge Base Gap

Say"That's a great question, and I want to make sure you get an accurate answer — this one falls outside what I can confirm directly. I'd rather connect you with someone who has the full picture than give you incomplete information."
  • Customer agrees to be escalated confirmed escalation-human
  • Customer has a different, simpler question general general-lookup
  • Customer wants to try self-service and end the call self-service resolution

Escalation — Human Agent

CRM.CreateCase tagged faq-escalation, linked to customer.accountNumber, notes include question.raw

Say"I'm going to connect you with a specialist who can give you a definitive answer on this. One moment please."

Escalation — Billing

CRM.CreateCase tagged billing-dispute, priority: high, linked to customer.accountNumber

Say"It sounds like there may be a billing issue here — let me get you over to our billing team who can review the details and take action on your account."

Escalation — Technical Issue

CRM.CreateCase tagged technical-issue, linked to customer.accountNumber, notes include customer.serviceType

Say"This sounds like it needs a technical look — I'm routing you to our technical support team now so they can diagnose and fix this properly."

Escalation — Plan Change

Say"I can absolutely help you explore a plan change. Let me transfer you to the right flow to walk through your options and make that update."

plan-change-telecom

Escalation — Complaint

CRM.CreateCase tagged formal-complaint, priority: high, linked to customer.accountNumber, notes include question.raw

Say"I want to make sure your concern is properly recorded and handled. I'm escalating this to our customer relations team who will follow up with you directly."

Resolution

Say"Is there anything else I can help you with today?"
Detect
whether the customer has a follow-up question
  • Customer has another question follow-up intake
  • Customer confirms they are done confirmed close

Close

Say"Wonderful — glad I could help. Thanks for reaching out, and don't hesitate to contact us if anything else comes up. Have a great day!"
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ text▣ chat▣ sms

General FAQ Insurance

InsuranceFAQSupportBillingClaims

Inbound Greeting

Say"Thank you for reaching out to insurance support. I'm here to help you with any questions about your policy, coverage, billing, or claims. May I start with your name and policy number?"
  • Customer provides name and policy number identity-verification
  • Customer asks a question before providing identity identity-first-prompt
  • Customer explicitly requests a human agent escalation-human

Identity First Prompt

Say"I'd be happy to help with that. To make sure I give you the most accurate information for your specific policy, could you please share your name and policy number first?"
  • Customer provides name and policy number identity-verification
  • Customer declines or cannot provide policy number unverified-general-info
  • Customer explicitly requests a human agent escalation-human

Identity Verification

IdentityVerification.Verify using customer.name and customer.policyNumber

  • Verification passes policy-lookup
  • Verification fails after two attempts unverified-general-info
  • Customer explicitly requests a human agent escalation-human

Policy Lookup

PolicyAdmin.GetRecord for customer.policyNumber

CRM.GetCustomerProfile for customer.name

Detect
customer.policyStatus from policy record
  • Policy is active topic-detection
  • Policy is lapsed lapsed-policy-notice
  • Policy record not found escalation-human

Topic Detection

Say"Thanks, customer.name — I've pulled up your customer.productType policy. What can I help you with today?"
Detect
intent on customer's question
  • Question is about coverage or what the plan includes coverage faq-coverage
  • Question is about billing, payment, or due dates billing faq-billing
  • Question is about how to file a claim claims-process faq-claims-process
  • Question is about an existing claim already in progress claim-status active-claim-redirect
  • Question is about policy documents, ID cards, or proof of insurance documents faq-documents
  • Question is about cancellation or reinstatement policy-changes faq-policy-changes
  • Question involves legal interpretation, dispute, or complaint legal-dispute escalation-human
  • Question does not match a known topic unknown clarification-prompt

FAQ — Coverage

kb.coverage-faq — retrieve coverage details relevant to customer.productType

Say"Your customer.productType policy covers the benefits outlined when you enrolled. I'll walk you through the key points now."

PolicyAdmin.GetCoverageDetails for customer.policyNumber

Say"Here's what your current plan includes: the specifics depend on your selected tier, deductibles, and any riders attached to your policy. I can see the details on your account and share them with you now. Is there a particular benefit or service you'd like me to focus on?"
  • Customer wants more detail on a specific benefit faq-coverage-detail
  • Customer's question is resolved confirmed resolution
  • Customer raises a dispute about what should be covered dispute escalation-human
  • Customer explicitly requests a human agent escalation-human

FAQ — Coverage Detail

kb.coverage-faq — look up specific benefit or exclusion matching question.topic

Say"Based on your policy, here is what applies to your question about question.topic. Please keep in mind that individual circumstances may affect how a benefit is applied — your policy documents are always the authoritative reference."
  • Customer confirms the answer resolves their question confirmed resolution
  • Customer disagrees with the coverage detail dispute escalation-human
  • Customer has a follow-up question topic-detection

FAQ — Billing

PolicyAdmin.GetBillingRecord for customer.policyNumber

kb.billing-faq — retrieve billing process and payment method information

Say"Your next payment is due on customer.paymentDueDate. You can pay online through the member portal, by phone, or by mailing a check. Would you like details on how to update your payment method or set up autopay?"
  • Customer wants to update payment method or set up autopay escalation-human
  • Customer questions a charge or amount billing-dispute escalation-human
  • Customer confirms the answer resolves their question confirmed resolution
  • Customer has a follow-up question topic-detection

FAQ — Claims Process

kb.claims-process-faq — retrieve step-by-step claims filing guidance for customer.productType

Say"To file a claim on your customer.productType policy, here are the steps: First, gather documentation related to your loss or event. Second, visit the claims portal or call our claims line directly. Third, submit your completed claim form along with any supporting documents. You'll receive a confirmation number and a timeline for review. Would you like me to send you the direct link or phone number for the claims team?"
  • Customer wants the claims contact or portal link CRM.SendClaimsInfo to customer.email resolution
  • Customer says they already have a claim in progress claim-in-progress active-claim-redirect
  • Customer confirms the answer resolves their question confirmed resolution
  • Customer has a follow-up question topic-detection

FAQ — Documents

kb.documents-faq — retrieve document request process for customer.productType

Say"I can help with that. Policy documents, ID cards, and proof of insurance can be accessed through your online member portal. I can also send a copy directly to your email on file. Would you like me to send those to customer.email now?"
  • Customer confirms email and requests document PolicyAdmin.SendDocuments to customer.email resolution
  • Customer wants a different email address PolicyAdmin.SendDocuments after confirming new address resolution
  • Customer has a follow-up question topic-detection

FAQ — Policy Changes

kb.policy-changes-faq — retrieve cancellation and reinstatement policy for customer.productType

Say"I can walk you through your options regarding your policy. Changes like cancellation or reinstatement may have timing requirements and potential impacts on your coverage. What specifically would you like to know — are you looking to cancel, reinstate, or make a change to your current policy?"
  • Customer asks about cancellation escalation-human
  • Customer asks about reinstatement faq-reinstatement
  • Customer has a general question confirmed resolution
  • Customer has a follow-up question topic-detection

FAQ — Reinstatement

kb.reinstatement-policy — retrieve reinstatement eligibility and process

Say"Reinstatement may be available depending on how long your policy has been lapsed and your payment history. I can share the general requirements with you, and if you'd like to move forward, a specialist can initiate the process. Would that be helpful?"
  • Customer wants to proceed with reinstatement escalation-human
  • Customer confirms the answer resolves their question confirmed resolution
  • Customer has a follow-up question topic-detection

Active Claim Redirect

Say"It looks like you have a question about a claim that may already be in progress. Let me connect you to the right workflow so you get the most up-to-date status on that."

CRM.LogInteraction tag: claim-status-inquiry, linked to customer.policyNumber

  • Claim ID is available claim.id claims-status-workflow
  • Claim ID is not available escalation-human

Lapsed Policy Notice

Say"I can see that your policy is currently lapsed. I'm happy to answer your question, but please be aware that coverage may not be active. I'll also share some reinstatement options with you at the end if you'd like."

kb.reinstatement-policy — check reinstatement eligibility window using customer.reinstatementDeadline

  • Customer wants to proceed with their original question topic-detection-lapsed
  • Customer wants reinstatement information first faq-reinstatement
  • Customer explicitly requests a human agent escalation-human

Topic Detection — Lapsed Policy

Detect
intent on customer's question
  • Question is about coverage coverage faq-coverage
  • Question is about billing billing faq-billing
  • Question is about how to file a claim claims-process faq-claims-process
  • Question is about documents documents faq-documents
  • Question involves legal interpretation, dispute, or complaint legal-dispute escalation-human
  • Question does not match a known topic unknown clarification-prompt

Unverified — General Info Only

Say"I wasn't able to verify your identity, so I'm only able to share general information and won't be able to access any account-specific details. I'm still happy to help with general questions about how our policies work."

kb.public-faq — retrieve general public-facing insurance information

Detect
intent on customer's question
  • Question is about coverage in general coverage faq-coverage-general
  • Question is about billing in general billing faq-billing-general
  • Question is about how to file a claim claims-process faq-claims-process
  • Customer wants account-specific help escalation-human
  • Customer explicitly requests a human agent escalation-human

FAQ — General Coverage (Unverified)

kb.public-faq — retrieve general coverage overview, not account-specific

Say"In general, our insurance policies cover the benefits selected at enrollment, subject to your plan's deductibles, limits, and exclusions. For the specifics of any individual policy, the policyholder would need to log in to the member portal or call us with their policy number handy."
  • Customer confirms this answers their question confirmed resolution
  • Customer has a follow-up question unverified-general-info
  • Customer wants to try verification again identity-verification

FAQ — General Billing (Unverified)

kb.public-faq — retrieve general billing and payment information

Say"Payments can generally be made through our online member portal, by phone, or by mail. Payment due dates are set at enrollment and shown on your billing statement. For your specific due date or payment history, you would need to log in or call with your policy number."
  • Customer confirms this answers their question confirmed resolution
  • Customer has a follow-up question unverified-general-info
  • Customer wants to try verification again identity-verification

Clarification Prompt

Say"I want to make sure I point you to the right information. Could you tell me a little more about what you're looking for? For example, are you asking about what your plan covers, your payment, how to file a claim, or something else?"
Detect
intent on customer's clarified response
  • Customer clarifies a known topic confirmed topic-detection
  • Customer's question still unclear after clarification escalation-human
  • Customer explicitly requests a human agent escalation-human

Escalation to Human Agent

CRM.LogInteraction tag: escalation, reason: question.topic, linked to customer.policyNumber

CRM.CreateCase priority: normal, linked to customer.policyNumber

Say"I'm going to connect you with one of our specialists who will be able to help you further with this. Please hold for just a moment — they'll have the context of our conversation so you won't need to repeat yourself."

Resolution

Say"I'm glad I could help with that. Is there anything else I can assist you with today?"

CRM.LogInteraction tag: faq-resolved, topic: question.topic, linked to customer.policyNumber

  • Customer has another question topic-detection
  • Customer confirms no further questions confirmed close-conversation

Close Conversation

Say"Thank you for contacting insurance support, customer.name. Have a great day, and don't hesitate to reach out if you need anything else."

CRM.CloseInteraction linked to customer.policyNumber

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ text▣ chat▣ sms

General FAQ — Travel & Hospitality

TravelHospitalityFAQSupport

Inbound Question

Say"Hi there, thanks for reaching out to us! I'm here to help. What question can I answer for you today?"

CRM.LookupCustomer by customer.phone or customer.email

Detect
intent on customer's opening message
  • Customer asks about cancellation or change policies cancellation clarify-reservation-context
  • Customer asks about amenities, facilities, or property features amenities clarify-property
  • Customer asks about pet policy pets clarify-property
  • Customer asks about meals, dining, or breakfast inclusion dining clarify-property
  • Customer asks about loyalty program benefits or points loyalty loyalty-faq
  • Customer asks about visa, health, or travel entry requirements travel-requirements travel-requirements-faq
  • Customer message is vague or multi-topic unclear clarify-question
  • Customer expresses frustration or dissatisfaction upfront frustrated escalation-human

Clarify Question

Say"I want to make sure I give you the most accurate answer. Could you tell me a bit more about what you're looking for? For example, is this about a reservation you already have, or are you planning a future trip?"
Detect
sentiment and intent on customer reply
  • Customer provides enough detail to categorise clarified inbound-question
  • Customer remains vague or asks multiple unrelated things still-unclear retrieve-general-faq
  • Customer shows frustration frustrated escalation-human

Clarify Reservation Context

Say"I can pull up our cancellation policy for you. Are you asking about an existing reservation, or planning ahead for a new booking?"
  • Customer references an existing reservation clarify-property
  • Customer is asking prospectively retrieve-general-faq

Clarify Property

Say"Policies and features can vary by property. Could you let me know which hotel or location you're asking about, or share your reservation details if you have them handy?"

PMS.LookupReservation by reservation.id if provided

  • Property identified or reservation found retrieve-property-faq
  • Customer cannot specify a property and question is general retrieve-general-faq
  • Customer is frustrated by the extra question frustrated escalation-human

Retrieve Property-Specific FAQ

kb.property-policies — look up topic.category policy for property.name

Agent
retrieve and synthesise the relevant policy or amenity detail for property.name based on the customer's question and customer.loyaltyTier.
Goal:deliver a single, clear, accurate answer tailored to the identified property and the customer's membership tier where benefits differ.
Constraints:never invent or extrapolate policy details not present in kb.property-policies; always note if a policy differs for loyalty tiers above or below customer.loyaltyTier; flag date-sensitive policies that apply specifically within reservation.checkIn to reservation.checkOut window.
Tools available:kb.property-policies, PMS.GetPropertyDetails, LoyaltyPlatform.GetTierBenefits
  • Answer found and complete deliver-answer
  • Answer found but varies by date or rate type deliver-answer-with-caveat
  • Knowledge base has no coverage for this question no-coverage knowledge-gap
  • Question touches legal, medical, or safety matter sensitive escalation-human

Retrieve General FAQ

kb.general-faq — look up topic.category

Agent
retrieve and synthesise the best available general answer from the knowledge base for the customer's question.
Goal:give the customer a clear, concise answer based on standard brand-wide policy when a specific property is not yet identified.
Constraints:never present a general policy as property-specific; if the answer is known to vary by location, always flag that and offer to look up the specific property; do not fabricate information absent from kb.general-faq.
Tools available:kb.general-faq, kb.property-policies, CRM.GetCustomerProfile
  • Answer found and universally applicable deliver-answer
  • Answer varies by property clarify-property
  • Answer varies by loyalty tier LoyaltyPlatform.GetTierBenefits deliver-answer-with-caveat
  • Knowledge base has no coverage no-coverage knowledge-gap
  • Question touches legal, medical, or safety matter sensitive escalation-human

Loyalty FAQ

kb.loyalty-program — retrieve benefits, earning rules, and redemption policies for customer.loyaltyTier

Say"Let me check your loyalty tier details right away."

LoyaltyPlatform.GetTierBenefits for customer.loyaltyTier

  • Benefits information retrieved deliver-answer
  • Customer's tier could not be confirmed deliver-answer-with-caveat
  • Customer disputes their tier or points balance dispute escalation-human

Travel Requirements FAQ

kb.travel-entry-requirements — look up destination property.location for reservation.checkIn dates

Say"Travel requirements such as visa rules and health documentation can change quickly. Let me share what we have on file, though I'll also point you to the official sources for the most current information."
Agent
retrieve known entry, visa, and health requirements for property.location valid around reservation.checkIn.
Goal:give the customer a useful starting summary while making clear these details are time-sensitive and subject to change.
Constraints:always append a disclaimer that official government and airline sources must be consulted for final confirmation; never confirm whether a customer personally meets a visa or health requirement; do not provide medical advice.
Tools available:kb.travel-entry-requirements, kb.general-faq
  • Summary retrieved deliver-answer-with-caveat
  • No information available for this destination no-coverage knowledge-gap
  • Customer raises a medical or legal compliance concern sensitive escalation-human

Deliver Answer

Say"Great news — here's what I found for you: question.raw"
Say"Is there anything else about your trip or reservation I can help with?"
Detect
sentiment and follow-up intent on customer reply
  • Customer is satisfied and has no further questions satisfied resolution
  • Customer has a follow-up question on the same topic follow-up retrieve-property-faq
  • Customer has a completely new question new-topic inbound-question
  • Customer is not satisfied with the answer unsatisfied escalation-human

Deliver Answer With Caveat

Say"Here's the information I have, though please note this may vary depending on specific dates, rate types, or your membership level — I'll flag those nuances for you."
Say"For travel regulations or health requirements, I strongly recommend also checking the official government or airline websites to confirm the latest rules before you travel."
Detect
sentiment and follow-up intent on customer reply
  • Customer accepts the answer and caveats satisfied resolution
  • Customer wants clarification on a specific variant follow-up clarify-property
  • Customer is unsatisfied or concerned unsatisfied escalation-human

Knowledge Gap

Say"I want to be upfront with you — I don't have enough detail on hand to give you a fully accurate answer on that specific point, and I'd rather connect you with someone who does than risk giving you incomplete information."
Say"I can transfer you to one of our specialists who will be able to help. Would that work for you?"

CRM.LogInteraction note: unanswered FAQ topic, question.raw, property.name

Detect
customer preference on transfer
  • Customer agrees to be connected confirmed escalation-human
  • Customer declines transfer and wants to try another question new-topic inbound-question
  • Customer ends the conversation end resolution

Escalation to Human Specialist

CRM.LogInteraction with question.raw, topic.category, reservation.id, customer.loyaltyTier, escalation reason

Say"I'm going to connect you with one of our specialists right now — they'll have full context on your question so you won't need to repeat yourself."
Say"Thank you for your patience, customer.name. A specialist will be with you shortly."

Resolution

Say"Wonderful — I'm glad I could help! If you ever have more questions before or during your trip, don't hesitate to reach out. Have a great journey!"

CRM.LogInteraction note: FAQ resolved, topic.category, property.name, customer.loyaltyTier

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ sms▣ chat

Fraud Alert Follow-up

Financial ServicesFraudSupport

Alert Notification

FraudDetectionPlatform.FetchFlaggedTransaction to retrieve transaction.id, transaction.amount, transaction.merchant, transaction.datetime, and transaction.riskScore.

  • System lookup succeeds and transaction details are retrieved identity-verification
  • System lookup fails or returns no transaction record system_error system-lookup-failure

Identity Verification

Say"Hello, this is your Financial Services support agent reaching out about a recent alert on your account ending in card.last4. For your security, I need to verify your identity before we continue."
Say"Can you please confirm your full name, date of birth, and either your PIN or the answer to your security question on file?"

IdentityVerification.VerifyCustomer using customer.name, customer.dob, and customer.pin or customer.securityAnswer.

Detect
verification outcome from IdentityVerification.VerifyCustomer result
  • Identity verified successfully confirmed transaction-confirmation
  • Identity cannot be verified after two attempts failed verification-failure
  • Customer is uncertain or provides partial information partial verification-retry

Verification Retry

Say"No problem — let's try a different credential. Could you confirm your date of birth and the answer to your security question instead?"

IdentityVerification.VerifyCustomer retry with alternate credentials.

Detect
verification outcome on retry
  • Identity verified on retry confirmed transaction-confirmation
  • Identity still cannot be verified failed verification-failure

Verification Failure

Say"I'm sorry, but I'm unable to verify your identity at this time, so I'm not able to share any account details for your security. Please visit your nearest branch with a valid photo ID, or call us back once you have your credentials available."

CRM.LogInteraction tagged verification-failure, linked to account.id, noting no transaction details were disclosed.

Transaction Confirmation

Say"Thank you, customer.name — your identity is confirmed. We flagged a transaction on your account ending in card.last4: a charge of transaction.amount at transaction.merchant on transaction.datetime. Do you recognize this transaction?"
  • Customer confirms the transaction is theirs confirmed resolution-clear
  • Customer says the transaction is not theirs denied disputed-transaction
  • Customer is unsure or asks for more time uncertain transaction-detail-review

Transaction Detail Review

Say"Completely understandable — let me give you a moment. The charge was transaction.amount at transaction.merchant, dated transaction.datetime. Does that help you recall whether this was you?"

kb.fraud-dispute-policy — review dispute eligibility window for transaction.datetime.

  • Customer recognizes the transaction after further detail confirmed resolution-clear
  • Customer confirms the transaction is not theirs denied disputed-transaction
  • Customer remains unsure and cannot confirm or deny uncertain CRM.LogInteraction tagged pending-customer-response escalation-human

Disputed Transaction

Say"I'm sorry to hear that. I'm going to take immediate steps to secure your account. First, let me block your current card ending in card.last4 to prevent any further unauthorized use."

CardManagement.BlockCard for card.last4.

CRM.UpdateCase flagged as fraud-reported, linked to account.id and transaction.id.

Say"Your card has been blocked. Before I open a formal dispute, I also want to check — are there any other recent transactions on your account that you don't recognize?"
Detect
customer response regarding additional unrecognized transactions
  • Customer confirms only the single flagged transaction is unrecognized single-transaction open-dispute
  • Customer flags additional unrecognized transactions multiple-transactions expanded-fraud-event
  • Customer is distressed, upset, or requests immediate escalation distressed escalation-human

Expanded Fraud Event

Say"Thank you for letting me know — this is very important. I'm escalating your case immediately for a full account review. A specialist will contact you shortly, and your account will be secured while the review is underway."

CoreBanking.FreezeAccount for account.id.

FraudDetectionPlatform.FlagAccountCompromised linked to account.id.

CRM.CreateCase priority: critical, tagged expanded-fraud-account-review, linked to account.id.

DisputeManagement.OpenExpandedReview for account.id, noting all flagged transactions.

  • Case created and account frozen escalation-human

Open Dispute

DisputeManagement.OpenDispute for transaction.id, transaction.amount, transaction.merchant, linked to account.id. Capture dispute.caseId.

Say"I've opened a dispute for the charge of transaction.amount at transaction.merchant. Your dispute reference number is dispute.caseId. Our team will investigate and you'll receive an update within 5 to 7 business days."

replacement-card

Replacement Card

Say"I'll now arrange a replacement card for you. Can you confirm your current mailing address so we can get that sent out?"

CardManagement.IssueReplacementCard for card.last4, ship to replacement.deliveryAddress.

Approval
Slack.RequestApproval to #fraud-ops-approvals, approver: fraud_ops_lead
Context sent:account.id, transaction.id, transaction.amount, dispute.caseId, card block confirmed, replacement card address
  • Approved approved dispute-wrap-up
  • Rejected rejected escalation-human
  • No response within 30 min escalation-human

Dispute Wrap-up

CRM.UpdateCase with dispute.caseId, card block status, and replacement card shipping confirmation.

CoreBanking.ClearFraudAlert on transaction.id.

Say"Your replacement card will arrive within 5 to 7 business days. Your dispute is filed under reference dispute.caseId, and your account is now secured. Is there anything else I can help you with today?"
  • Customer has further questions or concerns escalation-human
  • Customer is satisfied and call can close resolution-clear

System Lookup Failure

CRM.LogInteraction tagged system-error-transaction-lookup, linked to account.id, noting transaction details could not be retrieved.

Say"I apologize — I'm experiencing a technical issue and I'm unable to retrieve the transaction details at this moment. I've flagged this for our team to review manually. Please call us back in a short while or visit your nearest branch, and we'll have this sorted for you as quickly as possible."

FraudDetectionPlatform.FlagForManualReview linked to account.id, tagged system-lookup-failure.

Escalation to Human Agent

CRM.CreateCase priority: high, tagged fraud-escalation, linked to account.id and transaction.id.

Slack.Notify to #fraud-ops with case summary including account.id, transaction.id, transaction.amount, card.last4, and reason for escalation.

Say"I'm connecting you now with a fraud specialist who has full visibility into your account and can take immediate action. Please hold for just a moment — you're in good hands."

Resolution — Clear

CoreBanking.ClearFraudAlert on transaction.id.

CRM.LogInteraction tagged alert-cleared-customer-confirmed, linked to account.id.

Say"Great — I've cleared the alert on that transaction and your account remains fully active with no further action needed. Thank you for confirming, customer.name. If you ever spot anything unfamiliar, don't hesitate to reach out. Have a great day."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ sms

Dispute Escalation to Human Agent

Financial ServicesDisputesEscalationSupport

Dispute Intake

Say"Thank you for reaching out. I'm here to help you with your dispute. Could you please share your full name and account number so I can pull up your account?"
  • Customer provides name and account number identity-verification
  • Customer mentions an already-open dispute or prior case number existing-case-lookup
  • Customer immediately invokes legal rights (CFPB, arbitration, attorney) or threatens legal action legal_threat escalation-human
  • Customer is highly distressed or agitated distressed escalation-human

Identity Verification

Say"For your security, I need to verify your identity before we proceed. I'll ask you a few quick questions."

IdentityVerification.Verify against customer.accountNumber — check security questions, date of birth, and registered contact details.

Detect
identity verification outcome
  • Identity verified on first or second attempt verified account-and-dispute-lookup
  • Identity cannot be verified after two attempts unverified identity-failure
  • Customer refuses verification or abandons escalation-human

Identity Failure

Say"I'm sorry — I wasn't able to verify your identity through this channel. For your security, I'm unable to proceed with the dispute without verification."
Say"You can resolve this by logging into your secure online account, visiting your nearest branch with a government-issued ID, or calling back with your security details ready."

CRM.LogAttempt tag: identity-verification-failed, linked to customer.accountNumber

Account and Dispute Lookup

CoreBanking.GetAccountDetails for customer.accountNumber

CoreBanking.GetTransactionHistory for customer.accountNumber

Say"Thank you, customer.fullName. I can see your account. Can you tell me the date, amount, and any reference ID or merchant name for the charge or decision you'd like to dispute, and the reason for the dispute?"
  • Customer provides transaction or decision details dispute-eligibility-check
  • Agent cannot locate the transaction after two attempts escalation-human
  • Customer mentions fraud and amount is above USD 500 high_value_fraud escalation-human

Dispute Eligibility Check

kb.dispute-eligibility-policy — check whether transaction.date falls within the eligible dispute window and whether dispute.reason qualifies under policy.

Agent
assess dispute eligibility using transaction.date, transaction.amount, dispute.reason, and kb.dispute-eligibility-policy.
Goal:determine whether the dispute is within the allowable window and falls under a qualifying dispute category before logging a formal case.
Constraints:never log a formal dispute for transactions outside the eligible window without supervisor approval; never waive policy without flagging for human review; always document ineligible attempts in the CRM.
Tools available:CoreBanking.GetTransactionHistory, kb.dispute-eligibility-policy, CRM.LogAttempt
  • Dispute is within policy window and qualifies eligible dispute-logging
  • Dispute falls outside the eligible window or does not qualify under policy ineligible dispute-ineligible
  • Eligibility is ambiguous and requires human judgment ambiguous escalation-human

Dispute Ineligible

Say"I've reviewed your account and I want to be transparent with you — based on our policy, this dispute falls outside the eligible timeframe of dispute.windowDays days, or doesn't meet the qualifying criteria for a formal dispute."
Say"I've documented your concern and today's contact in your account record. If you believe there are exceptional circumstances, I can escalate this to a specialist for a secondary review."

CRM.LogAttempt tag: dispute-ineligible, linked to customer.accountNumber, note dispute.reason

  • Customer accepts the outcome and has no further questions resolution-closed
  • Customer requests secondary review or escalation escalation-human

Existing Case Lookup

Say"It sounds like you may already have an open dispute with us. Let me pull that up — could you share your prior case or reference number?"

CaseManagement.GetCase by dispute.priorCaseNumber or customer.accountNumber

Detect
case lookup outcome
  • Existing open case found case_found existing-case-update
  • No matching case found, treat as new dispute no_case identity-verification
  • Customer escalates frustration about lack of progress frustrated escalation-human

Existing Case Update

Say"I found your existing case — case number case.id, currently with a status of case.status. Let me update it with the new information you've shared today."

CaseManagement.UpdateCase on case.id with new dispute.reason and today's contact timestamp

CRM.LogInteraction linked to case.id, tag: customer-follow-up

Say"I've added your update to the case. A specialist will review the new information and you'll receive a follow-up via customer.preferredContact within the timeframe we originally communicated."
  • Customer is satisfied with the update resolution-closed
  • Customer escalates or expresses legal intent legal_threat escalation-human
  • Customer requests to speak with a human specialist escalation-human

Dispute Logging

Say"Everything looks good. I'm going to formally log your dispute now. This covers the charge of transaction.amount on transaction.date at transaction.merchant, reference ID transaction.referenceId, with reason: dispute.reason. Does that sound correct?"
  • Customer confirms details confirmed case-creation
  • Customer corrects or amends details correction account-and-dispute-lookup

Case Creation

DisputesManagement.CreateCase for customer.accountNumber with transaction.referenceId, transaction.amount, transaction.date, dispute.reason

CaseManagement.AssignCaseNumber and capture as case.id

CRM.LogInteraction tag: dispute-filed, linked to case.id

Say"Your dispute has been formally logged and assigned case number case.id. Here's what happens next — our disputes team will review the details within 3 to 5 business days and you'll receive a status update via customer.preferredContact."

dispute-confirmation

Dispute Confirmation

Twilio.SendSMS to customer.phone: "Your dispute (Case case.id) has been logged. Amount: transaction.amount. We'll follow up within 3–5 business days. Reply STOP to opt out."

Twilio.SendEmail to customer.email with full case summary including case.id, transaction.referenceId, transaction.amount, transaction.date, and next steps.

Say"I've sent a confirmation with your case number and next steps to your email and phone on file. Is there anything else I can help you with today?"
  • Customer has no further questions resolution-closed
  • Customer has additional questions or a separate dispute dispute-intake
  • Customer escalates or requests immediate human follow-up escalation-human

Escalation to Human Agent

Say"I completely understand, and I want to make sure you get the right support. I'm escalating this to a specialist right now who can handle this directly."

CRM.LogInteraction tag: escalation-triggered, linked to customer.accountNumber, note dispute.reason

CaseManagement.CreateOrUpdateCase priority: high, tag: human-escalation, linked to transaction.referenceId

DisputesManagement.FlagForReview on customer.accountNumber with escalation reason and agent transcript summary

Approval
Slack.RequestApproval to #disputes-escalation-queue, approver: disputes_team_lead
Context sent:customer.fullName, customer.accountNumber, case.id, transaction.amount, transaction.referenceId, dispute.reason, escalation trigger summary
  • Specialist accepts and takes over approved escalation-handoff-complete
  • No response within 10 min timeout escalation-handoff-complete

Escalation Handoff Complete

Say"A disputes specialist has been notified and will be in touch with you via customer.preferredContact shortly. Your case reference is case.id — please keep that handy. We're sorry for the difficulty and we'll make sure this is resolved for you."

Twilio.SendSMS to customer.phone: "You've been connected with a disputes specialist. Reference: case.id. Expect contact via customer.preferredContact shortly."

Resolution / Closed

Say"I'm glad we could assist you today. Your case reference is case.id — don't hesitate to reach out if you have any further questions. Take care."

CRM.LogInteraction tag: interaction-complete, linked to case.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ email▣ voice

Damaged / Wrong Item Received

RetailSupportReturnsRefunds

Intake & Verify

Say"Hi, I'm sorry to hear about this — let's get it sorted for you right away. Can I start with your order number? If you don't have it handy, your account email or phone number works too."
  • Customer provides order ID OMS.LookupOrder by order.id confirm-order
  • Customer provides email or phone instead CRM.LookupByContact by customer.email or customer.phone confirm-order
  • Customer cannot provide any identifying information identity-unverifiable

Confirm Order

OMS.GetOrderDetails for order.id — retrieve item.description, order.deliveryDate, order.status, order.value

Say"I've pulled up your order. Can you tell me what happened — was the item damaged when it arrived, or did you receive the wrong item?"
  • Order found, delivery confirmed, customer describes damaged item issue-triage
  • Order found, delivery confirmed, customer describes wrong item received issue-triage
  • Order found but not yet marked delivered ShippingCarrier.GetTrackingStatus delivery-unclear
  • Order lookup returns an error or ambiguous result CRM.FlagForManualReview system-lookup-failed

Issue Triage

Say"Thank you — I've noted the issue with your item.description. To make sure we handle this correctly, I'd like to check your eligibility under our returns and replacements policy."

kb.returns-replacement-policy — verify order.deliveryDate is within policy.replacementWindowDays and check photo evidence requirements for item.issue

  • Within policy window, photo evidence required by policy request-photo-evidence
  • Within policy window, no photo evidence required resolution-offer
  • Outside policy window outside-return-window

Request Photo Evidence

Say"Our policy asks for a photo of the damaged or incorrect item to process this quickly. Could you upload or send a photo? You can reply directly in this chat, email it back, or I can send you a secure upload link."

PhotoUpload.SendUploadLink to customer.email or customer.phone

  • Customer submits photo, evidence is clear resolution-offer
  • Customer unable to submit photo, order value is within policy.autoApprovalThreshold Policy.CheckGoodwillEligibility goodwill-exception-review
  • Customer unable to submit photo, order value exceeds policy.autoApprovalThreshold escalation-human

Goodwill Exception Review

Agent
assess whether a goodwill exception is appropriate given order.value, customer.email history, and kb.returns-replacement-policy goodwill tier rules.
Goal:decide whether to waive the photo requirement and proceed with a replacement or refund without evidence, or escalate for human approval.
Constraints:never approve a goodwill waiver if order.value exceeds policy.autoApprovalThreshold; never grant more than one goodwill exception per customer account within 90 days; always log the exception reason in case.id.
Tools available:CRM.GetCustomerHistory, Policy.CheckGoodwillEligibility, kb.returns-replacement-policy
  • Goodwill waiver approved within constraints goodwill_approved resolution-offer
  • Goodwill waiver outside constraints or repeat exception needs_review escalation-human

Resolution Offer

Say"Great news — you're eligible for a resolution. Would you prefer a full replacement sent to your address on file, or a refund back to your original payment method? Either option works for us."
  • Customer prefers replacement initiate-replacement
  • Customer prefers refund initiate-refund
  • Customer is unsure, asks for more information explain-resolution-options

Explain Resolution Options

Say"A replacement means we'll ship out a new item.description — delivery typically takes 3 to 5 business days. A refund returns the full amount to your original payment method within 5 to 7 business days. Which would you like to go with?"

kb.returns-replacement-policy — confirm refund and replacement timelines for customer.preferredResolution

  • Customer selects replacement initiate-replacement
  • Customer selects refund initiate-refund
  • Customer requests something outside standard options escalation-human

Initiate Replacement

OMS.CreateReplacementOrder for order.id, ship to address on file

ReturnsManager.OpenReturnCase tagged replacement, linked to order.id, log item.issue

Twilio.SendNotification to customer.email or customer.phone with resolution.confirmationNumber and estimated delivery

Say"Done — your replacement item.description is on its way. You'll receive a confirmation with tracking shortly. Your confirmation number is resolution.confirmationNumber. Is there anything else I can help with?"

close-case

Initiate Refund

ReturnsManager.InitiateRefund for order.id, full amount to original payment method

ReturnsManager.OpenReturnCase tagged refund, linked to order.id, log item.issue

Twilio.SendNotification to customer.email or customer.phone with resolution.confirmationNumber and refund timeline

Say"Your refund has been initiated and should appear within 5 to 7 business days. Your confirmation number is resolution.confirmationNumber. I'm sorry again for the trouble — is there anything else I can help with?"

close-case

Outside Return Window

Say"I can see your order is outside our standard policy.replacementWindowDays-day return window, which means I'm not able to process a standard replacement or refund automatically. I want to make sure you're looked after, so let me check what options are available."

kb.returns-replacement-policy — check partial goodwill resolution eligibility for out-of-window orders

Approval
Slack.RequestApproval to #retail-support-escalations, approver: support_team_lead
Context sent:order.id, order.value, order.deliveryDate, item.issue, customer.email, policy window exceeded
  • Approved for partial goodwill resolution approved ReturnsManager.InitiatePartialCredit partial-resolution-confirmed
  • Rejected, no goodwill exception authorised rejected policy-decline
  • No response within 60 min escalation-human

Partial Resolution Confirmed

Twilio.SendNotification to customer.email or customer.phone with resolution.confirmationNumber and credit details

Say"I've been able to arrange a goodwill credit for your order — you'll receive a confirmation shortly with the details and your reference number resolution.confirmationNumber. I'm sorry we couldn't do a full replacement or refund on this occasion. Is there anything else I can help with?"

close-case

Policy Decline

Say"I'm sorry — I've looked into every option available to me and your order falls outside the window where I'm able to process a replacement, refund, or goodwill credit. I completely understand that's disappointing, and I'm sorry I can't do more today. If you believe there's been an error, I can connect you with a specialist who may be able to help further."
  • Customer accepts the outcome close-case
  • Customer wants to escalate or disputes the outcome escalation-human

Delivery Unclear

ShippingCarrier.GetTrackingStatus for order.id

Say"It looks like your order may still be in transit or the delivery status hasn't updated yet. Let me check the latest tracking details for you."
  • Carrier confirms delivered, discrepancy in OMS OMS.FlagOrderStatusMismatch system-lookup-failed
  • Carrier confirms still in transit close-case
  • Carrier confirms lost or exception raised escalation-human

System Lookup Failed

CRM.CreateCase priority: medium, tagged order-lookup-error, linked to customer.email

CRM.ScheduleCallback for customer.phone within 24 hours

Say"I'm running into a system issue that's preventing me from pulling up your order details right now. I've flagged this for our team and you'll receive a callback within 24 hours to get this sorted. I'm really sorry for the inconvenience — can I confirm the best number to reach you?"
  • Customer confirms callback number CRM.UpdateCaseContactDetails close-case
  • Customer prefers email follow-up Twilio.SendNotification confirmation to customer.email close-case

Identity Unverifiable

Say"I want to help, but I'm not able to locate an order without at least an order number, email address, or phone number linked to the account. Could you check your confirmation email or the app for any of those details?"
  • Customer finds identifying information intake-and-verify
  • Customer still cannot provide verification, low-value context escalation-human
  • Customer becomes frustrated or demands override escalation-human

Escalation to Human Agent

CRM.CreateCase priority: high, tagged damaged-wrong-item-escalation, linked to order.id and customer.email

Slack.Notify to #retail-support-escalations with case summary, order.id, order.value, item.issue, and reason for escalation

Say"I'm going to connect you with one of our senior support specialists who has the tools to handle this for you directly. I've shared all the details we've discussed so you won't need to repeat yourself. Thank you for your patience — someone will be with you shortly."

Close Case

CRM.CloseCase for case.id, log resolution type and resolution.confirmationNumber

Say"Thanks for reaching out, and I'm sorry again for the experience with your order. If you ever need anything else, we're here. Take care!"
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ chat▣ email▣ sms

Complaint Escalation Stay/Trip Issue

TravelHospitalityComplaintsEscalation

Intake & Verification

Say"Thank you for reaching out. I'm sorry to hear you experienced an issue — I want to make sure we get this resolved for you. Could you please share your booking or reservation ID along with the property name and dates of your stay?"

CRM.LookupCustomer by customer.phone or customer.email

PropertyManagementSystem.LookupReservation by booking.id

  • Reservation found and account matched complaint-capture
  • Reservation not found in system manual-case-creation
  • Customer mentions a prior unresolved case CaseManagement.LookupCase by complaint.priorCaseNumber complaint-capture

Complaint Capture

Say"Thank you, customer.name — I can see your stay at booking.propertyName from booking.checkIn to booking.checkOut. I'm sorry things didn't go as expected. Could you walk me through what happened so I can fully understand the situation?"

LoyaltyPlatform.GetProfile by customer.loyaltyNumber

Detect
sentiment and escalation signals in customer description
  • Customer describes issue calmly and provides clear details neutral policy-check
  • Customer is highly upset, distressed, or emotional frustrated empathy-de-escalation
  • Customer explicitly mentions legal action, regulatory body, health or safety incident threatened escalation-human

Empathy & De-escalation

Say"I completely understand how frustrating this must have been, and I sincerely apologize for the experience you had. Your feedback matters enormously to us, and I am personally going to make sure this is handled properly. Please take your time."
Detect
whether customer de-escalates after empathy response
  • Customer calms and continues describing the issue neutral policy-check
  • Customer remains highly distressed or repeats legal / safety threat threatened escalation-human

Policy Check

kb.complaint-resolution-policy — verify complaint window, eligible remedy types, and authorization limits for booking.checkOut and complaint.nature

PropertyManagementSystem.GetReservationDetails for booking.id to confirm rate, room type, and recorded amenities

  • Stay is within complaint window and issue is policy-eligible remedy-assessment
  • Stay falls outside complaint window or issue is partially out of scope out-of-scope-partial-remedy
  • Booking channel is a third-party OTA OTAPartnerPortal.CheckBookingOwnership ota-redirect

Remedy Assessment

Agent
evaluate the appropriate remedy for complaint.nature and complaint.details against booking.id history and kb.complaint-resolution-policy.
Goal:determine whether to offer a full refund, partial refund, loyalty credit, apology voucher, or formal complaint documentation, and at what value.
Constraints:never authorize a refund or credit above USD 500 without human approval; never promise compensation before verifying the stay record; always document every remedy offer in the case management system regardless of outcome.
Tools available:PropertyManagementSystem.GetReservationDetails, LoyaltyPlatform.GetProfile, RefundBillingSystem.CheckEligibility, kb.complaint-resolution-policy
  • Remedy is within authorization limits and straightforward remedy-confirmation
  • Requested or warranted compensation exceeds authorization limit exceeds_limit escalation-human
  • Complaint involves a safety or health element safety_flag escalation-human

Remedy Confirmation

Say"Based on what you've described and your reservation details, I'd like to offer you remedy.type valued at remedy.value as a remedy for your experience. Does that sound acceptable to you?"
Detect
customer response to proposed remedy
  • Customer accepts the remedy confirmed process-remedy
  • Customer rejects and requests higher compensation dissatisfied escalation-review
  • Customer requests time to think and asks to be followed up case-documentation

Process Remedy

RefundBillingSystem.ProcessRefundOrCredit for booking.id with remedy.type and remedy.value

LoyaltyPlatform.ApplyCredit if remedy.type is loyalty credit

CaseManagement.CreateCase tagged complaint-resolved, linked to booking.id and customer.loyaltyNumber

CRM.UpdateCustomerRecord with case reference case.id and remedy details

Say"I've processed your remedy.type — you should see it reflected within 3 to 5 business days. I've also created case case.id as a record of this interaction. Is there anything else I can help you with today?"
  • Customer confirms receipt and has no further issues resolution-close
  • Customer raises an additional complaint complaint-capture

Escalation Review

Approval
Slack.RequestApproval to #hospitality-resolutions, approver: resolutions_manager
Context sent:booking.id, booking.propertyName, booking.checkIn, booking.checkOut, complaint.nature, complaint.details, customer.desiredResolution, remedy.type, remedy.value, customer.loyaltyNumber
  • Approved approved process-remedy
  • Rejected rejected remedy-final-offer
  • No response in 60 min escalation-human

Remedy Final Offer

Say"I've reviewed your case with our resolutions team. While we aren't able to meet the full amount requested, we'd like to offer remedy.type at remedy.value as our best available resolution. I understand this may not be everything you hoped for, and I want to sincerely apologize again for the inconvenience."
Detect
customer response to final offer
  • Customer accepts confirmed process-remedy
  • Customer declines and wishes to escalate further dissatisfied escalation-human

OTA Redirect

Say"I can see that your booking was made through a third-party platform, which means the payment and refund for your reservation are managed on their end. Unfortunately I'm not able to process a direct refund from our side, but I want to make sure you're not left without support."

CaseManagement.CreateCase tagged ota-redirect, linked to booking.id

OTAPartnerPortal.InitiateDisputeReferral for booking.id with complaint.nature and complaint.details

Say"I've created an internal record of your complaint as case case.id, and I've flagged the issue with the booking platform on your behalf. I'd recommend also contacting them directly to request the refund. Can I help you with anything else, or provide any documentation to support your claim?"
  • Customer is satisfied with the redirect guidance resolution-close
  • Customer is unsatisfied and escalates frustration frustrated escalation-human

Out-of-Scope / Partial Remedy

Say"I've reviewed your reservation details and I want to be transparent with you — based on our policy, this type of complaint typically needs to be raised within a specific window after checkout, and we're slightly outside that timeframe. I'm sorry for any confusion around that."

kb.complaint-resolution-policy — identify any goodwill or partial remedy options available outside the standard window

Say"While I'm not able to process a full remedy in this case, I do want to acknowledge the experience you had. I can offer remedy.type as a goodwill gesture, and I'll make sure your feedback is formally documented."

CaseManagement.CreateCase tagged out-of-scope, linked to booking.id

  • Customer accepts the partial or goodwill remedy confirmed process-remedy
  • Customer is dissatisfied and escalates frustrated escalation-human

Manual Case Creation

Say"I wasn't able to locate a reservation with those details in our system right now — that can sometimes happen if the booking is very recent or was made under a different contact. No worries; let me gather your information manually so we can investigate and follow up with you."

CRM.LookupCustomer by customer.email or customer.loyaltyNumber

CaseManagement.CreateCase tagged pending-lookup, with booking.propertyName, booking.checkIn, booking.checkOut, complaint.nature, customer.email, customer.phone

Say"I've created a pending case reference for you — case.id. Our team will investigate and reach out to you at customer.email within 2 business days. I'm sorry we couldn't resolve this immediately."
  • Customer accepts the follow-up path resolution-close
  • Customer is unwilling to wait and is highly agitated frustrated escalation-human

Escalation to Human Agent

CaseManagement.CreateCase priority: urgent, tagged escalation, linked to booking.id and customer.loyaltyNumber

CRM.UpdateCustomerRecord with escalation flag and complaint.details

Slack.Notify to #hospitality-escalations with case summary, booking.id, complaint.nature, and customer.desiredResolution

Say"I completely understand, and I want to make sure you're speaking with someone who has the full authority to address this. I'm escalating your case to our senior resolutions team right now — you'll be connected with a specialist shortly. Your case reference is case.id."

Case Documentation & Follow-up

Say"Of course — I'll document everything we've discussed and make sure your case is ready whenever you'd like to proceed. Your case reference is case.id, and you can reach us at any time to continue."

CaseManagement.CreateCase tagged pending-customer-response, linked to booking.id with complaint.details and proposed remedy.type

CRM.UpdateCustomerRecord with case.id and follow-up flag

SendEmail to customer.email with case summary, proposed remedy, and contact instructions

  • Customer returns and accepts remedy confirmed process-remedy
  • Customer returns and escalates dissatisfied escalation-human

Resolution & Close

Say"I'm glad we were able to work through this together. Your experience has been documented as case case.id, and we truly value your feedback — it helps us improve. We hope to welcome you back and provide the experience you deserve. Is there anything else I can help you with today?"

CaseManagement.CloseCase for case.id with resolution status

CRM.UpdateCustomerRecord with resolved status and remedy applied

LoyaltyPlatform.LogInteraction for customer.loyaltyNumber tagged complaint-resolved

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat▣ email

Complaint Escalation — Insurance

InsuranceComplaintsEscalationRegulatory

Intake and Greeting

Say"Thank you for contacting us. I understand you'd like to raise a concern today — I'm here to help and I want to make sure we handle this properly for you. May I start with your full name and policy number?"
Detect
sentiment and distress level on customer's opening statement
  • Customer is calm or moderately frustrated neutral identity-verification
  • Customer is highly distressed, upset, or using strong escalation language distressed empathy-protocol
  • Customer explicitly mentions the ombudsman, legal action, or litigation legal_threat regulatory-flag

Empathy Protocol

Say"I can hear how frustrated you are, and I want you to know your complaint is being taken very seriously. I'd like to take the time to properly understand everything that's happened. You have my full attention."
  • Customer settles and is willing to continue confirmed identity-verification
  • Customer demands to speak with a manager immediately escalation_request escalation-human
  • Customer remains highly distressed and conversation cannot progress unresolvable escalation-human

Regulatory Flag

ComplaintsManagementSystem.SetPriorityFlag on case.existingId with tag regulatory-legal-threat

Say"I want to make sure we treat this with the urgency it deserves. I'm flagging this right now as a priority complaint. A senior handler will be involved in the resolution of this case."
  • Continue to identity verification identity-verification

Identity Verification

Say"Before I log your complaint and access your policy details, I need to verify your identity. Could you please confirm your date of birth and the postcode associated with your policy?"

IdentityVerification.Verify using policy.number and policy.holderId

  • Identity verified successfully verified complaint-capture
  • Identity cannot be verified after two attempts unverified unverified-complaint-log
  • Customer refuses to provide verification details refused unverified-complaint-log

Complaint Capture

Say"Thank you for confirming your details. I'd now like to understand your complaint fully. Please take as much time as you need — could you walk me through what happened, including when it occurred and any reference numbers you may have for an existing claim or case?"

PolicyAdministrationSystem.GetRecord for policy.number

CRM.GetCustomerProfile for policy.holderId

CaseManagement.SearchExistingCases using policy.number and claim.referenceNumber

Detect
whether an existing open case matches the incoming complaint
  • Existing open case found matching this complaint duplicate duplicate-case-update
  • No existing case found, proceed to log new complaint no_duplicate complaint-classification
  • Complaint involves a protected or vulnerable customer flag customer.vulnerableFlag vulnerable-customer-handling

Vulnerable Customer Handling

Say"I can see from your record that you may benefit from some additional support. I want to make sure we handle your complaint in the way that works best for you. Would you prefer we follow up by phone, email, or letter — and is there anything I can do right now to make this process easier for you?"

CRM.SetVulnerableFlag on policy.holderId

ComplaintsManagementSystem.SetPriorityFlag with tag vulnerable-customer

  • Customer confirms preferred contact method, continue to classification complaint-classification
  • Customer requests specialist support or senior handler escalation-human

Complaint Classification

Agent
classify the complaint using complaint.description and complaint.category against kb.complaint-category-taxonomy.
Goal:determine the correct complaint category (claim handling, policy administration, customer service, billing, regulatory) and assess whether a priority or legal flag should be applied.
Constraints:never dismiss or downgrade a complaint that contains keywords indicating legal threat, vulnerability, or regulatory referral; always apply the most protective classification when ambiguous.
Tools available:ComplaintsManagementSystem.GetCategoryList, kb.complaint-category-taxonomy, kb.regulatory-response-timeframes
  • Classification complete, no escalation triggers identified classified complaint-logging
  • Classification reveals regulatory or legal risk not yet flagged legal_threat regulatory-flag
  • Classification reveals vulnerable customer indicator not yet flagged vulnerable vulnerable-customer-handling

Duplicate Case Update

Say"I can see we already have an open case reference case.existingId related to this matter. Rather than creating a new complaint, I'll update that existing record with everything you've told me today so nothing is lost."

CaseManagement.UpdateCase on case.existingId with complaint.description and complaint.date

CRM.AddInteractionNote for policy.holderId with summary of call and updated complaint details

Say"I've updated your existing case case.existingId with today's information. You'll receive a follow-up via your preferred contact method, and you can reference that case number at any time."
  • Update complete, confirm timeframes with customer regulatory-timeframe-confirmation

Complaint Logging

ComplaintsManagementSystem.CreateComplaint with policy.number, customer.name, complaint.description, complaint.category, complaint.date, claim.referenceNumber

Say"I've formally logged your complaint and your reference number is complaint.referenceNumber. Please keep this safe — you can use it to check on the status of your complaint at any time."

CRM.AddInteractionNote for policy.holderId linking complaint.referenceNumber and complaint.category

  • Complaint logged, proceed to confirm response timeframes regulatory-timeframe-confirmation

Regulatory Timeframe Confirmation

kb.regulatory-response-timeframes — retrieve applicable acknowledgment and resolution deadlines based on complaint.category

Say"Under our regulatory obligations, you'll receive a written acknowledgment within 5 business days. We aim to resolve your complaint fully within 8 weeks. If we're unable to do so, we'll write to you explaining why and advising you of your right to refer your complaint to the Financial Ombudsman Service."
Say"We'll be in touch via customer.preferredContact. Is there anything else you'd like to add before we close today's call?"
  • Customer has nothing further to add confirmed resolution-confirmation
  • Customer raises an additional concern or asks a follow-up question further_query complaint-capture
  • Customer requests a callback from a senior handler escalation_request escalation-human

Unverified Complaint Log

Say"I completely understand — I want to make sure your complaint is still recorded even if we're unable to verify your identity right now. I'll log this as an unverified complaint. Once we're able to verify your identity at a later stage, we can link it to your policy record."

ComplaintsManagementSystem.CreateUnverifiedComplaint with complaint.description, complaint.date, and a note that identity verification is pending

CRM.AddUnverifiedInteractionNote with complaint.description

Say"Your complaint has been logged with reference number complaint.referenceNumber. To progress this further and link it to your policy, please contact us again with your policy number and identity documents. We're sorry we couldn't do more today."
  • Unverified log complete resolution-confirmation

Escalation to Human Agent

ComplaintsManagementSystem.SetPriorityFlag on complaint.referenceNumber with tag senior-handler-required

CRM.AddInteractionNote for policy.holderId with reason for escalation

CaseManagement.AssignToSeniorHandler and notify agent.seniorHandlerEmail

Say"I'm escalating your complaint to a senior handler right now. They will be in contact with you via customer.preferredContact within 24 hours. Your reference number is complaint.referenceNumber — please keep this to hand."

Resolution Confirmation

Say"Thank you for bringing this to our attention — your feedback is important to us and we take all complaints seriously. Your reference number is complaint.referenceNumber. We'll be in touch as discussed. Is there anything else I can help you with today?"

CRM.CloseInteraction for policy.holderId with outcome logged and complaint.referenceNumber attached

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat▣ email

Complaint / Feedback Intake

HealthcarePatient RelationsComplaintsGrievanceFeedback

Intake Greeting

Say"Thank you for reaching out to our Patient Relations team. My name is your Healthcare Support Agent, and I'm here to make sure your concern is heard and handled with care. May I have your full name and date of birth so I can pull up your record?"
  • Patient provides name and date of birth identity-verification
  • Patient declines to provide identifying information unverified-caller
  • Patient immediately expresses significant distress distressed-patient

Identity Verification

EHR.LookupPatient using patient.name and patient.dob

Say"Thank you. I'm also going to ask for your patient ID or member number if you have it handy — that just helps me make sure I have the right record."
  • Identity confirmed, patient record located in EHR verified complaint-type-triage
  • Identity cannot be confirmed after two attempts unverified unverified-caller
  • Patient becomes distressed during verification distressed-patient

Complaint Type Triage

Say"I appreciate your patience. I want to make sure I understand what you'd like to share with us today. Could you briefly describe the nature of your concern or feedback — for example, whether it relates to your care experience, a specific provider, billing, or something else?"
Detect
intent and nature of patient submission
  • Patient describes a potential safety event, clinical harm, abuse, or neglect safety-incident safety-escalation
  • Patient explicitly requests a patient advocate or administrator requests-advocate escalation-human
  • Patient describes a complaint about care quality, provider conduct, facility, or billing complaint complaint-intake
  • Patient is sharing positive or general feedback positive-feedback commendation-intake
  • Patient becomes emotionally distressed at any point distressed distressed-patient

Distressed Patient

Say"I want you to know that what you're sharing matters, and I'm not going to rush you. Take all the time you need — I'm here and I'm listening."
Detect
sentiment and readiness to continue
  • Patient is ready to continue after acknowledgment ready complaint-type-triage
  • Patient remains highly distressed and requests to speak with someone senior requests-advocate escalation-human
  • Patient discloses a safety concern or harm during this exchange safety-incident safety-escalation

Complaint Intake

Say"Thank you for sharing that with me. I want to make sure I capture every detail accurately. Can you tell me the approximate date this occurred, and the name of the provider or department involved if you know it?"

EHR.GetPatientContext for patient.id to pre-populate known provider and visit history

Say"I also want to make sure we can follow up with you in the way that works best for you. Would you prefer a phone call, a message through the patient portal, or an email?"
  • All key details collected — date, provider or department, nature, preferred contact complaint-logging
  • Patient cannot recall specific date or provider complaint-logging
  • Patient discloses details suggesting clinical harm or a safety event during intake safety-incident safety-escalation
  • Patient becomes distressed during intake distressed-patient

Complaint Logging

GrievanceManagement.CreateCase with patient.id, patient.name, patient.dob, complaint.date, complaint.nature, complaint.provider, complaint.department, patient.preferredContact, case.priority

CRM.UpdatePatientRecord with case reference and feedback.type tagged as complaint

Say"I've logged your concern in our system. Your reference number is complaint.referenceNumber — please keep that handy in case you need to follow up with us. You can expect to hear from our Patient Relations team within five business days, and sooner if your concern is urgent."
Say"Is there anything else you'd like me to note, or any other questions I can answer for you today?"
  • Patient has no further questions resolution-acknowledgment
  • Patient raises an additional complaint or concern complaint-intake
  • Patient raises a safety concern at this stage safety-incident safety-escalation
  • Patient requests to speak with a patient advocate requests-advocate escalation-human

Commendation Intake

Say"That's wonderful to hear — thank you so much for taking the time to share that. Positive feedback means a great deal to our teams, and I'll make sure it gets to the right people."

CRM.LogFeedback with patient.id, patient.name, feedback.type tagged as commendation, and complaint.provider or complaint.department if provided

Say"I've passed along your kind words. Is there anything else I can help you with today?"
  • Patient has nothing further to add resolution-acknowledgment
  • Patient also has a complaint to raise complaint-intake

Unverified Caller

Say"I'm sorry — because I'm not able to confirm your identity in our system, I'm not able to access or create a record on your behalf. I want to make sure your concern is still heard, and there are a couple of ways we can do that."
Say"You're welcome to submit a written complaint through our website, or you can visit any of our facilities in person and our Patient Relations staff will be glad to assist you. If you do have your patient ID or member number available at a later time, you're also welcome to call back and we can complete the intake then."

kb.patient-complaint-submission-policy — confirm current written complaint and in-person intake options

  • Patient accepts alternative options and ends the call resolution-acknowledgment
  • Patient becomes distressed about inability to proceed distressed-patient
  • Patient discloses a safety concern despite being unverified safety-incident safety-escalation

Safety Escalation

Say"Thank you for telling me this. What you've described is something we take very seriously, and I'm going to make sure it reaches the right team immediately. You will be contacted directly as a priority."

RiskReporting.CreateIncident tagged high-priority with patient.name, patient.dob, patient.id if verified, complaint.nature, complaint.date, complaint.provider, complaint.department

GrievanceManagement.CreateCase with case.priority set to high and flagged for clinical risk management review

SecureMessaging.NotifyClinicalRiskTeam with incident summary and complaint.referenceNumber

Say"Your concern has been escalated to our clinical risk management team. Someone will be reaching out to you directly, and your reference number is complaint.referenceNumber."

Escalation to Human Agent

CRM.UpdatePatientRecord with escalation flag and case summary

SecureMessaging.NotifyPatientAdvocate with patient.name, patient.id if verified, complaint.nature, and preferred contact patient.preferredContact

Say"Absolutely — I'm going to connect you with a Patient Advocate or Administrator right now who is best positioned to help you. Please hold for just a moment while I bring them in."

Resolution Acknowledgment

Say"Thank you again for reaching out to us. Your experience matters, and we appreciate you giving us the opportunity to address your concern. If you need anything else or have follow-up questions, please don't hesitate to contact us — your reference number is complaint.referenceNumber."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat▣ text

Claim Status Inquiry

InsuranceClaimsSupport

Intake and Verification

Say"Thank you for contacting us. I'm here to help with your claim. Can I please have your full name, policy number, and either your claim number or date of loss?"

CRM.LookupCustomer using customer.fullName and policy.number

Say"To protect your account, I'll need to verify your identity. Could you please provide your date of birth or the last four digits of your Social Security Number?"

IdentityVerification.Verify using customer.dateOfBirth or customer.ssnLast4 against policy.number

  • Identity verified successfully verified claim-record-lookup
  • Identity verification fails or information does not match unverified identity-failure
  • Customer mentions legal action, complaint, or attorney representation escalation-intent escalation-special-handling

Claim Record Lookup

ClaimsManagementSystem.GetClaim using claim.number or claim.dateOfLoss and policy.number

  • Claims system returns record successfully claim-triage
  • Claims system is unavailable or returns an error system-down system-unavailable

Claim Triage

Detect
special handling flags on claim record — litigation, attorney-represented, fatality, major injury, or special handling
  • claim.litigationFlag or claim.attorneyFlag or claim.specialHandlingFlag is set special_handling escalation-special-handling
  • claim.fatalityFlag or major injury indicator is set major_injury escalation-special-handling
  • Claim status is denied denied denial-status
  • Claim status is approved, paid, under review, received, or closed standard_status standard-status-delivery

Standard Status Delivery

Say"I've pulled up your claim. Here's the current status: claim.status."

PolicyAdministrationSystem.GetOutstandingItems for claim.number

  • Outstanding action items exist for the customer items_outstanding outstanding-items-review
  • No outstanding items and claim is closed or paid resolution-and-close
  • No outstanding items and claim is still in progress resolution-and-close

Outstanding Items Review

Say"There are a few things we still need from you to move your claim forward. Let me go through those now."

kb.claims-outstanding-items-guide — reference for explaining document or action requirements to policyholders

Say"The outstanding items on your claim are: claim.outstandingItems. Once we receive those, our team will continue processing your claim. Would you like me to send a summary of these items to your preferred contact on file?"

CRM.LogInteraction with claim.number, customer.fullName, outstanding items noted, preferred contact customer.preferredContact

  • Customer requests follow-up summary TicketingPlatform.SendSummary to customer.preferredContact resolution-and-close
  • Customer has no further requests resolution-and-close

Denial Status

Say"I can see that a decision was made on your claim. I'm sorry to share that it was denied. The reason noted on file is: claim.denialReasonCode."

kb.claims-appeals-process — retrieve current appeals eligibility window, required forms, and submission instructions

Say"You do have the right to appeal this decision. I can walk you through the appeals process, including the timeframe and what documentation you'll need to submit. Would you like me to do that?"

CRM.LogInteraction with claim.number, denial reason claim.denialReasonCode, appeals information provided

  • Customer wants appeals information explained appeals-guidance
  • Customer expresses intent to file complaint or legal action escalation-intent escalation-special-handling
  • Customer declines appeals information and has no further questions resolution-and-close

Appeals Guidance

kb.claims-appeals-process — confirm deadlines, required forms, and submission address or portal link

Say"To file an appeal, you'll need to submit a written request along with any supporting documentation within the timeframe specified in your policy. I can send the appeal form and instructions directly to your preferred contact. Is there anything else you'd like me to clarify about the process?"

TicketingPlatform.SendAppealInstructions to customer.preferredContact with claim.number

CRM.LogInteraction with claim.number, appeals guidance provided, instructions sent to customer.preferredContact

  • Customer has additional questions resolution-and-close
  • Customer has no further questions resolution-and-close

Identity Failure

Say"I'm sorry — I wasn't able to verify your identity with the information provided, which means I'm unable to share claim details at this time. This is to protect the security of your account."

IdentityVerification.SendSecureLink to customer.preferredContact

Say"I've sent a secure verification link to the contact information we have on file. Once you complete that step, you'll be able to access your claim details through the portal, or you're welcome to call back and we can try again. Is there anything else I can help you with today?"

CRM.LogInteraction with policy.number, identity verification failed, secure link sent

System Unavailable

Say"I apologize — our claims system appears to be temporarily unavailable, and I'm not able to pull up your record right now. I don't want to leave you without an answer."

TicketingPlatform.CreateInquiry with customer.fullName, policy.number, claim.number, claim.dateOfLoss, customer.preferredContact — generate ticket.referenceNumber

Say"I've logged your inquiry and assigned it a reference number: ticket.referenceNumber. A member of our claims team will follow up with you within one business day using your preferred contact method. Is there anything else I can note on your behalf?"

CRM.LogInteraction with ticket.referenceNumber, system unavailability noted, callback committed

Escalation — Special Handling

Agent
assess the case context to prepare a complete handoff package for the claims legal or special handling team.
Goal:compile all available claim identifiers, flags, and customer-stated concerns so the receiving team can act immediately without re-contacting the customer for basic information.
Constraints:do not comment on claim merits, liability, settlement posture, or legal strategy; do not confirm or deny specific claim details beyond what has already been shared prior to flag detection; always notify the customer that a specialist is taking over before transferring.
Tools available:CRM.LogInteraction, TicketingPlatform.CreatePriorityCase, kb.special-handling-routing-guide
Say"I want to make sure your situation receives the right level of attention. I'm going to transfer you to our specialized claims team who handles cases like yours directly. They'll have your information and will be able to assist you fully."

TicketingPlatform.CreatePriorityCase with customer.fullName, policy.number, claim.number, claim.specialHandlingFlag, claim.litigationFlag, claim.fatalityFlag, claim.attorneyFlag, escalation reason noted

CRM.LogInteraction with claim.number, escalation to special handling team, reason flagged

  • Handoff package complete and specialist team notified escalation_ready escalation-human

Escalation to Human Specialist

Say"I'm now connecting you with a claims specialist. Please hold for just a moment — they have your information and will pick up right where we left off. Thank you for your patience."

CRM.UpdateCase priority: high, assigned to claims-special-handling-team, ticket.referenceNumber noted

Resolution and Close

Say"Just to recap: your claim claim.number is currently showing as claim.status. If anything changes or you have additional questions, don't hesitate to reach back out — we're happy to help."

CRM.LogInteraction with claim.number, inquiry resolved, status communicated, no further action required

Say"Is there anything else I can help you with today?"
  • Customer has additional questions or a new topic intake-and-verification
  • Customer confirms no further questions — interaction complete
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ sms

Card Lost / Stolen Replacement

Financial ServicesCard ServicesLoss Prevention

Intake

Say"Thank you for reaching out. I understand you'd like to report a lost or stolen card — I'll help you get this resolved right away. First, I need to verify your identity to protect your account."
  • Customer confirms card is lost confirmed identity-verification
  • Customer mentions unauthorized charges or suspected fraud fraud_concern identity-verification-fraud
  • Customer is unresponsive or unclear identity-verification

Identity Verification

Say"I'll need to verify a few details. Can you please provide your full name, date of birth, and either the last four digits of your Social Security Number or your card PIN?"

KYCVerification.VerifyIdentity with customer.name, customer.dob, customer.ssn_last4, customer.pin

Detect
identity verification outcome
  • Verification passes on first or second attempt verified card-block
  • Verification fails after multiple attempts failed verification-failure

Identity Verification — Fraud Path

Say"I'm sorry to hear that. Before we proceed, I need to verify your identity to protect your account. Can you please provide your full name, date of birth, and either the last four digits of your Social Security Number or your card PIN?"

KYCVerification.VerifyIdentity with customer.name, customer.dob, customer.ssn_last4, customer.pin

Detect
identity verification outcome
  • Verification passes verified card-block-fraud
  • Verification fails after multiple attempts failed verification-failure

Card Block

Say"Thank you — I've verified your identity. I'm blocking your card ending in card.last4 right now to prevent any unauthorized use."

CardManagement.BlockCard for card.id

CoreBanking.UpdateAccountStatus on account.id flagged: card-blocked

Salesforce.CreateCase type: card-lost-stolen, linked to account.id

Say"Your card has been blocked. Can you tell me approximately when and where you last used or had your card? This helps us note the details on your case."
  • Customer provides last seen details address-confirmation
  • Customer cannot recall details address-confirmation

Card Block — Fraud Path

Say"Thank you. I'm blocking your card ending in card.last4 immediately."

CardManagement.BlockCard for card.id

FraudDetection.FlagAccount on account.id tagged: unauthorized-transactions

CoreBanking.UpdateAccountStatus on account.id flagged: card-blocked-fraud

Salesforce.CreateCase type: fraud-card-lost-stolen, priority: high, linked to account.id

Say"Your card has been blocked. Because you've mentioned unauthorized transactions, I'll also need to connect you with our fraud team to open a dispute. Before I do, let me confirm your replacement card details."
  • Proceed to address confirmation for replacement address-confirmation-fraud

Address Confirmation

Say"To send your replacement card, I have your address on file as customer.address. Would you like us to ship to this address, or would you prefer a different one?"
Detect
customer address preference
  • Customer confirms existing address confirmed replacement-issuance
  • Customer requests a new or different address new_address address-review

Address Confirmation — Fraud Path

Say"I have your address on file as customer.address. Should we send the replacement card here, or would you prefer a different address?"
Detect
customer address preference
  • Customer confirms existing address confirmed replacement-issuance-fraud
  • Customer requests a new or different address new_address address-review

Address Review

Say"I've noted the new address you'd like us to use. Because this address is different from what we have on file, our team will need to verify it before we can ship your replacement — this usually takes one business day."

Salesforce.UpdateCase add: unrecognized-replacement-address, replacement.address, flagged-for-review

ShippingFulfillment.HoldOrder pending address verification on account.id

Approval
Slack.RequestApproval to #card-services-review, approver: card_ops_supervisor
Context sent:account.id, customer.name, replacement.address, case reference
  • Address approved approved replacement-issuance
  • Address flagged or rejected rejected escalation-human

Replacement Issuance

Say"Great — I'll get your replacement card ordered now. Would you like standard delivery, or do you need your card sooner? I can check if expedited or same-day delivery is available for you."

ShippingFulfillment.CheckExpedited for account.id

Detect
customer delivery preference
  • Customer requests expedited and delivery.expedited_eligible is true expedited replacement-expedited
  • Customer accepts standard delivery standard replacement-standard
  • Expedited requested but not eligible expedited replacement-standard

Replacement Issuance — Fraud Path

Say"I'll get your replacement card ordered now. Standard delivery typically takes five to seven business days. Would you also like to check expedited options?"

ShippingFulfillment.CheckExpedited for account.id

Detect
customer delivery preference
  • Customer requests expedited and delivery.expedited_eligible is true expedited replacement-expedited-fraud
  • Customer accepts standard delivery standard replacement-standard-fraud

Replacement — Standard

CardManagement.IssueReplacementCard for account.id, ship to customer.address, method: standard

ShippingFulfillment.CreateShipment linked to account.id, capture replacement.tracking_number

Salesforce.UpdateCase add: replacement-issued-standard, replacement.tracking_number

Say"Your replacement card has been ordered and will arrive in five to seven business days. You'll receive a tracking number at customer.email once it ships. In the meantime, would you like me to activate a temporary digital card for mobile or online use?"
  • Customer wants digital card digital-card-offer
  • Customer declines digital card resolution

Replacement — Expedited

CardManagement.IssueReplacementCard for account.id, ship to customer.address, method: expedited

ShippingFulfillment.CreateShipment linked to account.id, method: expedited, capture replacement.tracking_number

Salesforce.UpdateCase add: replacement-issued-expedited, replacement.tracking_number

Say"I've arranged expedited delivery — your replacement card should arrive within one to two business days. Tracking details will be sent to customer.email. Can I also set up a temporary digital card for you in the meantime?"
  • Customer wants digital card digital-card-offer
  • Customer declines resolution

Replacement — Standard (Fraud Path)

CardManagement.IssueReplacementCard for account.id, ship to customer.address, method: standard

ShippingFulfillment.CreateShipment linked to account.id, capture replacement.tracking_number

Salesforce.UpdateCase add: replacement-issued-standard, replacement.tracking_number

Say"Your replacement card is on its way — expected in five to seven business days. A tracking number will be sent to customer.email. I'm now going to transfer you to our fraud team so they can review the unauthorized charges and open a dispute on your behalf."

escalation-fraud

Replacement — Expedited (Fraud Path)

CardManagement.IssueReplacementCard for account.id, ship to customer.address, method: expedited

ShippingFulfillment.CreateShipment linked to account.id, method: expedited, capture replacement.tracking_number

Salesforce.UpdateCase add: replacement-issued-expedited, replacement.tracking_number

Say"Expedited delivery is confirmed — your card should arrive in one to two business days. Tracking details will go to customer.email. Let me now connect you with our fraud team to handle the unauthorized transactions."

escalation-fraud

Digital Card Offer

Agent
determine whether the customer's account and device are eligible for a temporary digital card provisioned via the card management system.
Goal:activate a digital card for the customer if eligible, so they have immediate card access while awaiting physical delivery.
Constraints:only provision digital card if account is in good standing beyond the lost card event; never provision if fraud flag is active on the account; do not override card management eligibility checks.
Tools available:CardManagement.CheckDigitalEligibility, CardManagement.ProvisionDigitalCard, CoreBanking.GetAccountStatus
  • Digital card provisioned successfully provisioned resolution
  • Customer not eligible or provisioning fails ineligible resolution

Verification Failure

Say"I'm sorry — I wasn't able to verify your identity with the information provided, and for your security I'm unable to make changes to the account without successful verification. To protect your account, I'd recommend visiting a branch with a government-issued photo ID, where our team can assist you in person."

Salesforce.CreateCase type: identity-verification-failure, priority: high, linked to account.id

Salesforce.LogNote add: customer-directed-to-branch, verification-failed

Say"Is there anything else I can help you with today, or would you like us to note your nearest branch location?"
  • Customer wants branch info escalation-human
  • Customer ends interaction resolution-no-action

Escalation — Fraud Team

FraudDetection.OpenDisputeCase linked to account.id, flagged: unauthorized-transactions, transaction.unauthorized_flag

Salesforce.UpdateCase priority: high, tagged: fraud-escalation, dispute-opened

Slack.Notify to #fraud-ops with case summary, account.id, card.last4

Say"I'm transferring you now to a fraud specialist who will review the disputed transactions and guide you through the dispute process. Your case reference has been shared with them. Thank you for your patience."

Escalation — Human Agent

Salesforce.UpdateCase priority: high, tagged: manual-review-required

Slack.Notify to #card-services-review with case summary, account.id, customer.name

Say"I'm connecting you with a senior member of our team who can assist you further. I've shared your case details with them so you won't need to repeat yourself. Thank you for your patience."

Resolution

Say"To recap: your card ending in card.last4 has been blocked, a replacement is on its way, and your tracking details will be sent to customer.email. Your account is secure. Is there anything else I can help you with today?"

Salesforce.CloseCase resolution: card-replaced, linked to account.id

Resolution — No Action Taken

Say"Understood. Your card has been blocked as a precaution to protect your account. When you're ready to request a replacement or visit a branch, don't hesitate to reach out. Take care."

Salesforce.CloseCase resolution: blocked-no-replacement-issued, linked to account.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ text

Cancellation / Retention

TelecomRetentionCancellationSupport

Intent Capture

Say"Thank you for contacting us. I understand you may be thinking about making a change to your account — I'm here to help. Can I start by pulling up your account? Please share your account number or the phone number on file."

CRM.LookupAccount on customer.accountNumber

  • Identity verified successfully verified account-review
  • Identity cannot be confirmed after two attempts escalation-human

Account Review

CRM.GetAccountDetails to load account.planName, account.contractStatus, account.contractEndDate, account.tenure

BillingSystem.GetBalance to load account.outstandingBalance and account.paymentHistory

ContractManagement.GetETF to load account.etfAmount

Say"Thanks, customer.name. I can see your account. Before we go any further, could you help me understand what's prompting you to think about leaving today?"
Detect
cancellation reason category from customer reply
  • Customer cites cost or billing concern reason-cost retention-offer
  • Customer cites service quality or technical issue reason-service complaint-resolution
  • Customer cites competitor offer or plan comparison reason-competitor retention-offer
  • Customer cites relocation or life change reason-life-change retention-offer
  • Customer gives no specific reason or says "just want to cancel" reason-firm etf-disclosure-check

Complaint Resolution

Say"I really appreciate you sharing that with me. It sounds like the experience you've had isn't what we want for you, and I'd like to make sure that's addressed properly before we talk about anything else."

CRM.CreateCase tagged service-complaint, linked to customer.accountNumber

Agent
review account.paymentHistory and case history to determine if the service complaint is resolvable before a retention offer is appropriate.
Goal:assess whether the underlying complaint (technical, billing error, service gap) can be resolved or credibly committed to, so a retention pitch lands on solid ground rather than dismissing the concern.
Constraints:do not make commitments outside documented resolutions; do not skip complaint acknowledgement and route directly to a retention offer; if the complaint involves a billing dispute, confirm with BillingSystem before stating any credit amount.
Tools available:CRM.GetCaseHistory, BillingSystem.GetBillingDetails, kb.complaint-resolution-policy
  • Complaint is resolvable and customer is receptive retention-offer
  • Complaint is complex or customer remains frustrated unresolved_complaint escalation-human

ETF Disclosure Check

ContractManagement.GetETF to confirm account.etfAmount and account.contractStatus

  • Account is within contract and ETF applies etf_applies etf-disclosure
  • Account is out of contract or no ETF no_etf retention-offer

ETF Disclosure

Say"Before we go further, I want to make sure you have the full picture. Because your contract runs until account.contractEndDate, an early termination fee of account.etfAmount would apply if you cancel today. I want to be upfront about that. Would you like me to walk through your options, or do you have questions about that fee?"
Detect
customer response to ETF disclosure
  • Customer acknowledges ETF and still wants to proceed etf-acknowledged retention-offer
  • Customer disputes the ETF amount or asks for a waiver etf-disputed escalation-human
  • Customer is surprised and wants time to think etf-reconsidering retention-offer

Retention Offer

RetentionOfferEngine.GetEligibleOffers for customer.accountNumber, filtered by cancellation.reason, account.tenure, account.paymentHistory

Agent
select the single best retention offer to present to customer.name based on their stated cancellation reason, account profile, and available offers.
Goal:identify the offer most likely to address the customer's specific concern — prioritise bill-credit or discount offers for cost complaints, speed/reliability upgrades for service complaints, and plan-match or loyalty perks for competitor comparisons.
Constraints:present only one offer at a time; do not invent offers not returned by RetentionOfferEngine.GetEligibleOffers; do not offer a discount that exceeds the retention discount authority tier; if account.outstandingBalance is greater than zero, do not bundle a credit into the offer until balance is acknowledged.
Tools available:RetentionOfferEngine.GetEligibleOffers, CRM.GetAccountDetails, kb.retention-offer-policy
  • Suitable offer identified offer_ready present-offer
  • No eligible offers found no_offer outstanding-balance-check

Present Offer

Say"Based on everything on your account and what you've shared, I think I can help. Here's what I can do for you: retention.offerDescription. This offer is available until retention.offerExpiry. Would you like to take advantage of that?"
Detect
customer response to retention offer
  • Customer accepts the offer offer-accepted offer-acceptance
  • Customer asks for something better or different offer-counter secondary-offer
  • Customer declines and still wants to cancel offer-declined outstanding-balance-check

Secondary Offer

Say"I understand — let me see if there's anything else I can do. Give me just a moment."

RetentionOfferEngine.GetEligibleOffers ranked by value, excluding retention.offerId already presented

  • A second distinct offer exists second_offer_available present-second-offer
  • No further offers available no_further_offers outstanding-balance-check

Present Second Offer

Say"Here's another option I can offer you: retention.offerDescription. This is the best I'm able to do from my end. Would this work for you?"
Detect
customer response to second retention offer
  • Customer accepts offer-accepted offer-acceptance
  • Customer declines or remains firm offer-declined outstanding-balance-check

Offer Acceptance

RetentionOfferEngine.ApplyOffer for customer.accountNumber with retention.offerId

CRM.UpdateAccount with retention outcome and retention.offerId applied

Twilio.SendSMS to customer.phone confirming offer details and retention.offerExpiry

Twilio.SendEmail to customer.email with full offer confirmation and updated plan summary

Say"Wonderful — I've applied that to your account right now and you'll receive a confirmation by email and text shortly. We're really glad you're staying, customer.name. Is there anything else I can help you with today?"

Outstanding Balance Check

BillingSystem.GetBalance to confirm account.outstandingBalance

  • Outstanding balance exists on account balance_owing balance-disclosure
  • No outstanding balance balance_clear process-cancellation

Balance Disclosure

Say"Before we proceed, I do need to let you know that there is an outstanding balance of account.outstandingBalance on your account. Cancelling your service does not waive this balance — it will remain due and may be referred to our collections team if unpaid. Would you like to discuss payment options, or would you like to continue with the cancellation?"
Detect
customer response to balance disclosure
  • Customer wants to discuss payment or sort balance first balance-resolve escalation-human
  • Customer acknowledges and confirms they want to proceed with cancellation balance-acknowledged process-cancellation
  • Customer becomes frustrated or disputes the balance balance-disputed escalation-human

Process Cancellation

CRM.InitiateCancellation for customer.accountNumber

BillingSystem.CalculateFinalBill to return transaction.finalBillDate and any remaining charges

ContractManagement.ApplyETF if etf_applies is set on this session

CRM.UpdateAccount with cancellation status and reason cancellation.reason

Say"I've processed your cancellation request. Your service will remain active until transaction.finalBillDate, which is also when your final bill will be generated. You'll receive a written confirmation by email shortly."
  • ETF applies on this account etf_applies cancellation-confirmation-etf
  • No ETF on this account no_etf cancellation-confirmation-clean

Cancellation Confirmation — ETF

Twilio.SendEmail to customer.email with cancellation confirmation, transaction.finalBillDate, account.etfAmount, and balance summary

Twilio.SendSMS to customer.phone with cancellation confirmation summary

Say"A confirmation email is on its way with all the details, including the early termination fee of account.etfAmount. If you have any questions about your final bill, our billing team is available to help. We're sorry to see you go, customer.name, and we hope to be of service again in the future."

Cancellation Confirmation — Clean

Twilio.SendEmail to customer.email with cancellation confirmation, transaction.finalBillDate, and any final balance details

Twilio.SendSMS to customer.phone with cancellation confirmation summary

Say"You're all set. A confirmation email is heading to you now with all the details. We're sorry to see you go, customer.name, and we wish you all the best."

Escalation to Human Agent

CRM.CreateCase priority: high, tagged cancellation-escalation, linked to customer.accountNumber

CRM.AddNote with full session summary: cancellation.reason, offers presented, ETF status, balance status

Twilio.SendSMS to customer.phone: "We're connecting you with a specialist who can assist further."

Say"I want to make sure you get the right support here. I'm going to connect you with a specialist who has the authority and expertise to work through this with you properly. Thank you for your patience, customer.name."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ chat▣ voice▣ email

Booking Modification

TravelHospitalityBookingsSupport

Verify Customer

Say"Thank you for reaching out. I'd be happy to help you modify your reservation. Could you please provide your booking reference or confirmation number and the name on the reservation?"

CRM.LookupCustomer using customer.name and booking.reference

  • Customer provides valid reference and name, identity confirmed verified retrieve-booking
  • Customer cannot provide reference or name fails to match identity-not-found
  • Customer mentions a group booking or multi-leg itinerary escalation-complex-booking

Identity Not Found

Say"I wasn't able to locate a reservation with those details. Let's try a different approach — could you provide the email address used at the time of booking, or a phone number?"

CRM.LookupByContact using customer.email or customer.phone

  • Record found and customer confirmed verified retrieve-booking
  • Still no match after second attempt escalation-complex-booking

Retrieve Booking

ReservationSystem.GetBooking using booking.reference

LoyaltyDB.GetCustomerTier using customer.name to resolve customer.loyaltyTier

Say"I can see your reservation. Here are the current details: booking reference booking.reference, dates booking.currentDates, room or travel type booking.roomType, and guest name booking.passengerName. What change would you like to make today?"
Detect
intent on customer's requested modification
  • Customer wants to change dates change-dates check-date-availability
  • Customer wants to change room or cabin type change-room-type check-room-availability
  • Customer wants to update passenger or guest name change-name process-name-change
  • Customer requests multiple changes at once multiple-changes escalation-complex-booking
  • Booking was made through a third party third-party-booking third-party-advisory

Check Date Availability

Say"Let me check availability for your requested new dates."

AvailabilityEngine.CheckDates using booking.reference and change.newDates

ReservationSystem.GetRateRules using booking.reference to evaluate booking.rateType

  • Requested dates are available and rate is modifiable available review-fare-difference
  • Requested dates are available but rate is non-modifiable non-modifiable non-modifiable-rate
  • Requested dates are unavailable unavailable suggest-alternative-dates

Suggest Alternative Dates

AvailabilityEngine.GetNearestAvailable using booking.reference to resolve availability.nearestDates

Say"Unfortunately, your requested dates aren't available. The nearest available options are availability.nearestDates. Would any of these work for you?"
  • Customer accepts an alternative date review-fare-difference
  • Customer declines all alternatives and wants to cancel cancel-request cancellation-advisory
  • Customer wants to think it over and call back defer wrap-up-no-change

Check Room Availability

Say"Let me check whether your preferred room or cabin type is available."

AvailabilityEngine.CheckRoomType using booking.reference and change.newRoomType

ReservationSystem.GetRateRules using booking.reference to evaluate booking.rateType

  • Room type available and rate is modifiable available review-fare-difference
  • Room type available but rate is non-modifiable non-modifiable non-modifiable-rate
  • Room type unavailable unavailable suggest-alternative-room

Suggest Alternative Room

AvailabilityEngine.GetAlternativeRooms using booking.reference

Say"That room type isn't available for your dates. Here are comparable alternatives that are open. Would any of these suit you?"
  • Customer selects an alternative review-fare-difference
  • Customer declines all alternatives and wants to cancel cancel-request cancellation-advisory
  • Customer wants to think it over defer wrap-up-no-change

Review Fare Difference

PaymentProcessor.CalculateDifference using booking.reference, change.newDates, change.newRoomType to resolve fare.difference and fee.modification

Say"Here's a summary of the change: the fare difference is fare.difference and the modification fee is fee.modification. The total additional charge to your payment method on file would be reflected accordingly. Would you like to proceed?"
  • Customer accepts the cost and confirms confirmed apply-modification
  • Customer disputes the modification fee disputes-fee fee-waiver-review
  • Customer declines and wants to cancel cancel-request cancellation-advisory
  • Customer declines and wants to keep original booking keep-original wrap-up-no-change

Fee Waiver Review

LoyaltyDB.GetCustomerTier using customer.name to confirm customer.loyaltyTier

kb.goodwill-waiver-policy — check eligibility based on customer.loyaltyTier and fee.modification

Agent
determine whether the modification fee qualifies for a waiver based on loyalty status and goodwill policy.
Goal:decide if the fee can be waived automatically or requires supervisor approval.
Constraints:never waive fees above USD 150 without supervisor approval; always document the waiver reason in the CRM; do not offer goodwill waivers more than once per customer per calendar year.
Tools available:LoyaltyDB.GetCustomerTier, CRM.GetWaiverHistory, kb.goodwill-waiver-policy
  • Agent determines fee is auto-waivable under loyalty or goodwill policy auto-waiver apply-modification
  • Agent determines fee waiver requires supervisor sign-off needs-approval waiver-approval
  • Agent determines fee is not waivable and customer still disputes disputed escalation-fee-dispute

Waiver Approval

Approval
Slack.RequestApproval to #reservations-supervisors, approver: reservations_supervisor
Context sent:booking.reference, customer.name, customer.loyaltyTier, fee.modification, agent's waiver rationale
  • Approved approved CRM.LogWaiverGranted apply-modification
  • Rejected rejected fee-waiver-declined
  • No response in 20 min escalation-fee-dispute

Fee Waiver Declined

Say"I wasn't able to get the fee waived on this occasion. The modification fee of fee.modification would still apply. Would you like to proceed with the change, or would you prefer to keep your current booking as is?"
  • Customer agrees to pay the fee confirmed apply-modification
  • Customer declines and wants to cancel cancel-request cancellation-advisory
  • Customer wants to keep original booking keep-original wrap-up-no-change
  • Customer escalates and demands supervisor escalate escalation-fee-dispute

Process Name Change

Say"I can help with a name correction. Could you confirm the correct full name as it should appear on the reservation, and let me know whether this is a minor correction or a full name transfer?"

kb.name-change-policy — verify permissible name change rules for booking.rateType

  • Minor spelling correction permitted under policy minor-correction apply-modification
  • Full name transfer or legal name change required escalation-complex-booking

Apply Modification

ReservationSystem.UpdateBooking with booking.reference, change.newDates, change.newRoomType, change.newPassengerName, change.requestedDetail

PaymentProcessor.ChargeBalance using booking.paymentMethod for fare.difference and any approved fee.modification

CRM.UpdateRecord for customer.name with new booking details

NotificationService.SendConfirmation to customer.email and customer.phone with updated itinerary

Say"Your booking has been updated successfully. I've sent a confirmation with your revised itinerary to customer.email. Is there anything else I can help you with?"
  • Customer has additional requests more-changes retrieve-booking
  • Customer is satisfied and done done wrap-up-confirmed

Non-Modifiable Rate

Say"I can see that the rate on your current booking is non-modifiable, which means changes to the reservation aren't permitted under the original fare rules. I have a couple of options for you: I can look into cancelling the booking subject to the applicable refund policy, or I can check whether a same-rate rebooking is available for your new dates."

kb.cancellation-refund-policy — review applicable refund terms for booking.rateType

  • Customer wants to explore cancellation and refund cancel-request cancellation-advisory
  • Customer wants to check same-rate rebooking availability rebook check-date-availability
  • Customer wants to keep original booking keep-original wrap-up-no-change

Cancellation Advisory

kb.cancellation-refund-policy — retrieve applicable terms for booking.rateType and booking.currentDates

Say"Based on your fare type, here are the cancellation terms that would apply: the refund or credit eligibility depends on your booking's rate rules. Would you like me to go ahead and initiate the cancellation, or would you prefer to keep the booking?"
  • Customer confirms cancellation confirmed escalation-cancellation-processing
  • Customer changes mind and wants to keep booking keep-original wrap-up-no-change
  • Customer disputes refund terms and demands exception dispute escalation-fee-dispute

Third-Party Advisory

Say"I can see that your reservation was originally made through a third-party provider — such as an online travel agency or travel management company. Unfortunately, modifications to third-party bookings must be processed directly through the channel where you booked, as we're unable to alter those reservations on their behalf. I'd recommend contacting them directly and referencing booking reference booking.reference. Is there anything else I can assist you with?"
  • Customer understands and has no further questions done wrap-up-no-change
  • Customer disagrees and insists we process it anyway disputes escalation-complex-booking

Wrap-Up — No Change Made

Say"No problem at all — your original booking remains exactly as it was. If you change your mind or need anything else, don't hesitate to reach out. Have a great trip!"

CRM.LogInteraction for customer.name with outcome: no modification made

Wrap-Up — Change Confirmed

Say"Wonderful — everything is confirmed. Your updated booking details have been sent to customer.email. We look forward to welcoming you. Have a great trip!"

CRM.LogInteraction for customer.name with outcome: modification successful

Escalation — Complex Booking

CRM.CreateCase priority: high, tagged complex-modification, linked to booking.reference

Slack.Notify to #reservations-complex with case summary, booking.reference, and customer.name

Say"Your request involves details that I'd like to have our specialist team handle to make sure everything is done perfectly. I'm transferring you now — they'll have full context and can take it from here."

Escalation — Fee Dispute

CRM.CreateCase priority: high, tagged fee-dispute, linked to booking.reference

Slack.Notify to #reservations-supervisors with customer.name, booking.reference, fee.modification, and dispute summary

Say"I completely understand your concern. Let me escalate this to a supervisor who has the authority to review your case in full. You'll be connected shortly, and they'll have all the details."

Escalation — Cancellation Processing

CRM.CreateCase priority: normal, tagged cancellation-request, linked to booking.reference

ReservationSystem.InitiateCancellation using booking.reference

NotificationService.SendCancellationSummary to customer.email with refund terms and timeline

Say"I've initiated the cancellation for booking booking.reference and sent a summary to customer.email, including the applicable refund terms and expected timeline. A specialist will follow up if any further action is needed."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ sms

Billing Inquiry / Dispute

TelecomBillingDisputeSupport

Greeting and Identity Verification

Say"Thank you for contacting us today. I'm here to help with your billing question. Can I start with your account number or the phone number on the account?"

IdentityVerification.LookupAccount using customer.accountNumber or customer.phoneNumber

Say"To protect your account, I'll need to verify your identity. Could you please provide your account PIN, date of birth, or the last four digits of your Social Security Number?"

IdentityVerification.Verify using customer.pin, customer.dob, or customer.ssn4

  • Identity verified successfully verified inquiry-intake
  • Identity verification fails after two attempts unverified identity-failure
  • Customer is unable to provide any credentials identity-failure

Identity Failure

Say"I'm sorry, I'm not able to pull up the account details without completing verification — this is to keep your account secure."
Say"You're welcome to visit any of our retail locations with a valid photo ID, or you can reset your PIN online using the email address on file. Would either of those work for you?"

CaseManagement.LogContact note: identity verification failed, customer redirected

  • Customer agrees to visit store or reset online resolution-no-account-access
  • Customer wants to escalate or is upset frustrated escalation-human

Resolution — No Account Access

Say"I've noted this contact on your account so that when you do verify, our team will have the full context. Is there anything else I can help you with that doesn't require account access?"

Inquiry Intake

CRM.PullAccount for customer.accountNumber, load customer.name, billing.previousCredits, billing.accountBalance

Say"Thanks for verifying, customer.name. I've got your account pulled up. Can you tell me which charge you're seeing a question about — do you have the amount or the description from your bill?"

BillingSystem.FetchBillDetail for billing.cycleAffected

  • Customer identifies a specific charge or line item charge-review
  • Customer is generally confused about the total bill amount full-bill-walkthrough
  • Customer mentions they never received a notification about a plan or rate change plan-change-review
  • Customer sounds upset or frustrated before details are gathered frustrated emotional-acknowledgment

Emotional Acknowledgment

Say"I completely understand — seeing an unexpected charge on your bill is frustrating, and I want to make sure we get to the bottom of this together. Let's take this one step at a time."
Detect
sentiment on customer response
  • Customer settles and is ready to continue neutral inquiry-intake
  • Customer remains highly agitated or begins demanding a supervisor escalating escalation-human

Full Bill Walkthrough

BillingSystem.FetchBillDetail for billing.cycleAffected

Say"Let me walk you through the main sections of your bill for this cycle. Your base plan charge is listed first, followed by any add-ons, taxes, and fees. I'll highlight anything that looks different from last month."

kb.telecom-billing-line-item-guide — review standard line items, taxes, and surcharge descriptions

  • Customer identifies a specific charge after walkthrough charge-review
  • Customer accepts the explanation confirmed resolution-explained
  • Customer remains confused or disputes a line charge-review

Plan Change Review

BillingSystem.FetchPlanChangeHistory for customer.accountNumber

Say"I can see any plan or rate changes that were applied to your account. Let me pull that history up now."

kb.telecom-plan-change-notification-policy — verify whether advance notice was required and sent

  • Notification was sent and change was valid charge-review
  • No notification found and change was applied without notice notification-missing error-confirmed
  • Customer disputes they authorized the change charge-review

Charge Review

BillingSystem.FetchChargeDetail for billing.chargeDate, billing.chargeDescription, billing.chargeAmount

Say"I'm looking at that charge now — billing.chargeDescription for billing.chargeAmount on your billing.cycleAffected bill. Give me just a moment to review the detail."

kb.telecom-billing-policy — check overage rules, promo expiration terms, and adjustment eligibility

Agent
analyze the charge detail against account plan, usage records, and billing policy.
Goal:determine whether the charge is valid, the result of a billing error, a promo expiration, an overage, or an unauthorized change.
Constraints:do not promise a credit before confirming eligibility; never access or modify financial records without completed identity verification; flag any pattern suggesting account fraud before proceeding.
Tools available:BillingSystem.FetchChargeDetail, BillingSystem.FetchUsageRecords, BillingSystem.FetchPlanChangeHistory, kb.telecom-billing-policy
  • Charge is valid and explainable explanation-delivery
  • Billing error confirmed error-confirmed error-confirmed
  • Charge is outside the 90-day policy adjustment window outside-policy-window
  • Usage or account pattern suggests possible fraud fraud-suspected escalation-human
  • Billing system is unavailable or returns an error system-down billing-system-down

Explanation Delivery

Say"Here's what I'm seeing: billing.chargeDescription was applied because billing.chargeAmount reflects the details I've reviewed. Let me walk you through exactly why this appeared."

kb.telecom-billing-policy — reference relevant policy language for promo expiration, overages, or rate changes

Say"Does that explanation make sense, or do you have any follow-up questions about this charge?"
Detect
customer acceptance or continued dispute
  • Customer accepts the explanation confirmed resolution-explained
  • Customer disputes the explanation or asks for a supervisor unsatisfied escalation-human
  • Customer accepts but asks for a goodwill credit goodwill-credit-evaluation

Error Confirmed

Say"You're right — I can see this charge was applied in error, and I sincerely apologize for that. I'm going to take care of this for you right now."

BillingSystem.FetchAccountBalance to confirm current billing.accountBalance and billing.previousCredits

  • Error amount is within agent authorization threshold within-auth credit-issuance
  • Error amount exceeds agent.authLimit exceeds-auth escalation-human

Outside Policy Window

Say"I can see this charge is from more than billing.policyWindowDays days ago. Our standard adjustment policy covers charges within that window, so I'm not able to issue a full reversal for charges older than that."

kb.telecom-goodwill-credit-policy — check goodwill credit eligibility and authorized limit

Say"What I can do is apply a goodwill credit within the amount I'm authorized to offer. Would that be helpful while we resolve this?"
  • Customer accepts goodwill credit offer goodwill-credit-evaluation
  • Customer rejects and requests further escalation escalation-human

Goodwill Credit Evaluation

Agent
determine the appropriate goodwill credit amount given account history, charge context, and policy limits.
Goal:offer the highest reasonable goodwill credit within authorized limits to retain the customer and resolve the inquiry.
Constraints:never exceed the goodwill credit cap defined in kb.telecom-goodwill-credit-policy; do not apply a second goodwill credit if one was issued within the last 90 days per billing.previousCredits.
Tools available:CRM.FetchAccountHistory, BillingSystem.FetchPreviousCredits, kb.telecom-goodwill-credit-policy
  • Goodwill credit is appropriate and within limits approved credit-issuance
  • Credit was already issued recently or customer is ineligible ineligible escalation-human

Credit Issuance

CreditAdjustmentModule.IssueCredit for credit.amount, linked to customer.accountNumber and billing.cycleAffected

BillingSystem.FetchAccountBalance to confirm updated billing.accountBalance post-credit

CRM.LogInteraction note: credit of credit.amount issued, reason, billing cycle, and agent ID

Say"I've applied a credit of credit.amount to your account. Your updated balance is billing.accountBalance. You should see this reflected on your next statement, and you may also receive a confirmation by email at customer.email."
Say"Is there anything else I can help you with today?"
  • Customer is satisfied and has no further questions confirmed resolution-credit-issued
  • Customer has an additional question or concern inquiry-intake

Billing System Down

Say"I'm sorry — I'm running into a system issue on my end that's preventing me from pulling up your full billing detail right now. I don't want to give you incomplete information."

CaseManagement.CreateCase priority: normal, note: billing inquiry pending system restoration, link customer.accountNumber

CaseManagement.GenerateReferenceNumber assign to case.referenceNumber

Say"I've logged your inquiry and assigned it reference number case.referenceNumber. Our team will reach out within one business day once the system is restored — would you prefer a callback or an email to customer.email?"

CRM.LogContact note: billing system unavailable, case created, reference case.referenceNumber

  • Customer confirms callback or email preference resolution-callback-scheduled
  • Customer is upset about the delay frustrated emotional-acknowledgment

Escalation to Human Agent

CRM.LogInteraction note: escalation triggered, reason, dispute amount billing.chargeAmount, account customer.accountNumber

CaseManagement.CreateCase priority: high, linked to customer.accountNumber, billing.chargeDescription, billing.chargeAmount

Say"I want to make sure you get the best possible resolution on this. I'm going to connect you with a senior billing specialist who has the authority to review this further. I'll make sure they have the full context so you won't need to repeat yourself."

Resolution — Charge Explained

Say"I'm glad I could help clarify that. If you ever have questions about a future bill, don't hesitate to reach out. Is there anything else I can help you with today?"

CRM.LogInteraction note: billing inquiry resolved via explanation, no credit issued

Resolution — Credit Issued

Say"Your account has been updated and the credit is confirmed. Thank you for bringing this to our attention, customer.name — we appreciate your patience. Take care!"

CRM.LogInteraction note: billing dispute resolved, credit issued, customer confirmed satisfied

Resolution — Callback Scheduled

Say"You're all set. Reference number case.referenceNumber is yours to keep, and we'll be in touch within one business day. Thank you for your patience, and I'm sorry for the inconvenience."

CRM.LogInteraction note: callback or email follow-up scheduled, system outage, reference case.referenceNumber

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat▣ email

Beneficiary / Policy Detail Update

InsurancePolicy ManagementBeneficiaryCompliance

Intake and Change Request

Say"Thank you for contacting us. I'm here to help you update your policy details. Can I start with your full name and policy number?"

CRM.LookupPolicy using customer.fullName and customer.policyNumber

  • Policy record found, proceed to verification identity-verification
  • Policy record not found or mismatch policy-not-found

Policy Not Found

Say"I wasn't able to locate a policy with that name and number combination. Could you double-check the policy number on your documents?"
  • Customer provides corrected details CRM.LookupPolicy retry identity-verification
  • Customer cannot locate their policy number escalation-human

Identity Verification

Say"To protect your account, I'll need to verify your identity. Could you please provide your date of birth, the last four digits of your Social Security Number, and your security PIN?"

IdentityVerification.Verify using customer.dateOfBirth, customer.ssnLast4, customer.securityPin against customer.policyNumber

  • Identity verified on first or second attempt verified change-type-collection
  • First attempt fails, prompt retry retry identity-retry
  • Second attempt fails identity_failed identity-lockout

Identity Retry

Say"That information didn't match what we have on file. Please try once more — make sure your date of birth, last four of your SSN, and security PIN are correct."

IdentityVerification.Verify using customer.dateOfBirth, customer.ssnLast4, customer.securityPin against customer.policyNumber

  • Identity verified verified change-type-collection
  • Second attempt also fails identity_failed identity-lockout

Identity Lockout

Say"I'm sorry, but I wasn't able to verify your identity after two attempts. For the security of your account, I'm unable to proceed with any changes at this time."

CRM.LogEvent tag: identity-verification-failure, policy: customer.policyNumber

CRM.CreateCase priority: high, tag: id-lockout-policy-change

Say"You're welcome to visit your nearest branch with a government-issued photo ID, or submit notarized documentation by mail to request this change. Would you like me to send you written instructions at the email address on file?"
  • Customer requests written instructions CRM.SendEmail template: id-lockout-instructions to customer.email escalation-human
  • Customer declines escalation-human

Change Type Collection

Say"Great, I've verified your identity. What change would you like to make today — is this a beneficiary update, or are you updating other policy details such as your address, name, or contact information?"
Detect
intent on customer's stated change request
  • Customer wants to update a beneficiary beneficiary-change beneficiary-detail-collection
  • Customer wants to update address, name, or contact info contact-or-name-change contact-detail-collection
  • Customer mentions a death in relation to the beneficiary change death-related bereavement-sensitive-path
  • Request involves a disputed beneficiary or legal document such as a court order legal-dispute escalation-human

Beneficiary Detail Collection

PolicyAdmin.GetCurrentBeneficiary for customer.policyNumber

Say"I can see the beneficiary currently on file is policy.currentBeneficiary. I'll now collect the updated information."
Say"Please provide the full legal name of the new beneficiary and their relationship to you — for example, spouse, child, or domestic partner."
  • New beneficiary details collected, no death involved form-requirement-check
  • Customer indicates they are removing a beneficiary following a death bereavement-sensitive-path

Bereavement Sensitive Path

Say"I'm so sorry for your loss. Please take your time — I'll do my best to make this process as straightforward as possible for you."

CRM.FlagCase tag: bereavement-sensitivity, policy: customer.policyNumber

Say"In situations involving the passing of a beneficiary, we typically require a certified copy of the death certificate to process the removal. Do you have that documentation available, or would you like guidance on how to submit it?"
  • Customer has or will submit death certificate form-requirement-check
  • Customer cannot provide documentation at this time CRM.CreateFollowUpTask deadline: 30-days, policy: customer.policyNumber pending-form-followup

Contact Detail Collection

PolicyAdmin.GetPolicyDetails for customer.policyNumber

Say"I can see the details currently on file. What specifically would you like to update — your address, phone number, email address, or legal name?"
  • Customer provides the new detail clearly direct-update-check
  • Customer is changing their legal name, supporting documentation may be required form-requirement-check

Direct Update Check

Agent
assess whether the requested contact or name detail change can be applied immediately without a signed form or supporting documentation.
Goal:determine if the update is a simple contact detail (address, phone, email) that can be saved directly, or if it requires a signed change request or supporting document before processing.
Constraints:never update a legal name without a signed form or supporting legal document; always confirm the new detail verbally with the customer before saving; never modify policy ownership or coverage as part of a contact detail update.
Tools available:PolicyAdmin.GetPolicyDetails, kb.policy-change-requirements
  • Simple contact update, no form required no_form_needed apply-direct-update
  • Legal name or document-required change form_required form-requirement-check

Form Requirement Check

kb.policy-change-requirements — check whether a wet signature, e-signature form, or supporting document is legally required for policy.changeType

  • E-signature form is sufficient ESignature.SendForm template: change-of-beneficiary to customer.email esignature-pending
  • Wet signature or physical document required wet-signature-required
  • No form required, change can be processed directly apply-direct-update

E-Signature Pending

Say"I've sent a secure e-signature form to customer.email. Once you complete and submit it, your change will be processed within one business day. Please check your inbox — it should arrive within a few minutes."

ESignature.SendForm to customer.email, linked to customer.policyNumber

CRM.CreateFollowUpTask tag: esignature-pending, deadline: 7-days, policy: customer.policyNumber

  • Customer confirms they received and completed the form apply-direct-update
  • Customer cannot complete the form now pending-form-followup
  • No response or form not returned within deadline CRM.EscalateTask escalation-human

Wet Signature Required

Say"This type of change requires a signed paper form. I'll send you the form by email along with instructions for returning it. Once we receive the completed form, your update will be processed within three to five business days."

DocumentManagement.GenerateForm template: beneficiary-change-form, policy: customer.policyNumber

CRM.SendEmail template: wet-signature-instructions, attachment: change-form to customer.email

CRM.CreateFollowUpTask tag: wet-signature-pending, deadline: 30-days, policy: customer.policyNumber

  • Customer acknowledges and will return the form pending-form-followup
  • Customer cannot return the form within the deadline pending-form-followup

Pending Form Follow-up

Say"No problem — I've saved a pending task on your account and flagged the deadline. We'll send you a reminder before it expires. If you need assistance completing the form, don't hesitate to reach back out."

CRM.CreateFollowUpTask tag: pending-change-form, deadline: 30-days, policy: customer.policyNumber

CRM.SendEmail template: pending-change-reminder to customer.email

  • Customer has additional questions escalation-human
  • Customer is satisfied resolution-confirmed

Apply Direct Update

Say"Before I save this, let me confirm the change: I'll be updating your record to reflect update.newDetail — or for a beneficiary change, update.newBeneficiaryName as update.newBeneficiaryRelationship. Is that correct?"
  • Customer confirms the details are correct save-policy-update
  • Customer requests a correction change-type-collection

Save Policy Update

PolicyAdmin.SaveChange policy: customer.policyNumber, change: update.newDetail

CRM.UpdateRecord policy: customer.policyNumber, tag: policy-detail-updated

DocumentManagement.LogChange policy: customer.policyNumber, agent: Insurance Support Agent

  • Save successful save_success confirmation-and-close
  • System unavailable or save error system_down system-unavailable

System Unavailable

Say"I'm sorry — our system is temporarily unavailable and I'm unable to save your changes right now. I want to make sure your request isn't lost."

CRM.CreateManualLog details: update.newDetail, policy: customer.policyNumber, tag: manual-change-request

CRM.GenerateCaseReference -> case.referenceNumber

CRM.ScheduleCallback within: 1-business-day, contact: customer.phone

Say"I've logged your request manually and your case reference number is case.referenceNumber. A member of our team will call you back at customer.phone within one business day to confirm your changes have been saved. Please keep that reference number handy."

resolution-confirmed

Confirmation and Close

Say"Your policy has been updated successfully. A confirmation has been sent to customer.email. Is there anything else I can help you with today?"

CRM.SendEmail template: policy-change-confirmation, policy: customer.policyNumber to customer.email

  • Customer has another request change-type-collection
  • Customer is done resolution-confirmed

Resolution Confirmed

Say"Thank you for reaching out and taking the time to keep your policy up to date. Take care, and don't hesitate to contact us if you need anything in the future."

CRM.CloseCase policy: customer.policyNumber, status: resolved

Escalation to Human Agent

CRM.CreateCase priority: high, tag: policy-change-escalation, policy: customer.policyNumber

CRM.NotifyTeam channel: #policy-ops-escalations, details: customer.policyNumber

Say"I'm going to connect you with a specialist who can assist you further with this request. Please hold for just a moment — thank you for your patience."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat▣ sms

Appointment Scheduling

HealthcareSchedulingPatient Support

Patient Intake

Say"Thank you for reaching out. I'm here to help you schedule, reschedule, or cancel an appointment. Can I start with your full name and date of birth?"

EHR.LookupPatient using patient.fullName and patient.dateOfBirth

  • Patient record found and identity confirmed verified appointment-intent
  • Patient record not found or details do not match identity-retry
  • Patient describes urgent or emergent symptoms at any point escalation-clinical

Identity Retry

Say"I wasn't able to match those details in our system. Let's try once more — could you double-check the name and date of birth on file with us?"

EHR.LookupPatient retry with corrected input

  • Record found on second attempt verified appointment-intent
  • Still no match after retry escalation-human

Appointment Intent

Say"Got it, patient.fullName — I've confirmed your record. Are you looking to book a new appointment, reschedule an existing one, or cancel?"
  • Patient wants to book a new appointment book insurance-verification
  • Patient wants to reschedule an existing appointment reschedule reschedule-lookup
  • Patient wants to cancel an appointment cancel cancel-lookup
  • Patient describes urgent or emergent symptoms escalation-clinical

Insurance Verification

Say"Before I check availability, I'll need your insurance information. What is your insurance provider and member ID?"

InsuranceEligibilityAPI.VerifyEligibility using patient.insurance.provider and patient.insurance.memberId

kb.insurance-eligibility-policy — check referral requirements for appointment.type

  • Insurance verified, no referral required eligible gather-preferences
  • Insurance verified, referral required and on file eligible referral_present gather-preferences
  • Insurance verified, referral required but not on file referral_missing referral-hold
  • Insurance verification fails or returns inactive coverage ineligible insurance-unverified
  • Patient has no insurance or declines to provide self-pay-offer

Self-Pay Offer

kb.selfpay-rates — retrieve selfpay.rate for appointment.type

Say"No problem. Our self-pay rate for this type of visit is selfpay.rate. Would you like to proceed on a self-pay basis, or would you prefer to contact your insurer first and call us back?"
  • Patient agrees to self-pay confirmed gather-preferences
  • Patient wants to contact insurer first callback intake-close-callback
  • Patient is unsure escalation-human

Insurance Unverified

Say"I wasn't able to verify active coverage with patient.insurance.provider at this time. This could be a data mismatch or a lapse in coverage. I'd recommend contacting your insurer directly to confirm. In the meantime, would you like to hear our self-pay rates or hold off until coverage is confirmed?"
  • Patient wants self-pay rates self-pay-offer
  • Patient wants to wait and call back intake-close-callback
  • Patient wants to escalate or is frustrated escalation-human

Referral Hold

Say"It looks like a referral is required for this appointment type, and we don't currently have one on file for you. I can place a soft reservation to hold a slot while you obtain the referral from your primary care provider. Would you like me to do that?"

SchedulingModule.HoldSoftReservation for patient.fullName, appointment.type, appointment.preferredDates

  • Patient agrees to soft hold confirmed CRM.CreateTask referral-pending note intake-close-referral
  • Patient does not want a hold intake-close-callback
  • Patient says referral is already submitted escalation-human

Gather Preferences

Say"Great. What is the reason for your visit, and do you have a preferred provider or location? Also, what dates and times work best for you?"

EHR.GetProviderList filtered by appointment.preferredLocation and appointment.type

  • Preferences collected, preferred provider specified slot-search-provider
  • Preferences collected, no provider preference slot-search-open

Slot Search — Provider Preference

SchedulingModule.GetAvailableSlots for appointment.preferredProvider, appointment.preferredDates, appointment.preferredTimes, appointment.type

  • Matching slots found slot-selection
  • No slots match preferences for preferred provider slot-no-match

Slot Search — Open Availability

SchedulingModule.GetAvailableSlots for appointment.preferredLocation, appointment.preferredDates, appointment.preferredTimes, appointment.type

  • Matching slots found slot-selection
  • No slots match preferences slot-no-match

Slot Selection

Say"I have a few openings that match what you're looking for. Let me share those with you now."

PatientPortal.DisplaySlots or read aloud up to three options from appointment.selectedSlot candidates

Say"Which of these works best for you?"
  • Patient selects a slot confirmed booking-confirmation
  • Patient wants to hear more options slot-search-open
  • Patient wants to go on a waitlist instead waitlist-enrollment
  • Patient changes their mind and wants to cancel the process intake-close-callback

Slot No Match

Say"I wasn't able to find an opening that matches all of your preferences right now. I can offer you the next closest available slot, or I can add you to our waitlist so you're notified as soon as something opens up. Which would you prefer?"

SchedulingModule.GetNextAvailable for appointment.type, appointment.preferredLocation

  • Patient accepts next closest slot confirmed booking-confirmation
  • Patient wants waitlist waitlist-enrollment
  • Patient wants to try different dates or times gather-preferences

Waitlist Enrollment

Say"I'll add you to the waitlist for appointment.type. You'll be contacted at patient.phone or patient.email as soon as a matching slot opens up."

SchedulingModule.AddToWaitlist patient.fullName, appointment.type, appointment.preferredProvider, appointment.preferredDates

CRM.UpdateRecord waitlist status for patient.fullName

Say"You're all set on the waitlist. Is there anything else I can help you with today?"
  • Patient has another request appointment-intent
  • Patient is done intake-close-complete

Booking Confirmation

SchedulingModule.BookAppointment for patient.fullName, appointment.selectedSlot, appointment.type, appointment.preferredProvider

CRM.UpdateRecord appointment booked, appointment.confirmationNumber

Twilio.SendSMS to patient.phone: "Your appointment is confirmed for appointment.selectedSlot. Confirmation number: appointment.confirmationNumber. Reply CANCEL to cancel or call us to make changes."

Twilio.SendEmail to patient.email with appointment details, preparation instructions, and location or telehealth link

Say"You're all booked. Your confirmation number is appointment.confirmationNumber and I've sent the details to your phone and email. Is there anything else I can help you with?"
  • Patient has another request appointment-intent
  • Patient is done intake-close-complete

Reschedule Lookup

Say"I can help you reschedule. Let me pull up your existing appointment — can you confirm the date and type of visit, or your confirmation number?"

SchedulingModule.GetAppointment using appointment.existingId or patient.fullName and patient.dateOfBirth

  • Appointment found reschedule-preferences
  • Appointment not found escalation-human

Reschedule Preferences

Say"I found your appointment. What new dates or times work better for you, and would you like to keep the same provider and location?"

SchedulingModule.CancelAppointment for appointment.existingId

SchedulingModule.GetAvailableSlots for updated appointment.preferredDates, appointment.preferredTimes, appointment.type, appointment.preferredProvider

  • New slots found slot-selection
  • No slots match new preferences slot-no-match

Cancel Lookup

Say"I can help with that. Can you confirm the appointment date and type, or share your confirmation number?"

SchedulingModule.GetAppointment using appointment.existingId or patient.fullName and patient.dateOfBirth

kb.cancellation-policy — check short-notice window and applicable cancellation.fee for appointment.selectedSlot

  • Appointment found, cancellation outside short-notice window cancel-confirm
  • Appointment found, cancellation within short-notice window short_notice cancel-fee-notice
  • Appointment not found escalation-human

Cancel Fee Notice

Say"I can cancel this appointment. Please be aware that because this is within our short-notice window, a cancellation fee of cancellation.fee may apply per our policy. Would you still like to proceed?"
  • Patient confirms cancellation despite fee confirmed cancel-confirm
  • Patient wants to reschedule instead reschedule-preferences
  • Patient disputes the fee or wants to escalate escalation-human

Cancel Confirm

SchedulingModule.CancelAppointment for appointment.existingId

CRM.UpdateRecord cancellation logged for patient.fullName

Twilio.SendSMS to patient.phone: "Your appointment has been cancelled. Confirmation: appointment.confirmationNumber. Contact us to rebook."

Twilio.SendEmail to patient.email with cancellation confirmation

Say"Your appointment has been cancelled and you'll receive a confirmation shortly. Is there anything else I can help you with?"
  • Patient wants to book a new appointment appointment-intent
  • Patient is done intake-close-complete

Intake Close — Callback

Say"Understood — no problem at all. When you're ready to move forward, you can reach us by phone, through the patient portal, or by replying to this message. We're happy to help whenever you're set."

CRM.UpdateRecord contact reason, outcome pending callback, patient.fullName

Intake Close — Referral Pending

Say"We've placed a soft hold for you while you get the referral sorted. Once it's submitted by your referring provider, give us a call or message us and we'll confirm that slot right away. Take care!"

CRM.UpdateRecord soft hold active, referral pending, patient.fullName

Intake Close — Complete

Say"You're all set, patient.fullName. Thank you for reaching out, and we look forward to seeing you. Have a great day!"

CRM.UpdateRecord interaction complete, outcome successful, patient.fullName

Escalation — Clinical

Say"What you're describing sounds like it may need immediate attention. Please call 911 or go to your nearest emergency room if you're experiencing a medical emergency. I'm also connecting you with a clinical team member right now who can assist further."

CRM.CreateCase priority: urgent, tagged clinical-escalation, patient.fullName

Twilio.NotifyOnCall clinical triage staff with patient name and reported symptoms

Escalation — Human Agent

Say"I want to make sure you get the right help here. Let me connect you with one of our scheduling specialists who can take it from here."

CRM.CreateCase priority: high, tagged scheduling-escalation, patient.fullName, interaction summary

Twilio.TransferCall or route chat to live scheduling specialist queue

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ chat▣ voice▣ sms

Amenity / Service Request

TravelHospitalityIn-StayGuest Serviceszinglekipsu

Greet and Identify

Say"Welcome! I'm happy to help with anything you need during your stay. Could I start with your name and room number?"
Detect
sentiment and intent on guest opening message
  • Guest provides name and room number confirmed verify-reservation
  • Guest expresses urgency or frustration upfront frustrated priority-flag
  • Guest message is unclear or incomplete unclear greet-and-identify

Verify Reservation

PMS.LookupReservation by guest.roomNumber and guest.name to confirm reservation.status

  • Active reservation found, room matches confirmed capture-request
  • Room number not found or name mismatch unverified secondary-verification
  • Reservation is checked out or future-dated inactive reservation-mismatch

Secondary Verification

Say"I want to make sure I have the right room. Could you share your reservation confirmation number or the email address used at check-in?"

PMS.LookupReservation by guest.reservationId as fallback

  • Identity confirmed on second attempt confirmed capture-request
  • Identity still cannot be confirmed unverified escalation-human

Reservation Mismatch

Say"I'm showing your reservation as either not yet checked in or already checked out. If you believe this is an error, I'd love to connect you with a team member who can look into it directly."
  • Guest believes it is an error escalation-human
  • Guest acknowledges wrong room or wrong stay greet-and-identify

Capture Request

Say"Great, thanks guest.name! You're all set in room guest.roomNumber. What can we bring or arrange for you today?"

kb.amenity-catalog — check available items, standard fees, and any quantity limits per room type

  • Guest states item or service clearly confirmed check-availability
  • Guest is unsure what is available unclear suggest-options
  • Guest raises a safety or accessibility concern safety escalation-human

Suggest Options

Say"Of course — here is a quick overview of what we can arrange: extra linens and towels, rollaway beds, cribs, toiletry top-ups, late checkout requests, luggage storage, and more. What sounds helpful for your stay?"
  • Guest selects an item or service confirmed check-availability
  • Guest still uncertain, requests human assistance unclear escalation-human

Check Availability

HousekeepingDispatch.CheckInventory for request.item against current stock and department capacity

  • Item is available and no fee applies available confirm-and-dispatch
  • Item is available with an associated fee fee_required disclose-fee
  • Item is unavailable or out of stock unavailable offer-alternative
  • Request is a late checkout or policy-bound service policy-check

Disclose Fee

Say"Just so you know, request.item carries a fee of item.fee which will be applied to your room account. Shall I go ahead and arrange it for you?"
  • Guest accepts the fee confirmed confirm-and-dispatch
  • Guest declines the fee declined offer-alternative
  • Guest disputes the fee frustrated escalation-human

Policy Check

kb.hotel-stay-policies — check late checkout availability, occupancy level, and any blackout conditions for reservation.checkoutDate

  • Late checkout is available within policy window available confirm-and-dispatch
  • Hotel is at full occupancy or request falls outside policy window unavailable policy-limitation

Policy Limitation

Say"I'm sorry — late checkout isn't available today due to high occupancy. What I can offer instead is complimentary luggage storage so you can enjoy the property until your departure. Would that work for you?"
  • Guest accepts the alternative confirmed confirm-and-dispatch
  • Guest requests a manager or fee waiver escalate escalation-human
  • Guest declines and has no further requests declined resolution-close

Offer Alternative

Agent
identify the closest available substitute for request.item using current inventory and kb.amenity-catalog.
Goal:propose one or two concrete alternatives that meet the guest's underlying need without over-promising on availability.
Constraints:only suggest items confirmed as in-stock by HousekeepingDispatch.CheckInventory; never promise a specific item that has not been verified available; do not offer complimentary upgrades without manager approval.
Tools available:HousekeepingDispatch.CheckInventory, kb.amenity-catalog
  • Suitable alternative identified and guest accepts confirmed confirm-and-dispatch
  • Guest declines all alternatives declined escalation-human

Confirm and Dispatch

HousekeepingDispatch.CreateTicket for request.item to room guest.roomNumber, urgency request.urgency, notes request.notes — returns dispatch.ticketId and dispatch.eta

CRM.LogInteraction for guest.reservationId tagged amenity-request, linked to dispatch.ticketId

Say"Perfect — I've sent that request through. You can expect request.item to arrive by dispatch.eta. Is there anything else I can help with during your stay?"
  • Guest confirms and has nothing further confirmed resolution-close
  • Guest has an additional request additional capture-request
  • Guest expresses dissatisfaction with the expected wait time frustrated priority-flag

Priority Flag

Say"I completely understand, and I apologize for the inconvenience. I'm marking this as a priority and re-dispatching now with a shortened delivery window."

HousekeepingDispatch.EscalateTicket for dispatch.ticketId, set priority: urgent — returns updated dispatch.eta

CRM.LogInteraction for guest.reservationId tagged priority-escalation

  • Re-dispatch confirmed and guest is satisfied confirmed resolution-close
  • Guest remains dissatisfied after re-dispatch frustrated escalation-human

Escalation to Human Agent

CRM.LogInteraction for guest.reservationId tagged escalation, with full request context and dispatch.ticketId

GuestMessaging.NotifyStaff to #guest-services-ops with guest.name, guest.roomNumber, request.item, and reason for escalation

Say"I want to make sure this is handled just right. I'm connecting you with a member of our team now who can assist you personally. Thank you for your patience, guest.name."

Resolution / Close

Say"You're all set, guest.name! Your request is confirmed and on its way. Don't hesitate to reach out if there is anything else we can do to make your stay more comfortable."

CRM.LogInteraction for guest.reservationId tagged resolved, linked to dispatch.ticketId

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ voice▣ sms▣ text

Size / Fit / Product Recommendation

RetailProductSizingRecommendations

Opening

CRM.LookupCustomer by customer.id or session identity to pre-load customer.purchaseHistory and any saved preferences.

Say"Hi customer.name! I'm here to help you find exactly the right size or product. Are you looking for sizing help on something specific, trying to choose between a couple of options, or not sure where to start?"
Detect
customer intent from opening message
  • Customer wants sizing or fit help for a specific item size-help collect-item-and-measurements
  • Customer is comparing two or more products compare product-comparison
  • Customer is unsure what they need / browsing browsing discover-needs
  • Customer mentions a previous bad fit or return past-issue review-past-purchase

Collect Item and Measurements

ProductCatalog.GetProduct to load product.category, product.attributes, and product.sizeGuide for the item the customer mentioned.

Say"Great choice! To make sure I get the fit right for you, could you share a couple of quick details? For product.name I'll need your product.sizeGuide measurements — things like height, weight, chest, waist, or inseam depending on the item. Do you have those handy?"
Detect
customer response about measurements
  • Customer provides measurements has-measurements run-size-lookup
  • Customer doesn't know measurements or is unsure no-measurements guide-self-measure
  • Customer mentions they are between sizes between-sizes between-sizes-advice

Guide Self-Measure

kb.self-measure-guide — retrieve step-by-step measurement instructions relevant to product.category

Say"No worries at all — it only takes about two minutes! Here's how to measure yourself at home for product.category:"
Say"For the most accurate fit, use a soft measuring tape. Measure your chest at the fullest point, your natural waist about an inch above your navel, and your hips at the widest point. If you're measuring inseam, stand straight and measure from your crotch to the floor. Once you have those, I can match you to the perfect size."
  • Customer provides measurements after guide has-measurements run-size-lookup
  • Customer still can't measure or prefers not to skip-measure recommend-size-up
  • Customer wants to escalate or speaks with frustration frustrated escalation-specialist

Between Sizes Advice

kb.sizing-policy — check brand fit philosophy (relaxed, true-to-size, runs small/large) for product.id

Say"Being between sizes is really common! For product.name, I'd generally recommend going product.sizeGuide based on your larger measurement to ensure comfort — especially for customer.preferences.fitStyle fit. That said, it also depends on how you prefer things to feel. Do you usually prefer a snugger or a more relaxed fit?"
  • Customer prefers snug fit snug run-size-lookup
  • Customer prefers relaxed fit relaxed run-size-lookup
  • Customer is still unsure unsure recommend-size-up

Recommend Size Up

Say"When in doubt, I always recommend going one size up — it's much easier to tailor down slightly than to deal with something that's too tight. I'll use that as the basis for your recommendation."

run-size-lookup

Run Size Lookup

SizingGuideDB.MatchSize using customer.measurements, customer.preferences.fitStyle, and product.sizeGuide to generate recommendation.primary.

InventoryManagement.CheckStock for recommendation.primary in product.id to confirm product.stockStatus and product.availableSizes.

  • Size is in stock in-stock present-recommendation
  • Size is out of stock out-of-stock out-of-stock-handling
  • Lookup error or ambiguous result lookup-error escalation-specialist

Present Recommendation

Say"Based on your measurements and your preference for a customer.preferences.fitStyle fit, I'd recommend a recommendation.primary in product.name. Here's why it works for you:"
Say"It should sit comfortably across your customer.measurements, with the right amount of room for customer.preferences.intendedUse. The product.attributes also align well with your preference for customer.preferences.material."
Say"Would you like me to add the recommendation.primary in product.name to your cart, or do you have any questions before you decide?"
  • Customer is ready to add to cart ready-to-buy add-to-cart
  • Customer wants to see an alternative or compare wants-options present-alternate
  • Customer has more questions more-questions answer-questions
  • Customer expresses strong uncertainty or frustration frustrated escalation-specialist

Present Alternate

ProductCatalog.GetAlternates using product.id, customer.preferences.budget, and customer.preferences.fitStyle to generate recommendation.alternate.

InventoryManagement.CheckStock for recommendation.alternate.

Say"Of course! Here's another option worth considering: recommendation.alternate. Compared to recommendation.primary, this one product.attributes — so it's a great pick if you prioritize customer.preferences.material or are working within a tighter budget of around customer.preferences.budget."
Say"Both are solid choices — would you like to go with recommendation.primary, recommendation.alternate, or would it help to talk through the differences a bit more?"
  • Customer selects primary recommendation chose-primary add-to-cart
  • Customer selects alternate recommendation chose-alternate add-to-cart
  • Customer wants more comparison detail compare-detail product-comparison
  • Customer is stuck or frustrated frustrated escalation-specialist

Product Comparison

ProductCatalog.GetProduct for each product the customer is comparing, loading product.attributes for both.

kb.product-comparison-guides — retrieve any curated head-to-head notes for these items.

Say"Happy to help you compare! Let me pull up the details on both."
Say"Here's the honest breakdown: recommendation.primary is the better fit if product.attributes — especially for customer.preferences.intendedUse. recommendation.alternate makes more sense if you want product.attributes or your budget is closer to customer.preferences.budget. For most people with your profile, I'd lean toward recommendation.primary, but either will serve you well."
Say"Does that help you land on one, or would you like me to check sizing or stock on both before you decide?"
  • Customer is ready to choose and buy ready-to-buy add-to-cart
  • Customer wants sizing checked on one of the options size-help collect-item-and-measurements
  • Customer still undecided still-undecided present-alternate
  • Customer frustrated or overwhelmed frustrated escalation-specialist

Discover Needs

Say"No problem — let's figure it out together! A few quick questions: What's the item or category you're shopping for? What will you mainly be using it for? And do you have a sense of the fit or style you prefer — relaxed, athletic, slim — or a budget range?"
Detect
customer response completeness
  • Customer provides enough detail to proceed sufficient-detail collect-item-and-measurements
  • Customer provides partial detail partial-detail collect-item-and-measurements
  • Customer is very unclear or disengaged disengaged escalation-specialist

Review Past Purchase

CRM.GetPurchaseHistory for customer.id to retrieve customer.purchaseHistory including prior sizes, items, and any returns or exchanges.

kb.return-reason-codes — look up fit-related return notes linked to customer.id if available.

Say"Thanks for mentioning that — let me take a look at what you've ordered before so we can avoid repeating the same issue."
Say"I can see you previously purchased customer.purchaseHistory. It looks like the fit concern was around customer.preferences.fitStyle. Based on that, I'd suggest we adjust by going recommendation.primary this time — that should address the issue directly."
  • Customer is happy with the adjusted recommendation accepts-advice run-size-lookup
  • Customer wants to explore a different product entirely different-product discover-needs
  • Customer is frustrated about the past experience frustrated escalation-specialist

Out-of-Stock Handling

InventoryManagement.GetAvailableAlternates for product.id filtered by recommendation.primary size and customer.preferences.budget to find nearest in-stock alternative.

InventoryManagement.GetRestockDate for recommendation.primary in product.id if available.

Say"Unfortunately, recommendation.primary in product.name isn't available right now. Here's what I can do for you:"
Say"Option 1 — I can put you on the waitlist and notify you the moment it's back in stock. Option 2 — there's a very similar alternative, recommendation.alternate, that's available now and fits your profile just as well. Option 3 — if you'd like, I can check other size variants that might still work."
  • Customer wants the waitlist option wants-waitlist join-waitlist
  • Customer wants the in-stock alternative wants-alternate present-alternate
  • Customer wants to check other sizes check-other-sizes run-size-lookup
  • Customer frustrated or wants to leave frustrated escalation-specialist

Join Waitlist

InventoryManagement.AddToWaitlist for customer.email on product.id in size recommendation.primary.

Say"Done! I've added you to the waitlist for recommendation.primary in product.name. We'll email you at customer.email the moment it's back — usually within a week or two. Is there anything else I can help you with in the meantime, like finding something to hold you over?"
  • Customer wants to keep browsing keep-browsing discover-needs
  • Customer is done done resolution
  • Customer wants to add the alternate to cart instead wants-alternate add-to-cart

Answer Questions

kb.product-faq — retrieve relevant FAQs for product.id covering fabric, care, returns, sizing tolerances, and fit philosophy.

Say"Of course — happy to answer any questions before you commit. What would you like to know about product.name?"
  • Customer asks about fabric, care, or material material-question answer-questions
  • Customer asks about returns or exchanges returns-question answer-questions
  • Customer is satisfied and ready to buy ready-to-buy add-to-cart
  • Customer wants a different recommendation different-option present-alternate
  • Customer frustrated or escalating frustrated escalation-specialist

Add to Cart

EcommerceCart.AddItem with product.id, recommendation.primary, and customer.id to add the confirmed selection.

Say"Perfect! I've added recommendation.primary in product.name to your cart. Here's your cart link: order.cartUrl"
Say"You're all set to check out whenever you're ready. Is there anything else I can help you find today — maybe something to complete the look or a coordinating item?"
  • Customer wants to keep shopping keep-shopping discover-needs
  • Customer is done and happy done resolution
  • Customer has a cart or checkout issue cart-issue escalation-specialist

Escalation to Specialist

CRM.CreateCase for customer.id tagged fit-escalation, logging all collected preferences, measurements, and conversation context.

Say"I completely understand — I want to make sure you get the right answer here, and this one deserves a closer look from one of our specialist team members. I'm flagging this for them now with all the details you've shared so you won't need to repeat yourself."
Say"A specialist will be with you shortly. If you're on chat they'll join this thread; if you prefer, we can also arrange a callback at customer.email. Thank you for your patience!"

Resolution

Say"Wonderful — I'm really glad we could find the right fit for you today! If your order arrives and anything feels off, our exchanges are easy and hassle-free. Don't hesitate to reach out anytime. Enjoy your new product.name!"
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ sms

Service Activation / New Line Setup

TelecomActivationNew LineSales

Identity Verification

Say"Welcome! I can help you get a new line activated today. First, I need to verify your account. Can I have your account holder name, account number, and PIN?"

CRM.LookupAccount using account.holder_name and account.id

CRM.VerifyPIN against account.pin

  • Identity verified on first or second attempt confirmed eligibility-check
  • Identity fails first attempt unconfirmed CRM.LogVerificationAttempt secondary-verification
  • Fraud flag raised on account fraud_flag escalation-fraud
  • Identity fails after two attempts verification_failed escalation-identity

Secondary Verification

Say"I wasn't able to verify with that PIN. Let me try a secondary check — can you confirm the billing address on the account and the last four digits of the payment method on file?"

CRM.VerifySecondaryIdentity using account.billing_address and account.payment_method

  • Secondary verification passes confirmed eligibility-check
  • Secondary verification fails unconfirmed escalation-identity

Eligibility Check

Say"Great, I've verified your identity. Let me check if your account is eligible to add a new line."

BillingPlatform.CheckEligibility for account.id

  • Account is eligible for a new line eligible device-and-sim-collection
  • Account has outstanding balance or restrictions ineligible eligibility-resolution

Eligibility Resolution

Say"I can see there's a hold or outstanding balance on your account that needs to be resolved before we can add a new line. Let me pull up the details."

BillingPlatform.GetAccountStatus for account.id

  • Customer agrees to resolve balance now confirmed BillingPlatform.ProcessPayment device-and-sim-collection
  • Customer wants to handle it later or disputes the hold declined escalation-billing

Device and SIM Collection

Say"Perfect. Now I'll need a few details about the device and SIM. Could you provide the IMEI number of the device and the SIM card number you'll be using?"

SIMIMEIProvisioning.ValidateIMEI using device.imei

SIMIMEIProvisioning.ValidateSIM using sim.number

  • IMEI and SIM both valid confirmed plan-selection
  • IMEI is blacklisted or incompatible imei_flagged device-issue
  • SIM number is unrecognized or already active sim_invalid sim-issue

Device Issue

Say"I'm sorry — the IMEI you've provided is either flagged as blacklisted or isn't compatible with our network. I can't activate service on that device."

kb.compatible-device-catalog — retrieve compatible device options and current upgrade promotions for account.id

Say"Here are some compatible options available to you, including any current upgrade or trade-in offers. Would you like to explore one of those, or do you have another device you'd like to try?"
  • Customer wants to use a different device confirmed device-and-sim-collection
  • Customer wants to explore upgrade or purchase options interested escalation-device-upgrade
  • Customer wants to end the interaction declined resolution-closed

SIM Issue

Say"The SIM number provided doesn't appear to be recognized in our system, or it may already be linked to another line. Let's sort that out."

kb.sim-replacement-policy — check eligibility for a new SIM

  • Customer can obtain or activate a replacement SIM confirmed device-and-sim-collection
  • Issue requires physical store visit or mailed SIM store_required escalation-store-referral

Plan Selection

Say"Your device and SIM look good. Now let's choose the right plan. What kind of plan or package are you looking for? I can walk you through current options, or if you already have one in mind, just let me know."

kb.plan-catalog — retrieve available plans, pricing, and promotional offers for account.id

Say"Based on your account, here are the plans available to you. Can you confirm which one you'd like to go with?"
  • Customer selects a plan confirmed number-selection
  • Customer is unsure or wants more information undecided plan-recommendation

Plan Recommendation

Agent
recommend the best-fit plan for the customer based on account usage history, plan.selected interest signals, and kb.plan-catalog.
Goal:identify and present up to three plan options that match the customer's stated needs (data, budget, family vs. individual) and close on a selection.
Constraints:never recommend a plan above the customer's stated budget ceiling; always disclose activation fees and contract terms upfront; do not offer promotions not currently active in kb.plan-catalog.
Tools available:CRM.GetUsageHistory, kb.plan-catalog, kb.current-promotions
  • Customer selects a plan after recommendation confirmed number-selection
  • Customer still undecided or wants to call back deferred resolution-deferred
  • Customer declines all plans declined resolution-closed

Number Selection

Say"Now let's set up your phone number. Would you like us to assign you a new number, or would you like to port an existing number from another carrier?"
  • Customer wants a new number assigned new_number CarrierNetworkAPI.AssignNumber for account.id payment-processing
  • Customer wants to port an existing number port_in port-in-collection

Port-In Collection

Say"No problem — we can port your number over. I'll need a few details from your current carrier: the phone number you want to port, the account number with your current carrier, the PIN or password on that account, and the billing address they have on file."

NumberPortabilityDB.ValidatePortRequest using port.number, port.carrier, port.account_number, port.pin

  • Port request validated and eligible confirmed port-in-initiated
  • Port request rejected or information mismatch invalid port-in-issue

Port-In Initiated

NumberPortabilityDB.SubmitPortRequest for port.number linked to account.id

Say"Your port request has been submitted. The number transfer can take up to 24 hours depending on your current carrier. In the meantime, we'll assign a temporary number so your line is active right away. You'll receive a notification once your original number has fully transferred."

CarrierNetworkAPI.AssignTemporaryNumber for account.id

  • Temporary number assigned and port submitted confirmed payment-processing
  • Port submission fails due to carrier-side issue port_error escalation-porting

Port-In Issue

Say"I wasn't able to validate the port request with the details provided. This can happen if the account number or PIN with your current carrier doesn't match their records. Could you double-check those details and try again?"
  • Customer provides corrected details confirmed port-in-collection
  • Customer is unable to provide correct details unconfirmed escalation-porting
  • Customer prefers to take a new number instead new_number payment-processing

Payment Processing

Say"Almost there. There is an activation fee of plan.activation_fee for this line. I'll apply that to the payment method on file. Shall I go ahead?"

PaymentProcessor.ChargeActivationFee of plan.activation_fee to account.payment_method

  • Payment succeeds payment_success line-provisioning
  • Payment declines payment_declined payment-retry

Payment Retry

Say"It looks like the payment didn't go through on the card on file. You can try a different payment method, or I can check if you're eligible for an installment option to spread out the activation cost."

kb.installment-eligibility — check if account.id qualifies for installment plan on activation fee

  • Customer provides alternate payment method alternate_payment PaymentProcessor.ChargeActivationFee line-provisioning
  • Customer qualifies for and accepts installment option installment_approved BillingPlatform.SetupInstallment line-provisioning
  • Customer declines all payment options declined resolution-payment-abandoned

Line Provisioning

Say"Payment confirmed — I'm now provisioning your new line. This will just take a moment."

CarrierNetworkAPI.ProvisionLine for account.id with sim.number, device.imei, plan.selected

CRM.UpdateAccount with line.assigned_number and new line details

BillingPlatform.AddLineToAccount for account.id with plan.selected

  • Line provisioned successfully line_active activation-confirmation
  • Provisioning error returned by network provisioning_error escalation-provisioning

Activation Confirmation

Say"Your new line is live! Your number is line.assigned_number. To confirm everything is working, try making a quick call or loading a webpage — let me know what you see."
Detect
customer confirms service is working
  • Customer confirms call or data is working confirmed resolution-success
  • Customer reports no signal or data issues not_working activation-troubleshooting

Activation Troubleshooting

Say"Let's do a quick check. First, try restarting the device and make sure it isn't in airplane mode. Also confirm the SIM is seated properly."

CarrierNetworkAPI.CheckLineStatus for line.assigned_number

SIMIMEIProvisioning.VerifyProvisioningStatus for sim.number

  • Network confirms line is active and issue resolves resolved resolution-success
  • Line status shows error or provisioning incomplete provisioning_error escalation-provisioning
  • Issue persists despite active line status unresolved escalation-technical

Escalation — Identity Verification Failed

Say"I'm sorry — I wasn't able to verify your identity after two attempts. For your account's security, I'm unable to proceed with the activation. You're welcome to visit one of our stores with a valid photo ID to complete this in person."

CRM.LogFailedVerification for account.id with verification.attempts

CRM.CreateTicket tagged identity-verification-failed, linked to account.id

Escalation — Fraud Flag

Say"I'm not able to process this request at the moment. A specialist will reach out to you to assist further. Please don't worry — no changes have been made to your account."

CRM.FlagAccountForReview tagged fraud, for account.id

CRM.CreateTicket priority: high, tagged fraud-flag, linked to account.id

Escalation — Billing or Eligibility

Say"Let me connect you with our billing team who can look into your account balance and eligibility in more detail and get this sorted for you."

CRM.CreateTicket tagged billing-hold, linked to account.id

Escalation — Device Upgrade

Say"I'm transferring you to our device sales team. They'll walk you through compatible devices, upgrade programs, and any current trade-in offers."

CRM.CreateTicket tagged device-upgrade-referral, linked to account.id

Escalation — Store Referral

Say"For the SIM issue, the easiest path is to visit one of our stores where they can issue a new SIM and activate it on the spot. I'll note your account so they have the full context when you arrive."

CRM.CreateTicket tagged sim-store-referral, linked to account.id

Escalation — Porting Issue

Say"I wasn't able to complete the port request from our side — this sometimes requires direct coordination with your current carrier. I'm escalating this to our porting specialist team, who will contact you within one business day."

CRM.CreateTicket priority: high, tagged port-in-escalation, linked to account.id, including port.number and port.carrier

Escalation — Provisioning Error

Say"It looks like there was a technical issue provisioning your line on our network. I'm escalating this to our technical team right now — they'll have this resolved and will reach out to confirm once your line is fully active."

CRM.CreateTicket priority: high, tagged provisioning-error, linked to account.id and line.assigned_number

Escalation — Technical Support

Say"Since the line shows as active on our end but you're still having trouble, I'm escalating to our technical support team who can run a deeper diagnostic. They'll follow up with you shortly."

CRM.CreateTicket tagged device-technical-issue, linked to account.id and line.assigned_number

Resolution — Success

Say"Fantastic — everything is up and running. Your new line is active, your number is line.assigned_number, and your plan is set. Is there anything else I can help you with today?"

CRM.CloseTicket for account.id tagged activation-complete

Resolution — Deferred

Say"No problem at all — take your time. When you're ready to move forward, just reach back out and we'll have everything ready to pick up right where we left off. Have a great day!"

CRM.SaveSessionState for account.id with plan.selected and device.imei

Resolution — Payment Abandoned

Say"Understood — we'll hold the order details for now. When you're ready to complete the activation, just contact us again and we'll resume from here. Thanks for your time."

CRM.SaveSessionState for account.id with plan.selected and line.assigned_number tagged payment-pending

Resolution — Closed

Say"Of course — no problem. If you change your mind or need anything else, we're always here to help. Have a great day!"

CRM.LogInteraction for account.id tagged activation-not-completed

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ email▣ voice

Returns / Exchange Request

RetailReturnsExchangeSupport

Intake

Say"Hi there! I'm here to help with your return or exchange. To get started, could you please share your order ID or receipt number along with the email address on your account?"
  • Customer provides order ID and email order-verification
  • Customer says they don't have their order ID no_order_id order-lookup-fallback
  • Customer immediately states item is damaged or wrong damaged_wrong damaged-wrong-item

Order Lookup Fallback

Say"No problem — I can try to locate your order another way. Could you share your full name, email address, or the last four digits of the payment method used?"

CRM.LookupOrder by customer.name or customer.email or lookup.method

  • Order found order-verification
  • Order not found after lookup CRM.LogAttempt escalation-human

Order Verification

OrderManagement.GetOrder using order.id and customer.email

kb.return-exchange-policy — confirm return window, final sale rules, and eligible items for order.purchaseDate

  • Order verified and item is within return window reason-and-preference
  • Order verified but item is outside return window outside_window outside-return-window
  • Order verified and item is marked final sale final_sale final-sale-ineligible
  • Order cannot be verified after attempts escalation-human

Reason and Preference

Say"Great, I've pulled up your order. Could you let me know the reason for the return and whether you'd prefer a refund to your original payment method or an exchange for a different size, color, or item?"
  • Customer states reason and wants a refund wants_refund refund-path
  • Customer states reason and wants an exchange wants_exchange exchange-path
  • Customer is unsure — offer both options Say: "I can process either a full refund back to your original payment method or place a new exchange order — whichever works best for you." reason-and-preference

Refund Path

Agent
evaluate the refund request against policy and order data.
Goal:confirm eligibility, calculate refund amount for order.total, and determine whether to auto-process or route for approval based on refund value.
Constraints:never auto-approve refunds above USD 300 without escalation; always verify item condition stated by customer matches return.reason before proceeding.
Tools available:OrderManagement.GetOrder, ReturnsManagement.CheckEligibility, kb.return-exchange-policy
  • Refund is eligible and amount is within auto-approve threshold approved generate-return-label
  • Refund amount exceeds threshold high_value refund-approval
  • Item flagged as ineligible based on stated reason ineligible policy-exception-check

Generate Return Label

ReturnsManagement.CreateReturnShipment for item.sku linked to order.id

ShippingCarrier.GenerateLabel and capture return.label

EmailNotification.Send to customer.email with return.label, return instructions, and expected refund timeline

Say"You're all set! I've emailed your prepaid return shipping label to customer.email. Once we receive the item, your refund will be processed within 5 to 7 business days. Is there anything else I can help you with?"

resolution

Exchange Path

Say"Happy to set up an exchange for you. What size, color, or item would you like instead? Please also confirm the item you're returning and the reason for the exchange."

ReturnsManagement.CheckEligibility for item.sku and order.id

OrderManagement.CheckInventory for the requested replacement item

  • Replacement item is in stock place-exchange-order
  • Replacement item is out of stock Say: "Unfortunately the item you requested isn't available right now. I can set up a refund instead, or hold the exchange until it's restocked — which would you prefer?" reason-and-preference
  • Item is ineligible for exchange ineligible policy-exception-check

Place Exchange Order

OrderManagement.CreateExchangeOrder linked to order.id, capture exchange.orderId

ReturnsManagement.CreateReturnShipment for original item.sku

ShippingCarrier.GenerateLabel and capture return.label

EmailNotification.Send to customer.email with return.label, exchange.orderId, and exchange confirmation details

Say"Your exchange is confirmed! I've emailed you a prepaid return label for the original item and a confirmation for your new order exchange.orderId. The replacement will ship once we receive the return. Anything else I can help with?"

resolution

Refund Approval

Approval
Slack.RequestApproval to #returns-approvals, approver: returns_ops_lead
Context sent:order.id, order.total, customer.email, return.reason, agent risk assessment
  • Approved approved generate-return-label
  • Rejected rejected escalation-human
  • No response within 30 min escalation-human

Damaged or Wrong Item

Say"I'm really sorry about that — receiving a damaged or incorrect item is never acceptable. I want to get this resolved quickly for you. Could you share your order ID and email so I can pull up the details?"

OrderManagement.GetOrder using order.id and customer.email

CRM.LogIssue tagged damaged-or-wrong, linked to order.id

Agent
assess whether to reship immediately without requiring a return or to request photo evidence before reshipping.
Goal:resolve the customer's issue as fast as possible while following fraud-prevention guidelines for order.total.
Constraints:never skip return requirement for orders above USD 150 without manager approval; always log the issue in CRM before taking action.
Tools available:OrderManagement.GetOrder, OrderManagement.CreateReplacementOrder, ReturnsManagement.WaiveReturn, kb.damaged-item-policy
  • Low value order — waive return and reship immediately OrderManagement.CreateReplacementOrder EmailNotification.Send resolution
  • Higher value order — request photo evidence then reship evidence_required Say: "Could you reply with a photo of the item? Once I have that I'll get a replacement out to you right away." damaged-evidence-review
  • Ambiguous or high-risk needs_review escalation-human

Damaged Evidence Review

Say"Thanks for sending that over — I've reviewed the details and will get a replacement on its way to you now."

OrderManagement.CreateReplacementOrder linked to order.id

ReturnsManagement.WaiveReturn for item.sku

EmailNotification.Send to customer.email with replacement order confirmation and apology note

resolution

Outside Return Window

Say"I completely understand your frustration. Looking at your order, the purchase date of order.purchaseDate falls outside our policy.returnWindowDays-day return window, so I'm unable to process a standard return."

kb.return-exchange-policy — check goodwill store credit eligibility for borderline cases

  • Purchase is borderline outside window (within 7 days past deadline) — offer store credit as goodwill gesture Say: "As a one-time courtesy, I'd be happy to offer you store credit for the value of the item. Would that work for you?" goodwill-store-credit
  • Purchase is well outside window — explain policy firmly outside_window_firm Say: "Unfortunately I'm not able to make exceptions beyond our standard window, but I'd love to help you with anything else." resolution
  • Customer disputes and is highly dissatisfied highly_dissatisfied escalation-human

Goodwill Store Credit

ReturnsManagement.IssueStoreCredit for order.total linked to customer.email

EmailNotification.Send to customer.email with store credit amount and redemption instructions

CRM.LogNote tagged goodwill-credit, linked to order.id

Say"I've applied a store credit equal to the item value to your account — you'll receive an email with details shortly. We appreciate your understanding and hope to see you shop with us again."

resolution

Final Sale Ineligible

Say"I can see this item was purchased as a final sale item, which means it isn't eligible for returns or exchanges under our policy. I'm sorry for the inconvenience."

kb.return-exchange-policy — confirm no exceptions apply for final sale items

  • Customer accepts the policy resolution
  • Customer reports the item arrived damaged or wrong damaged_wrong damaged-wrong-item
  • Customer disputes and is highly dissatisfied highly_dissatisfied escalation-human

Policy Exception Check

Agent
review the specific reason the item was flagged ineligible and determine whether any documented policy exception applies.
Goal:find a fair resolution that aligns with policy while preserving customer satisfaction where possible.
Constraints:never override a final sale classification without manager-level approval; never issue a refund outside policy without an escalation record in CRM.
Tools available:ReturnsManagement.CheckEligibility, CRM.LogNote, kb.return-exchange-policy
  • Exception applies — proceed with return or exchange generate-return-label
  • No exception — inform customer and offer alternative support final-sale-ineligible
  • Requires manager judgment needs_review escalation-human

Escalation to Human Agent

CRM.CreateCase priority: high, tagged returns-escalation, linked to order.id and customer.email

Slack.Notify to #returns-escalations with case summary, order.id, order.total, and return.reason

Say"I want to make sure this gets the attention it deserves. I'm escalating your case to a senior member of our team who will be in touch shortly with a resolution. I'm sorry for the inconvenience and appreciate your patience."

Resolution

Say"Is there anything else I can help you with today? If you have any questions about your return or exchange, don't hesitate to reach out — we're always happy to help."

CRM.UpdateCase status: resolved, linked to order.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ voice▣ text▣ chat▣ sms

Product Availability / Stock Inquiry

RetailInventorySupport

Gather Product Details

Say"Hi there! I'd be happy to help you check on product availability. Could you share the product name, SKU, or a quick description of what you're looking for?"
Detect
intent on customer message
  • Customer provides a clear product name or SKU product-identified gather-variant-details
  • Customer gives a vague or partial description product-unclear clarify-product
  • Customer is already frustrated or mentions previous failed lookup frustrated escalation-human

Clarify Product

Say"No problem — let me help narrow that down. Do you have a SKU from a receipt or the website, or can you describe the item a bit more — for example, the category, brand, or color?"
  • Customer provides enough detail to identify the product product-identified gather-variant-details
  • Customer still cannot identify the product product-unclear ProductCatalog.Search to surface closest matches suggest-alternatives
  • Customer expresses frustration frustrated escalation-human

Gather Variant Details

Say"Got it — do you have a preferred size, color, or any other variant you need? And are you looking to pick it up at a store near you, or would online ordering work for you?"
  • Customer provides variant and prefers in-store pickup in-store gather-location
  • Customer provides variant and prefers online online check-online-inventory
  • Customer has no variant preference and prefers in-store in-store gather-location
  • Customer has no variant preference and prefers online online check-online-inventory
  • Customer is flexible on channel flexible check-online-inventory

Gather Location

Say"What's your zip code or the store location you'd like to check?"
  • Customer provides zip code or store name location-provided StoreLocator.FindNearestStores using customer.zipCode check-store-inventory
  • Customer cannot provide location location-unknown check-online-inventory
  • Customer expresses frustration frustrated escalation-human

Check Online Inventory

InventoryManagement.GetOnlineStock for product.sku, variant product.variant.size, product.variant.color

  • Online stock confirmed available in-stock confirm-online-availability
  • Online stock is zero or unavailable out-of-stock check-store-inventory
  • Lookup returns no data or an error lookup-error inventory-lookup-failure

Check Store Inventory

InventoryManagement.GetStoreStock for product.sku at customer.preferredStore, variant product.variant.size, product.variant.color

  • Stock confirmed at preferred or nearest store in-stock confirm-store-availability
  • In-stock only at a distant store distant-stock offer-ship-or-transfer
  • Out of stock at all nearby stores and online out-of-stock check-discontinued
  • Lookup returns no data or an error lookup-error inventory-lookup-failure

Confirm Online Availability

Say"Great news — product.name is available online right now. You can add it to your cart and check out at your convenience. Would you like me to send you a direct link, or is there anything else I can help you with?"

CRM.LogInteraction tagged availability-confirmed-online, linked to product.sku

  • Customer wants a link SendEmail or SendSMS with product URL to customer.email or customer.phone resolution
  • Customer is satisfied and needs nothing else confirmed resolution
  • Customer mentions price match, special hold, or bulk quantity special-request escalation-human

Confirm Store Availability

Say"Good news — product.name is in stock at store.name. You can head in to grab it, or in some cases we can reserve it for you. Would you like to reserve it, or do you have any other questions?"

CRM.LogInteraction tagged availability-confirmed-store, linked to product.sku

  • Customer wants to reserve the item wants-reservation InventoryManagement.PlaceHold for product.sku at store.name reservation-confirmed
  • Customer is satisfied and will go to the store confirmed resolution
  • Customer requests price match, special hold, or bulk quantity special-request escalation-human
  • Customer expresses frustration frustrated escalation-human

Reservation Confirmed

Say"Perfect — I've placed a hold on product.name at store.name for you. You'll typically have 24 to 48 hours to pick it up. Is there anything else I can help you with?"

CRM.LogInteraction tagged reservation-placed, linked to product.sku

  • Customer is satisfied confirmed resolution
  • Customer has another question follow-up gather-product-details

Offer Ship or Transfer

Say"I can see product.name is available, but the nearest store with stock is store.name, which is about store.distance away. We may be able to ship it directly to you from that store, or arrange a transfer to a closer location — would either of those work for you?"

InventoryManagement.CheckShipFromStore for product.sku at store.name

InventoryManagement.CheckTransferEligibility for product.sku

  • Ship-from-store is available and customer agrees ship-available InventoryManagement.InitiateShipFromStore ship-from-store-confirmed
  • Transfer to closer store is available and customer prefers pickup transfer-available InventoryManagement.InitiateTransfer transfer-initiated
  • Neither option is available or customer declines both declined check-discontinued
  • Customer requests special handling or bulk quantity special-request escalation-human

Ship From Store Confirmed

Say"I've arranged for product.name to be shipped to you from store.name. You'll receive a confirmation and tracking info at customer.email once it ships. Is there anything else I can help with?"

CRM.LogInteraction tagged ship-from-store-initiated, linked to product.sku

  • Customer is satisfied confirmed resolution
  • Customer has another question follow-up gather-product-details

Transfer Initiated

Say"I've submitted a transfer request to bring product.name to your preferred store. Once it arrives — usually within a few business days — we'll reach out to let you know it's ready. Can I grab your contact info to make sure you get that notification?"

CRM.UpdateContactInfo with customer.email, customer.phone

CRM.LogInteraction tagged transfer-requested, linked to product.sku

  • Customer provides contact info contact-provided resolution
  • Customer declines contact info declined resolution

Check Discontinued

ProductCatalog.CheckDiscontinuedStatus for product.sku

  • Product is confirmed discontinued discontinued product-discontinued
  • Product is not discontinued but broadly out of stock out-of-stock offer-restock-notification

Product Discontinued

Say"I'm sorry to share that product.name has been discontinued and is no longer available through us. I know that's not the news you were hoping for. I can suggest a few comparable items that might work for you — would that be helpful?"

ProductCatalog.GetSimilarItems for product.sku

  • Customer wants to see alternatives wants-alternatives suggest-alternatives
  • Customer does not want alternatives declined resolution
  • Customer is upset about the discontinuation frustrated escalation-human

Offer Restock Notification

Say"Unfortunately product.name is out of stock right now — both online and at nearby stores. I can sign you up for a restock alert so you'll be notified as soon as it's available again. Would you like me to do that?"
  • Customer agrees to restock alert confirmed RestockNotification.Subscribe with product.sku, customer.email, customer.phone restock-signup-confirmed
  • Customer declines and wants to see similar items wants-alternatives suggest-alternatives
  • Customer declines all options declined resolution

Restock Signup Confirmed

Say"You're all set — we'll send a notification to customer.email or customer.phone as soon as product.name is back in stock. Is there anything else I can help you with today?"

CRM.LogInteraction tagged restock-alert-registered, linked to product.sku

  • Customer has another question follow-up gather-product-details
  • Customer is satisfied confirmed resolution

Suggest Alternatives

Agent
review the product catalog and customer context to recommend up to three comparable alternatives for product.name.
Goal:identify alternatives that match the customer's likely intent — same category, similar price point, available in the preferred channel (online or in-store).
Constraints:only recommend items confirmed in stock; never suggest items with an active recall or items flagged as discontinued; limit suggestions to three.
Tools available:ProductCatalog.GetSimilarItems, InventoryManagement.GetOnlineStock, InventoryManagement.GetStoreStock, kb.product-substitution-guidelines
  • Suitable alternatives found and customer is interested alternatives-found present-alternatives
  • No suitable alternatives found or customer declines no-match resolution
  • Customer expresses frustration or demands a manager frustrated escalation-human

Present Alternatives

Say"Here are a few options I think you'd like as alternatives to product.name: alternative.name (SKU alternative.sku) is currently available and very similar in features and price. Would any of these work for you, or would you like more details on one of them?"
  • Customer selects an alternative and wants to check availability selected check-online-inventory
  • Customer wants to know more about an alternative wants-details ProductCatalog.GetProductDetails present-alternatives
  • Customer declines all alternatives declined resolution
  • Customer expresses frustration frustrated escalation-human

Inventory Lookup Failure

Say"I'm sorry — I ran into a technical issue pulling up the inventory details right now. I'd recommend checking the website directly for the most up-to-date stock information, or you can call store.name at store.phone and they can look it up in-store. I'm logging this on our end so we can look into it."

CRM.LogSystemError with lookup.errorCode, product.sku, tagged inventory-lookup-failure

  • Customer is okay with the workaround confirmed resolution
  • Customer is frustrated or wants further help frustrated escalation-human

Escalation to Human Agent

Say"I completely understand — let me connect you with a team member who can take care of this for you right away."

CRM.CreateCase priority: high, tagged availability-escalation, linked to product.sku, customer.name

CRM.LogInteraction tagged escalated-to-human

Resolution

Say"Thanks for reaching out — happy to help anytime. Have a great day!"

CRM.LogInteraction tagged inquiry-resolved, linked to product.sku

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat▣ sms

Prescription Refill Request

HealthcarePharmacyRefill

Patient Verification

Say"Thank you for calling. I'm here to help with your prescription refill. To get started, can I have your full name and date of birth?"

PatientIdentityVerification.LookupPatient using patient.fullName and patient.dateOfBirth

  • Identity verified successfully verified prescription-lookup
  • Identity cannot be confirmed after two attempts unverified escalation-human
  • Patient reports urgent clinical concern or adverse reaction urgent escalation-clinical

Prescription Lookup

Say"Thank you, patient.fullName. Which prescription would you like to refill today — including the medication name and dosage?"

Epic.GetPrescriptionRecord using patient.memberId, prescription.name, prescription.dosage

  • Prescription found, refills remaining and not expired pharmacy-confirmation
  • Prescription found, no refills remaining no_refills no-refills-remaining
  • Prescription found but expired expired prescription-expired
  • Prescription flagged as controlled substance controlled escalation-clinical
  • Prescription not found in record escalation-human

Pharmacy Confirmation

Say"I can see your prescription for prescription.name prescription.dosage, last filled on prescription.lastFillDate, with prescription.refillsRemaining refill(s) remaining. Your pharmacy on file is pharmacy.onFile. Would you like to send it there, or use a different pharmacy?"
  • Patient confirms pharmacy on file confirmed submit-refill-request
  • Patient requests a different pharmacy change_pharmacy update-pharmacy
  • Patient is unresponsive or unclear escalation-human

Update Pharmacy

Say"No problem. Please provide the name and address of your preferred pharmacy and I'll update that for you now."

Epic.UpdatePreferredPharmacy with pharmacy.name and pharmacy.address

CRM.UpdatePatientRecord with updated pharmacy.name

Say"Your preferred pharmacy has been updated to pharmacy.name. I'll send your refill request there."

submit-refill-request

Submit Refill Request

Surescripts.SendRefillRequest for prescription.name prescription.dosage to pharmacy.name on behalf of patient.memberId

CRM.LogInteraction with patient.memberId, prescription.name, pharmacy.name

Say"Your refill request for prescription.name has been sent to pharmacy.name. It should be ready by refill.estimatedReadyTime. Is there anything else I can help you with?"
  • Patient has another request another patient-verification
  • Patient confirms they are done done resolution-confirmed

No Refills Remaining

Say"It looks like there are no refills remaining on your prescription.name prescription. I'll send a refill authorization request to your prescribing provider, provider.name, on your behalf. They'll review it and respond typically within one to two business days."

Epic.SendRefillAuthorizationRequest to prescription.prescriberId for patient.memberId and prescription.name

CRM.LogInteraction with patient.memberId, note: refill authorization requested, no refills remaining

Say"The request has been sent. You'll be notified once your provider responds. If you have an urgent need, please let me know and I can escalate this."
  • Patient indicates urgent medical need urgent escalation-clinical
  • Patient acknowledges and is satisfied acknowledged resolution-pending-authorization

Prescription Expired

Say"I can see that your prescription for prescription.name expired on prescription.expiryDate. A new prescription requires your provider to issue a fresh script, which typically means scheduling an appointment. I can help you get that set up."

CRM.LogInteraction with patient.memberId, note: prescription expired, appointment recommended

  • Patient wants to schedule an appointment schedule appointment-scheduling
  • Patient declines and has no urgent need decline resolution-no-action
  • Patient reports an urgent clinical concern urgent escalation-clinical

Appointment Scheduling

Say"I'll connect you to scheduling now so you can book a time with provider.name to get a new prescription issued."

Epic.InitiateAppointmentRequest for patient.memberId with prescription.prescriberId

CRM.LogInteraction with patient.memberId, note: appointment scheduling initiated for expired prescription

  • Appointment request successfully initiated scheduled resolution-appointment-booked
  • Scheduling system unavailable unavailable escalation-human

Escalation to Clinical Staff

Say"I want to make sure you get the right support. I'm transferring you to a clinical staff member now who can assist with your request directly."

Epic.CreateClinicalAlert priority: high, patient.memberId, prescription.name, prescription.isControlled

CRM.CreateCase tagged: clinical-escalation, controlled-substance, linked to patient.memberId

Escalation to Human Agent

Say"Let me connect you with a member of our support team who can look into this further and make sure everything is taken care of."

CRM.CreateCase priority: high, tagged: refill-escalation, linked to patient.memberId, prescription.name

Resolution — Confirmed

Say"Wonderful — your refill for prescription.name is on its way to pharmacy.name and should be ready by refill.estimatedReadyTime. Take care and don't hesitate to reach out if you need anything."

CRM.LogInteraction with patient.memberId, note: refill successfully submitted, case closed

Resolution — Pending Authorization

Say"We've sent your refill authorization request to provider.name. Once they respond, your pharmacy will be notified. If you haven't heard back in two business days, please don't hesitate to call us again."

CRM.LogInteraction with patient.memberId, note: patient informed of pending provider authorization

Resolution — Appointment Booked

Say"Your appointment request has been submitted with provider.name. You'll receive a confirmation shortly. Once you're seen, your provider can issue a new prescription for prescription.name."

CRM.LogInteraction with patient.memberId, note: appointment booked for expired prescription renewal

Resolution — No Action

Say"Understood — no action taken today. If you change your mind or your situation becomes more urgent, please don't hesitate to call us back. Take care."

CRM.LogInteraction with patient.memberId, note: patient declined appointment scheduling, no refill action taken

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ sms▣ email▣ chat

Policy Renewal Reminder / Confirmation

InsuranceRenewalRetentionBilling

Renewal Outreach

Twilio.SendSMS to customer.phone: "Hi customer.name, your policy policy.number is due for renewal on policy.renewal_date. Your updated premium is policy.renewal_premium. Reply CONFIRM to renew, CHANGE to update coverage, or call us to speak with an agent."

Twilio.SendEmail to customer.email with full renewal notice including policy.coverage_summary, policy.renewal_premium, and policy.expiry_deadline.

Detect
customer intent from inbound reply or inbound call
  • Customer responds CONFIRM or calls to confirm renewal confirmed identity-verification
  • Customer responds CHANGE or requests a coverage update change_coverage identity-verification
  • Customer calls or replies to dispute the premium amount dispute_premium identity-verification
  • Customer calls or replies with intent not to renew cancel_intent identity-verification
  • No response within 5 days Twilio.SendSMS follow-up reminder, then renewal-outreach-followup

Renewal Outreach Follow-up

Twilio.SendSMS to customer.phone: "Reminder: your policy policy.number expires on policy.expiry_deadline. Please confirm your renewal to avoid a lapse in coverage. Reply CONFIRM or call us."

Twilio.SendEmail to customer.email with final renewal warning and policy.expiry_deadline highlighted.

Detect
customer intent from inbound reply or call
  • Customer responds or calls to confirm confirmed identity-verification
  • Customer responds or calls to dispute or change dispute_premium identity-verification
  • Customer calls or replies with intent not to renew cancel_intent identity-verification
  • No response before expiry deadline CRM.LogNoResponse, flag policy for lapse review escalation-lapse-review

Identity Verification

Say"Thank you for reaching out about your policy renewal. For security purposes, I'll need to verify your identity before we proceed. Could you please provide your date of birth and the last four digits of your Social Security Number?"

PolicyManagement.VerifyIdentity using customer.dob and customer.ssn_last4 against policy.number

  • Identity verified successfully identity_verified policy-review
  • Identity cannot be verified after two attempts identity_failed escalation-human

Policy Review

PolicyManagement.GetPolicyDetails for policy.number to load policy.coverage_summary, policy.current_premium, policy.renewal_premium, and policy.renewal_date.

BillingPlatform.GetAccountBalance for policy.number to check billing.outstanding_balance.

Say"I've pulled up your policy policy.number. Your current premium is policy.current_premium and your renewal premium is policy.renewal_premium. Your renewal date is policy.renewal_date."
  • Customer has an outstanding balance and billing.outstanding_balance is greater than zero balance_due outstanding-balance-resolution
  • Customer's intent was to dispute the premium dispute_premium premium-dispute
  • Customer's intent was to change coverage change_coverage coverage-change-request
  • Customer's intent was to cancel cancel_intent cancellation-intent
  • No outstanding balance and customer is ready to confirm renewal confirmed renewal-confirmation

Outstanding Balance Resolution

Say"I can see there is an outstanding balance of billing.outstanding_balance on your account. Unfortunately, we'll need to resolve this before we can process your renewal to avoid a lapse in coverage. I can help you pay the balance now, or we can explore a payment plan."

BillingPlatform.GetPaymentOptions for policy.number

Agent
assess the customer's situation and determine the best path to resolve billing.outstanding_balance.
Goal:resolve the outstanding balance so renewal can proceed, either by collecting full payment now or arranging an approved payment plan.
Constraints:never proceed with renewal while a balance remains unresolved; payment plans must comply with kb.billing-payment-plan-policy; never waive balances without supervisor approval.
Tools available:BillingPlatform.ProcessPayment, BillingPlatform.CreatePaymentPlan, kb.billing-payment-plan-policy, CRM.LogInteraction
  • Customer agrees to pay balance in full now payment-processing
  • Customer agrees to a payment plan and plan is within policy limits payment_plan_arranged renewal-confirmation
  • Customer refuses to pay or situation is too complex for self-service balance_unresolved escalation-billing

Premium Dispute

Say"I completely understand — a premium change can be surprising. Let me walk you through the factors that contributed to the updated rate."

UnderwritingEngine.GetRateChangeFactors for policy.number

Say"The adjustment to policy.renewal_premium reflects changes in policy.coverage_summary, along with updated risk factors and market conditions. I'm happy to explain any of these in more detail."

kb.rate-change-explanations — retrieve standard explanations for common rate change drivers

Detect
customer reaction to the explanation
  • Customer accepts the explanation and is ready to renew accepted renewal-confirmation
  • Customer wants to explore lower-cost coverage tiers explore_options coverage-change-request
  • Customer formally disputes the rate and wants an official review formal_dispute escalation-underwriting
  • Customer still intends to cancel after explanation cancel_intent cancellation-intent

Coverage Change Request

Say"No problem — I can log your requested coverage changes. These will need to be reviewed before we finalize your renewal. Please go ahead and describe the changes you'd like to make."

CRM.LogCoverageChangeRequest for policy.number with customer's requested modifications.

Agent
review the requested coverage changes against underwriting eligibility rules.
Goal:determine whether the requested changes can be approved automatically or require underwriter review before renewal is finalized.
Constraints:never finalize renewal with unapproved coverage changes; changes outside standard guidelines must be escalated; do not quote a revised premium without system confirmation.
Tools available:UnderwritingEngine.CheckEligibility, PolicyManagement.GetCoverageOptions, kb.underwriting-guidelines, CRM.LogInteraction
  • Requested changes are within auto-approval parameters changes_approved renewal-confirmation
  • Requested changes require underwriter review needs_underwriter escalation-underwriting
  • Customer decides not to change coverage after all and wants to renew as-is confirmed renewal-confirmation

Cancellation Intent

Say"I'm sorry to hear you're considering not renewing. Before I process anything, I'd love to understand what's driving that decision — is it the premium, coverage, or something else?"
Detect
primary reason for cancellation intent
  • Price is the concern price_concern premium-dispute
  • Coverage or service concern coverage_concern coverage-change-request
  • Customer is switching to another insurer switching_insurer retention-offer
  • Customer confirms firm decision to cancel after retention scripting firm_cancel cancellation-logging

Retention Offer

kb.retention-offers — look up eligible discounts, bundling options, and loyalty incentives for policy.number

Say"I appreciate your loyalty and I'd like to see if we can find a better fit for you before you go. Based on your policy, here are some options that might help."

CRM.LogRetentionAttempt for policy.number

Agent
select and present the most relevant retention offers from kb.retention-offers based on the customer's stated reason for leaving.
Goal:retain the customer by presenting a genuinely compelling option — a discount, loyalty reward, or alternative coverage tier — that addresses their concern.
Constraints:never promise a discount that hasn't been confirmed as available via kb.retention-offers; do not exceed authorized discount thresholds without supervisor approval.
Tools available:kb.retention-offers, PolicyManagement.GetCoverageOptions, BillingPlatform.GetDiscountEligibility, CRM.LogInteraction
  • Customer accepts a retention offer and agrees to renew retention_accepted renewal-confirmation
  • Customer declines all offers and confirms cancellation intent firm_cancel cancellation-logging
  • Situation is complex or customer is very high value high_value_at_risk escalation-retention

Cancellation Logging

Say"I understand, and I respect your decision. I've noted your intent not to renew policy policy.number. Your coverage will remain active until policy.expiry_deadline. You'll receive written confirmation of non-renewal shortly."

PolicyManagement.LogNonRenewalIntent for policy.number with cancellation reason.

CRM.UpdateCustomerRecord with non-renewal status and reason code.

DocumentDelivery.SendNonRenewalConfirmation to customer.email.

Renewal Confirmation

Say"Great — let's confirm your renewal. Your policy policy.number will be renewed at a premium of policy.renewal_premium. Your current payment method on file is billing.payment_method ending in billing.payment_method_last4. Would you like to use this method, or update it?"
Detect
customer payment method preference
  • Customer confirms existing payment method use_existing_payment payment-processing
  • Customer wants to update payment method update_payment payment-method-update
  • Customer wants to schedule payment for a later date schedule_payment payment-scheduling

Payment Method Update

Say"Of course — please provide your new payment details and I'll update them securely on your account."

BillingPlatform.UpdatePaymentMethod for policy.number

  • Payment method updated successfully payment_updated payment-processing
  • Payment method update fails or customer has trouble payment_update_failed escalation-billing

Payment Scheduling

Say"I can schedule your renewal payment. Please note the payment must be received by policy.expiry_deadline to avoid any lapse in coverage. What date works for you?"

BillingPlatform.SchedulePayment for policy.number on customer's chosen date

  • Payment successfully scheduled payment_scheduled renewal-complete
  • Requested date is after expiry deadline date_invalid escalation-billing

Payment Processing

BillingPlatform.ProcessPayment for policy.number using billing.payment_method for policy.renewal_premium.

  • Payment processed successfully payment_success renewal-complete
  • Payment declined or failed payment_failed escalation-billing

Renewal Complete

PolicyManagement.ConfirmRenewal for policy.number and generate renewal.confirmation_number.

DocumentDelivery.SendRenewalConfirmation to customer.email with updated policy documents, policy.renewal_premium, and renewal.confirmation_number.

CRM.UpdateCustomerRecord with renewal status and renewal.confirmation_number.

Say"Your policy policy.number has been successfully renewed. Your confirmation number is renewal.confirmation_number and a full copy of your updated policy documents has been sent to customer.email. Is there anything else I can help you with today?"

Escalation — Human Agent

CRM.CreateCase priority: high, reason: identity-verification-failure, linked to policy.number.

Twilio.NotifyAgent on #renewal-support-queue with case summary and policy.number.

Say"I want to make sure you're taken care of, so I'm going to connect you with a specialist who can assist you further. Please hold for just a moment."

Escalation — Underwriting Review

CRM.CreateCase priority: high, reason: underwriting-review-required, linked to policy.number.

UnderwritingEngine.SubmitReviewRequest for policy.number with supporting details and customer's stated concerns.

Twilio.NotifyAgent on #underwriting-queue with case summary.

Say"I've submitted your policy for underwriting review. A specialist will be in touch within two business days to discuss your options. You'll receive an email at customer.email confirming the review has been opened."

Escalation — Billing

CRM.CreateCase priority: high, reason: billing-issue, linked to policy.number.

Twilio.NotifyAgent on #billing-support-queue with case summary, billing.outstanding_balance, and policy.renewal_date.

Say"I'm going to connect you with our billing team who has the tools to resolve this quickly and ensure your coverage doesn't lapse. Thank you for your patience."

Escalation — Retention Specialist

CRM.CreateCase priority: urgent, reason: high-value-cancellation-risk, linked to policy.number.

CRM.FlagForRetentionSpecialist for policy.number.

Twilio.NotifyAgent on #retention-team with customer summary, policy.renewal_premium, and cancellation reason.

Say"I want to make sure we do everything we can to find the right solution for you. I'm transferring you to one of our senior retention specialists right now who can work with you directly."

Escalation — Lapse Review

PolicyManagement.FlagPolicyForLapse for policy.number.

CRM.CreateCase priority: high, reason: no-response-lapse-risk, linked to policy.number.

Twilio.SendSMS to customer.phone: "Urgent: your policy policy.number has not been renewed and is at risk of lapsing on policy.expiry_deadline. Please call us immediately to avoid a gap in coverage."

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ text

Plan Change / Upgrade Request

TelecomPlan ChangeUpgradeBilling

Identity Verification

Say"Thanks for reaching out! I'm happy to help you with a plan change or upgrade. To get started, can I have your account number or the phone number associated with your account?"

CRM.LookupAccount using customer.accountNumber or customer.phone

Detect
identity verification outcome
  • Account found and identity confirmed verified account-review
  • Account not found or customer cannot verify identity unverified escalation-human
  • Customer wants to browse plans before verifying intent_browse plan-discovery

Account Review

CRM.GetAccountDetails for customer.accountNumber — pull customer.currentPlan, customer.contractEndDate, customer.billingCycleDate, customer.deviceModel, customer.location

Say"I can see your account, customer.name. You're currently on the customer.currentPlan. Your next billing date is customer.billingCycleDate. Let me pull up the plans available to you."

PlanCatalog.GetEligiblePlans for customer.accountNumber, customer.deviceModel, customer.location

  • Plans retrieved successfully plan-discovery
  • No eligible plans returned or catalog error catalog_error escalation-human

Plan Discovery

Say"Here are the plans available for your account. I can walk you through the differences in data, speed, features, and pricing — just let me know what matters most to you."

kb.plan-catalog — present eligible options with pricing, data allowances, speeds, and feature highlights relevant to customer.currentPlan

Detect
customer intent after plan review
  • Customer selects a specific plan plan_selected plan-confirmation
  • Customer asks about a promotion or discount promo_inquiry promotion-check
  • Customer's preferred plan is incompatible with device or location incompatible compatibility-resolution
  • Customer is unsure and wants time to decide undecided follow-up-scheduling
  • Customer mentions wanting to cancel instead cancel_intent escalation-human

Promotion Check

Say"Let me check whether there are any current promotions or offers that apply to your account."

PlanCatalog.GetPromotions for customer.accountNumber

kb.promotions-policy — verify eligibility criteria for active promotions against customer.currentPlan and customer.contractEndDate

  • Valid promotion found and auto-applicable promo_valid CRM.ApplyPromotion with promotion.code plan-confirmation
  • Promotion exists but requires manager approval promo_needs_approval promotion-approval
  • No eligible promotion found plan-confirmation

Promotion Approval

Say"That promotional rate needs a quick verification on my end before I can apply it. Let me get that sorted for you now."
Approval
Slack.RequestApproval to #plan-change-approvals, approver: billing_supervisor
Context sent:customer.accountNumber, customer.currentPlan, promotion.code, promotion.description, plan.selected
  • Approved approved CRM.ApplyPromotion with promotion.code plan-confirmation
  • Rejected rejected Say: "I wasn't able to apply that specific promotion, but I can still offer you our best available rate." plan-confirmation
  • No response in 20 min escalation-human

Compatibility Resolution

Say"It looks like that specific plan isn't available for your device or location. Let me find you the closest alternative that would work best for you."

PlanCatalog.GetCompatibleAlternatives for customer.deviceModel, customer.location

kb.device-compatibility-policy — review alternatives against customer.currentPlan to identify closest feature and pricing match

  • Compatible alternative found and customer accepts alt_accepted plan-confirmation
  • Customer rejects all alternatives and escalates frustration frustrated escalation-human
  • Customer wants to upgrade device to access desired plan device_upgrade_intent escalation-human

Plan Confirmation

PlanCatalog.CalculateProration for customer.accountNumber, plan.selected, customer.billingCycleDate — return plan.proratedAmount, plan.effectiveDate, plan.monthlyCost

Say"Here's a summary before we make any changes: you'd be moving to plan.selected at plan.monthlyCost per month. The change would take effect on plan.effectiveDate, and your prorated charge for this billing cycle would be plan.proratedAmount. Shall I go ahead and apply that?"

ContractDB.CheckContractTerms for customer.accountNumber, customer.contractEndDate — check for early change fee fee.earlyChange

  • No contract fee applies and customer confirms confirmed apply-plan-change
  • Contract change fee applies contract-fee-review
  • Customer wants to reconsider or go back reconsider plan-discovery
  • Customer declines and threatens cancellation cancel_intent escalation-human

Contract Fee Review

Say"I want to make sure you have the full picture — because you're currently in a contract running until customer.contractEndDate, applying this change now would include an early change fee of fee.earlyChange. You have a couple of options: we can apply the change today with that fee, or we can schedule it to take effect at the end of your contract period at no extra cost."

kb.contract-terms-policy — confirm fee calculation and waiver eligibility for customer.accountNumber

Detect
customer decision on contract fee
  • Customer accepts fee and wants to proceed today fee_accepted apply-plan-change
  • Customer prefers a future effective date future_date schedule-future-change
  • Customer disputes the fee or feels it should be waived fee_dispute escalation-human
  • Customer wants to cancel instead of paying the fee cancel_intent escalation-human

Schedule Future Change

Say"No problem at all. I'll schedule your plan change to plan.selected to take effect on customer.contractEndDate, so there'll be no early change fee. You'll stay on your current plan until then, and we'll send you a reminder as that date approaches."

BillingPlatform.SchedulePlanChange for customer.accountNumber, plan.selected, effective: customer.contractEndDate

CRM.UpdateAccountNotes with scheduled change details, case.id

  • Change scheduled successfully confirmation-notification
  • Scheduling fails system_error billing-system-error

Apply Plan Change

BillingPlatform.ApplyPlanChange for customer.accountNumber, plan.selected, effective: plan.effectiveDate, proration: plan.proratedAmount

  • Plan change applied successfully confirmation-notification
  • System returns error on first attempt system_error BillingPlatform.RetryPlanChange apply-plan-change-retry
  • Customer threatens cancellation during wait cancel_intent escalation-human

Apply Plan Change Retry

BillingPlatform.RetryPlanChange for customer.accountNumber, plan.selected

  • Retry successful confirmation-notification
  • Retry also fails system_error_final billing-system-error

Billing System Error

Say"I'm sorry — I'm running into a technical issue completing this change right now. I've logged your request and our team will manually apply the update within one business day. You won't lose your selected plan or pricing."

CRM.CreateCase priority: high, tagged: plan-change-system-error, linked to customer.accountNumber

CRM.UpdateAccountNotes with plan.selected, plan.monthlyCost, plan.effectiveDate, error details

NotificationService.SendEmail to customer.email confirming the logged request and manual resolution timeline

  • Case logged and customer is satisfied satisfied resolution
  • Customer is frustrated and demands immediate resolution or escalation frustrated escalation-human

Confirmation Notification

Say"You're all set! Your plan has been updated to plan.selected. The change is effective plan.effectiveDate, and your new monthly rate will be plan.monthlyCost. You'll get a confirmation sent to you shortly."

NotificationService.SendSMS to customer.phone with plan change summary, plan.selected, plan.effectiveDate, plan.monthlyCost

NotificationService.SendEmail to customer.email with full confirmation details and updated plan terms

CRM.UpdateAccountNotes with completed plan change, plan.selected, plan.effectiveDate

resolution

Follow-up Scheduling

Say"That's completely fine — take your time. Can I get a good number or email to reach you on? I can also note the plans we discussed so you don't have to start over when you're ready."

CRM.CreateFollowUpTask for customer.accountNumber, note: plans discussed, follow-up within 48 hours

CRM.UpdateAccountNotes with plan.selected, customer preference notes

  • Follow-up scheduled successfully resolution
  • Customer decides to proceed after all plan_selected plan-confirmation

Escalation to Human Agent

CRM.CreateCase priority: high, tagged: plan-change-escalation, linked to customer.accountNumber

Slack.Notify to #plan-change-escalations with customer.accountNumber, customer.currentPlan, plan.selected, escalation reason

Say"I want to make sure you get the right help here. I'm connecting you with a senior specialist now who can resolve this for you directly. Your account details and everything we've discussed will be passed along so you won't need to repeat yourself."

Resolution

Say"Is there anything else I can help you with today? We appreciate you being a customer and hope you enjoy your new plan."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ chat▣ email

Payment / Billing Inquiry

TravelHospitalityBillingPaymentsDisputes

Intake & Verification

Say"Thank you for contacting us. I'd be happy to help you with your billing inquiry. Could you please share your booking confirmation number and the name and email address on the reservation?"
  • Customer provides booking confirmation and identity details CRS.LookupReservation charge-identification
  • Customer cannot provide confirmation number but provides name and email CRS.LookupByGuestEmail charge-identification
  • Customer cannot provide any identifying information identity-verification-required

Identity Verification Required

Say"For the security of your account, I'm unable to access reservation or payment details without verifying your identity first. I'll need at least your booking confirmation number, the email address used at the time of booking, or the last four digits of the payment card used."
  • Customer supplies one or more valid identifiers CRS.LookupReservation charge-identification
  • Customer is still unable to verify identity escalation-human

Charge Identification

Say"I can see your reservation for booking.property covering booking.stayDates. Which charge would you like to discuss — could you tell me the amount and approximate date you saw it?"

PMS.GetPaymentHistory for booking.confirmationNumber

kb.billing-charge-definitions — review resort fees, late checkout policies, cancellation penalty rules, and incidental hold release timelines

  • Charge found and matches a known fee type charge-explanation
  • Charge appears duplicated or does not match any reservation line item possible_error billing-error-review
  • Customer references a charge not visible in payment history PaymentGateway.LookupTransaction charge-identification-extended
  • Customer explicitly states the charge is unauthorized or fraudulent fraud_flag escalation-fraud

Charge Identification — Extended Lookup

PaymentGateway.LookupTransaction using payment.last4, charge.amount, charge.date

kb.billing-charge-definitions — verify against settlement timing and pending-to-posted conversion windows

  • Transaction located and matched to reservation charge-explanation
  • Transaction located but cannot be matched to any booking possible_error billing-error-review
  • Transaction not found in gateway records escalation-human

Charge Explanation

Agent
review the matched charge against reservation details, policy documents, and payment history to produce a clear plain-language explanation for the customer.
Goal:explain exactly what the charge is, why it was applied, and cite the relevant policy or agreement accepted at booking.
Constraints:do not speculate about charges that cannot be confirmed in the reservation record; do not offer adjustments at this step — route to goodwill-options or billing-error-review if a correction may be warranted.
Tools available:PMS.GetReservationDetails, PMS.GetPaymentHistory, kb.billing-charge-definitions, kb.cancellation-policy, kb.resort-fee-policy
Say"Let me explain what that charge is for. charge.description was applied on charge.date in the amount of charge.amount. This is a standard fee outlined in your booking terms."
  • Customer accepts the explanation and is satisfied resolution-confirmed
  • Customer accepts the explanation but requests an itemized receipt PMS.SendReceipt to customer.email resolution-confirmed
  • Customer disputes the charge as unfair but it is policy-valid goodwill-options
  • Customer believes the charge is a billing error possible_error billing-error-review

Goodwill Options

kb.goodwill-adjustment-policy — check eligible goodwill gestures (loyalty points, partial waiver, future discount) and current authorization limits for agent.adjustmentLimit

Say"I completely understand your frustration. While this fee is outlined in the booking terms, I'd like to see what options I can offer you as a gesture of goodwill."
Agent
determine the best available goodwill offer within authorization limits based on customer history, loyalty tier, and policy.
Goal:offer a meaningful resolution that retains customer satisfaction without exceeding the authorized adjustment threshold.
Constraints:never waive fees that exceed agent.adjustmentLimit without escalation approval; never promise a refund without confirming eligibility first; check loyalty tier before offering points compensation.
Tools available:LoyaltyPlatform.GetAccountStatus, LoyaltyPlatform.AwardPoints, RefundAdjustmentTool.ApplyPartialWaiver, kb.goodwill-adjustment-policy
  • Goodwill offer made and customer accepts RefundAdjustmentTool.ApplyPartialWaiver, PMS.SendReceipt to customer.email resolution-confirmed
  • Goodwill offer made and customer accepts loyalty points LoyaltyPlatform.AwardPoints to loyalty.accountNumber resolution-confirmed
  • Customer declines goodwill options and insists on full refund of a valid non-refundable charge escalation-human
  • Adjustment amount required exceeds agent.adjustmentLimit exceeds_limit escalation-billing-specialist

Billing Error Review

PMS.GetPaymentHistory for booking.confirmationNumber

PaymentGateway.LookupTransaction using payment.last4, charge.amount, charge.date

Agent
assess whether the charge is a genuine billing error (duplicate, misapplied fee, incorrect amount, or post-checkout incidental not released).
Goal:confirm or rule out a billing error using reservation data, gateway records, and policy, then determine correct remediation action.
Constraints:do not initiate a reversal for amounts above agent.adjustmentLimit without escalation; always generate a case reference before communicating a timeline to the customer; never confirm a refund amount until the correction is validated in the system.
Tools available:PMS.GetPaymentHistory, PaymentGateway.LookupTransaction, RefundAdjustmentTool.InitiateCorrection, Salesforce.CreateCase, kb.billing-charge-definitions
  • Error confirmed and within adjustment authorization RefundAdjustmentTool.InitiateCorrection, Salesforce.CreateCase correction-initiated
  • Error confirmed but correction amount exceeds agent.adjustmentLimit exceeds_limit escalation-billing-specialist
  • No error found — charge is valid charge-explanation

Correction Initiated

Salesforce.CreateCase tagged billing-correction, linked to booking.confirmationNumber

PMS.SendReceipt to customer.email with updated billing summary

Say"I've confirmed the billing error and submitted a correction request. Your case reference number is case.referenceNumber. The adjustment will be reflected within 5 to 10 business days depending on your bank. You'll receive an updated receipt at customer.email shortly."
  • Customer asks about a refund they already expected to have received refund-status-check
  • Customer is satisfied with the resolution resolution-confirmed

Refund Status Check

PaymentGateway.LookupTransaction using payment.last4, refund.amount, refund.date

kb.refund-processing-timelines — check standard bank processing windows by payment type

Say"I can see that a refund of refund.amount was processed on refund.date. Depending on your bank or card issuer, this can take 5 to 10 business days to appear on your statement. If you don't see it after that window, please contact us and we'll investigate further with the payment processor."
  • Customer confirms they will wait and is satisfied resolution-confirmed
  • Refund date was over 10 business days ago and still not received PaymentGateway.InitiateRefundTrace escalation-human
  • Customer disputes the refund amount as incorrect possible_error billing-error-review

Escalation to Billing Specialist

Salesforce.CreateCase priority: high, tagged billing-specialist-review, linked to booking.confirmationNumber

Salesforce.NotifyQueue billing-specialist-team with case summary, charge.amount, charge.description, customer.email

Say"This adjustment requires review by our billing specialist team, as it falls outside what I can authorize directly. I've opened a case with reference number case.referenceNumber and our team will contact you at customer.email within 2 business days with a resolution."

Escalation to Human Agent

Salesforce.CreateCase priority: high, tagged billing-escalation, linked to booking.confirmationNumber

Salesforce.NotifyQueue billing-support-team with full case context, charge.amount, charge.date, customer.email

Say"I want to make sure this gets the attention it deserves. I'm escalating your case to a member of our billing team who has the tools to resolve this for you. Your case reference is case.referenceNumber and you can expect to hear from us at customer.email within 1 business day."

Escalation — Fraud

Salesforce.CreateCase priority: urgent, tagged unauthorized-charge-fraud, linked to booking.confirmationNumber

PaymentGateway.FlagTransaction for charge.amount on payment.last4

Salesforce.NotifyQueue fraud-and-security-team with transaction details, customer.email, booking.confirmationNumber

Say"I take this very seriously. I've flagged the transaction and escalated this to our fraud and security team as a priority. Your case reference is case.referenceNumber. A specialist will contact you at customer.email within 24 hours. In the meantime, you may also want to contact your card issuer directly to report the charge."

Resolution Confirmed

Say"I'm glad we were able to sort that out for you. Is there anything else I can help you with regarding your reservation or account?"

Salesforce.UpdateCase status: resolved, linked to booking.confirmationNumber

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ sms

Password / Login Recovery

Financial ServicesAccount AccessSecuritySupport

Intake — Login Issue

Say"Thank you for reaching out. I'm here to help you regain access to your account. Can you briefly describe what's happening when you try to log in?"
Detect
nature of login issue reported by customer
  • Customer states forgotten password or cannot log in forgotten-password identity-verification
  • Customer states account appears locked or suspended account-locked account-status-check
  • Customer states they did not initiate any lockout or suspects unauthorised access unauthorised-access escalation-fraud-review
  • Issue is unclear or customer is unsure unclear CRM.LogInteraction, ask one clarifying question identity-verification

Identity Verification

Say"Before I can make any changes to your account, I need to verify your identity. I'll ask you a few quick questions — please have your account details handy."

CRM.PullCustomerRecord using customer.registeredEmail or customer.accountNumber

IdentityVerification.InitiateCheck for customer.fullName, customer.dateOfBirth, customer.lastFourSSN

Say"Can you please confirm your full name, date of birth, and either your account number or the email address registered on the account?"
Detect
identity verification outcome from verification.attemptCount and submitted details
  • Identity confirmed on first or second attempt identity-confirmed account-status-check
  • Identity fails first attempt identity-failed-once CRM.IncrementAttemptCount, prompt retry identity-verification-retry
  • Account already shows two or more failed attempts max-attempts-reached escalation-identity-lockout

Identity Verification — Retry

Say"I wasn't able to match those details. You have one more attempt before the account must be secured for your protection. Please double-check and try again — confirm your full name, date of birth, and the last four digits of your Social Security Number."

IdentityVerification.InitiateCheck for customer.fullName, customer.dateOfBirth, customer.lastFourSSN

CRM.IncrementAttemptCount

Detect
identity verification outcome on retry
  • Identity confirmed on retry identity-confirmed account-status-check
  • Identity fails again on retry identity-failed-twice escalation-identity-lockout

Account Status Check

CoreBanking.GetAccountStatus for customer.accountNumber

FraudMonitoring.CheckFraudFlag for customer.accountNumber

Detect
account status returned by core banking and fraud monitoring systems
  • Account is clear with no flags or locks account-clear contact-info-check
  • Account is locked due to repeated failed login attempts account-locked-cooldown cooldown-notice
  • Account is flagged for suspicious or fraudulent activity fraud-flag-active escalation-fraud-review
  • Account status is suspended or otherwise restricted account-suspended escalation-account-review

Contact Info Check

Say"Great — your identity is confirmed and your account looks clear. I'll send a password reset link now. Just to confirm: should I send it to the email address or phone number we have on file?"

CRM.VerifyContactInfo for customer.registeredEmail and customer.registeredPhone

Detect
whether registered contact information is current and reachable
  • Registered email or phone confirmed current by customer contact-confirmed mfa-challenge
  • Customer states contact info is outdated or no longer accessible contact-outdated escalation-manual-id-verification

MFA Challenge

MFAOTP.SendCode to customer.registeredEmail or customer.registeredPhone based on reset.linkDeliveryMethod

Say"I've just sent a one-time verification code to your registered contact. Please share that code with me once you receive it so we can proceed."
Detect
MFA code submission and validation outcome
  • Customer provides correct OTP code otp-valid password-reset-initiation
  • Customer provides incorrect code otp-invalid escalation-mfa-failure
  • Customer states they did not receive the code otp-not-received MFAOTP.ResendCode, confirm delivery method mfa-challenge
  • Customer states the contact they received it on is not theirs otp-wrong-contact escalation-fraud-review

Password Reset Initiation

CoreBanking.InitiatePasswordReset for customer.accountNumber

EmailSMSDelivery.SendResetLink to customer.registeredEmail or customer.registeredPhone

Say"A secure password reset link has been sent to you now. The link is valid for 15 minutes. Once you've reset your password, please try logging in and let me know if access is restored."
Detect
customer confirmation of access outcome
  • Customer confirms new password set and login successful access-restored resolution-access-confirmed
  • Customer states link expired or not received link-expired EmailSMSDelivery.ResendResetLink password-reset-initiation
  • Customer states they are still unable to log in after reset reset-failed escalation-account-review

Cooldown Notice

CoreBanking.GetCooldownStatus for customer.accountNumber

Say"Your account was temporarily secured after several unsuccessful login attempts, which is a standard security measure. A mandatory waiting period is currently in effect before a reset can be issued."
Say"Once the cooling-off period has passed, you're welcome to contact us again and we can proceed with the reset right away. If you believe you did not make those login attempts yourself, please let me know now."
Detect
customer response to cooldown notice
  • Customer acknowledges and agrees to wait customer-accepts-cooldown resolution-cooldown-advised
  • Customer states they did not make those login attempts customer-denies-attempts escalation-fraud-review

Resolution — Access Confirmed

Say"Wonderful — I'm glad we got that sorted. Your access has been restored. For your security, I'd recommend choosing a strong, unique password and enabling two-factor authentication if you haven't already."

CRM.LogInteraction tagged password-reset-successful, linked to customer.accountNumber

CoreBanking.ClearLockStatus for customer.accountNumber

Resolution — Cooldown Advised

Say"Thank you for your patience. Your account remains protected in the meantime. Please reach back out once the waiting period has passed and we'll get the reset sent to you right away."

CRM.LogInteraction tagged cooldown-in-effect, linked to customer.accountNumber

Escalation — Identity Lockout

Say"I'm sorry — I wasn't able to verify your identity through this channel after the maximum number of attempts. For your protection, your account has been secured and the reset cannot proceed remotely."
Say"To restore access, you'll need to visit a branch in person with a valid government-issued photo ID, or complete our document verification process. I'll create a case for you now so the team is ready when you arrive."

CoreBanking.LockAccount for customer.accountNumber

CRM.CreateCase priority: high, tagged identity-verification-failed, linked to customer.accountNumber

CRM.LogInteraction tagged max-attempts-reached

Escalation — Fraud Review

Say"I want to make sure your account is fully protected. There's an indicator on your account that requires our fraud team to review it before any changes can be made. I'm going to escalate this to them now and a specialist will follow up with you shortly."

CoreBanking.FreezeAccount for customer.accountNumber

FraudMonitoring.EscalateCase for customer.accountNumber, flag: suspicious-activity

CRM.CreateCase priority: high, tagged fraud-review-required, linked to customer.accountNumber

CRM.LogInteraction tagged fraud-flag-escalation

Escalation — Manual ID Verification

Say"Because the contact information we have on file may not be current, I'm not able to send the reset link through our standard process. I'll need to pass this to our verification team who can walk you through an alternative identity confirmation method."

CRM.CreateCase priority: medium, tagged outdated-contact-info-manual-review, linked to customer.accountNumber

CRM.LogInteraction tagged contact-info-outdated-escalation

Escalation — MFA Failure

Say"The one-time code didn't match what we sent. For your account's security, I'm unable to proceed with the reset at this time. I'll refer this to our account security team who will reach out to you directly to complete the verification safely."

CRM.CreateCase priority: medium, tagged mfa-failure-escalation, linked to customer.accountNumber

CRM.LogInteraction tagged otp-verification-failed

Escalation — Account Review

Say"It looks like there may be an additional restriction on your account that I'm not able to resolve through this channel. I'm escalating this to our account management team who can investigate and get back to you promptly."

CRM.CreateCase priority: medium, tagged account-status-restricted, linked to customer.accountNumber

CRM.LogInteraction tagged account-review-escalation

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ voice▣ email

Order Status Inquiry

RetailSupportShippingOrders

Greeting & Identity Verification

Say"Hi there! I'm here to help you track your order. Can I start with your order number and the email address on your account?"

IdentityVerification.VerifyCustomer using customer.accountEmail and customer.name

  • Identity verified, order number provided verified order-lookup
  • Customer cannot provide order number no_order_number lookup-by-email
  • Identity cannot be verified after two attempts escalation-human

Order Lookup by Email or Name

Say"No problem — let me try to find your order using your name or email address."

OMS.LookupOrderByEmail using customer.accountEmail or customer.name

  • Order found OMS.LookupOrderByEmail order_found order-lookup
  • Order still not found after email and name search not_found order-not-found

Order Not Found

Say"I wasn't able to locate an order under that information. Please check your confirmation email for your order number — it would have been sent to the address you used at checkout. Once you have it, feel free to reach back out and I'll get that sorted for you right away."
  • Customer provides order number from confirmation email order-lookup
  • Customer has no confirmation email and order remains unresolved escalation-human

Order Lookup & Status Check

OMS.GetOrderDetails using order.id and customer.accountEmail

  • Order is still processing, has not shipped yet processing order-still-processing
  • Order has shipped, tracking number available shipped retrieve-tracking
  • Order shows as delivered in OMS delivered delivered-not-received-check

Order Still Processing

Say"Your order is currently being processed in our warehouse and hasn't shipped yet. Based on current timelines, it's expected to ship by order.expectedShipDate. Once it ships, you'll receive a confirmation email with your tracking number."
  • Customer is satisfied and has no further questions confirmed resolution
  • Customer wants to know if the ship date can be expedited expedite_request escalation-human
  • Customer wants to cancel the unshipped order cancel_request escalation-human

Retrieve Tracking Data

CarrierAPI.GetTrackingStatus using carrier.trackingNumber

  • Live tracking data returned, last scan within 48 hours tracking_current communicate-status
  • Tracking has not updated in more than 72 hours tracking_stale stale-tracking

Communicate Status

Say"Great news — your order is on its way! Here's the latest update: your package was last scanned at carrier.lastScanLocation on carrier.lastScanDate. Your estimated delivery window is carrier.estimatedDelivery. You can also track it directly using tracking number carrier.trackingNumber."
  • Customer is satisfied confirmed resolution
  • Customer has a concern about the delivery address or timing address_concern escalation-human

Stale Tracking

Say"I can see your order shipped, but the tracking hasn't updated since carrier.lastScanDate. This can sometimes happen due to carrier delays between scan points. I'm flagging this for you now."

kb.shipping-delay-policy — review thresholds for carrier claim eligibility and customer communication guidelines

Agent
assess the stale tracking situation using carrier.lastScanDate, carrier.estimatedDelivery, and kb.shipping-delay-policy.
Goal:determine whether the package is within an acceptable delay window or if a carrier claim should be initiated.
Constraints:do not promise a replacement or refund without escalation approval; never file a carrier claim if fewer than 5 business days have elapsed since last scan; always advise the customer of next steps before closing.
Tools available:CarrierAPI.GetTrackingStatus, OMS.GetOrderDetails, kb.shipping-delay-policy
  • Within acceptable delay window, advise customer to wait within_window stale-tracking-advisory
  • Delay exceeds policy threshold, carrier claim warranted claim_warranted escalation-human

Stale Tracking Advisory

Say"Based on the current information, your package is within the window where carrier delays can occur without updates. I'd recommend checking back in 24 to 48 hours. If it still hasn't moved by then, please contact us and we'll file a carrier claim on your behalf right away."
  • Customer is willing to wait confirmed resolution
  • Customer wants to escalate now escalate_now escalation-human

Delivered But Not Received Check

Say"Our system shows your order was marked as delivered on carrier.deliveredDate. Did you receive it at customer.shippingAddress?"
Detect
customer response on whether package was received
  • Customer confirms receipt confirmed resolution
  • Customer says package was not received not_received lost-package-review
  • Customer is unsure — may have been left with a neighbor or in a safe spot unsure delivery-location-check

Delivery Location Check

Say"Sometimes carriers leave packages with a neighbor, in a mailroom, or in a designated safe spot. Could you check around your building entrance, with your building manager, or with neighbors before we proceed? I'll wait for you."
  • Customer finds the package confirmed resolution
  • Customer confirms the package is truly not there not_received lost-package-review

Lost Package Review

Say"I'm sorry to hear that — let me open a lost package review for you right now."

OMS.FlagOrderLostPackage on order.id

CRM.CreateCase tagged lost-package, linked to order.id and carrier.trackingNumber

kb.lost-package-policy — review carrier liability window, replacement vs. refund eligibility, and documentation requirements

Say"I've flagged your order and created a case for our team. Depending on the carrier's investigation timeline — typically 5 to 7 business days — you may be eligible for a replacement or refund. I'll now connect you with a specialist who can confirm next steps and options for you."
  • Package confirmed lost or stolen, or customer is requesting refund or replacement escalation-human

Escalation to Human Agent

CRM.CreateCase priority: high, tagged order-escalation, linked to order.id

CRM.LogInteractionSummary with customer.email, order.id, and current status context

Say"I'm going to connect you with one of our senior support specialists right now who can take care of this for you. I've already shared all your order details with them so you won't have to repeat yourself."

Resolution

Say"Is there anything else I can help you with today?"
  • Customer has another question another_question greeting-and-identity
  • Customer is done confirmed CRM.LogInteractionSummary with customer.email and order.id
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ chat▣ voice▣ sms

New Account Onboarding

Financial ServicesOnboardingKYCCompliance

Intent Capture

Say"Welcome! I'm here to help you open a new account today. Before we get started, could you tell me what type of account you're looking to open — for example, a personal checking, savings, or investment account?"
Detect
customer account type intent
  • Customer requests a personal account type (checking, savings, investment) personal-account info-collection
  • Customer requests a business or trust account business-or-trust-account specialist-routing
  • Customer is unsure or needs guidance unsure account-type-guidance

Account Type Guidance

Say"No problem at all. Let me walk you through the most common options. A checking account is great for everyday spending, a savings account helps you earn interest on funds you set aside, and an investment account is for growing wealth over time. Which of those sounds closest to what you need?"

kb.account-types-overview — retrieve product descriptions, minimum balance requirements, and eligibility criteria

  • Customer selects a personal account type personal-account info-collection
  • Customer still wants a business or trust account business-or-trust-account specialist-routing
  • Customer wants to end the conversation end-session session-close

Info Collection

Say"Great choice! To open your account, I'll need to collect some information. This typically takes just a few minutes and everything is encrypted and secure. Let's start with your full legal name and date of birth."

CRM.CreateDraftRecord to initialize a draft customer profile

Say"Next, I'll need your government-issued ID number — such as a passport or driver's license number — along with your Social Security Number or Tax ID."
Say"Finally, I'll need your current address, employment status, approximate annual income, and the funding method you plan to use for your initial deposit."

kb.minimum-deposit-requirements — validate customer.initialDepositAmount and customer.fundingSource eligibility

  • All required fields collected and deposit method is supported fields-complete identity-verification
  • Funding method is unsupported or deposit is below the minimum funding-issue funding-issue-resolution
  • Customer is unwilling to provide required information declined-to-provide escalation-human

Funding Issue Resolution

Say"It looks like the funding method or deposit amount you've selected may not meet our current requirements. Let me explain what we can accept."

kb.funding-methods-policy — retrieve supported funding sources and minimum initial deposit thresholds

Say"We accept bank transfers, debit card funding, and wire transfers for initial deposits. The minimum opening deposit for this account type is noted in our policy. Would you like to use an alternative funding method, or would you prefer I walk you through the options?"
  • Customer selects a supported alternative funding method alternative-accepted identity-verification
  • Customer cannot or will not meet deposit requirements cannot-meet-requirements session-close

Identity Verification

Say"I'm now going to submit your information for identity verification. This is a standard step required to open any account and usually takes just a moment."

KYCService.SubmitVerification with customer.fullLegalName, customer.dateOfBirth, customer.govIdNumber, customer.taxId, customer.address

Detect
KYC verification result
  • Verification passes on first or second attempt kyc-pass compliance-screening
  • Verification fails — first attempt kyc-fail-first kyc-retry
  • Verification fails — second attempt or kyc.attemptCount exceeds 2 kyc-fail-final escalation-human

KYC Retry

Say"I wasn't able to verify your identity with the information provided. This can sometimes happen due to a name mismatch or a data entry issue. Could you double-check your details, or provide an alternative government-issued ID document?"

DocUploadPortal.RequestDocument to customer.email for alternative ID submission

  • Customer submits alternative document and resubmission passes kyc-pass compliance-screening
  • Customer submits alternative document and resubmission fails kyc-fail-final escalation-human
  • Customer cannot provide alternative documentation cannot-verify escalation-human

Compliance Screening

Say"Thank you — your identity has been verified. I'm now running a brief compliance check, which is required by law for all new accounts. This will only take a moment."

ComplianceScreening.RunCheck with customer.fullLegalName, customer.taxId, customer.dateOfBirth, customer.address

Detect
compliance screening result
  • Screening passes with no flags compliance-clear account-creation
  • Any KYC or AML flag is raised compliance-flagged escalation-compliance
  • Customer is identified as a Politically Exposed Person (PEP) compliance.isPEP pep-flag escalation-compliance

Account Creation

Say"Everything has cleared. I'm now creating your account — this will just take a moment."

CoreBanking.CreateAccount with customer.fullLegalName, customer.taxId, customer.address, customer.fundingSource, customer.initialDepositAmount, customer.accountType

CRM.UpdateRecord with account.id, mark status: account-created

Twilio.SendSMS to customer.phone: "Your new account has been created. Your account ID is account.id. Your login credentials will arrive by email shortly."

CoreBanking.IssueCredentials to customer.email with account.credentials and welcome packet link

  • Account created and credentials delivered successfully account-ready customer-orientation
  • Account creation fails due to a system error system-error escalation-human

Customer Orientation

Say"Your account is all set! Here's what you need to know to get started."
Say"You'll receive a welcome email shortly with your login credentials, a link to download our mobile app, and instructions for setting up two-factor authentication. Your initial deposit will be reflected within one to two business days depending on your funding method."

kb.new-account-faq — retrieve top questions about first login, mobile app access, and deposit timelines

Say"Is there anything else you'd like to know about accessing your account, setting up transfers, or any of our other services?"
  • Customer has additional questions more-questions customer-orientation
  • Customer is satisfied and ready to end satisfied session-close
  • Customer wants to add a beneficiary or linked account additional-setup escalation-human

Specialist Routing

Say"I'd be happy to help you get to the right place. Business and trust accounts require a specialist who can walk you through the additional documentation and requirements for those account types."

CRM.CreateLeadRecord with customer.phone, customer.email, customer.accountType, note: specialist-referral

Say"I'm transferring your details to a specialist now. You can expect a call or message within one business day. Is there a preferred contact time or number I should pass along?"
  • Details captured and specialist notified escalation-human

Escalation to Compliance Officer

ComplianceScreening.FlagRecord with customer.fullLegalName, customer.taxId, compliance.flagCode, compliance.isPEP

CRM.EscalateRecord priority: critical, tag: compliance-review

Say"I'm sorry, but I'm not able to proceed with your account opening at this time. For regulatory reasons, your application requires a review by our compliance team. You will be contacted directly within two business days with next steps. We appreciate your patience."

Escalation to Human Agent

CRM.EscalateRecord priority: high, tag: agent-review

Twilio.SendSMS to customer.phone: "Your account application requires attention from one of our specialists. A team member will reach out to you shortly."

Say"I'm going to connect you with one of our specialists who will be able to assist you further. Thank you for your patience — you're in good hands."

Session Close

Say"Thank you for reaching out to us today. If you have any questions in the future or would like to revisit opening an account, we're always here to help. Have a great day!"

CRM.CloseSession with session outcome logged

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ voice▣ email

Loyalty / Rewards Inquiry

RetailLoyaltyRewardsSupport

Intake & Account Lookup

Say"Welcome! I'd be happy to help with your rewards account. Could you share the email address or phone number linked to your loyalty account?"

LoyaltyPlatform.LookupAccount by customer.email or customer.phone

  • Account found, no fraud flag identity-verification
  • Account found with fraud flag fraud_flag escalation-human
  • Account not found account-not-found

Identity Verification

IdentityVerification.Verify using customer.fullName and customer.accountId

Say"Just to protect your account, can you confirm your full name and the last four digits of the phone number on file?"
  • Identity confirmed on first or second attempt verified inquiry-classification
  • Identity fails after two attempts unverified escalation-human

Account Not Found

Say"I wasn't able to find an account with that information. Let's try a different detail — do you have an alternate email address or phone number you may have used when signing up?"

LoyaltyPlatform.LookupAccount secondary attempt using alternate customer.email or customer.phone

  • Account found on secondary lookup identity-verification
  • Account still not found after secondary attempt escalation-human

Inquiry Classification

Say"Great, I've pulled up your account, customer.fullName. Your current balance is loyalty.pointsBalance points and your tier is loyalty.tier. What can I help you with today — checking your balance, redeeming rewards, reporting missing points, or something about expiration?"
Detect
customer intent from reply
  • Customer asks about balance or tier status balance_inquiry balance-and-tier-summary
  • Customer wants to redeem rewards redeem redemption-assistance
  • Customer reports missing points after a purchase missing_points missing-points-investigation
  • Customer asks about or disputes expiration expiration_inquiry expiration-review
  • Customer expresses frustration or perceived unfair treatment frustrated empathy-and-policy-explanation

Balance & Tier Summary

LoyaltyPlatform.GetAccountDetails for customer.accountId

Say"You currently have loyalty.pointsBalance points in your account. You're at the loyalty.tier tier, and your points are set to expire on loyalty.expirationDate. Would you like to know how to use your points, or is there anything else I can help with?"

kb.loyalty-rewards-policy — confirm tier benefits and point value rules

  • Customer wants to know how to redeem redeem redemption-assistance
  • Customer is satisfied and has no further questions resolved resolution
  • Customer raises a new concern new_concern inquiry-classification

Redemption Assistance

kb.loyalty-rewards-policy — retrieve current redemption options, minimum threshold, and any active promotions

Say"You can redeem your points in a few ways: as a discount at checkout online or in-store, for gift cards, or toward eligible products. Your current balance of loyalty.pointsBalance points is worth — shall I walk you through how to apply them right now?"

LoyaltyPlatform.GetRedemptionOptions for customer.accountId

  • Customer wants to apply reward to a current or upcoming purchase LoyaltyPlatform.ApplyReward redemption-confirmed
  • Customer wants to know options only, no redemption yet info_only resolution
  • Customer's balance is below the redemption minimum below_minimum below-minimum-notice

Below Minimum Notice

Say"It looks like your current balance of loyalty.pointsBalance points is just below the minimum needed to redeem. I can let you know exactly how many more points you'd need, and share some ways to earn them faster if that's helpful."

kb.loyalty-rewards-policy — confirm minimum redemption threshold and earning opportunities

  • Customer is satisfied with the explanation resolved resolution
  • Customer is frustrated or disputes the threshold frustrated empathy-and-policy-explanation

Redemption Confirmed

Say"Your reward has been applied successfully. You'll see the discount reflected at checkout. Is there anything else I can help you with?"

CRM.LogInteraction tagged reward-redeemed, linked to customer.accountId

  • Customer has no further questions resolved resolution
  • Customer has another question new_concern inquiry-classification

Missing Points Investigation

Say"I'm sorry to hear your points didn't post — let's look into that. Can you share the receipt number or order number and the approximate date of the purchase?"

OrderManagement.LookupTransaction by transaction.receiptNumber and transaction.purchaseDate

  • Transaction found and points not yet posted LoyaltyPlatform.CheckPendingPoints points-adjustment-review
  • Transaction found and points already posted points-already-posted
  • Transaction not found in order history unverified-transaction

Points Already Posted

Say"Good news — it looks like those points actually did post to your account, though they may take up to 48 hours to appear in your balance display. Your current total is loyalty.pointsBalance points. Does that match what you're seeing?"
  • Customer confirms the issue is resolved resolved resolution
  • Customer says the balance still looks wrong disputed escalation-human

Unverified Transaction

Say"I wasn't able to locate that transaction in our system with those details. Could you double-check the receipt number or share any other details — like the store location or the total amount? That will help me dig further."

OrderManagement.LookupTransaction secondary attempt using transaction.amount and transaction.purchaseDate

  • Transaction found on secondary lookup points-adjustment-review
  • Transaction still not found after second attempt escalation-human

Points Adjustment Review

Agent
evaluate whether a manual points adjustment is warranted based on transaction details and loyalty account history.
Goal:determine if the missing points qualify for a manual credit under policy, and calculate the correct points amount to award.
Constraints:never issue a points adjustment above the policy maximum without manager approval; cross-reference kb.loyalty-rewards-policy for eligible purchase categories before approving any credit.
Tools available:LoyaltyPlatform.GetAccountDetails, OrderManagement.LookupTransaction, kb.loyalty-rewards-policy
  • Adjustment is within policy limits and clearly supported low_risk_adjustment adjustment-approval
  • Adjustment amount is high, ambiguous, or flags a pattern high_risk_adjustment escalation-human

Adjustment Approval

Approval
Slack.RequestApproval to #loyalty-ops-approvals, approver: loyalty_ops_manager
Context sent:customer.accountId, customer.fullName, transaction.receiptNumber, transaction.purchaseDate, transaction.amount, agent's assessment of missing points
  • Approved approved LoyaltyPlatform.CreditPoints adjustment-confirmed
  • Rejected rejected adjustment-declined
  • No response in 30 min escalation-human

Adjustment Confirmed

Say"Great news — the missing points have been added to your account. Your updated balance is loyalty.pointsBalance points. You should see this reflected immediately. Is there anything else I can help you with?"

CRM.LogInteraction tagged points-adjustment-approved, linked to customer.accountId, reference adjustment.requestId

  • Customer is satisfied resolved resolution
  • Customer has another question new_concern inquiry-classification

Adjustment Declined

Say"I reviewed the details with our team, and unfortunately we weren't able to apply a points credit for this transaction based on our current policy. I know that's not the answer you were hoping for. I can share exactly why if that would be helpful, or connect you with a specialist who can look at this further."

kb.loyalty-rewards-policy — confirm decline reason to share with customer

  • Customer accepts the explanation resolved resolution
  • Customer remains dissatisfied or requests an exception frustrated escalation-human

Expiration Review

kb.loyalty-rewards-policy — retrieve expiration policy, grace window rules, and reinstatement eligibility criteria

Say"Your points are currently set to expire on loyalty.expirationDate. Our policy allows points to remain active as long as there's account activity within a set window. Would you like me to walk you through the details or check if any of your points are at risk?"
  • Points have not yet expired, customer wants prevention tips info_only resolution
  • Points expired recently and fall within the grace window within_grace_window escalation-human
  • Points expired outside the grace window outside_grace_window expiration-outside-grace
  • Customer is upset about the expiration frustrated empathy-and-policy-explanation

Expiration Outside Grace

Say"I understand how frustrating that is, especially when you've worked hard to earn those points. Unfortunately, the expiration date of loyalty.expirationDate falls outside the window where we're able to reinstate points under our current policy. I want to make sure I'm giving you the full picture — would you like me to explain how to keep future points active?"

kb.loyalty-rewards-policy — confirm grace window boundaries and prevention steps

  • Customer accepts the explanation resolved resolution
  • Customer is still dissatisfied and requests a policy exception frustrated escalation-human

Empathy & Policy Explanation

Say"I completely understand your frustration, and I want you to know your loyalty to us genuinely matters. Let me make sure I explain our policy as clearly as possible so this makes sense."

kb.loyalty-rewards-policy — retrieve relevant policy section to explain to customer

Detect
customer sentiment after explanation
  • Customer feels heard and is satisfied satisfied resolution
  • Customer remains dissatisfied and wants to escalate escalate escalation-human

Escalation to Human Agent

CRM.LogInteraction tagged escalation, linked to customer.accountId, with full interaction summary

Slack.Notify to #loyalty-ops with customer.accountId, customer.fullName, reason for escalation

Say"I want to make sure you get the best possible resolution on this. I'm connecting you with a member of our loyalty specialist team right now who has the authority to look into this further. Please hold just a moment."

Resolution

Say"I'm glad I could help sort that out for you today! Is there anything else you need before we wrap up?"

CRM.LogInteraction tagged resolved, linked to customer.accountId

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ text▣ email▣ chat

Group / Event Booking Inquiry

TravelHospitalityGroup BookingsEventsSales

Inquiry Intake

Say"Welcome! I'd love to help you plan your group or event. To get started, could you tell me a little about what you're looking to book — for example, is this a wedding, corporate retreat, conference, or another type of event?"
Detect
intent from customer opening message
  • Customer describes a specific event type event-described gather-event-details
  • Customer is vague or asking general questions exploring scope-clarification
  • Customer states group size is 50 or more rooms / full venue buyout / custom SLA high-complexity escalation-event-sales-manager

Scope Clarification

Say"No problem — let me ask a few quick questions to point you in the right direction. Are you looking for guest room blocks, a venue or meeting space, or a full package that includes both?"
Detect
intent on scope of booking need
  • Customer clarifies event scope event-described gather-event-details
  • Customer remains unclear or needs guidance still-vague gather-event-details
  • Customer mentions scale that triggers complexity threshold high-complexity escalation-event-sales-manager

Gather Event Details

Say"Great! To find the best options for you, I'll need a few details. What are your preferred dates or a date range? Roughly how many guests or rooms are you expecting? Do you have a specific property or destination in mind? And do you have a budget range or any special requirements such as catering, AV equipment, transportation, or room blocks?"

Salesforce.CreateLead with customer.name, customer.email, customer.phone, source: group-inquiry

Detect
completeness of details provided
  • Customer provides all key details (dates, guest count, destination, budget) details-complete validate-group-size
  • Customer provides partial details details-partial clarify-missing-details
  • Customer declines to share budget or contact info details-minimal clarify-missing-details

Clarify Missing Details

Say"Thanks for sharing what you have so far. Just to make sure I can find the right fit — could you also confirm your estimated guest or room count, your preferred dates, and a rough budget range? Even a ballpark helps me tailor the options."

Salesforce.UpdateLead with any partial data already collected

  • Customer supplies remaining details details-complete validate-group-size
  • Customer still cannot confirm details still-incomplete capture-lead-for-follow-up

Capture Lead for Follow-up

Say"That's perfectly fine — let me save your details and have someone follow up with you once you have a clearer picture. Could I get your best contact email and a name to reference?"

Salesforce.UpdateLead with customer.name, customer.email, status: nurture

email-automation.EnrollSequence campaign: group-inquiry-nurture, contact: customer.email

  • Lead captured successfully resolution-lead-captured
  • Customer disengages with no contact info provided resolution-no-contact

Validate Group Size

Agent
evaluate event.guestCount and event.roomCount against group booking thresholds.
Goal:determine whether the inquiry can be handled by this agent or must be routed to a group sales specialist or event sales manager.
Constraints:route to group-sales-specialist if room count exceeds 20 and is under 50; route to escalation-event-sales-manager if room count is 50 or more, if the event involves a full venue buyout, or if custom SLA or contract terms are mentioned; never attempt to quote contracts above these thresholds without specialist involvement.
Tools available:kb.group-booking-thresholds, Salesforce.GetLeadRecord
  • Group size is 10–20 rooms and standard event type check-availability
  • Group size is 21–49 rooms or complexity is moderate route-to-group-sales-specialist
  • Group size is 50 or more rooms, full buyout, or custom SLA escalation-event-sales-manager

Check Availability

group-inventory-calendar.CheckAvailability for event.property, event.dates, event.roomCount, event.type

property-management-system.GetGroupRates for event.property, event.dates, event.roomCount

Detect
availability result from inventory check
  • Dates and room count are available available present-options
  • Requested dates are unavailable but alternatives exist partial-availability offer-alternatives
  • No availability at requested property or destination unavailable offer-alternatives

Present Options

Say"Good news — I've found availability that fits your event. Let me walk you through the options, including room rates, venue inclusions, and any packages that may suit your needs."

quoting-tool.GenerateProposal for event.type, event.dates, event.roomCount, event.budget, event.specialRequirements

Say"I'm putting together a formal proposal for you now. You'll receive it at customer.email shortly. It will include rates, inclusions, and a provisional hold on your preferred option. The quote reference is quote.id and it's valid until quote.expiryDate."

Salesforce.UpdateLead status: proposal-sent, quote.id

email-automation.SendEmail template: group-proposal, to: customer.email, attach: quote.id

  • Customer reviews and selects a preferred option option-selected confirm-provisional-hold
  • Customer has questions or wants adjustments needs-adjustment handle-quote-adjustment
  • Customer indicates budget does not align with presented options budget-misaligned offer-value-alternatives
  • Customer goes silent after proposal is sent quote-follow-up-sequence

Offer Alternatives

Say"I'm sorry — we don't have availability for those exact dates or at that property. Let me suggest a couple of alternatives that may work just as well for your group."

group-inventory-calendar.GetAlternativeDates for event.property, event.roomCount

property-management-system.GetNearbyProperties for event.destination, event.dates, event.roomCount

Say"Here are some options: alternativeDates at your preferred property, or alternativeProperties nearby with similar capacity and amenities. Would any of these work for your group?"
  • Customer accepts an alternative date or property alternative-accepted check-availability
  • Customer wants to explore further still-exploring route-to-group-sales-specialist
  • Customer declines all alternatives and disengages declined resolution-no-booking

Handle Quote Adjustment

Say"Absolutely — let me update the proposal to reflect your preferences. What would you like to adjust? For example, room count, dates, inclusions, or special requirements?"

quoting-tool.ReviseProposal for quote.id, updated event.roomCount, event.dates, event.specialRequirements

email-automation.SendEmail template: group-proposal-revised, to: customer.email, attach: quote.id

Say"I've sent the revised proposal to customer.email. The updated quote is still referenced as quote.id. Do you have any other questions, or would you like to move forward?"
  • Customer accepts revised proposal option-selected confirm-provisional-hold
  • Customer still has concerns needs-further-adjustment handle-quote-adjustment
  • Customer budget remains misaligned budget-misaligned offer-value-alternatives

Offer Value Alternatives

Say"I understand — let me see what we can do to work within your budget. There may be tiered packages, off-peak pricing, or value-adds like complimentary meeting space or breakfast that could make a difference."

quoting-tool.GetTieredOptions for event.type, event.dates, event.roomCount, event.budget

kb.group-value-add-packages

Say"Here are a few alternatives at different price points, along with some inclusions that could offset costs. I can also flag this for our group sales team if you'd like a more tailored solution."
  • Customer selects a tiered option option-selected confirm-provisional-hold
  • Customer wants specialist help with budget negotiation route-to-group-sales-specialist
  • Customer declines all options declined resolution-no-booking

Confirm Provisional Hold

Say"Wonderful choice! I'll place a provisional hold on that option for you right now while we finalize the details."

property-management-system.PlaceProvisionalHold for event.property, event.dates, event.roomCount, quote.id

Salesforce.UpdateLead status: hold-placed, hold.confirmationNumber

Say"Your provisional hold is confirmed. Your reference number is hold.confirmationNumber and it's held until hold.expiryDate. I'll send the contract and deposit instructions to customer.email shortly."

contract-management.GenerateContract for quote.id, customer.name, customer.email, event.type, event.dates

email-automation.SendEmail template: contract-and-deposit, to: customer.email, attach: contract.link

Say"Please review and sign the contract by hold.expiryDate and submit the deposit of deposit.amount by deposit.dueDate to secure your booking. Is there anything else I can help you with?"
  • Customer confirms they received the contract and will proceed proceeding resolution-booking-confirmed
  • Customer has contract or deposit questions has-questions handle-contract-questions
  • Customer has not responded by hold expiry date hold-expiry-follow-up

Handle Contract Questions

Say"Happy to help clarify. What questions do you have about the contract or deposit process?"

kb.group-contract-terms

kb.deposit-and-cancellation-policy

  • Questions answered and customer is ready to proceed proceeding resolution-booking-confirmed
  • Contract terms require negotiation or custom clauses requires-negotiation escalation-event-sales-manager
  • Customer declines after reviewing terms declined resolution-no-booking

Quote Follow-up Sequence

email-automation.EnrollSequence campaign: group-quote-follow-up, contact: customer.email, reference: quote.id

Salesforce.UpdateLead status: follow-up-in-progress

Say"I'll send you a quick reminder as your quote approaches its expiry. Please don't hesitate to reach out if you have any questions in the meantime."
  • Customer responds and re-engages re-engaged present-options
  • Customer responds and selects an option option-selected confirm-provisional-hold
  • Customer remains unresponsive after full follow-up sequence no-response route-to-group-sales-specialist

Hold Expiry Follow-up

email-automation.SendEmail template: hold-expiry-reminder, to: customer.email, reference: hold.confirmationNumber

Salesforce.UpdateLead status: hold-expiring-soon

Say"Just a reminder — your provisional hold hold.confirmationNumber is set to expire on hold.expiryDate. To secure your booking, please sign the contract and submit your deposit of deposit.amount by deposit.dueDate."
  • Customer responds and confirms they will proceed proceeding resolution-booking-confirmed
  • Customer requests an extension needs-extension escalation-event-sales-manager
  • Hold expires with no response expired resolution-hold-expired

Route to Group Sales Specialist

Say"Given the size and nature of your event, I'd like to connect you with one of our group sales specialists who can provide a fully tailored proposal and dedicated support throughout the planning process."

Salesforce.UpdateLead status: routed-to-specialist, owner: group-sales-team

Salesforce.CreateTask assign-to: group-sales-team, subject: group-inquiry-handoff, reference: customer.email, event.type, event.dates, event.roomCount

email-automation.SendEmail template: specialist-intro, to: customer.email, cc: salesSpecialist.email

Say"You'll hear from salesSpecialist.name at salesSpecialist.email within one business day. I've shared all your event details so you won't need to repeat anything."
  • Handoff confirmed and customer satisfied resolution-specialist-assigned
  • Customer requests immediate escalation to senior manager escalation-event-sales-manager

Escalation to Event Sales Manager

Salesforce.UpdateLead status: escalated, priority: high, tagged: high-value-event

Salesforce.CreateTask assign-to: event-sales-manager, subject: high-complexity-group-escalation, reference: customer.email, event.type, event.dates, event.roomCount, event.budget

email-automation.SendEmail template: escalation-acknowledgement, to: customer.email

Say"Your event requires the attention of our dedicated event sales manager, who handles large-scale and high-value bookings personally. I've escalated your inquiry and flagged all your details. You can expect a direct call or email within two business hours."

Resolution — Booking Confirmed

Say"Fantastic — your group booking is confirmed! You'll receive your signed contract and booking summary at customer.email. We're looking forward to hosting your event and will be in touch as your date approaches. Is there anything else I can help you with today?"

Salesforce.UpdateLead status: closed-won

property-management-system.ConfirmBooking for hold.confirmationNumber

Resolution — Specialist Assigned

Say"All set — your details are with our group sales team and you'll be hearing from a specialist shortly. Thank you for considering us for your event, and please don't hesitate to reach back out if anything comes up in the meantime."

Salesforce.UpdateLead status: specialist-assigned

Resolution — Lead Captured

Say"Perfect — I've saved your information and you'll hear from us as your plans take shape. Thank you for reaching out, and we look forward to helping you create a memorable event."

Resolution — Hold Expired

Say"It looks like the provisional hold on your event dates has expired. If you're still interested, I'd be happy to check current availability and set up a new hold. Just let us know."

Salesforce.UpdateLead status: hold-expired

property-management-system.ReleaseHold for hold.confirmationNumber

Resolution — No Booking

Say"I'm sorry we weren't able to find the right fit this time. If your plans change or you'd like to explore other options down the road, we'd love to hear from you. I'll keep your details on file."

Salesforce.UpdateLead status: closed-lost

Resolution — No Contact

Say"We weren't able to connect fully this time, but if you'd like to revisit your group or event needs in the future, please don't hesitate to reach out. We're here to help."

Salesforce.UpdateLead status: no-contact

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ chat▣ sms▣ text▣ email

General FAQ Retail

RetailFAQSupport

Intake

Say"Hi there! I'm here to help. What question can I answer for you today?"
Detect
intent category of customer question
  • Customer asks about store hours or location store-info store-info
  • Customer asks about return or exchange policy return-policy return-policy
  • Customer asks about payment methods or financing payment-options payment-options
  • Customer asks about product availability or details product-inquiry product-inquiry
  • Customer references a specific order or account account-specific identity-verification
  • Customer asks something outside standard categories out-of-scope edge-case-handler

Store Info

kb.store-locator-policy — retrieve hours and location details relevant to customer.location

StoreLocator.GetStoreDetails for customer.location

Say"Here are the details for your nearest store: store.address. Store hours are store.hours. Is there anything else I can help you with?"
Detect
sentiment on customer reply
  • Customer confirms answer resolves their need confirmed resolution
  • Customer has a follow-up question follow-up intake
  • Customer is dissatisfied or disputes the information frustrated policy-pushback

Return Policy

kb.return-exchange-policy — retrieve current return window, conditions, and exclusions based on policy.version

Say"Happy to help with returns and exchanges. Here's our current policy: items in original condition can be returned within 30 days of purchase with a receipt. Some exclusions apply for final-sale and perishable items. Would you like more detail on any part of this?"
Detect
sentiment and intent on customer reply
  • Customer confirms the answer resolves their need confirmed resolution
  • Customer has a follow-up or edge-case question follow-up edge-case-handler
  • Customer is frustrated with the policy frustrated policy-pushback
  • Customer references a specific order account-specific identity-verification

Payment Options

kb.payment-options-policy — retrieve accepted payment methods, financing partners, and any current promotions

Say"We accept all major credit and debit cards, PayPal, Apple Pay, and Google Pay. We also offer financing through our retail credit partner — you can apply at checkout. Is there a specific payment method you'd like to know more about?"
Detect
sentiment and intent on customer reply
  • Customer confirms the answer resolves their need confirmed resolution
  • Customer has a follow-up question follow-up intake
  • Customer is dissatisfied or disputes policy frustrated policy-pushback

Product Inquiry

kb.product-catalog — look up details for product.name or product.sku

ProductCatalog.GetProductDetails for product.sku

InventoryLookup.CheckAvailability for product.sku at customer.location

Say"Here's what I found for product.name: product.availability. Would you like details on pricing, specifications, or nearby store availability?"
Detect
intent on customer reply
  • Customer confirms the answer resolves their need confirmed resolution
  • Customer wants more product detail follow-up product-inquiry-detail
  • Customer asks about ordering or account account-specific identity-verification
  • Customer is dissatisfied with availability or details frustrated policy-pushback

Product Inquiry Detail

kb.product-catalog — retrieve extended specifications, compatibility notes, and related items for product.sku

Say"Here are the full details I have on product.name. If you need information I haven't covered or want to check stock at a specific location, I can look into that as well."
Detect
intent on customer reply
  • Customer confirms the answer resolves their need confirmed resolution
  • Customer has additional questions follow-up intake
  • Customer needs account-level help account-specific identity-verification
  • Customer is dissatisfied frustrated policy-pushback

Identity Verification

Say"To help with anything related to your order or account, I'll need to verify your identity first. Could you please provide your order number or the email address associated with your account?"
Detect
customer response
  • Customer provides verifiable details confirmed CRM.LookupCustomer account-inquiry
  • Customer is unable or unwilling to provide details unverified escalation-human
  • Customer clarifies they do not actually need account-level help no-account-needed intake

Account Inquiry

CRM.LookupCustomer for order.id

Say"I've pulled up your account. What would you like help with regarding your order or account details?"
Detect
intent on customer reply
  • Question can be answered with available account data confirmed resolution
  • Issue involves a dispute, complaint, or action beyond FAQ scope complaint escalation-human
  • Customer confirms answer resolves their need resolved resolution

Edge Case Handler

kb.general-faq — attempt to locate a match for customer.question across all FAQ categories

Detect
whether FAQ content confidently covers the question
  • A confident, accurate answer is found in FAQ content faq-match faq-answer
  • FAQ content is ambiguous, outdated, or contradicts another source uncertain uncertainty-acknowledgment
  • No relevant FAQ content exists no-match escalation-human

FAQ Answer

Say"Based on our current information, here's the answer to your question: I'll do my best to keep this accurate and up to date. If anything has changed recently, our team can confirm the latest details."
Detect
sentiment on customer reply
  • Customer confirms answer resolves their need confirmed resolution
  • Customer has a follow-up follow-up intake
  • Customer is dissatisfied or pushes back frustrated policy-pushback

Uncertainty Acknowledgment

Say"That's a great question, and I want to make sure I give you accurate information rather than guess. I don't have a definitive answer on hand for this one. Let me connect you with a team member who can confirm the details."

escalation-human

Policy Pushback

Say"I completely understand your frustration, and I appreciate you sharing that. Our policies are set by the team, and I want to make sure your feedback reaches the right people. Would you like me to connect you with a team member who can discuss this further or explore options with you?"
Detect
customer response
  • Customer agrees to speak with a team member confirmed escalation-human
  • Customer accepts the explanation and no longer needs help resolved resolution
  • Customer has a new or different question follow-up intake

Escalation to Human Agent

CRM.CreateCase tagged faq-escalation, linked to customer.name and customer.question

Say"I'm going to connect you with one of our team members who will be able to help you directly. Thank you for your patience — someone will be with you shortly."

Resolution

Say"Glad I could help! If you ever have more questions about our store, products, or policies, don't hesitate to reach out. Have a great day!"
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ text▣ chat▣ sms

General FAQ / Product Info

Financial ServicesFAQProduct InfoSupport

Intake

Say"Thanks for reaching out. I'm here to help with any questions about our products, accounts, rates, fees, or policies. What would you like to know today?"
Detect
customer intent on opening message
  • Customer asks about a specific product or account type (HYSA, CD, checking, savings, loan) product-inquiry topic-identification
  • Customer asks about rates or current pricing rate-inquiry topic-identification
  • Customer asks about fees or charges fee-inquiry topic-identification
  • Customer asks about a policy or terms policy-inquiry topic-identification
  • Customer references their own account balance, transaction, or personal account detail account-detail-request identity-verification
  • Customer mentions a complaint, dispute, or expresses frustration complaint escalation-human
  • Customer explicitly asks to speak with a human human-request escalation-human
  • Intent unclear or ambiguous unclear clarify-question

Clarify Question

Say"Happy to help — could you give me a bit more detail? For example, are you asking about a specific product like a high-yield savings account or CD, or about a fee or policy on an existing account?"
Detect
clarified intent on follow-up reply
  • Customer clarifies a product, rate, fee, or policy topic product-inquiry topic-identification
  • Customer clarifies they need account-specific information account-detail-request identity-verification
  • Customer still unclear or asks for a human unclear escalation-human

Topic Identification

Agent
identify the precise product, fee, rate, or policy topic from query.topic and query.product, then determine the right knowledge base source to query.
Goal:pinpoint exactly what information the customer needs — product mechanics, current rate, fee schedule, or policy rule — so the correct, up-to-date record is retrieved.
Constraints:never guess at rates, fees, or policy details; never surface a rate or fee that has not been confirmed as current from the rate-fee-database or faq-cms; always note if customer.state may affect product availability or terms.
Tools available:FAQCMS.LookupTopic, RateFeeDatabase.QueryProduct, CRM.GetCustomerProfile, kb.product-catalog
  • Topic identified and maps to a standard product or policy kb.product-catalog knowledge-base-lookup
  • Topic identified and is rate- or fee-specific RateFeeDatabase.QueryProduct rate-fee-retrieval
  • Topic involves investment products or securities investment-topic investment-disclaimer-check
  • Topic cannot be matched to any known product or policy no-match knowledge-gap-handling

Knowledge Base Lookup

FAQCMS.LookupTopic for query.topic filtered by customer.state

CRM.GetCustomerProfile for customer.id to confirm customer.status (existing or prospective)

Detect
lookup result quality
  • Clear, current, single result returned result-found deliver-answer
  • Result returned but flagged as recently updated or version-changed stale-or-updated change-flag-review
  • No result or conflicting entries returned no-result knowledge-gap-handling

Rate / Fee Retrieval

RateFeeDatabase.QueryProduct for product.name filtered by customer.state

FAQCMS.LookupTopic for any associated fee-schedule or policy footnotes

Detect
promotional or time-sensitive context
  • Current rate or fee confirmed, no promotional flag result-found deliver-answer
  • Promotional rate or limited-time offer applies promo-active promo-terms-delivery
  • Rate or fee recently changed rate-changed change-flag-review
  • Query returns no data or an error no-result knowledge-gap-handling

Change Flag Review

RateFeeDatabase.QueryProduct to pull the most current record and confirm effective date

FAQCMS.LookupTopic to retrieve any change notice or customer communication linked to query.topic

Say"Just so you know, there was a recent update to this information — I want to make sure I give you the latest. One moment."
  • Most current version confirmed and retrieved deliver-answer
  • Change is tied to a promotional window promo-active promo-terms-delivery
  • Conflict persists or effective date is ambiguous conflict knowledge-gap-handling

Promo Terms Delivery

Say"Great news — there's a current promotional offer that applies here. Let me share the details, including when it expires."
Say"The current promotional rate or terms are: promo.terms. This offer is available until promo.expiry. Standard terms apply after that period."
Say"Would you like me to walk you through how to take advantage of this, or do you have any other questions?"
Detect
customer follow-up intent
  • Customer wants to know how to apply or enroll apply-intent escalation-human
  • Customer has another question more-questions intake
  • Customer is satisfied and has no further questions satisfied close-interaction

Investment Disclaimer Check

ComplianceDisclaimerLibrary.GetDisclaimer for query.product

Detect
nature of investment question
  • Customer is asking for general product information only (no personalized recommendation) general-info knowledge-base-lookup
  • Customer is asking for a recommendation or advice on what to buy or invest in advice-request escalation-human
  • Regulatory disclaimer required before answering kb.compliance-disclaimer-library deliver-answer-with-disclaimer

Deliver Answer

Agent
compose a clear, plain-language response to the customer's question using retrieved content from product.rateInfo, product.feeInfo, or product.policyInfo.
Goal:give the customer an accurate, complete, and easy-to-understand answer that directly addresses query.topic without jargon; tailor any state-specific nuances if customer.state affects the answer.
Constraints:never paraphrase or interpolate policy or rate data beyond what was retrieved; do not omit material terms or conditions; do not present promotional terms as permanent; always surface any applicable footnotes or conditions attached to the retrieved record.
Tools available:FAQCMS.LookupTopic, RateFeeDatabase.QueryProduct, kb.product-catalog, kb.fee-schedule
Say"Here's what you need to know about product.name: product.policyInfo"
Say"Is there anything about that I can clarify, or do you have another question?"
Detect
customer follow-up intent
  • Customer has a follow-up question on the same topic follow-up deliver-answer
  • Customer has a new question on a different topic new-topic intake
  • Customer asks something that now touches on their specific account account-detail-request identity-verification
  • Customer is satisfied satisfied close-interaction
  • Customer expresses frustration or dissatisfaction frustrated escalation-human

Deliver Answer With Disclaimer

Agent
compose a plain-language answer to the customer's general investment product question using retrieved content, then append the required regulatory disclaimer from disclaimer.text.
Goal:answer the general informational question accurately while ensuring the required compliance language is delivered before closing the topic.
Constraints:the disclaimer from ComplianceDisclaimerLibrary.GetDisclaimer must be appended verbatim and in full — it may not be shortened, paraphrased, or omitted; if the customer asks for a personalized recommendation, stop and route to escalation immediately.
Tools available:FAQCMS.LookupTopic, ComplianceDisclaimerLibrary.GetDisclaimer, kb.product-catalog, kb.compliance-disclaimer-library
Say"Here's a general overview of product.name: product.policyInfo"
Say"disclaimer.text"
Say"Do you have any other questions I can help with?"
Detect
customer follow-up intent
  • Customer has another general question more-questions intake
  • Customer asks for a personalized recommendation or advice advice-request escalation-human
  • Customer is satisfied satisfied close-interaction

Identity Verification

Say"To access any details specific to your account, I'll need to verify your identity first. This should only take a moment."

IdentityVerification.InitiateCheck for customer.id via query.channel

Detect
verification outcome
  • Verification passed identity-verified account-detail-lookup
  • Verification failed or customer unable to complete it identity-failed escalation-human
  • Customer declines verification declined offer-general-only

Offer General Only

Say"No problem — I'm not able to pull up account-specific information without verification, but I'm happy to answer any general questions about our products, rates, or policies."
Detect
customer response
  • Customer accepts general answer and asks a product question product-inquiry intake
  • Customer still wants account detail or requests a human human-request escalation-human
  • Customer has no further questions satisfied close-interaction

Account Detail Lookup

CRM.GetCustomerProfile for customer.id

RateFeeDatabase.QueryProduct for customer.accountType filtered by customer.state

Say"Thanks for verifying. I can now look into the details for your account."
Detect
nature of account detail requested
  • Customer is asking about their current rate or fee on an existing product rate-fee-detail deliver-answer
  • Customer is asking about a balance or recent transaction transaction-request escalation-human
  • Customer is asking about a policy as it applies to their account policy-detail deliver-answer

Knowledge Gap Handling

Say"I want to make sure I give you accurate information, and I don't have a confident answer to that specific question right now. Rather than guess, I'd like to connect you with someone who can give you a definitive answer."

CRM.LogInteraction with query.topic flagged as unresolved, route note to specialist.queue

  • Route to specialist queue escalation-human

Escalation to Human

CRM.LogInteraction with full conversation context, query.topic, customer.id, and escalation reason

CRM.CreateCase tagged faq-escalation, linked to customer.id and query.topic

Say"I'm going to connect you with one of our specialists who will be able to help you fully with this. You won't need to repeat yourself — I'm passing along everything we've covered."

Close Interaction

Say"You're all set. If you ever have more questions about our products or accounts, don't hesitate to reach out. Have a great day!"

CRM.LogInteraction with query.topic marked resolved and customer.status updated

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat▣ sms▣ text

General FAQ — Healthcare

HealthcareFAQPatient Support

Intake

Say"Hello, thanks for reaching out to us today. I'm here to help answer your questions about our services, hours, billing, insurance, and more. Could you tell me briefly what you're looking for help with?"
Detect
intent on patient opening message
  • Patient asks about billing or payments billing category-billing
  • Patient asks about scheduling or appointments scheduling category-scheduling
  • Patient asks about insurance or coverage insurance category-insurance
  • Patient asks about services, procedures, or treatments services category-services
  • Patient asks about location, hours, or directions location category-location
  • Patient asks about prescriptions or medications prescriptions category-prescriptions
  • Patient mentions a symptom, pain, or medical concern clinical clinical-deflection
  • Patient expresses distress, fear, or emotional upset distressed escalation-human
  • Patient asks about their personal health record or account-specific details personal-record identity-verification
  • Patient requests a specific staff member or provider by name staff-request escalation-human
  • Question does not fit any known category unclear clarify-question

Clarify Question

Say"Thanks for reaching out. I want to make sure I point you in the right direction — could you share a bit more detail about your question? For example, is this about a bill, an upcoming appointment, our services, or something else?"
Detect
intent on follow-up message
  • Category becomes clear on follow-up billing category-billing
  • Category becomes clear on follow-up scheduling category-scheduling
  • Category becomes clear on follow-up insurance category-insurance
  • Category becomes clear on follow-up services category-services
  • Category becomes clear on follow-up location category-location
  • Category becomes clear on follow-up prescriptions category-prescriptions
  • Patient mentions a symptom or medical concern clinical clinical-deflection
  • Patient expresses distress distressed escalation-human
  • Still unclear after follow-up still_unclear knowledge-base-fallback

Category — Billing

kb.billing-faq — retrieve billing policies, payment options, balance inquiry process, financial assistance programs

Say"I can help with billing questions. Our billing team handles payments, payment plans, and statements. patient.name, are you asking about a specific bill or charge, or do you have a more general question about payment options?"
  • Patient has a question about a specific charge or balance on their account account_specific identity-verification
  • Patient asks a general question about payment options or financial assistance general deliver-billing-answer
  • Patient asks about payment plans payment_plan deliver-billing-answer
  • Patient is confused or frustrated about a charge frustrated escalation-human

Deliver Billing Answer

kb.billing-faq — confirm answer to patient's specific billing question

Say"Based on our billing policy: [answer from kb.billing-faq]. Does that answer your question, or is there anything else I can clarify for you?"
  • Patient confirms they have what they need confirmed resolution
  • Patient has a follow-up question follow_up intake
  • Patient is still confused or wants to speak with someone needs_agent escalation-human

Category — Scheduling

kb.scheduling-faq — retrieve scheduling policies, new patient process, cancellation policy, telehealth availability

Say"I can help with scheduling. Are you looking to book a new appointment, reschedule or cancel an existing one, or do you have a question about our scheduling process?"
  • Patient wants to book, reschedule, or cancel book_appt scheduling-action
  • Patient asks a general scheduling question general deliver-scheduling-answer
  • Patient mentions a specific provider staff-request escalation-human

Deliver Scheduling Answer

kb.scheduling-faq — confirm answer to scheduling question

Say"Here's what I can tell you about our scheduling: [answer from kb.scheduling-faq]. Would you like me to help you get connected to schedule directly, or is there anything else?"
  • Patient wants to schedule directly book_appt scheduling-action
  • Patient confirms they have what they need confirmed resolution
  • Patient has another question follow_up intake

Scheduling Action

Say"To get you scheduled, I'll connect you with our scheduling team or patient portal. Do you have a preferred provider or location, and are you an existing patient with us?"
  • Existing patient confirmed patient.status EHR.LookupPatient confirm-patient-identity-scheduling
  • New patient new_patient new-patient-intake
  • Patient declines to provide info and wants to self-schedule self_serve resolution

Confirm Patient Identity — Scheduling

Say"I just need to verify a couple of details so I can pull up your record. Could you please confirm your date of birth and the phone number or email we have on file?"
  • Identity confirmed EHR.LookupPatient verified escalation-human
  • Patient cannot verify identity unverified identity-fail

New Patient Intake

kb.new-patient-faq — retrieve new patient registration process, required documents, insurance accepted

Say"Welcome — we're glad you're considering us for your care. As a new patient, you'll want to complete our registration process. Here's how that works: [answer from kb.new-patient-faq]. Would you like me to share the link to our patient portal to get started, or connect you with our front desk?"
  • Patient wants portal link CRM.SendPortalLink resolution
  • Patient wants to speak with front desk speak_to_staff escalation-human
  • Patient confirms they have what they need confirmed resolution

Category — Insurance

kb.insurance-faq — retrieve accepted insurance carriers, coverage verification process, referral and prior authorization info

Say"I can help with insurance questions. Are you asking about which insurance plans we accept, how to verify your coverage, or something about a referral or authorization?"
  • Patient asks which insurance plans are accepted plans_accepted deliver-insurance-answer
  • Patient wants to verify their specific coverage verify_coverage identity-verification
  • Patient asks about referrals or prior authorization auth_referral deliver-insurance-answer
  • Patient asks a general insurance question general deliver-insurance-answer

Deliver Insurance Answer

kb.insurance-faq — confirm answer relevant to patient's insurance question

Say"Here's what I can share: [answer from kb.insurance-faq]. For the most accurate coverage details tied to your specific plan, our insurance team can verify your benefits directly. Would that be helpful?"
  • Patient confirms they have what they need confirmed resolution
  • Patient wants insurance team to verify their benefits verify_coverage identity-verification
  • Patient has a follow-up question follow_up intake
  • Patient is frustrated about coverage or a denial frustrated escalation-human

Category — Services

kb.services-faq — retrieve information on available specialties, procedures, telehealth, and referral requirements

Say"I can tell you about the services and specialties we offer. What would you like to know — are you asking about a specific procedure, a specialty area, or whether we offer telehealth visits?"
  • Patient asks about a specific procedure or treatment procedure deliver-services-answer
  • Patient asks about a specialty specialty deliver-services-answer
  • Patient asks about telehealth telehealth deliver-services-answer
  • Patient's question touches on clinical advice or personal symptoms clinical clinical-deflection

Deliver Services Answer

kb.services-faq — confirm answer relevant to patient's services question

Say"Here's what I can share about our services: [answer from kb.services-faq]. Keep in mind, for questions about whether a specific treatment is right for you personally, our clinical team would be the best resource. Is there anything else I can help you with?"
  • Patient confirms they have what they need confirmed resolution
  • Patient wants to schedule related to this service book_appt category-scheduling
  • Patient has a follow-up question follow_up intake
  • Patient's follow-up veers into clinical advice territory clinical clinical-deflection

Category — Location & Hours

kb.facility-directory — retrieve facility addresses, hours of operation, parking, and contact numbers

Say"I can help with location and hours. Do you have a specific facility or clinic in mind, or would you like general information about our locations?"
  • Patient names a specific facility or location facility.name deliver-location-answer
  • Patient wants a list of all locations all_locations deliver-location-answer
  • Patient asks about after-hours or urgent care availability after_hours deliver-location-answer

Deliver Location Answer

kb.facility-directory — confirm address, hours, and contact details for facility.name

Say"Here are the details for facility.name: [address, hours from kb.facility-directory]. Is there anything else you need, such as directions or a phone number?"
  • Patient confirms they have what they need confirmed resolution
  • Patient has another question follow_up intake
  • Patient cannot find the location or needs further help needs_agent escalation-human

Category — Prescriptions

kb.prescriptions-faq — retrieve prescription refill process, pharmacy partnerships, prior authorization for medications

Say"I can help with general questions about prescriptions. Are you asking about refilling a prescription, our pharmacy partners, or something about prior authorization for a medication?"
  • Patient asks about refills refill deliver-prescriptions-answer
  • Patient asks about pharmacy partners pharmacy deliver-prescriptions-answer
  • Patient asks about prior authorization for a specific medication prior_auth deliver-prescriptions-answer
  • Patient asks about dosage, interactions, or clinical guidance clinical clinical-deflection

Deliver Prescriptions Answer

kb.prescriptions-faq — confirm answer relevant to prescription question

Say"Here's what I can share: [answer from kb.prescriptions-faq]. For anything specific to your prescription or medical history, your care team or pharmacist will have the most accurate guidance. Is there anything else I can help with?"
  • Patient confirms they have what they need confirmed resolution
  • Patient has a follow-up question follow_up intake
  • Patient's question requires clinical judgment clinical clinical-deflection
  • Patient wants to speak with their care team needs_agent escalation-human

Identity Verification

Say"To access any account-specific information, I'll need to verify your identity first. Could you please provide your full name, date of birth, and the phone number or email address associated with your account?"

CRM.VerifyPatientIdentity using patient.name, patient.dob, patient.phone or patient.email

  • Identity verified successfully verified post-verification-routing
  • Identity cannot be verified unverified identity-fail

Post-Verification Routing

Say"Thank you — I've verified your identity. Let me pull up the information you need."
  • Original question was about billing billing EHR.LookupPatientAccount deliver-billing-answer
  • Original question was about insurance or coverage insurance InsuranceEligibility.VerifyCoverage deliver-insurance-answer
  • Original question was about scheduling scheduling EHR.LookupPatient confirm-patient-identity-scheduling
  • Original question required record access record EHR.LookupPatientAccount escalation-human

Identity Fail

Say"I wasn't able to verify your identity with the information provided. For security purposes, I'm not able to share account-specific details without verification. You're welcome to contact us directly by phone or visit one of our locations with a valid photo ID. Is there anything general I can help you with in the meantime?"
  • Patient wants to try a general question general intake
  • Patient wants to call or visit in person confirmed resolution
  • Patient is frustrated or upset frustrated escalation-human

Knowledge Base Fallback

Agent
search available knowledge sources to find the best available answer to the patient's question.
Goal:retrieve an accurate, policy-aligned answer from kb.general-faq, kb.billing-faq, kb.services-faq, or kb.facility-directory without guessing or fabricating information.
Constraints:never provide clinical advice, diagnoses, or medication guidance; if no confident answer is found, acknowledge uncertainty explicitly and do not speculate; never access patient records without verified identity.
Tools available:kb.general-faq, kb.billing-faq, kb.services-faq, kb.scheduling-faq, kb.insurance-faq, kb.facility-directory, kb.prescriptions-faq
  • Answer found with high confidence answer_found deliver-fallback-answer
  • No reliable answer found in knowledge base no_answer acknowledge-uncertainty

Deliver Fallback Answer

Say"Based on our available information, here's what I can share: [answer retrieved]. Is that helpful, or do you have any follow-up questions?"
  • Patient confirms they have what they need confirmed resolution
  • Patient has a follow-up question follow_up intake
  • Patient is unsatisfied or needs more detail needs_agent escalation-human

Acknowledge Uncertainty

Say"I want to make sure you get accurate information, and I don't have a confident answer to that specific question in our resources right now. Rather than guess, I'd recommend speaking directly with our team who can give you a verified answer. Would you like me to connect you with someone, or point you to our patient portal for more information?"
  • Patient wants to be connected to a staff member needs_agent escalation-human
  • Patient wants the patient portal link CRM.SendPortalLink resolution
  • Patient is okay waiting or will follow up themselves confirmed resolution

Clinical Deflection

Say"I appreciate you sharing that with me. I'm not able to provide clinical advice, diagnoses, or guidance on symptoms — that's something a licensed provider needs to assess for your safety. If you have a medical concern, I'd encourage you to contact your care team directly, schedule an appointment, or if it's urgent, please call 911 or go to your nearest emergency room. Would you like help scheduling an appointment or finding a location?"
  • Patient wants to schedule an appointment book_appt category-scheduling
  • Patient wants a facility location location category-location
  • Patient indicates this may be an emergency emergency escalation-emergency
  • Patient confirms they understand and has no further needs confirmed resolution
  • Patient is distressed or escalating distressed escalation-human

Escalation — Emergency

Say"If you or someone else is experiencing a medical emergency, please call 911 or go to your nearest emergency room immediately. Do not wait for a callback. Is there anything else I can do to help right now?"

Escalation to Human Agent

CRM.CreateCaseNote with question.category, conversation summary, and patient.name if provided

CRM.RouteToAgent with priority: standard, tagged with question.category

Say"I'm going to connect you with a member of our team who can help you further. Please hold for just a moment — or if you'd prefer, I can arrange for a callback. Thank you for your patience."

Resolution

Say"I'm glad I could help. If you have any other questions in the future, don't hesitate to reach out. Take care, and have a great day!"

CRM.LogInteraction with question.category and resolution status

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ chat▣ sms

Flight/Trip Disruption Support

TravelHospitalityDisruptionRebooking

Intake & Verification

Say"Thank you for contacting Travel Support. I'm here to help you through this disruption as quickly as possible. Can I please have your booking confirmation number and the name on the reservation?"

PNR.LookupBooking using booking.confirmationNumber and booking.passengerName

  • Booking found and passenger name matches identity-check
  • Booking not found or name mismatch confused PNR.LookupBooking retry with loyalty number booking.loyaltyNumber identity-check
  • No booking reference available at all escalation-human

Identity Check

Say"For your security I need to verify your identity before making any changes. I'll ask you a couple of quick questions."

IdentityVerification.Challenge using booking.passengerName and traveler.email

  • Identity verified identity_verified disruption-assessment
  • Identity check fails after two attempts identity_failed escalation-secure-verification
  • Customer declines verification declined escalation-secure-verification

Disruption Assessment

Say"I can see your booking, booking.passengerName. Can you tell me what's happening right now — is your flight cancelled, delayed, or are you dealing with something else like a hotel or connection issue?"

PNR.GetAffectedSegment for booking.confirmationNumber to pre-populate trip.affectedSegment

Detect
nature of disruption reported by customer
  • Flight cancellation confirmed cancellation rebooking-options
  • Significant delay (2+ hours) delay rebooking-options
  • Missed connection missed-connection rebooking-options
  • Hotel or accommodation failure hotel-issue hotel-resolution
  • Customer already self-rebooked self-rebooked self-rebook-review
  • Medical or safety emergency emergency escalation-human

Rebooking Options

Say"I'm sorry about the disruption to your journey. Let me pull up the best available options to get you to trip.destination as quickly as possible."

kb.rebooking-policy — check eligibility rules, same-carrier preference, fare class protection, and partner airline agreements for booking.fareClass

GDS.SearchAvailability for trip.destination from traveler.currentLocation on trip.travelDate and next 24 hours

Agent
evaluate available rebooking alternatives against booking.itinerary and customer preference.
Goal:identify the best one or two options that minimize total travel time and respect fare class entitlements, including partner carriers if same-carrier options are inadequate.
Constraints:never rebook onto a flight that creates a connection under 45 minutes at an international hub; do not offer partner carrier options that exceed the authorized fare difference threshold per kb.rebooking-policy without escalation; always check if minor.travelingAlone is true before proceeding.
Tools available:GDS.SearchAvailability, GDS.CheckSeatMap, kb.rebooking-policy, PNR.GetAffectedSegment
  • Suitable same-carrier option found rebook-confirmation
  • Only partner carrier options available partner-carrier-offer
  • No viable rebooking option exists no_options refund-assessment
  • Minor traveling alone flag raised minor_alone escalation-human

Rebook Confirmation

Say"I've found a flight that works — here are the details: rebooking.option. Does this work for you?"
  • Customer confirms new flight confirmed GDS.ReissueTicket PNR.UpdateBooking confirmation-and-vouchers
  • Customer wants to see other options wants-alternatives rebooking-options
  • Customer declines all options and wants a refund refund-requested refund-assessment

Partner Carrier Offer

Say"There are no remaining seats available on our carrier for this route today, but I can get you on a partner airline. The next available option is rebooking.option. Shall I go ahead and book that for you?"

kb.partner-airline-policy — confirm interline agreement, baggage transfer rules, and any fare difference liability

  • Customer accepts confirmed GDS.ReissueTicket PNR.UpdateBooking confirmation-and-vouchers
  • Fare difference exceeds authorization limit fare_over_limit escalation-human
  • Customer declines and requests refund refund-requested refund-assessment

Self-Rebook Review

Say"No problem — let me pull up what you've booked and make sure everything looks right, including any fare differences or duplicate charges you may have incurred."

PNR.GetAffectedSegment to compare original booking.itinerary against new booking

GDS.CheckFareDifference for rebooking.fareDifference

Detect
outcome of fare and duplicate charge review
  • Self-rebook is clean, no fare difference owed no_difference confirmation-and-vouchers
  • Fare difference owed to customer fare_refund_due refund-assessment
  • Duplicate charge detected duplicate_charge refund-assessment
  • Self-rebook is invalid or ticketing error ticketing_error rebooking-options

Hotel Resolution

Say"I'm sorry to hear about the accommodation issue. Can you tell me more — is the hotel overbooked, is there a room condition problem, or something else?"

kb.hotel-disruption-policy — review duty-of-care obligations, walk procedures, and compensation entitlements

Detect
hotel disruption type
  • Hotel overbooked, walk required hotel-walk HotelAPI.FindAlternativeProperty hotel-rebook-confirmation
  • Room condition complaint (safety, cleanliness) room-condition HotelAPI.EscalateProperty hotel-rebook-confirmation
  • Issue requires compensation above agent limit hotel_over_limit escalation-human

Hotel Rebook Confirmation

Say"I've located an alternative property that meets your needs. I'll go ahead and transfer your reservation now and make sure tonight's cost is covered. Does that work for you?"
  • Customer confirms confirmed HotelAPI.TransferReservation CompensationTool.IssueVoucher confirmation-and-vouchers
  • Customer prefers to resolve independently self-resolve confirmation-and-vouchers
  • Compensation amount exceeds authorization hotel_over_limit escalation-human

Refund Assessment

Say"Let me check your refund eligibility based on the type of disruption and your fare rules."

kb.refund-policy — verify refundability for booking.fareClass, disruption cause trip.disruption.cause, and weather exception rules

Agent
determine the correct refund path and compensation entitlement for this disruption.
Goal:establish whether the customer qualifies for a full refund, partial refund, travel credit, or no refund, and calculate any applicable compensation per policy.
Constraints:never promise a cash refund for non-refundable fares outside of carrier-caused cancellations; always flag weather-caused disruptions as limited-compensation per kb.refund-policy before setting expectations; do not issue compensation exceeding USD 300 without escalation approval.
Tools available:PNR.InitiateRefund, CompensationTool.CalculateEntitlement, kb.refund-policy
  • Full refund eligible full_refund PNR.InitiateRefund confirmation-and-vouchers
  • Travel credit or voucher eligible voucher_eligible CompensationTool.IssueVoucher confirmation-and-vouchers
  • Weather-related, limited compensation weather_limited weather-exception-handling
  • Refund amount exceeds agent authorization refund_over_limit escalation-human
  • No refund eligibility confirmed no_refund compensation-conversation

Weather Exception Handling

Say"I want to be upfront with you — because this disruption is weather-related, our policy limits what compensation we're able to offer. I know that's frustrating. Here's what I can do for you right now: compensation.voucherAmount in travel credit, and I can waive the rebooking change fee."

kb.weather-disruption-policy — confirm exact entitlements and any duty-of-care exceptions

  • Customer accepts limited offer accepted CompensationTool.IssueVoucher confirmation-and-vouchers
  • Customer disputes and requests escalation escalate escalation-human
  • Customer requests full refund citing extraordinary circumstances extraordinary escalation-human

Compensation Conversation

Say"Based on your fare type and the circumstances, a refund isn't applicable here. However, I do want to make sure you're taken care of. Let me see what goodwill compensation I'm able to offer."

CompensationTool.CalculateEntitlement for booking.fareClass and booking.loyaltyNumber

  • Goodwill voucher available CompensationTool.IssueVoucher confirmation-and-vouchers
  • Nothing available within agent limits no_compensation_available escalation-human

Confirmation & Vouchers

Say"You're all set. I'm sending your updated itinerary and any applicable vouchers to traveler.email right now. Is there anything else I can help you with before we wrap up?"

PNR.SendConfirmationEmail to traveler.email with updated booking.itinerary

CompensationTool.DeliverVoucher to traveler.email if applicable

Salesforce.UpdateCase with resolution summary, disruption type trip.disruption.type, and compensation issued

  • Customer has additional questions or issues more-help disruption-assessment
  • Customer is satisfied and conversation is complete resolved resolution-close

Resolution Close

Say"I'm glad we could get that sorted for you. Safe travels, booking.passengerName — and don't hesitate to reach out if you need anything else on your journey."

Salesforce.CloseCase with outcome logged and customer satisfaction noted

Escalation — Secure Verification

Say"For your protection, I'm unable to make changes to this booking without completing identity verification. I'm going to connect you with our secure verification team who can assist you through a different channel."

Salesforce.CreateCase priority: high, tagged identity-verification-required

IdentityVerification.RouteToSecureChannel for traveler.phone or traveler.email

Escalation — Human Agent

Say"This situation needs the attention of one of our senior travel specialists who has the authority to handle this for you. I'm transferring you now and sharing all the details so you won't need to repeat yourself."

Salesforce.CreateCase priority: high, tagged disruption-escalation with full case summary, booking.confirmationNumber, trip.affectedSegment, and trip.disruption.cause

PNR.FlagForSeniorAgent on booking.confirmationNumber

Salesforce.NotifyAgent via #disruption-escalations with case link and urgency flag

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat▣ text

Device Troubleshooting

TelecomSupportDeviceTroubleshooting

Identity Verification

Say"Thanks for reaching out to support. I'm here to help get your device working again. Can I start by pulling up your account? Please share your name and the phone number or account number associated with your account."

CRM.LookupAccount using customer.phone or customer.accountId

  • Account found, identity confirmed verified device-details
  • Account not found or system lookup fails lookup_failed manual-account-collection
  • Customer cannot verify identity after two attempts escalation-human

Manual Account Collection

Say"No problem — I can look into this manually. Could you give me your full name, the device's phone number, and if you have it handy, the IMEI number printed on your device or in Settings?"

CRM.CreateManualRecord with collected details

Ticketing.FlagForDataSyncReview tagged data-sync-error, linked to customer.accountId

  • Details collected and record created device-details
  • Customer unable to provide sufficient details escalation-human

Device Details

Say"Great, I've got your account. Now let's look at the device. Can you confirm the make and model of the device you're having trouble with, and roughly when the issue started?"

DeviceManagement.LookupDevice using device.imei or customer.accountId

  • Device record found, pulling device.make, device.model, device.imei issue-intake
  • Device record not found CRM.NoteManualDevice collect device.make, device.model, device.imei manually issue-intake

Issue Intake

Say"Thanks. Tell me what's been happening with your device.make device.model — what does the problem look like, and have you already tried anything to fix it?"

CRM.LogInteraction note issue.description, issue.startDate, issue.stepsTried

Ticketing.CheckPriorContacts for customer.accountId, device.imei

Detect
prior contact history and issue severity
  • Same issue reported three or more times repeat_contact escalation-specialist
  • Customer expresses significant frustration or urgency frustrated escalation-specialist
  • Physical damage mentioned (cracked screen, water damage, etc.) physical_damage physical-damage-assessment
  • No prior contacts or fewer than three, standard issue basic-troubleshooting

Basic Troubleshooting

Say"Let's start with the most common fixes — these resolve the majority of issues. I'll walk you through each one and we can check as we go."

kb.device-troubleshooting-standard-steps — retrieve model-specific restart and reset instructions for device.make device.model

Say"First, let's do a full restart. Hold down the power button and select Restart — let me know once it's back up."

NetworkDiagnostics.RunCheck on device.imei — scan for signal, data connectivity, and provisioning issues

  • Network or provisioning fault detected network_fault NetworkDiagnostics.PushProvisioningFix post-basic-check
  • No network fault, continue with device-side steps software-update-check

Software Update Check

Say"Good. Now let's make sure your software is up to date. Go to Settings, then General or About, then Software Update. Do you see an update available?"
  • Customer confirms update available, guides them to install DeviceManagement.LogUpdateInitiated post-basic-check
  • Device already on latest software, no update available network-settings-reset

Network Settings Reset

Say"The next step is resetting your network settings — this won't delete your apps or photos, but it will clear saved Wi-Fi passwords. Go to Settings, then General, then Transfer or Reset, then Reset Network Settings."

kb.network-reset-instructions — confirm steps for device.make device.model

  • Customer completes reset and reconnects post-basic-check
  • Customer declines to proceed or step causes a new error advanced-troubleshooting

Post-Basic Check

Say"Let's see where we are — is the issue resolved now, or are you still seeing the same problem?"
Detect
customer confirmation of issue status
  • Issue resolved confirmed resolution-confirmed
  • Issue still present unresolved advanced-troubleshooting

Advanced Troubleshooting

Agent
diagnose the remaining fault using device.imei diagnostics, issue.description, issue.stepsTried, and kb.advanced-device-troubleshooting.
Goal:identify whether the fault is software-recoverable (factory reset candidate), network/provisioning-related, or hardware in nature, and recommend the correct next step.
Constraints:never recommend a factory reset without explicitly warning the customer that all data will be erased and confirming backup; never promise a replacement device without first confirming warranty or insurance eligibility.
Tools available:NetworkDiagnostics.DeepScan, DeviceManagement.GetDiagnosticsReport, kb.advanced-device-troubleshooting
  • Agent determines factory reset is appropriate path factory_reset_candidate factory-reset-guidance
  • Agent determines hardware fault likely hardware_fault physical-damage-assessment
  • Agent determines issue is unresolvable through scripted steps unresolved_scripted escalation-specialist

Factory Reset Guidance

Say"Based on the diagnostics, a factory reset is the most likely fix. This will erase everything on the device and restore it to out-of-box settings. Before we go further — do you have your data backed up, or would you like help with that first?"

kb.factory-reset-instructions — retrieve step-by-step for device.make device.model

  • Customer confirms backup complete and agrees to proceed DeviceManagement.LogFactoryResetInitiated post-factory-check
  • Customer wants to back up first CRM.NoteBackupPending callback-scheduling
  • Customer declines factory reset escalation-specialist

Post-Factory Check

Say"Give the device a moment to come back up — this can take a few minutes. Once you're back to the setup screen, let me know and we'll confirm everything is working."
Detect
customer confirmation of issue status after factory reset
  • Issue resolved confirmed resolution-confirmed
  • Issue still present after factory reset unresolved escalation-specialist

Physical Damage Assessment

Say"I'm sorry to hear the device has physical damage. Let me check what coverage options are available on your account."

WarrantyInsurance.CheckEligibility for device.imei, customer.accountId — retrieve device.warrantyStatus, device.insuranceStatus

  • Device under active warranty, damage type covered warranty_eligible warranty-repair-route
  • Device covered by insurance insurance_eligible insurance-claim-route
  • No warranty or insurance coverage no_coverage out-of-warranty-options

Warranty Repair Route

Say"Good news — your device is covered under warranty. I'll get a repair or replacement order started for you now."

WarrantyInsurance.InitiateWarrantyClaim for device.imei, customer.accountId

Ticketing.CreateTicket tagged warranty-repair, linked to device.imei

CRM.LogInteraction note warranty claim initiated

Say"I've opened a warranty claim. You'll receive a confirmation at customer.email with next steps — typically within one business day. Is there anything else I can help with today?"

resolution-confirmed

Insurance Claim Route

Say"Your device is covered under your insurance plan. I'll transfer you to the claims workflow now, where a specialist will walk you through filing your claim and arranging a replacement or repair."

Ticketing.CreateTicket tagged insurance-claim, linked to device.imei

CRM.LogInteraction note insurance claim routed

insurance-claims-workflow

Out-of-Warranty Options

Say"Unfortunately the device isn't covered under warranty or insurance for this type of damage. I can walk you through a couple of options — a paid repair through an authorized service center, or an upgrade to a new device on your account."

kb.repair-center-locator — retrieve authorized repair centers near customer

kb.device-upgrade-eligibility — check upgrade options for customer.accountId

  • Customer wants paid repair CRM.LogInteraction note repair referral provided, share repair center details resolution-confirmed
  • Customer wants to explore upgrade escalation-human
  • Customer wants to think it over CRM.LogInteraction note options presented resolution-confirmed

Callback Scheduling

Say"No problem at all — let's get a time scheduled for a senior tech specialist to call you back, so you have the time you need to get your backup sorted first."

CRM.ScheduleCallback for customer.phone, note issue.description and steps completed

Ticketing.CreateTicket tagged callback-pending, linked to device.imei

Say"You're all set — you'll receive a confirmation at customer.phone. The specialist will have the full notes from today so you won't have to repeat yourself."

resolution-confirmed

Escalation to Specialist

Say"I want to make sure you get the best help here. I'm escalating this to one of our senior tech specialists who has the tools to dig deeper into this. I'll make sure they have all the notes from today."

Ticketing.CreateTicket tagged specialist-escalation, priority: high, linked to device.imei, customer.accountId

CRM.LogInteraction note escalation reason: issue.description, prior contacts ticket.priorContactCount, steps completed

CRM.NotifySpecialistQueue with ticket summary

Say"A specialist will be with you shortly — or if you prefer a callback, just let me know and I can schedule that instead."
  • Customer prefers callback callback-scheduling
  • Customer holds for specialist escalation-human

Escalation to Human Agent

Ticketing.CreateTicket tagged human-handoff, priority: high, linked to device.imei, customer.accountId

CRM.LogInteraction note full interaction summary

Say"I'm connecting you with a team member right now who can take it from here. I've passed along everything from our conversation so you're all set."

Resolution Confirmed

Say"Glad we could sort that out! Just to confirm — is everything working as expected now, or is there anything else I can help you with today?"

Ticketing.CreateTicket tagged resolved, linked to device.imei, customer.accountId

CRM.LogInteraction note resolution summary, steps taken, outcome

CRM.CloseInteraction for customer.accountId

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ email

Complaint Intake & Routing

Financial ServicesComplaintsComplianceSupport

Intake & Greeting

Say"Thank you for contacting us. I understand you'd like to raise a concern or formally lodge a complaint — I'm here to help you through that process and make sure your matter is fully recorded."
Say"To get started, may I have your full name and the account number related to your complaint?"
  • Customer provides name and account number identity-verification
  • Customer refuses to provide details or cannot locate account number anonymous-record
  • Customer immediately mentions a lawyer, regulator, or media escalation-signal escalation-legal-regulatory

Identity Verification

IdentityVerification.VerifyCustomer using customer.fullName and customer.accountNumber

Detect
outcome of identity verification check
  • Identity confirmed verified complaint-details-collection
  • Identity cannot be confirmed after two attempts unverified anonymous-record
  • System error or timeout system_error CRM.LogAttempt escalation-human-agent

Complaint Details Collection

Say"Thank you, customer.fullName — your identity has been verified. I'll now collect the details of your complaint so we can log it accurately."
Say"Could you please tell me: what is the nature of your complaint, which product or service is involved, and approximately when did the issue occur?"

CRM.UpdateRecord with customer.accountNumber to flag active complaint intake

  • Customer provides complaint details prior-contact-check
  • Customer becomes highly distressed or threatening legal action distressed escalation-legal-regulatory
  • Customer is unclear or needs prompting complaint-clarification

Complaint Clarification

Say"I want to make sure I capture everything correctly. Let me ask a few specific questions to help document your complaint fully."
Say"Which product or service does this relate to — for example, a credit card, mortgage, current account, or a specific interaction with our team?"
Say"And can you recall the approximate date when this issue first occurred?"

kb.complaint-intake-guidelines — review required fields for a complete complaint record

  • Details now sufficient to proceed prior-contact-check
  • Customer remains unable to provide details CRM.LogPartialComplaint complaint-details-collection
  • Customer escalates tone or mentions legal action distressed escalation-legal-regulatory

Prior Contact Check

Say"Have you contacted us previously about this issue? If so, do you have a reference number from that interaction?"

ComplaintManagement.SearchExistingCases using customer.accountNumber and complaint.nature

Detect
whether a duplicate or related case exists
  • Duplicate case found duplicate_detected duplicate-complaint-handling
  • No prior case found, complaint is new no_duplicate regulatory-category-check
  • Customer provides prior reference number complaint.priorReference ComplaintManagement.LinkCase regulatory-category-check

Duplicate Complaint Handling

ComplaintManagement.RetrieveCase to get case.existingId and current status

Say"I can see that a complaint related to this matter is already on record with us, reference number case.existingId. I'll make sure your latest contact is noted against that case."

CRM.AddInteractionNote linked to case.existingId with today's contact details and any new information provided

Say"Your existing complaint is being reviewed and you'll receive a response within regulatory.responseWindow days. Would you like us to send you a status update to your preferred contact?"
  • Customer confirms preferred contact and accepts outcome Twilio.SendSMS to customer.preferredContact resolution-acknowledgment
  • Customer disputes that the duplicate is the same issue complaint-details-collection
  • Customer is dissatisfied with existing case handling frustrated escalation-human-agent

Regulatory Category Check

ComplianceFlagging.ClassifyComplaint using complaint.nature and complaint.product

kb.regulatory-complaint-categories — check whether complaint falls under fraud, discrimination, CFPB-reportable, FCA-reportable, or other regulated classification

Detect
complaint category classification result
  • Complaint classified as regulated category (fraud, discrimination, CFPB, FCA) regulated_category compliance-routing
  • Complaint classified as standard (service, billing, product experience) standard_category complaint-registration
  • Classification inconclusive inconclusive CRM.LogForManualReview escalation-compliance-team

Compliance Routing

Say"Based on the details you've shared, your complaint involves a matter that requires review by our specialist compliance team. I want to assure you this will be prioritised appropriately."

ComplianceFlagging.FlagCase with complaint.category, customer.accountNumber, and complaint.nature

CaseRouting.AssignToComplianceQueue with priority: high

CRM.CreateComplaintRecord tagged regulatory, linked to customer.accountNumber

Say"Your complaint has been assigned reference number complaint.referenceNumber and routed to our compliance team. You can expect a formal written response within regulatory.responseWindow days — this is a regulatory commitment we are required to meet."
  • Customer would like written confirmation now Twilio.SendSMS to customer.preferredContact resolution-acknowledgment
  • Customer has further information to add complaint-clarification
  • Customer escalates or mentions external bodies escalation-signal escalation-legal-regulatory

Complaint Registration

ComplaintManagement.CreateCase with customer.fullName, customer.accountNumber, complaint.nature, complaint.date, complaint.product, complaint.priorReference

CaseRouting.AssignToStandardQueue

ComplaintManagement.GenerateReferenceNumber to produce complaint.referenceNumber

Say"I've now formally logged your complaint. Your reference number is complaint.referenceNumber — please keep this for your records."
Say"Under our obligations, we aim to provide a full written response within regulatory.responseWindow days. You'll receive a written acknowledgment shortly at your preferred contact."
  • Customer confirms preferred contact method preferred-contact-capture
  • Customer wants to add anything further complaint-clarification
  • Customer is highly dissatisfied with the process frustrated escalation-human-agent

Preferred Contact Capture

Say"How would you prefer us to contact you with updates and our formal response — by email, phone, or secure message?"

CRM.UpdatePreferredContact for customer.accountNumber with customer.preferredContact

  • Customer confirms email Twilio.SendEmail to customer.email with acknowledgment letter and complaint.referenceNumber resolution-acknowledgment
  • Customer confirms phone or SMS Twilio.SendSMS to customer.phone with acknowledgment summary and complaint.referenceNumber resolution-acknowledgment
  • Customer has no preference, use address on file CRM.RetrieveContactDetails Twilio.SendEmail to customer.email resolution-acknowledgment

Resolution & Acknowledgment

Say"Your complaint has been recorded and an acknowledgment has been sent to your preferred contact. Your reference number is complaint.referenceNumber."
Say"A member of our team will review your complaint and aim to provide a full written response within regulatory.responseWindow days. If you need to contact us in the meantime, please quote your reference number."
Say"Is there anything else I can help you with today?"

CRM.CloseInteraction with outcome: complaint-logged, reference: complaint.referenceNumber

  • Customer has no further questions — flow ends here
  • Customer raises an additional issue intake-greeting
  • Customer requests to speak with someone now wants_agent escalation-human-agent

Anonymous Record

Say"I understand — I'm not able to access your account without verified details, but I can still log an anonymous record of your concern so it is on record."

ComplaintManagement.CreateAnonymousRecord with complaint.nature and any details provided

ComplaintManagement.GenerateReferenceNumber to produce complaint.referenceNumber

Say"I've created an anonymous reference — your number is complaint.referenceNumber. To allow us to fully investigate and respond to you, we would need you to contact us again with your account credentials or visit a branch with valid identification."
Say"Would you like me to note a preferred contact method in case you are able to verify your identity with us in future?"
  • Customer provides a contact method CRM.LogAnonymousContactPreference resolution-acknowledgment
  • Customer declines and ends the interaction — flow ends here
  • Customer becomes agitated or references legal action distressed escalation-legal-regulatory
Say"I understand this is a serious matter and I want to make sure it's handled with the urgency it deserves. I'm escalating your complaint immediately to a senior complaints handler who has the authority to address concerns of this nature."

ComplianceFlagging.FlagCase with priority: urgent, reason: legal-regulatory-signal

CaseRouting.AssignToSeniorComplaintsHandler

CRM.CreateComplaintRecord tagged escalated, legal-signal, linked to customer.accountNumber

ComplaintManagement.GenerateReferenceNumber to produce complaint.referenceNumber

Twilio.SendSMS to customer.preferredContact confirming escalation and complaint.referenceNumber

Say"Your reference number is complaint.referenceNumber. A senior handler will be in contact with you within one business day. You do not need to contact us again — we will reach out to you."

Escalation — Human Agent

CaseRouting.TransferToLiveAgent with context: complaint.referenceNumber, customer.accountNumber, complaint.nature

CRM.LogHandoffNote with reason: customer-requested or verification-failure or system-error

Say"I'm transferring you now to one of our team members who will be able to assist you directly. Your reference number is complaint.referenceNumber — they'll have full context of our conversation."

Escalation — Compliance Team

ComplianceFlagging.FlagCase with priority: high, reason: inconclusive-classification

CaseRouting.AssignToComplianceReviewTeam

CRM.CreateComplaintRecord tagged compliance-review-required, linked to customer.accountNumber

ComplaintManagement.GenerateReferenceNumber to produce complaint.referenceNumber

Say"Your complaint has been flagged for review by our compliance team to ensure it is handled through the correct process. Your reference number is complaint.referenceNumber and you will receive written confirmation of next steps within two business days."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Telecom Support Agent▣ voice▣ chat

Complaint Escalation — Telecom

TelecomComplaintsEscalationSupport

Intake and Verification

Say"Thank you for reaching out. I understand you have a complaint you'd like escalated — I want to make sure this gets the attention it deserves. To get started, may I have your account number or the name on the account so I can pull up your details?"

CRM.LookupAccount using customer.accountNumber or customer.name

  • Identity verified successfully CRM.PullComplaintHistory complaint-history-review
  • Identity cannot be verified after two attempts identity-escalation
  • Customer is immediately hostile or threatening frustrated de-escalation

Complaint History Review

CRM.GetAccountSummary to load customer.accountNumber, complaint.history, and complaint.compensationOffered

CaseManagement.SearchByAccount to find any existing ticket linked to complaint.priorTicketId

Say"I can see your account, customer.name. Let me check whether there's an existing complaint on file for you."
  • Prior ticket found CaseManagement.OpenCase with complaint.priorTicketId complaint-confirmation
  • No prior ticket found new-case-creation
  • Customer references regulatory body or legal action legal_threat regulatory-legal-routing

New Case Creation

Say"It looks like this hasn't been formally logged yet — I'm going to create a new escalation case right now so nothing falls through the cracks."

CaseManagement.CreateEscalationCase with customer.accountNumber, complaint.nature, complaint.servicesAffected, complaint.history, complaint.compensationOffered

  • Case created successfully complaint-confirmation
  • System unavailable system_down system-unavailable-fallback

Complaint Confirmation

Say"I want to make sure I have everything right before I escalate this. You've reported an issue with complaint.servicesAffected, and the nature of the complaint is complaint.nature. Is that accurate, and is there anything else you'd like added to the record?"
Detect
sentiment and completeness of customer response
  • Customer confirms details are correct confirmed escalation-routing
  • Customer adds new information or corrects details update_needed CaseManagement.UpdateCase with revised notes escalation-routing
  • Customer becomes highly distressed or makes a regulatory reference legal_threat regulatory-legal-routing
  • Customer demands supervisor immediately supervisor_demand escalation-routing

Escalation Routing

EscalationRouting.IdentifyTeam using complaint.servicesAffected, complaint.nature, and customer.accountNumber to assign case.escalationTeam and case.responseTimeline

CaseManagement.UpdateCase with case.escalationTeam, case.responseTimeline, full interaction notes, and complaint.compensationOffered

CommsLog.RecordInteraction with customer.accountNumber, case.id, and channel details

Agent
review the account history and escalation assignment to determine if case priority needs to be upgraded.
Goal:confirm whether the complaint warrants expedited handling based on account type, outage scope, prior compensation history, or repeat contact.
Constraints:never promise a resolution timeline shorter than the one returned by EscalationRouting.IdentifyTeam without senior approval; always flag business or critical infrastructure accounts for immediate upgrade.
Tools available:CRM.GetAccountSummary, CaseManagement.GetCaseDetails, EscalationRouting.IdentifyTeam, kb.escalation-priority-policy
  • Standard priority confirmed escalation-acknowledgement
  • Upgrade to high priority warranted high_priority EscalationRouting.UpgradePriority escalation-acknowledgement
  • Business or critical infrastructure account identified critical_account EscalationRouting.UpgradePriority escalation-acknowledgement

Escalation Acknowledgement

Approval
Slack.RequestApproval to #escalations-queue, approver: escalation_team_lead
Context sent:case.id, customer.accountNumber, complaint.nature, complaint.servicesAffected, case.escalationTeam, case.responseTimeline, complaint.compensationOffered
  • Approved and owner assigned approved CaseManagement.UpdateCase customer-close-out
  • Rejected or reassignment needed rejected EscalationRouting.IdentifyTeam escalation-routing
  • No response within 20 minutes escalation-human

Customer Close-Out

Say"Your case has been escalated and assigned. Your case reference number is case.id. The case.escalationTeam team will be in touch within case.responseTimeline via customer.preferredContact. If you need to reference this, please quote case.id."

CommsLog.SendConfirmation to customer.preferredContact with case.id, case.escalationTeam, and case.responseTimeline

BillingPlatform.NoteAccount with escalation flag and case.id

Say"Is there anything else I can clarify before we wrap up? I want to make sure you feel confident that this is in hand."
  • Customer is satisfied and has no further questions confirmed resolution-close
  • Customer requests additional credit or compensation compensation-review
  • Customer remains unsatisfied and escalates further frustrated escalation-human

Compensation Review

kb.compensation-credit-policy — check eligibility based on complaint.servicesAffected, outage duration, and complaint.compensationOffered

Agent
assess whether a goodwill credit or service adjustment is appropriate given the complaint history.
Goal:determine credit amount or gesture within policy limits and apply if approved.
Constraints:never offer a credit exceeding USD 150 without manager approval; never apply a second credit if complaint.compensationOffered already shows one was granted within the last 90 days; always document the decision in the case notes.
Tools available:BillingPlatform.ApplyCredit, CRM.GetAccountSummary, CaseManagement.GetCaseDetails, kb.compensation-credit-policy
  • Credit within policy limits approved approved BillingPlatform.ApplyCredit customer-close-out
  • Credit exceeds policy limit needs_approval escalation-human
  • Prior credit already granted, none applicable ineligible customer-close-out

De-escalation

Say"I completely hear you, and I want you to know I take this seriously. My goal right now is to make sure your complaint gets to the right person with the full context — can I ask a couple of quick questions so I can do that properly?"

kb.de-escalation-guidelines — apply language and pacing guidance for hostile or distressed callers

Detect
sentiment shift after de-escalation attempt
  • Customer settles enough to continue confirmed intake-and-verification
  • Customer remains hostile or uses threatening language hostile CommsLog.FlagInteraction for supervisor review escalation-human
  • Customer mentions regulatory body or legal action legal_threat regulatory-legal-routing
Say"I understand — given what you've mentioned, I'm going to make sure this is reviewed by the right team immediately. I'm flagging your case right now and you will be contacted directly."

CaseManagement.CreateEscalationCase with customer.accountNumber, complaint.nature, complaint.servicesAffected, and legal or regulatory flag

CommsLog.FlagInteraction with legal_regulatory tag and case.id

EscalationRouting.RouteToCompliance with case.id and full case context

  • Compliance or legal team notified compliance_routed regulatory-close-out
  • Routing system unavailable system_down system-unavailable-fallback

Regulatory Close-Out

Say"Your case, reference case.id, has been escalated directly to our compliance team. Someone will be in touch within one business day via customer.preferredContact. Please reference case.id in any further correspondence."

CommsLog.SendConfirmation to customer.preferredContact with case.id and compliance escalation notice

System Unavailable Fallback

Say"I'm sorry — our systems are temporarily unavailable, but I don't want that to delay your complaint. I'm taking full notes manually right now and will ensure this is entered and actioned as soon as systems are restored."

CommsLog.ManualNoteEntry with customer.name, customer.accountNumber, complaint.nature, complaint.servicesAffected, complaint.history, and timestamp

Say"Your verbal reference number for this interaction is case.id — please keep that handy. You can expect to hear from us within case.responseTimeline once our systems are back up. I sincerely apologise for the inconvenience."
  • Manual log completed, systems expected to restore shortly resolution-close
  • Systems remain down and customer needs immediate escalation escalation-human

Escalation to Human Agent

EscalationRouting.PageSupervisor with case.id, customer.accountNumber, complaint.nature, and urgency flag

CommsLog.FlagInteraction with supervisor_required tag

Slack.Notify to #escalations-live with case summary, customer.accountNumber, and case.id

Say"I'm transferring you to a senior member of our team right now. They have full visibility of your case — you won't need to repeat anything. Thank you for your patience, customer.name."

Identity Escalation

Say"I want to help, but I need to protect your account by verifying your identity first. Unfortunately I wasn't able to confirm your details this time. I can send a verification link to the contact details on your account — would that work for you?"

CRM.SendVerificationLink to contact details on file

  • Customer verifies via link and calls back intake-and-verification
  • Customer unable or unwilling to verify escalation-human

Resolution Close

Say"Thank you for your patience throughout this, customer.name. Your escalation is logged under case.id, and the right team will be in touch within case.responseTimeline. We appreciate you giving us the chance to put this right."

CaseManagement.UpdateCase with resolved_handoff status and final interaction notes

CommsLog.CloseInteraction with customer.accountNumber and case.id

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Retail Support Agent▣ voice▣ chat▣ email

Complaint Escalation

RetailComplaintsEscalationSupport

Greeting & Acknowledgement

Say"Thank you for reaching out. I'm sorry to hear you've had a difficult experience — I'm here to help get this sorted for you. Could I start with your name and order or account number?"
Detect
sentiment on customer opening message or tone
  • Customer provides details calmly or with mild frustration neutral identity-verification
  • Customer is immediately hostile or uses escalation language ("speak to a manager", "unacceptable") escalation_language pre-escalation-check
  • Customer is highly distressed or emotional frustrated empathy-bridge

Empathy Bridge

Say"I can hear how frustrating this has been, and I want you to know I take this seriously. Let me pull up your details right now so we can focus on finding a resolution for you."
  • Customer settles and is willing to continue identity-verification
  • Customer continues to demand a manager or escalate escalation_language pre-escalation-check

Identity Verification

CRM.LookupCustomer using customer.accountId or order.id

ContactHistory.GetLog for customer.accountId to retrieve prior contact history on this issue

  • Customer identity and order verified successfully verified complaint-review
  • Identity or order cannot be verified unverified proof-request

Proof Request

Say"I want to make sure I'm looking at the right account. Could you provide an alternative proof of purchase — such as a receipt, confirmation email, or the card used for payment?"
  • Alternate proof provided and accepted verified complaint-review
  • Customer cannot provide any proof unverified policy-exception-flag
  • Customer becomes agitated or refuses frustrated empathy-bridge

Complaint Review

OrderManagement.GetOrderDetails for order.id including order.value, order.date, and item details

ContactHistory.GetLog to confirm complaint.nature and complaint.date and any previous resolution attempts

Say"Thank you — I can see your order from order.date. Just to make sure I have everything right, can you walk me through what happened and what you were hoping we could do for you?"
Detect
nature of complaint submitted by customer
  • Complaint relates to a product defect or damage product_issue remedy-assessment
  • Complaint relates to a missing, late, or incorrect order fulfilment_issue remedy-assessment
  • Complaint relates to a service or staff experience service_issue remedy-assessment
  • Complaint involves a potential safety or legal concern safety_legal escalation-supervisor

Remedy Assessment

Agent
evaluate the appropriate remedy for complaint.nature based on order.value, contact.history, and kb.returns-compensation-policy.
Goal:identify the most suitable remedy — refund, replacement, discount, or formal apology — that falls within agent compensation authority and policy limits.
Constraints:never approve a refund or compensation exceeding the agent authority threshold for order.value without supervisor approval; never offer a remedy that contradicts kb.returns-compensation-policy; always check contact.history for prior remedy offers before making a new one.
Tools available:OrderManagement.GetOrderDetails, ContactHistory.GetLog, RefundCompensationTool.CheckEligibility, kb.returns-compensation-policy
  • Remedy identified within policy and agent authority remedy_ready remedy-offer
  • Order value or complexity exceeds agent authority threshold authority_exceeded escalation-supervisor
  • Issue falls outside return or compensation policy out_of_policy policy-exception-flag

Remedy Offer

Say"Based on what you've described, here's what I'd like to offer you: remedy.offered. Does that work for you?"
  • Customer accepts the remedy accepted resolution-logging
  • Customer rejects the remedy and gives a reason rejected alternative-remedy-offer
  • Customer demands a manager explicitly escalation_language pre-escalation-check

Alternative Remedy Offer

Agent
construct one alternative remedy within policy limits, accounting for the customer's stated reason for rejecting remedy.offered.
Goal:offer a single alternative that meaningfully addresses the customer's concern without exceeding compensation authority or policy.
Constraints:only one alternative offer is permitted before mandatory escalation; cannot exceed agent compensation authority; must not duplicate remedy.offered.
Tools available:RefundCompensationTool.CheckEligibility, ContactHistory.GetLog, kb.returns-compensation-policy
Say"I completely understand — let me see what else I can do. remedy.alternative — would that be acceptable?"
  • Customer accepts the alternative remedy accepted resolution-logging
  • Customer rejects the alternative remedy as well rejected pre-escalation-check
  • Customer demands a manager escalation_language pre-escalation-check

Pre-Escalation Check

Detect
whether situation involves abusive language or conduct
  • Customer language is abusive or threatening abusive conduct-warning
  • Customer is demanding escalation but not abusive escalation_language escalation-supervisor
  • Two remedy offers have been refused remedies_exhausted escalation-supervisor

Conduct Warning

Say"I want to help you resolve this, and I'll do everything I can — but I do need to ask that we keep the conversation respectful so I'm able to assist you. Can we continue on that basis?"
  • Customer agrees and calms down neutral remedy-offer
  • Customer continues to use abusive language abusive escalation-conduct

Policy Exception Flag

Say"I want to be upfront with you — based on our current policy, this situation falls outside what I'm able to action directly. I'm going to document your case and flag it for a supervisor review so it receives the right attention."

CRM.UpdateCase with complaint.nature, order.id, and exception request details

RefundCompensationTool.FlagException tagged policy-exception, linked to order.id

Approval
SupervisorQueue.RequestReview to #complaints-supervisor, approver: complaints_supervisor
Context sent:customer.accountId, order.id, order.value, complaint.nature, complaint.date, contact.history, reason for policy exception
  • Approved approved remedy-offer
  • Rejected rejected escalation-supervisor
  • No response within 30 min timeout escalation-supervisor

Escalation to Supervisor

CRM.UpdateCase with full complaint summary, remedy.offered, remedy.alternative, contact.history, and escalation reason

SupervisorQueue.Assign priority: high, tagged complaint-escalation, linked to order.id

Say"I want to make sure you get the best possible help here. I'm transferring you to a senior member of our team right now who has full authority to resolve this for you. I've passed them everything we've discussed so you won't need to repeat yourself."

Escalation — Conduct Transfer

CRM.UpdateCase with complaint.nature, contact.history, and conduct flag

SupervisorQueue.Assign priority: high, tagged conduct-escalation, linked to customer.accountId

Say"I'm going to transfer you to a senior agent who may be better placed to assist you. Thank you for your patience."

Resolution Logging

RefundCompensationTool.ApplyRemedy for order.id with agreed remedy details

CRM.UpdateCase with complaint.nature, remedy applied, and resolution status: closed

ContactHistory.LogResolution for customer.accountId with outcome summary

Say"Brilliant — I've gone ahead and processed that for you. You should receive a confirmation shortly. I'm really sorry again for the experience, and thank you for giving us the chance to put it right. Is there anything else I can help you with today?"
  • Customer has further queries greeting-acknowledgement
  • Customer is satisfied and done confirmed resolution-complete

Resolution Complete

Say"Wonderful. Thank you for your patience, customer.name — take care and have a great day."

CRM.UpdateCase status: resolved, satisfaction: confirmed

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat▣ text

Claims Intake

InsuranceClaimsIntake

Welcome & Policy Lookup

Say"Thank you for contacting us. I'm here to help you report a new claim. To get started, could you please provide your policy number or the name on the account?"

PolicyManagement.LookupPolicy using policy.number or customer.name

  • Policy record found, status active identity-verification
  • Policy record found, status lapsed or expired lapsed-policy
  • Policy record not found after two attempts escalation-human
  • System unavailable CRM.LogInteraction with caller details system-unavailable

Identity Verification

Say"I found an account. For your security, I need to verify your identity before we proceed. Could you please confirm your date of birth and the ZIP code on the policy?"

IdentityVerification.Verify using policy.number and provided identifiers

  • Identity verified on first or second attempt loss-details-collection
  • Identity not verified on primary identifiers secondary-identity-check

Secondary Identity Check

Say"I wasn't able to verify your identity with those details. Let me try a couple of alternative questions. Could you confirm the last four digits of the SSN on the account, or the email address we have on file?"

IdentityVerification.VerifySecondary using policy.number

  • Identity verified with secondary identifiers loss-details-collection
  • Identity still unverified identity_failed escalation-human

Loss Details Collection

Say"Thank you — your identity is confirmed. I'm sorry to hear you've experienced a loss. I'd like to gather a few details about what happened so we can open your claim. Please take your time."
Say"First, can you tell me the date the loss occurred, the location, and a brief description of what happened?"
  • Customer provides loss date, location, and description damages-and-injuries-check
  • Customer is distressed or mentions injuries or fatalities escalation-complex-loss

Damages & Injuries Check

Say"Thank you. Are there any injuries involved, and can you give me a rough sense of the damages — for example, is a vehicle undriveable, or is a property uninhabitable?"
Detect
severity indicators in customer response — injuries, fatalities, large-scale damage, legal intent
  • Customer reports injuries, fatality, or catastrophic loss high_severity escalation-complex-loss
  • Customer mentions intent to involve legal counsel legal_intent escalation-complex-loss
  • No injuries, damages appear routine coverage-check

Coverage Check

kb.coverage-rules — verify loss.type falls within policy.coverageType scope and that loss.date is within the active policy period

Agent
assess whether the reported loss type and circumstances fall within the active policy's coverage scope.
Goal:determine if the claim can proceed as standard intake, needs adjuster-review flagging, or falls into a clear exclusion category.
Constraints:never outright deny a claim to the customer — if exclusion is possible, flag for adjuster review rather than refusing; never proceed to claim creation if policy status is not confirmed active at time of loss.
Tools available:PolicyManagement.GetCoverageDetails, kb.coverage-rules
  • Coverage confirmed active and loss type within scope coverage_confirmed claim-record-creation
  • Loss type appears potentially excluded or ambiguous coverage_ambiguous flagged-adjuster-review
  • Policy was not active on loss.date coverage_inactive lapsed-policy

Claim Record Creation

Say"Everything looks good — I'm creating your claim record now. Just one moment."

ClaimsManagement.CreateClaim with policy.number, customer.name, loss.date, loss.location, loss.description, loss.damages, loss.type

CRM.UpdateContact with customer.preferredContact and claim reference

ClaimsManagement.GetClaimID -> claim.id

  • Claim record created successfully claim_created claim-confirmation
  • System error during claim creation system_error system-unavailable

Claim Confirmation

Say"Your claim has been successfully submitted. Your claim number is claim.id — please keep this for your records. A claims adjuster will be in touch within claim.adjusterContactWindow business days via your preferred contact method."
Say"In the meantime, please preserve any evidence, avoid disposing of damaged property, and document everything with photos if possible. Is there anything else you'd like to know before we wrap up?"

CRM.SendConfirmation to customer.email or customer.phone with claim.id and next-steps summary

  • Customer has additional questions claim-next-steps
  • Customer is satisfied, no further questions resolution

Claim Next Steps

kb.claims-process-guide — retrieve adjuster contact timeline, documentation requirements, and repair/replacement process for policy.coverageType

Say"Happy to walk you through what happens next. Once our adjuster reaches out, they'll schedule an inspection or request documentation depending on your coverage type. You can also track your claim status online using your claim number claim.id."
Say"Do you have any other questions, or is there anything else I can help you with today?"
  • Customer satisfied resolution
  • Customer wants to add more details to the claim ClaimsManagement.UpdateClaim claim-confirmation
  • Customer requests escalation escalation-human

Flagged for Adjuster Review

Say"Thank you for those details. Based on what you've described, I want to make sure your claim receives the right level of review. I'm going to open a claim record and flag it for a specialist who can assess the coverage details carefully."

ClaimsManagement.CreateClaim with policy.number, customer.name, loss.date, loss.location, loss.description, loss.damages, loss.type, flag: coverage_review_required

ClaimsManagement.GetClaimID -> claim.id

CRM.UpdateContact with customer.preferredContact and claim reference

Say"Your claim number is claim.id. A claims specialist will review your policy terms and contact you within claim.adjusterContactWindow business days. We won't make any coverage determination until that review is complete."

CRM.SendConfirmation to customer.email or customer.phone with claim.id and review-pending notice

resolution

Lapsed Policy

Say"I can see your policy — however, it appears that the coverage was not active on the date of the loss. Unfortunately, we're unable to open a claim for a period when the policy was lapsed or expired."

kb.reinstatement-options — retrieve available reinstatement paths for policy.coverageType

Say"I understand this is difficult news. I can share some options around reinstating your policy for future coverage. Would you like me to walk you through those options, or would you prefer to speak with a specialist?"
  • Customer wants reinstatement information CRM.LogInteraction tag: reinstatement-interest escalation-human
  • Customer acknowledges and ends interaction resolution

System Unavailable

Say"I apologize — our claims system is experiencing a temporary issue and I'm unable to create your claim record electronically right now. I want to make sure your report is captured so nothing is lost."

CRM.LogManualClaimDetails with customer.name, customer.phone, customer.email, loss.date, loss.location, loss.description, loss.damages, loss.type, policy.number, flag: manual_follow_up_required

Say"I've logged all of your details securely. You will receive a confirmation and a claim number via your preferred contact method within one business day once our systems are restored. I'm sorry for the inconvenience."
  • Customer accepts and ends interaction resolution
  • Customer is dissatisfied and requests immediate escalation escalation-human

Escalation — Complex or High-Severity Loss

CRM.LogInteraction with full loss details, flag: high_severity

ClaimsManagement.CreatePriorityAlert with loss.description, loss.injuries, policy.number

Say"Based on what you've described, I want to make sure you're connected immediately with a senior claims specialist who handles complex situations like this. I'm escalating your case right now — please stay on the line."

Escalation to Human Agent

CRM.LogInteraction with full context, flag: human_review_required

Say"I'm going to connect you with one of our team members who can assist you further. Please hold for just a moment — thank you for your patience."

Resolution

Say"Thank you for reaching out, and I'm sorry again about your loss. We'll be in touch soon, and please don't hesitate to contact us if you need anything in the meantime. Take care."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ chat▣ sms▣ text

Check-in / Check-out Assistance

TravelHospitalityFront DeskCheck-inCheck-out

Contact & Intent Capture

Say"Welcome! I'm here to help you with your hotel check-in or check-out. Are you checking in, checking out, or do you need help with a reservation issue?"
  • Guest says checking in intent-checkin reservation-lookup-checkin
  • Guest says checking out intent-checkout reservation-lookup-checkout
  • Guest mentions a problem or issue intent-issue reservation-lookup-checkin
  • Intent is unclear unclear clarify-intent

Clarify Intent

Say"No problem — could you tell me a little more about what you need today? For example, are you arriving and need your room, or are you departing and have a question about your bill?"
  • Guest clarifies check-in intent-checkin reservation-lookup-checkin
  • Guest clarifies check-out intent-checkout reservation-lookup-checkout
  • Still unclear after two attempts still-unclear escalation-human

Reservation Lookup — Check-in

Say"Great, let's get you checked in. Could you please share your reservation confirmation number and the name on the booking?"

PMS.LookupReservation using reservation.confirmationNumber and guest.fullName

  • Reservation found, arrival date matches reservation.arrivalDate identity-verification
  • Reservation not found by confirmation number reservation-not-found
  • System lookup error system-error escalation-human

Reservation Lookup — Check-out

Say"Of course — let's pull up your stay. Could you share your confirmation number or the name on the reservation?"

PMS.LookupReservation using reservation.confirmationNumber and guest.fullName

  • Reservation found, departure date matches reservation.departureDate folio-review
  • Reservation not found by confirmation number reservation-not-found
  • System lookup error system-error escalation-human

Reservation Not Found

Say"I wasn't able to find a reservation with that confirmation number. Let me try a few other ways to locate your booking."

PMS.SearchByNameAndDate using guest.fullName and reservation.arrivalDate

CRM.LookupGuestProfile using guest.email or guest.loyaltyId

  • Reservation found by name and date search identity-verification
  • Reservation appears to be a third-party booking third-party-booking PMS.RequestThirdPartyImport for booking.thirdPartySource third-party-import-pending
  • No reservation found after all searches escalation-human

Third-Party Import Pending

Say"It looks like your booking was made through a third-party site. I've initiated a request to import those details, which can take a few minutes. Could I place you on a brief hold, or would you prefer I send you an update as soon as it's ready?"
  • Guest agrees to wait, import completes successfully identity-verification
  • Guest prefers callback or notification CRM.CreateCallback for guest.phone or guest.email resolution-pending-notification
  • Import fails after retry import-failed escalation-human

Identity Verification

Say"To protect your security, I need to verify your identity. Could you please confirm your date of birth, loyalty account number, or the last four digits of the card used to hold the reservation?"

IDVerification.VerifyGuest using guest.fullName, guest.loyaltyId, and reservation.confirmationNumber

  • Identity verified successfully identity-verified room-readiness-check
  • Identity cannot be verified after two attempts identity-failed escalation-human

Room Readiness Check

PMS.CheckRoomStatus for reservation.roomType and reservation.specialRequests

  • Room is ready and assigned room.number is available room-ready room-assignment-confirm
  • Room is not yet ready room-not-ready room-not-ready-options
  • No room available due to overbooking overbooked escalation-human

Room Assignment Confirmation

Say"Great news — your room room.number is ready and waiting for you. Let me issue your digital key now."

DigitalKeySystem.IssueKey for room.number linked to guest.email or guest.phone

CRM.UpdateGuestProfile with check-in timestamp and room.number

PMS.RecordCheckIn for reservation.confirmationNumber

Say"Your digital key has been sent to guest.email. Your room is room.number. Is there anything else I can help you with — extra pillows, dining reservations, or local recommendations?"
  • Guest has additional requests additional-requests special-requests-handling
  • Guest is satisfied and done satisfied resolution-checkin-complete

Room Not Ready — Options

Say"Your room isn't quite ready yet, but I have a few options to make your wait comfortable. I can arrange luggage storage, provide access to our lounge, or send you a notification the moment your room is ready. Which would you prefer?"
  • Guest requests luggage storage PMS.ArrangeLuggageStorage for guest.fullName ready-room-alert-setup
  • Guest requests lounge access PMS.GrantLoungeAccess for guest.loyaltyId ready-room-alert-setup
  • Guest wants notification only ready-room-alert-setup
  • Guest is frustrated or insists on immediate room frustrated escalation-human

Ready-Room Alert Setup

PMS.SetReadyRoomAlert for reservation.confirmationNumber, notify via guest.phone or guest.email

Say"Perfect — I've set that up for you. You'll receive a message at guest.phone as soon as your room is ready. In the meantime, is there anything else I can arrange?"
  • Guest has further needs additional-requests special-requests-handling
  • Guest is happy to wait satisfied resolution-pending-notification

Special Requests Handling

Say"Of course — happy to note that. What can I arrange for you?"

PMS.UpdateSpecialRequests for reservation.confirmationNumber with reservation.specialRequests

CRM.LogGuestPreference for guest.loyaltyId

  • Request logged successfully, guest is satisfied resolution-checkin-complete
  • Request cannot be fulfilled, requires manager input escalation-human

Folio Review

BillingSystem.GenerateFolio for reservation.confirmationNumber

BillingSystem.SendItemizedFolio to guest.email with folio.itemizedUrl

Say"I've pulled up your folio — the total comes to folio.total. I've sent an itemized breakdown to guest.email. Would you like me to walk you through the charges, or does everything look correct?"
  • Guest confirms all charges are correct confirmed checkout-processing
  • Guest has a question about a charge question folio-explanation
  • Guest disputes a charge dispute charge-dispute

Folio Explanation

Say"Of course — let me explain that line item. The charge for dispute.lineItem reflects the rate agreed at booking, plus applicable taxes and any incidentals. Does that make sense?"

kb.billing-policy — review applicable rate, tax, and incidental policies

  • Guest accepts the explanation confirmed checkout-processing
  • Guest still disputes after explanation still-disputes charge-dispute

Charge Dispute

Agent
review dispute.lineItem and dispute.amount against kb.billing-policy and reservation details to determine if a correction is warranted.
Goal:resolve the disputed charge fairly — apply a correction if within agent adjustment authority, or route to a supervisor if it exceeds policy limits.
Constraints:never approve adjustments above USD 150 without supervisor approval; always log every adjustment in the billing system; never remove taxes or mandatory fees unilaterally.
Tools available:BillingSystem.GetLineItemDetail, BillingSystem.ApplyAdjustment, kb.billing-policy, CRM.LogDispute
  • Dispute is valid and within adjustment authority adjustment-approved BillingSystem.ApplyAdjustment for dispute.amount checkout-processing
  • Dispute is valid but exceeds adjustment authority exceeds-authority escalation-human
  • Dispute is not supported by policy dispute-denied dispute-denial-explanation

Dispute Denial Explanation

Say"I've reviewed that charge carefully, and based on our policy it reflects a valid and agreed-upon amount. I'm sorry I'm not able to remove it, but I want to make sure you feel heard. Would you like me to escalate this for a second review, or are you comfortable proceeding with check-out?"
  • Guest accepts and wants to proceed accepted checkout-processing
  • Guest wants escalation wants-escalation escalation-human

Check-out Processing

BillingSystem.SettleFolio for reservation.confirmationNumber

PMS.RecordCheckOut for reservation.confirmationNumber

DigitalKeySystem.DeactivateKey for room.number

CRM.UpdateGuestProfile with check-out timestamp and stay summary

Say"You're all checked out — your final receipt has been sent to guest.email. It was a pleasure having you with us. Safe travels, guest.fullName!"
  • Guest has feedback or further questions feedback post-stay-feedback
  • Guest is satisfied and done satisfied resolution-checkout-complete

Post-Stay Feedback

Say"I'd love to hear your thoughts — your feedback helps us improve. What stood out during your stay, and is there anything we could have done better?"

CRM.LogFeedback for guest.loyaltyId and reservation.confirmationNumber

  • Feedback logged, guest is done resolution-checkout-complete
  • Guest raises a serious concern or complaint serious-complaint escalation-human

Outside Hours — Self-Service or On-Call

Say"It looks like our front desk is currently unstaffed. I have two options for you: I can activate self-service key retrieval at the kiosk, or I can page our on-call team member to assist you right away. Which would you prefer?"

PMS.CheckSelfServiceKioskAvailability

  • Self-service kiosk is available and guest agrees kiosk-ready DigitalKeySystem.IssueKioskKey for reservation.confirmationNumber room-assignment-confirm
  • Guest prefers on-call staff or kiosk is unavailable escalation-human

Escalation to Human Agent

CRM.CreateUrgentCase for guest.fullName, reservation.confirmationNumber, and reason for escalation

PMS.FlagReservation with escalation status

Say"I want to make sure you're taken care of properly. I'm connecting you now with a team member who has the authority to resolve this right away. Thank you for your patience, guest.fullName."

Resolution — Check-in Complete

Say"You're all set and checked in! Enjoy your stay, guest.fullName. Don't hesitate to reach out if you need anything at all."

Resolution — Check-out Complete

Say"Everything is wrapped up. Thank you for staying with us, guest.fullName — we hope to welcome you back soon!"

Resolution — Pending Notification

Say"You're all set for now. We'll be in touch at guest.phone or guest.email as soon as your room is ready. Thanks for your patience!"
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Insurance Support Agent▣ voice▣ chat▣ email

Cancellation Request

InsuranceCancellationRetention

Intake & Identity Verification

Say"Thank you for contacting us. I can help you with a cancellation request today. To get started, I'll need to verify your identity. Could you please provide your full name, date of birth, and policy number?"

CRM.LookupCustomer using customer.fullName and customer.dateOfBirth

PolicyManagement.LookupPolicy using policy.number

Detect
identity verification outcome
  • Identity confirmed and policy found confirmed reason-capture
  • Identity cannot be confirmed after two attempts unverified escalation-identity-failure
  • Policy number not found or does not match customer record mismatch escalation-identity-failure

Reason Capture

Say"Thank you, I've verified your account. Before I process your cancellation request, could you tell me the reason you'd like to cancel, and what effective date you have in mind for the cancellation?"

CRM.LogInteraction tag: cancellation-request, policy.number

Detect
cancellation reason category
  • Customer states price is too high or service dissatisfaction price-or-service retention-offer
  • Customer states they are switching providers switching active-claim-check
  • Customer states coverage no longer needed coverage-not-needed active-claim-check
  • Any other stated reason other-reason active-claim-check

Retention Offer

Say"I'm sorry to hear that. Before we proceed with the cancellation, I'd like to see if there's something we can do to address your concerns. We may be able to offer a premium discount, adjust your coverage levels, or explore a payment plan that better fits your budget."

kb.retention-offers — check available discounts and coverage adjustment options for policy.type

  • Customer is open to hearing options interested present-retention-options
  • Customer declines and confirms they want to cancel declines-retention active-claim-check

Present Retention Options

Agent
present the best-fit retention option to the customer based on cancellation.reason, policy.type, and kb.retention-offers.
Goal:identify and offer one or two targeted retention alternatives — discount, coverage adjustment, or payment plan — that directly address the customer's stated reason for cancelling.
Constraints:never promise a discount not listed in kb.retention-offers; never modify the policy without explicit customer confirmation; always confirm the customer understands the new terms before applying any change.
Tools available:PolicyManagement.GetPolicyDetails, BillingPayments.GetPaymentHistory, kb.retention-offers
  • Customer accepts a retention offer and wants to keep the policy retained PolicyManagement.ApplyRetentionChange retention-confirmed
  • Customer hears the options and still wants to cancel still-cancelling active-claim-check

Retention Confirmed

Say"Wonderful — I've applied the change to your policy. You'll receive a confirmation email shortly outlining the updated terms. Is there anything else I can help you with today?"

DocumentDelivery.SendEmail to customer.email with updated policy summary

Active Claim Check

PolicyManagement.CheckActiveClaims for policy.number

Detect
active claim status on policy
  • No active claims found no-claims effective-date-check
  • Active claim found on policy active-claim escalation-active-claim

Effective Date Check

PolicyManagement.ValidateCancellationDate using cancellation.requestedDate and policy.effectiveDate

kb.cancellation-backdating-rules — check whether backdating is permitted for policy.type

Detect
requested effective date validity
  • Requested date is today or in the future date-valid cancellation-terms-review
  • Requested date is in the past and backdating is permitted per policy rules backdating-permitted cancellation-terms-review
  • Requested date is in the past and backdating is not permitted backdating-not-permitted flag-backdating-issue

Flag Backdating Issue

Say"I see you've requested a cancellation date that falls in the past. Unfortunately, our policy guidelines don't allow us to backdate cancellations to that date. The earliest effective date we can process is today. Would you like to proceed with today's date, or would you prefer a future date?"
Detect
customer response to backdating limitation
  • Customer accepts today's date or a future date accepts-new-date cancellation-terms-review
  • Customer disputes the backdating limitation and refuses disputes-backdating escalation-fee-or-policy-dispute

Cancellation Terms Review

BillingPayments.GetOutstandingBalance for policy.number

BillingPayments.CalculateRefund for policy.number and cancellation.requestedDate

Say"Before I finalize the cancellation, let me go over the terms with you. Your policy will be cancelled effective cancellation.requestedDate. Any outstanding balance of policy.cancellationFee will need to be settled, and your estimated refund is policy.refundAmount. Do you have any questions about these terms before we proceed?"
Detect
customer response to cancellation terms
  • Customer confirms and wants to proceed confirmed-terms authorization-check
  • Customer disputes the cancellation fee disputes-fee escalation-fee-or-policy-dispute
  • Customer wants to reconsider reconsider reason-capture

Authorization Check

kb.cancellation-authorization-rules — check whether policy.type requires a licensed agent or supervisor to authorize

Detect
authorization requirement for policy type
  • Standard policy — no additional authorization required standard-auth process-cancellation
  • Policy type requires licensed agent or supervisor authorization requires-supervisor escalation-supervisor-authorization

Process Cancellation

PolicyManagement.CancelPolicy policy: policy.number, effectiveDate: cancellation.requestedDate

BillingPayments.ProcessRefund amount: policy.refundAmount, to: customer.email

CRM.UpdateRecord tag: policy-cancelled, policy.number, cancellation.reason

DocumentDelivery.SendEmail to customer.email with cancellation confirmation and cancellation.confirmationNumber

Say"Your policy has been successfully cancelled effective cancellation.requestedDate. You'll receive a confirmation email at customer.email shortly, which includes your confirmation number and refund details. Is there anything else I can help you with today?"

cancellation-complete

Cancellation Complete

Say"Thank you for being a customer with us. If you ever need coverage again in the future, we'd be happy to help. Take care."

CRM.LogInteraction tag: cancellation-complete, policy.number, cancellation.confirmationNumber

Escalation — Active Claim on Policy

Say"I've found that there is currently an active claim on your policy. We're unable to process a cancellation while a claim is open, as this could affect your coverage for that claim. I'm going to connect you with a specialist who can walk you through your options and the implications in detail."

CRM.LogInteraction tag: escalation-active-claim, policy.number, claim.id, claim.status

CRM.CreateCase priority: high, tag: cancellation-blocked-active-claim, policy.number

Escalation — Identity Failure

Say"I'm sorry, but I'm unable to verify your identity with the information provided, which means I can't process this request over the phone. For your security, cancellation requests can be submitted in writing by visiting a branch or mailing a signed request to the address on your policy documents. We can also send a secure email link if you have your email on file with us."

CRM.LogInteraction tag: identity-verification-failed, policy.number

Escalation — Fee or Policy Dispute

Say"I understand your concern, and I want to make sure this is handled fairly. I'm going to escalate this to a senior member of our team who has the authority to review and address your dispute directly."

CRM.CreateCase priority: high, tag: cancellation-dispute, policy.number, cancellation.reason

CRM.LogInteraction tag: escalation-dispute, policy.number

Escalation — Supervisor Authorization Required

Say"Your policy type requires authorization from a licensed agent or supervisor before the cancellation can be finalized. I'm going to transfer you now — everything we've discussed is noted on your account so you won't need to repeat it."

CRM.LogInteraction tag: escalation-supervisor-auth-required, policy.number, policy.type

CRM.CreateCase priority: normal, tag: supervisor-auth-cancellation, policy.number

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ sms

Branch / ATM Locator & Appointment Booking

Financial ServicesBranchATMAppointmentsLocator

Greeting & Intent Capture

Say"Hello! I'm here to help you find a branch or ATM, or schedule an in-person appointment. Are you looking to find a location near you, or would you like to book an appointment at a branch?"
  • Customer wants to find a branch or ATM find-location location-capture
  • Customer wants to book an appointment book-appointment account-verification
  • Customer mentions a complaint or requests a manager complaint escalation-human
  • Intent is unclear or mixed unclear clarify-intent

Clarify Intent

Say"No problem — I can help with either! Just to make sure I point you in the right direction: are you primarily trying to find a nearby branch or ATM, or are you looking to schedule a visit with someone at a branch?"
  • Customer clarifies location lookup find-location location-capture
  • Customer clarifies appointment booking book-appointment account-verification
  • Customer remains unclear or frustrated frustrated escalation-human

Location Capture

Say"Great! To find the nearest branches and ATMs, could you share your current ZIP code or city?"

MapsGeolocation.DetectLocation from session context if available

  • Location detected automatically from session location-detected location-results
  • Customer provides ZIP code or city manually location-provided location-results
  • Customer cannot or will not provide location no-location location-fallback

Location Fallback

Say"No problem. You can also find branches and ATMs using our branch locator at bankname.com/locations, or call us at any time and we can search by city or state. Is there anything else I can help you with?"
  • Customer provides a ZIP or city after all location-provided location-results
  • Customer is satisfied and done done resolution
  • Customer wants to book an appointment instead book-appointment account-verification

Location Results

BranchATMLocator.Search using customer.zip or customer.city, return top 3 branches and nearest ATMs

Say"Here are the closest options I found for you:"

BranchATMLocator.SurfaceResults including branch.name, branch.address, branch.hours, branch.distance, branch.status, and atm.address, atm.distance

  • One or more branches show as temporarily closed branch-closed closed-branch-handling
  • Customer selects a branch and wants to book an appointment book-appointment account-verification
  • Customer is satisfied with location info only info-only resolution
  • Customer asks about accessibility or language services accessibility accessibility-check

Closed Branch Handling

Say"I see that one or more of those branches is currently closed or has limited hours. Let me pull up the most current hours and the next nearest alternative for you."

BranchATMLocator.GetUpdatedHours for branch.name, surface branch.hours and branch.status

BranchATMLocator.Search for next nearest open branch, surface branch.address and branch.distance

Say"The updated hours for branch.name are branch.hours. The nearest open alternative is branch.address, approximately branch.distance away. Would you like to book an appointment at the open branch, or is this information enough for now?"
  • Customer wants to book at the open alternative book-appointment account-verification
  • Customer satisfied with updated info info-only resolution
  • Customer frustrated or escalates frustrated escalation-human

Accessibility Check

Say"Of course. Could you let me know what you need — for example, wheelchair-accessible facilities, language interpretation services, or anything else? I want to make sure the branch I recommend can fully support you."

BranchATMLocator.FilterByAccessibility using customer.accessibilityNeeds and customer.languagePreference

  • Accessible branch found and customer wants to book book-appointment account-verification
  • Accessible branch found and customer wants info only info-only resolution
  • No fully accessible branch available nearby no-accessible-branch escalation-human

Account Verification

Say"To book an appointment, I just need to confirm a couple of details. Are you an existing account holder with us?"

CRM.LookupCustomer using customer.phone or customer.email

  • Existing customer confirmed account-verified appointment-type-capture
  • Customer is not an existing account holder no-account non-account-holder-handling
  • Unable to verify account status verification-failed manual-account-check

Manual Account Check

Say"I wasn't able to automatically pull up your account. Could you provide the phone number or email address associated with your account so I can look you up?"

CRM.LookupCustomer using customer.phone or customer.email

  • Account found account-verified appointment-type-capture
  • Still unable to verify verification-failed non-account-holder-handling

Non-Account Holder Handling

Say"No problem — you're welcome to visit any branch or use our ATMs without an account. I should let you know that certain appointment types, such as account openings or loan consultations, do require an existing account or a new-customer intake process. Would you like help finding a branch, or are you interested in learning about opening an account?"
  • Customer wants branch or ATM info only find-location location-capture
  • Customer interested in opening an account new-account escalation-specialist
  • Customer wants to book a general appointment anyway book-appointment appointment-type-capture

Appointment Type Capture

Say"What type of appointment are you looking to schedule? For example: general banking, account services, safe deposit box access, notary services, or a financial review. You can also just describe what you need."
  • Customer requests a standard appointment type standard-appointment datetime-capture
  • Customer requests a specialized appointment such as mortgage, business banking, or wealth management specialist-appointment escalation-specialist
  • Customer describes a complaint or sensitive issue complaint escalation-human

Date & Time Capture

Say"Great. What date and time works best for you? I'll check availability at your preferred branch."

AppointmentScheduler.CheckAvailability for appointment.type at branch.name on appointment.preferredDate at appointment.preferredTime

  • Slot is available slot-available appointment-confirmation
  • Requested slot is unavailable slot-unavailable offer-alternative-slot
  • Branch has no availability on preferred date no-availability offer-alternative-branch

Offer Alternative Slot

Say"It looks like appointment.preferredTime on appointment.preferredDate isn't available at branch.name. The next available slot is branch.nextAvailableSlot. Would that work for you, or would you prefer a different date?"

AppointmentScheduler.GetNextAvailable for appointment.type at branch.name

  • Customer accepts the next available slot accepts-slot appointment-confirmation
  • Customer wants a different date or time different-datetime datetime-capture
  • Customer wants to try a different branch different-branch offer-alternative-branch

Offer Alternative Branch

Say"I understand — let me check a nearby branch that may have better availability for you."

BranchATMLocator.Search for next nearest branch with availability for appointment.type on appointment.preferredDate

AppointmentScheduler.CheckAvailability at alternative branch

Say"The next closest branch with availability is branch.name at branch.address, with an opening on branch.nextAvailableSlot. Would you like to book there?"
  • Customer accepts alternative branch and slot accepts-slot appointment-confirmation
  • Customer wants to try yet another date or branch different-datetime datetime-capture
  • Customer frustrated or wants to escalate frustrated escalation-human

Appointment Confirmation

AppointmentScheduler.BookAppointment for customer.email, appointment.type, appointment.preferredDate, appointment.preferredTime at branch.name

Say"You're all set! Your appointment.type appointment is confirmed at branch.name, branch.address on appointment.preferredDate at appointment.preferredTime. Your confirmation number is appointment.confirmationNumber."

Twilio.SendSMS to customer.phone with confirmation details: appointment.confirmationNumber, branch.name, branch.address, appointment.preferredDate, appointment.preferredTime

Twilio.SendEmail to customer.email with the same confirmation details and a calendar invite attachment

Say"I've sent a confirmation to your phone and email. Is there anything else I can help you with — for example, accessibility needs at the branch, or directions?"
  • Customer has accessibility or special requirements accessibility accessibility-check
  • Customer is done done resolution
  • Customer wants to modify or cancel the appointment modify-appointment appointment-modification

Appointment Modification

Say"Of course. I can help you reschedule or cancel your appointment with confirmation number appointment.confirmationNumber. Would you like to reschedule to a new date and time, or cancel the appointment altogether?"

AppointmentScheduler.LookupAppointment using appointment.confirmationNumber

  • Customer wants to reschedule reschedule datetime-capture
  • Customer wants to cancel cancel AppointmentScheduler.CancelAppointment for appointment.confirmationNumber cancellation-confirmation
  • Customer is unsure or has another question other greeting-intent-capture

Cancellation Confirmation

Twilio.SendSMS to customer.phone confirming cancellation of appointment.confirmationNumber

Twilio.SendEmail to customer.email confirming cancellation

Say"Your appointment has been cancelled and you'll receive a confirmation shortly. If you'd like to rebook in the future, I'm happy to help. Is there anything else I can assist you with?"
  • Customer wants to rebook book-appointment appointment-type-capture
  • Customer is done done resolution

Escalation to Specialist

CRM.CreateCase tagged specialist-appointment, linked to customer.email and appointment.type

AppointmentScheduler.RouteToAdvisor for appointment.type, surface available advisor and earliest slot

Say"For a appointment.type appointment, I'll connect you with a dedicated advisor who can make sure you get the right level of service. Let me get that arranged for you."

Twilio.SendEmail to customer.email with advisor contact information and next steps

Say"A specialist will be in touch shortly to confirm your appointment details. Is there anything else I can help you with in the meantime?"
  • Customer has additional questions other greeting-intent-capture
  • Customer is satisfied done resolution

Escalation to Human Agent

CRM.CreateCase priority: high, tagged branch-escalation, linked to customer.phone and customer.email

Say"I want to make sure you get the right help. Let me connect you with one of our team members who can assist you directly."

Resolution

Say"You're all set! Don't hesitate to reach out if you need to find a location, book an appointment, or have any other questions. Have a great day!"
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Travel & Hospitality Support Agent▣ voice▣ chat▣ email▣ sms

Booking Cancellation / Refund Request

TravelHospitalityCancellationRefund

Identity Verification

Say"Thank you for reaching out. I can help you with a cancellation or refund request. To get started, could you please provide your full name and the email address or phone number on the booking?"

CRM.LookupCustomer using customer.fullName and customer.email or customer.phone

Detect
outcome of identity lookup
  • Customer record found and details match confirmed booking-lookup
  • Details provided do not match any record unrecognized reverify-identity
  • Customer is unable or unwilling to provide verification details refused escalation-human

Re-verify Identity

Say"I wasn't able to match those details to a booking. Could you double-check the name or email used at the time of booking? Sometimes a nickname or alternate address was used."

CRM.LookupCustomer retry with alternate details

  • Match found on second attempt confirmed booking-lookup
  • Still no match after second attempt unrecognized escalation-human

Booking Lookup

Say"Thank you, customer.fullName. Could you please share your booking or confirmation ID, along with your travel dates and destination?"

ReservationManagement.GetBooking using booking.id

Detect
booking record outcome
  • Booking found and active confirmed cancellation-policy-check
  • Booking not found or ID invalid not_found escalation-human
  • Booking already cancelled already_cancelled refund-status-check

Cancellation Policy Check

Say"I've pulled up your reservation for booking.destination on booking.travelDates. Let me check the cancellation policy tied to your rate."

PolicyRulesEngine.GetCancellationPolicy for booking.id and booking.rateClass

Detect
cancellation window and fee applicability
  • Booking is within the free-cancellation window free_cancel confirm-cancellation-intent
  • Booking is outside the free-cancellation window and fees apply fees_apply outside-window-advisory
  • Booking was made through a third-party OTA ota_booking ota-redirect

Confirm Cancellation Intent

Say"Great news — your booking is within the free-cancellation window. You are eligible for a full refund of refund.amount to your original payment method. Before I proceed, could you share the reason for your cancellation? This helps us improve."
  • Customer provides cancellation reason and confirms they want to proceed confirmed process-cancellation
  • Customer wants to change dates instead of cancelling date_change escalation-human
  • Customer is unsure and wants time to decide undecided send-policy-summary

Send Policy Summary

Say"No problem at all. I'll send a summary of your cancellation policy and options to customer.email so you can review at your own pace. Feel free to reach back out when you're ready."

NotificationService.SendEmail to customer.email with cancellation policy summary and free-cancellation deadline for booking.id

  • Customer returns and confirms cancellation confirmed process-cancellation
  • Customer does not respond within 24 hours escalation-human

Outside Window Advisory

Say"I can see that your booking falls outside the free-cancellation window, which means a cancellation fee of cancellation.feeAmount would apply. I want to make sure you have all your options before we proceed. You may be eligible for a travel credit of refund.creditValue, or we could look into changing your travel dates at no extra charge."

kb.cancellation-policy — check fee waiver eligibility and alternative options for booking.rateClass

  • Customer accepts the fee and wants to cancel accepted_fee process-cancellation
  • Customer wants to apply for a travel credit instead credit_preferred process-travel-credit
  • Customer cites extenuating circumstances such as medical or bereavement extenuating extenuating-circumstances-review
  • Customer disputes the fee and demands a waiver beyond advisory authority disputes_fee escalation-human

Extenuating Circumstances Review

Say"I'm very sorry to hear about your situation. We do have a process to review waiver requests for extenuating circumstances such as medical emergencies or bereavement. I'll need to collect a brief note on the nature of the situation and, if available, any supporting documentation such as a medical certificate or official notice."

CRM.CreateCase tagged exception-review, linked to booking.id, reason: cancellation.reason

Detect
customer willingness to provide documentation
  • Customer agrees to submit documentation doc_provided flag-for-exception-review
  • Customer cannot or will not provide documentation no_doc escalation-human

Flag for Exception Review

Say"Thank you for sharing that. I've flagged your case for our exception review team. They will assess your request and reach out to you at customer.email within two business days with a decision. In the meantime, I'm not processing the cancellation so your booking remains active."

CRM.UpdateCase with exception.documentType and submitted evidence

NotificationService.SendEmail to customer.email confirming exception review has been opened with case reference

  • Exception review is opened and customer is notified resolution-confirmation

Process Cancellation

Say"I'll go ahead and cancel your booking now. This will just take a moment."

ReservationManagement.CancelBooking for booking.id

PaymentProcessor.InitiateRefund for refund.amount to booking.paymentMethod

CRM.UpdateRecord with cancellation details for customer.fullName

Detect
cancellation processing outcome
  • Cancellation and refund initiated successfully success send-confirmation
  • System error prevents processing system_error escalation-human

Process Travel Credit

Say"I'll cancel your booking and apply a travel credit of refund.creditValue to your account. This credit can be used toward any future booking with us."

ReservationManagement.CancelBooking for booking.id

PaymentProcessor.IssueTravelCredit for refund.creditValue linked to customer.email

CRM.UpdateRecord with credit issuance details

Detect
credit issuance outcome
  • Credit issued successfully success send-confirmation
  • System error during credit issuance system_error escalation-human

Send Confirmation

Say"Your booking has been successfully cancelled. You'll receive a written confirmation at customer.email within a few minutes, including your refund or credit details and the expected timeline of refund.timeline."

NotificationService.SendEmail to customer.email with cancellation confirmation, refund.amount or refund.creditValue, and refund.timeline

  • Confirmation sent successfully resolution-confirmation

Refund Status Check

Say"It looks like this booking was already cancelled. Let me check the status of any refund associated with it."

PaymentProcessor.GetRefundStatus for refund.transactionId

Detect
refund status
  • Refund has been issued and should have been received issued refund-already-issued
  • Refund is still processing processing advise-refund-in-progress
  • No refund record found not_found escalation-human

Refund Already Issued

Say"Our records show that a refund of refund.amount was issued on the original transaction. It can sometimes take 5 to 10 business days to appear depending on your bank. Could you confirm that you haven't seen it in your statement?"
  • Customer confirms refund has now been received confirmed resolution-confirmation
  • Customer still has not received the refund after the expected window not_received escalation-finance

Advise Refund In Progress

Say"Your refund of refund.amount is currently being processed and should appear within refund.timeline. I'll send a confirmation to customer.email with the transaction reference so you have it on record."

NotificationService.SendEmail to customer.email with refund status and refund.transactionId

  • Customer is satisfied and no further action needed resolution-confirmation
  • Customer requests further escalation escalation_requested escalation-finance

OTA Redirect

Say"I can see that your booking was made through a third-party platform — booking.otaSource. Unfortunately, our system is unable to process cancellations or refunds for reservations made via that channel. You'll need to contact booking.otaSource directly to request a cancellation."

kb.ota-partner-contacts — retrieve contact instructions and cancellation process for booking.otaSource

Say"I can share the reference details for your booking so you have everything ready when you contact them: your booking ID is booking.id, the travel dates are booking.travelDates, and the destination is booking.destination."

NotificationService.SendEmail to customer.email with OTA redirect instructions and booking reference details

  • Customer acknowledges and will contact OTA directly resolution-confirmation
  • Customer is frustrated and requests direct escalation escalation_requested escalation-human

Escalation to Finance Team

CRM.CreateCase priority: high, tagged refund-not-received, linked to refund.transactionId

NotificationService.NotifyTeam to #finance-escalations with customer.fullName, booking.id, refund.amount, and refund.transactionId

Say"I've escalated this to our finance team with all the transaction details. A specialist will reach out to you at customer.email within one to two business days to resolve this."

resolution-confirmation

Escalation to Human Agent

CRM.CreateCase priority: high, tagged cancellation-escalation, linked to booking.id

NotificationService.NotifyTeam to #reservations-support with customer.fullName, booking.id, and case summary

Say"I want to make sure this is handled correctly for you. I'm escalating your case to a senior support specialist who will be able to assist further. You'll be contacted at customer.email or customer.phone shortly."

Resolution Confirmation

Say"Is there anything else I can help you with today? We appreciate your patience and hope to welcome you on a future trip."
Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat▣ sms

Billing / Statement Inquiry

HealthcareBillingPatient Support

Patient Greeting

Say"Thank you for contacting our billing support team. My name is your Healthcare Support Agent. To protect your privacy and access your account, I'll need to verify your identity first. May I have your full name, date of birth, and your account or guarantor ID?"
  • Patient provides all required identifiers identity-verification
  • Patient is unable or unwilling to provide identifiers hipaa-decline
  • Patient is clearly distressed or immediately demands a supervisor frustrated escalation-human

Identity Verification

CRM.LookupPatient using patient.name, patient.dob, and patient.accountId

Detect
identity verification outcome
  • All three identifiers match confirmed in system verified inquiry-intake
  • Partial match — one identifier missing or mismatched partial_match identity-retry
  • No matching record found no_match hipaa-decline

Identity Retry

Say"I want to make sure I'm protecting your information. I was unable to fully confirm your identity with what you provided. Could you double-check your account or guarantor ID — you can find it in the top right corner of your paper statement or in the patient portal?"
  • Patient provides corrected identifiers CRM.LookupPatient identity-verification
  • Patient still cannot provide matching information hipaa-decline

HIPAA Decline

Say"I'm sorry, but under federal HIPAA privacy regulations I'm unable to access or share any account or billing details without confirming your identity. I'd encourage you to log into the patient portal at your convenience, or visit our billing office in person with a valid photo ID. Is there anything general I can help you with today?"

CRM.LogInteraction note: identity verification failed, HIPAA protocol applied, no account data disclosed

Inquiry Intake

Say"Thank you, patient.name — I've verified your account. I can see your billing record. Could you tell me which charge or balance you have a question about? If you have your statement handy, the date of service or the specific line item description would be very helpful."

PatientBillingSystem.PullAccount using patient.accountId

  • Patient identifies a specific charge or line item charge-lookup
  • Patient has a general question about their total balance balance-explanation
  • Patient reports they believe there is a billing error billing-error-flag
  • Patient disputes the clinical service itself was rendered or necessary clinical-dispute
  • Patient mentions possible fraud or identity theft suspected_fraud escalation-human

Charge Lookup

PatientBillingSystem.GetChargeDetail for charge.lineItem on charge.dateOfService

InsuranceEligibilityClaims.GetClaimStatus using insurance.memberId and claim.id

EOBLookup.GetEOB for claim.id

Detect
claim and EOB status
  • EOB received and processed, patient responsibility calculated eob_received charge-explanation
  • Claim submitted but EOB not yet issued — claim still pending claim_pending pending-claim-advisory
  • Claim was denied by insurer claim_denied claim-denial-review
  • Charge not found or appears duplicated charge_anomaly billing-error-flag

Charge Explanation

Say"I've pulled up that charge. The service on charge.dateOfService for charge.description was billed at charge.amount. Your insurer insurance.planName processed the claim and applied your benefits — your portion after insurance is eob.patientResponsibility. This reflects your current deductible, copay, or coinsurance as outlined in your plan."

kb.billing-patient-responsibility — reference plan benefit structure and cost-sharing explanation guidance

Say"Does that explanation make sense, or would you like me to walk through how your benefits were applied in more detail?"
  • Patient understands and accepts the explanation confirmed payment-options
  • Patient disagrees with the insurance calculation or wants to dispute the claim disputed claim-denial-review
  • Patient still has questions about the charge needs_clarification charge-explanation-detail

Charge Explanation Detail

Agent
provide a detailed line-by-line walkthrough of how insurance.planName applied benefits to charge.lineItem, referencing the EOB and plan cost-sharing rules.
Goal:ensure the patient fully understands what each component of their bill represents and why eob.patientResponsibility is the amount owed.
Constraints:never speculate about future insurance decisions or promise adjustments not yet authorized; only describe what is documented in the EOB and billing system.
Tools available:PatientBillingSystem.GetChargeDetail, EOBLookup.GetEOB, kb.billing-patient-responsibility
  • Patient satisfied with detailed explanation confirmed payment-options
  • Patient remains unconvinced and wishes to dispute claim-denial-review
  • Patient becomes distressed frustrated escalation-human

Balance Explanation

PatientBillingSystem.GetAccountSummary for patient.accountId

Say"I can see your current account balance. Let me walk you through the outstanding charges, how insurance has been applied to each, and what remains as your patient responsibility."

kb.billing-patient-responsibility — use for explaining deductible, copay, and coinsurance terms

  • Patient understands the balance and wants to pay payment-options
  • Patient questions a specific line item on the account charge-lookup
  • Patient believes the total is incorrect billing-error-flag
  • Patient is unable to pay and asks about financial assistance kb.financial-assistance-programs payment-options

Pending Claim Advisory

Say"It looks like your insurance claim for the service on charge.dateOfService is still being processed by insurance.planName. We haven't yet received the Explanation of Benefits that tells us your exact patient responsibility. I'd recommend waiting until that EOB is issued — typically within 30 days of the claim submission date — before making any payment on this charge."
Say"I'm going to make a note on your account so our team is aware you called, and I'll flag this for a follow-up outreach once the EOB is received. Is there a preferred contact method — phone or email — for that follow-up?"

CRM.LogInteraction note: patient inquiry on pending claim claim.id, follow-up requested

CaseManagement.CreateCase type: pending-eob-followup, linked to claim.id, patient.accountId

  • Patient is satisfied and wants no further action resolution-close
  • Patient wants to escalate because the claim has been pending an unusually long time frustrated escalation-human

Claim Denial Review

InsuranceEligibilityClaims.GetDenialReason for claim.id

kb.claim-denial-codes — reference insurer denial code definitions and standard appeal pathways

Agent
assess the denial reason for claim.id and determine whether the denial is due to a technical/administrative issue correctable by rebilling, a coverage exclusion, or a clinical necessity decision requiring formal appeal.
Goal:advise the patient on the correct next step — administrative correction, insurance appeal, or billing specialist referral.
Constraints:never promise that an appeal will succeed or that a charge will be waived; do not initiate a claim adjustment without billing specialist authorization; always document the denial reason before routing.
Tools available:InsuranceEligibilityClaims.GetDenialReason, InsuranceEligibilityClaims.GetClaimStatus, kb.claim-denial-codes, CaseManagement.CreateCase
  • Denial is administrative or technical — can be corrected by rebilling admin_denial CaseManagement.CreateCase type: rebilling-request billing-error-flag
  • Denial is a coverage or clinical necessity issue requiring appeal clinical_denial escalation-human
  • Patient wishes to proceed independently and is satisfied with the information confirmed resolution-close

Billing Error Flag

Say"Thank you for bringing this to our attention. Based on what you've described, this may need to be reviewed by our billing specialists. I'm going to document this now and open a case so a specialist can investigate and correct the record if needed."

CaseManagement.CreateCase type: billing-review, priority: standard, linked to patient.accountId, charge.lineItem, charge.dateOfService

CRM.LogInteraction note: potential billing error flagged on charge.lineItem, case opened for specialist review

Say"A billing specialist will review this within 3 to 5 business days and will reach out to you at patient.phone or patient.email. You will not need to make any payment on a disputed charge while it is under active review. Is there anything else I can help you with today?"
  • Patient is satisfied and the case is documented resolution-close
  • Patient is not satisfied and demands immediate resolution frustrated escalation-human

Clinical Dispute

Say"I understand — disputes about whether a service was rendered or was medically appropriate are taken very seriously. Our billing team is not able to make clinical determinations, so I'll need to document your concern and route it to the appropriate clinical or patient relations department."

CRM.LogInteraction note: patient disputes clinical service on charge.dateOfService, charge.description — routed to clinical review

CaseManagement.CreateCase type: clinical-dispute, priority: high, linked to patient.accountId, charge.dateOfService

Say"A member of our patient relations team will contact you within 2 business days to discuss your concern. You should not receive any collections activity on this charge while it is under review."
  • Patient acknowledges and accepts the routing resolution-close
  • Patient is distressed or requests immediate supervisor contact frustrated escalation-human

Payment Options

Say"I can help you take care of this balance now or set up an arrangement that works for you. You have a few options: you can pay online through the patient portal, pay by phone with a credit or debit card right now, or set up an interest-free monthly payment plan if your balance qualifies."

kb.financial-assistance-programs — check eligibility criteria for charity care, sliding scale, or hardship plans

  • Patient wants to pay now PaymentPortal.ProcessPayment using patient.accountId payment-confirmation
  • Patient wants to set up a payment plan PaymentPortal.CreatePaymentPlan using patient.accountId payment-plan-setup
  • Patient wants to apply for financial assistance CaseManagement.CreateCase type: financial-assistance-referral resolution-close
  • Patient declines to pay at this time and has no further questions resolution-close

Payment Confirmation

PaymentPortal.ProcessPayment confirm transaction for patient.accountId, charge.amount

CRM.LogInteraction note: payment processed for charge.amount on account patient.accountId

Say"Your payment has been processed and a confirmation will be sent to patient.email. Your updated account balance will reflect this payment within one to two business days. Is there anything else I can help you with?"
  • Patient has additional questions inquiry-intake
  • Patient is done resolution-close

Payment Plan Setup

PaymentPortal.CreatePaymentPlan for patient.accountId

Say"I've set up a payment plan on your account. You'll receive a confirmation at patient.email with the payment schedule and amounts. Each installment will be automatically applied to your balance. If your financial situation changes, please contact us and we can review the plan."

CRM.LogInteraction note: payment plan established for patient.accountId

  • Patient confirms and is satisfied resolution-close
  • Patient has additional questions inquiry-intake

Escalation to Human Agent

CRM.LogInteraction note: escalation triggered — reason documented, all context preserved for handoff

CaseManagement.CreateCase type: escalation, priority: high, linked to patient.accountId, claim.id

Say"I completely understand, and I want to make sure you get the help you need. I'm going to connect you with a senior billing specialist or supervisor who can take this further. Please hold for just a moment — I'll make sure they have all the details from our conversation so you don't have to repeat yourself."

CRM.TransferWithContext to billing-escalation-queue, include patient.accountId, claim.id, charge.lineItem, interaction summary

Resolution / Close

Say"I'm glad we could assist you today. To summarize: we reviewed the charge for charge.description from charge.dateOfService, and your next steps are clear. If you have any further questions about your bill, don't hesitate to contact us — you can also view your account and statements at any time through the patient portal."

CRM.LogInteraction note: inquiry resolved, case closed

CaseManagement.CloseCase for case.id if open

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ sms

Balance / Transaction Inquiry

Financial ServicesSupportBalanceTransactions

Intake

Say"Thank you for reaching out to Financial Services support. I can help you with your account balance or a transaction question. Could you please share your full name and either your account number or the last four digits of your card?"
Detect
customer intent from opening message
  • Customer asks about current balance balance-inquiry identity-verification
  • Customer asks about a specific transaction or unrecognized charge transaction-inquiry identity-verification
  • Customer immediately alleges fraud or unauthorized access fraud-allegation escalation-fraud
  • Intent unclear — ask a clarifying question, then identity-verification

Identity Verification

Say"To protect your account, I need to verify your identity. I'll send a one-time passcode to your phone number on file. Please share the code when you receive it."

OTPAuth.SendOTP to customer.phone

  • Customer provides correct OTP verified IdentityVerification.Confirm account-lookup
  • Customer cannot receive OTP, offer security question fallback otp-failed security-question-fallback
  • Customer has already failed one attempt — verification.attemptCount equals 1 second-attempt-warning

Second Attempt Warning

Say"That code didn't match. You have one attempt remaining before I'll need to pause access for your security. Please double-check the code and try again."
  • Customer provides correct OTP on second try verified IdentityVerification.Confirm account-lookup
  • Customer fails again unverified escalation-identity-failure

Security Question Fallback

Say"No problem — let me try another way. I'll ask you a security question linked to your account. Please answer as accurately as you can."

IdentityVerification.FetchSecurityQuestion for customer.accountNumber

Say"Here is your security question: please go ahead and answer when ready."
  • Customer answers correctly verified IdentityVerification.Confirm account-lookup
  • Customer answers incorrectly unverified escalation-identity-failure

Account Lookup

CoreBanking.GetAccountSummary for customer.accountNumber including account.status, account.balance, account.availableBalance, and customer.accountType

  • Account returned successfully and status is active account-found inquiry-routing
  • Account has a hold, freeze, or legal flag on it account-flagged escalation-account-flag
  • System returns an error or times out lookup-error system-error

Inquiry Routing

Detect
what the customer needs based on original request and account data
  • Customer needs current balance confirmed balance-inquiry balance-delivery
  • Customer needs a specific transaction explained transaction-inquiry transaction-lookup
  • Customer now mentions an unexpected fee fee-concern fee-review

Balance Delivery

CoreBanking.GetAccountSummary to retrieve account.balance and account.availableBalance for customer.accountType

Say"Here is your current account summary for your customer.accountType account. Your current balance is account.balance and your available balance is account.availableBalance. Is there anything specific about those figures you would like me to explain?"
  • Customer is satisfied and has no further questions satisfied resolution
  • Customer wants to see recent transactions as well wants-transactions transaction-lookup
  • Customer disputes a charge or says a transaction looks wrong transaction-dispute transaction-lookup
  • Customer raises concern about an unexpected fee fee-concern fee-review

Transaction Lookup

Say"I'll pull up the transactions for you now. Could you let me know the approximate date range or the amount you are looking into? That will help me find the right record quickly."

CoreBanking.GetTransactionHistory for customer.accountNumber over inquiry.dateRange

  • Transactions returned successfully transactions-found transaction-detail
  • No transactions found in the requested range no-results no-transaction-found
  • System returns an error lookup-error system-error

Transaction Detail

Say"I found the transaction. Here are the details: the charge of transaction.amount was made on transaction.date at transaction.merchant, categorized as transaction.category. Does that help explain what you were looking at?"

CRM.LogInteraction tagged balance-transaction-inquiry, linked to customer.accountNumber and transaction.id

  • Customer recognizes the transaction and is satisfied satisfied resolution
  • Customer does not recognize the transaction and believes it is fraudulent fraud-allegation escalation-fraud
  • Customer recognizes the merchant but wants to dispute the amount amount-dispute escalation-fraud
  • Customer has a question about a fee within the transaction fee-concern fee-review

No Transaction Found

Say"I wasn't able to find a transaction matching that description in the date range you gave me. It's possible it may appear under a different date or may still be pending. Would you like me to widen the search, or can you share any additional details?"
  • Customer provides more details — retry lookup transaction-lookup
  • Customer still cannot locate the transaction and suspects fraud fraud-allegation escalation-fraud
  • Customer is satisfied and wants to close satisfied resolution

Fee Review

Say"I can see you have a concern about a fee on your account. Let me take a look at the details and check whether any options are available to you."

CoreBanking.GetFeeDetail for fee.type and fee.amount on customer.accountNumber

kb.fee-waiver-policy — check one-time waiver eligibility criteria for customer.accountType and account standing

Agent
evaluate waiver eligibility for fee.type of fee.amount on customer.accountNumber using account history and kb.fee-waiver-policy.
Goal:determine whether the customer qualifies for a one-time courtesy fee waiver and, if so, apply it; if not, explain why clearly and empathetically.
Constraints:never apply more than one waiver per calendar year per account; never waive fees on accounts with an active hold or delinquency flag; do not promise a waiver before eligibility is confirmed.
Tools available:CoreBanking.GetFeeDetail, CoreBanking.ApplyFeeWaiver, CoreBanking.GetAccountStanding, kb.fee-waiver-policy
  • Customer is eligible and agent applies waiver waiver-applied CoreBanking.ApplyFeeWaiver fee-waiver-confirmation
  • Customer is not eligible for a waiver waiver-ineligible fee-waiver-declined
  • Customer is upset and escalation is warranted needs-escalation escalation-human

Fee Waiver Confirmation

Say"Good news — you qualify for a one-time courtesy waiver on that fee. I have applied it to your account and it should be reflected within one business day. Is there anything else I can help you with today?"

CRM.LogInteraction tagged fee-waiver-applied, linked to customer.accountNumber and fee.type

  • Customer is satisfied satisfied resolution
  • Customer has an additional question inquiry-routing

Fee Waiver Declined

Say"I reviewed your account and unfortunately I am not able to apply a waiver at this time. I want to be transparent — your account has already received a waiver this year, so another one isn't available under our current policy. I'm sorry I can't do more here. Would you like me to connect you with a specialist who may have additional options?"
  • Customer accepts the outcome satisfied resolution
  • Customer wants to speak to a specialist or is upset escalation-requested escalation-human

System Error

Say"I apologize — I'm having trouble retrieving your account information right now. This is a system issue on our end, not with your account. I'll log this so our team can look into it, and I can arrange for a callback at your convenience."

CRM.LogIncident tagged system-error, linked to customer.accountNumber and customer.phone

CRM.ScheduleCallback for customer.phone at next available slot

  • Customer agrees to callback and conversation ends satisfied resolution
  • Customer wants to try again immediately account-lookup
  • Customer is very frustrated and demands to speak with someone now escalation-requested escalation-human

Escalation — Fraud or Dispute

Say"I take this very seriously. Let me flag this right away and connect you with our fraud team who can open a formal investigation and protect your account immediately."

FraudDetection.FlagAccount for customer.accountNumber tagged suspected-fraud, linked to transaction.id

CRM.CreateCase priority: high, tagged fraud-dispute, linked to customer.accountNumber and transaction.id

fraud-alert-follow-up

Escalation — Identity Verification Failed

Say"For your protection, I'm not able to continue with the inquiry after multiple unsuccessful verification attempts. I'd encourage you to visit your nearest branch with a government-issued ID, or use our secure identity reset flow through the mobile app."

CRM.LogIncident tagged verification-failure, linked to customer.phone

CRM.CreateCase priority: high, tagged identity-lockout

Escalation — Account Flag

Say"I can see there is a restriction on your account that prevents me from sharing details through this channel. I'll need to connect you with a specialist who can review what's happening and assist you directly."

CRM.CreateCase priority: high, tagged account-flag-review, linked to customer.accountNumber

CRM.LogInteraction tagged account-flag-escalation

escalation-human

Escalation — Human Specialist

Say"I'm going to transfer you to one of our account specialists right now. They'll have the full context of our conversation so you won't need to repeat anything."

CRM.CreateCase priority: high, tagged specialist-handoff, linked to customer.accountNumber

CRM.LogInteraction tagged escalation-human, with case summary

Resolution

Say"I'm glad I could help. To summarize what we covered today: your account information has been confirmed and any actions taken are noted on your account. If you ever have another question, don't hesitate to reach out. Have a great day!"

CRM.LogInteraction tagged inquiry-resolved, linked to customer.accountNumber

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Healthcare Support Agent▣ voice▣ chat▣ text

Appointment Reschedule / Cancellation

HealthcareSchedulingPatient Support

Intake and Identity Verification

Say"Thank you for reaching out. I can help you reschedule or cancel your appointment. To get started, may I have your full name and date of birth?"

EHR.LookupPatient using patient.fullName and patient.dateOfBirth to retrieve the patient record and patient.id.

Say"Thank you. Can you also confirm your patient ID or account number so I can pull up your appointment details?"

EHR.VerifyIdentity against patient.id and patient.accountNumber.

  • Identity verified successfully verified confirm-appointment-details
  • Identity cannot be verified after two attempts unverified identity-failure
  • Patient reports an urgent symptom or medical concern during intake urgent_concern clinical-triage-escalation

Identity Verification Failure

Say"I'm sorry — I wasn't able to verify your identity with the information provided. For your security, we're unable to make changes to your appointment until your identity is confirmed in person at one of our locations or through the patient portal with a verified login."

CRM.LogInteraction tagged identity-verification-failure, linked to patient.id

  • Patient accepts and ends the call accepted resolution-no-change
  • Patient escalates or disputes the inability to verify frustrated escalation-human

Confirm Appointment Details

EHR.GetAppointment for patient.id to retrieve appointment.date, appointment.provider, and appointment.id.

Say"I can see you have an appointment on appointment.date with appointment.provider. Are you looking to reschedule or cancel this appointment?"
Detect
patient intent on the request
  • Patient wants to reschedule reschedule reschedule-reason
  • Patient wants to cancel cancel cancellation-reason
  • Patient is vague or unsure unclear clarify-intent
  • Patient mentions a new or worsening symptom as the reason urgent_concern clinical-triage-escalation

Clarify Intent

Say"No problem — I just want to make sure I help you in the right way. Are you looking to move your appointment to a different time, or would you like to cancel it entirely?"
  • Patient confirms reschedule reschedule reschedule-reason
  • Patient confirms cancellation cancel cancellation-reason
  • Patient mentions a symptom or health concern urgent_concern clinical-triage-escalation

Reschedule — Reason Capture

Say"Understood. Could you briefly share the reason you need to reschedule? And do you have a preferred date or time range for the new appointment?"

CRM.LogInteraction tagged reschedule-request, linked to appointment.id

  • Patient provides a reason and preferred window has_preference check-slot-availability
  • Patient has no preference and any slot works no_preference check-slot-availability
  • Patient mentions a symptom or clinical concern as the reason urgent_concern clinical-triage-escalation

Check Slot Availability

SchedulingPortal.GetAvailableSlots for appointment.provider within the patient's preferred window.

  • Slots available with the same provider within the acceptable window slots_found offer-new-slot
  • No slots available with the same provider within the acceptable window no_slots no-availability-options
  • New slot requires eligibility check due to insurance or date change eligibility_check_needed insurance-eligibility-check

Offer New Slot

Say"I have a few openings with appointment.provider. Let me share those with you — which works best?"

SchedulingPortal.PresentSlots to surface top three available options.

Say"Once you confirm a time, I'll book that right away and send you a confirmation."
  • Patient selects a slot slot_selected SchedulingPortal.BookAppointment confirm-reschedule
  • Patient wants to see more options more_options SchedulingPortal.GetAvailableSlots extended range offer-new-slot
  • Patient changes mind and wants to cancel instead cancel cancellation-reason
  • Patient cannot find a suitable time no_match no-availability-options

No Availability Options

Say"I'm sorry — appointment.provider doesn't have availability within that window. I have a few options for you: I can offer you the next available slot with appointment.provider, or I can check for an earlier opening with another provider on the same care team, or I can add you to the waitlist so we can contact you if something opens up."
Detect
patient preference on alternatives
  • Patient accepts the next available slot with the same provider same_provider SchedulingPortal.BookAppointment confirm-reschedule
  • Patient accepts a different provider different_provider SchedulingPortal.GetAvailableSlots alternative providers offer-new-slot
  • Patient wants to join the waitlist waitlist SchedulingPortal.AddToWaitlist for patient.id and appointment.provider waitlist-confirmed
  • Patient is dissatisfied or requests provider callback frustrated escalation-human

Insurance Eligibility Check

Say"Before I confirm the new slot, I need to quickly verify your insurance coverage for that date. This will only take a moment."

EligibilityVerification.CheckCoverage using patient.id and insurance.status for newAppointment.date.

  • Coverage confirmed for the new date eligible offer-new-slot
  • Coverage issue detected — patient may owe out of pocket ineligible insurance-issue-flag
  • Eligibility check inconclusive inconclusive escalation-human

Insurance Issue Flag

Say"I was able to check your coverage, and there may be a gap in your insurance eligibility for the new appointment date. I want to make you aware before confirming so there are no billing surprises. Would you like to proceed, or would you prefer to speak with our billing team first?"
  • Patient wants to proceed anyway proceed offer-new-slot
  • Patient wants to speak with billing billing escalation-human
  • Patient decides to cancel instead cancel cancellation-reason

Cancellation — Reason Capture

Say"I can process that cancellation for you. Could you share the reason, even briefly? It helps us improve our scheduling."

EHR.CheckCancellationWindow for appointment.id to retrieve appointment.cancellationWindow.

CRM.LogInteraction tagged cancellation-request, linked to appointment.id

  • Within the cancellation window, no fee applicable no_fee process-cancellation
  • Inside the late-cancellation or no-show fee window fee_applicable late-cancellation-notice
  • Patient mentions a symptom or clinical concern as the reason urgent_concern clinical-triage-escalation

Late Cancellation Notice

Say"I want to let you know that this appointment falls within our late-cancellation window per clinic policy, which means a cancellation fee may apply. I want to make sure you're aware before I proceed. Would you still like to cancel?"

kb.cancellation-fee-policy — reference the applicable fee schedule and patient notification requirements.

  • Patient acknowledges and confirms cancellation confirmed process-cancellation
  • Patient disputes the fee or requests a waiver disputes_fee escalation-human
  • Patient decides to keep the appointment instead keep_appointment resolution-no-change

Process Cancellation

EHR.CancelAppointment for appointment.id, recording reason.change.

SchedulingPortal.ReleaseSlot for appointment.id.

CRM.UpdateRecord tagged cancelled, linked to patient.id and appointment.id.

Say"Your appointment on appointment.date with appointment.provider has been cancelled. You'll receive a confirmation shortly."

Twilio.SendNotification to patient.preferredContact with cancellation confirmation referencing appointment.date and appointment.provider.

  • Confirmation sent and patient has no further questions resolution-complete
  • Patient wants to reschedule after all reschedule reschedule-reason

Confirm Reschedule

EHR.UpdateAppointment replacing appointment.id with new slot details: newAppointment.date, newAppointment.time, newAppointment.provider.

CRM.UpdateRecord tagged rescheduled, linked to patient.id.

Say"You're all set. Your appointment has been moved to newAppointment.date at newAppointment.time with newAppointment.provider. A confirmation will be sent to your preferred contact on file."

Twilio.SendNotification to patient.preferredContact with reschedule confirmation including newAppointment.date, newAppointment.time, and newAppointment.provider.

  • Patient confirms receipt and has no further questions resolution-complete
  • Patient has an additional question or concern follow_up resolution-complete

Waitlist Confirmed

Say"You've been added to the waitlist for appointment.provider. If a slot becomes available that matches your preferences, we'll reach out right away via your preferred contact method. Is there anything else I can help you with?"

CRM.UpdateRecord tagged waitlisted, linked to patient.id and appointment.provider.

  • Patient has no further needs resolution-complete
  • Patient wants to also reschedule with a different provider in the meantime reschedule no-availability-options

Clinical Triage Escalation

Say"I want to make sure you get the right support. Before we make any changes to your appointment, I'd like to connect you with a clinical team member who can better assess what you're experiencing."

CRM.LogInteraction tagged clinical-concern, priority: high, linked to patient.id and appointment.id.

EHR.FlagForTriage for patient.id with note: patient reported symptom concern during scheduling interaction.

  • Triage nurse or clinical staff available to take the transfer escalation-human
  • After-hours: no clinical staff available Twilio.SendNotification urgent triage message to on-call line escalation-human

Escalation to Human Agent

Say"I'm going to connect you with a member of our team who can assist you further. Please hold for just a moment."

CRM.CreateCase priority: high, linked to patient.id and appointment.id, tagged for appropriate queue based on reason.

CRM.LogInteraction with full context: appointment.date, appointment.provider, reason.change, escalation trigger.

Resolution — No Change Made

Say"No changes have been made to your appointment on appointment.date with appointment.provider. If you need anything else, don't hesitate to reach out."

CRM.LogInteraction tagged no-change, linked to patient.id.

Resolution — Complete

Say"Is there anything else I can help you with today?"

CRM.LogInteraction tagged resolved, linked to patient.id.

  • Patient has no further needs no_further_needs session-closed
  • Patient has another request another_request intake-and-verification

Session Closed

Say"Thank you for reaching out. Take care, and we look forward to seeing you. Goodbye!"

CRM.CloseCase linked to patient.id.

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup
Financial Services Support Agent▣ voice▣ chat▣ sms

Account Closure Request

Financial ServicesAccount ManagementComplianceRetention

Intake and Identity Verification

Say"Thank you for contacting us. I understand you'd like to close an account today. Before we proceed, I'll need to verify your identity. Can I have your full name and date of birth?"

CRM.LookupCustomer using customer.fullName and customer.dateOfBirth

IdentityVerification.InitiateCheck for customer.fullName and customer.dateOfBirth

Detect
identity verification outcome
  • Verification passes confirmed account-selection
  • Verification fails on first attempt unconfirmed verification-retry
  • Account has an active fraud or legal hold flagged by IdentityVerification.InitiateCheck hold_detected escalation-human
  • Customer is linked to a business or trust account entity_account escalation-human

Verification Retry

Say"I wasn't able to verify your identity with those details. Let me try one more method — can you confirm the last four digits of your Social Security Number and the phone number on file?"

IdentityVerification.SecondaryCheck using additional customer-provided details

Detect
secondary verification outcome
  • Verification passes on retry confirmed account-selection
  • Verification fails again unconfirmed escalation-human

Account Selection

Say"Thank you, customer.fullName — your identity is verified. Which account or accounts would you like to close today? Please provide the account number or I can list the accounts currently on file."

CoreBanking.GetAccountList for verified customer record

Say"I can see the following accounts associated with your profile. Please confirm the account number or numbers you'd like to close."
Detect
customer intent on account selection
  • Customer provides a valid account number confirmed compliance-screening
  • Customer is unsure which account or requests guidance needs_help account-selection-assist
  • Customer becomes uncooperative or hostile hostile escalation-human

Account Selection Assist

Say"No problem — let me walk you through the accounts on your profile so we can identify the right one."

CoreBanking.GetAccountList — surface account type, last four digits, and current status for each account

Say"Can you confirm which of these is the account you'd like to close? I want to make sure we process the correct one."
  • Customer confirms account selection confirmed compliance-screening
  • Customer still cannot identify the account unconfirmed escalation-human

Compliance and AML Screening

ComplianceAML.ScreenAccount for account.number

CRM.LogInteraction note: closure request initiated for account.number

Detect
compliance screening outcome
  • Account clears compliance screening confirmed account-balance-check
  • Account flagged for elevated risk or AML concern high_risk compliance-review
  • Account has an existing legal or regulatory hold legal_hold escalation-human

Compliance Review

Agent
assess the flagged account against compliance.riskScore, account.status, and kb.aml-compliance-policy.
Goal:determine whether the closure request can proceed, must be held pending review, or must be escalated to the compliance team.
Constraints:never approve closure of a flagged account without documented risk assessment; never communicate hold details that would tip off a potentially fraudulent actor; always log the screening outcome to agent.caseId.
Tools available:ComplianceAML.ScreenAccount, ComplianceAML.GetRiskDetail, CRM.LogInteraction, kb.aml-compliance-policy
  • Agent determines low-risk flag, safe to proceed account-balance-check
  • Agent determines elevated risk requiring human review needs_review escalation-human

Account Balance and Pending Transaction Check

CoreBanking.GetAccountDetail for account.number — retrieve account.balance, account.pendingTransactions, and account.status

Detect
account financial state
  • Balance is zero and no pending transactions clear closure-reason-collection
  • Pending transactions exist on the account pending pending-transactions-hold
  • Outstanding balance or linked loan exists on the account balance_owed outstanding-balance-hold

Pending Transactions Hold

Say"I can see there are pending transactions on this account that haven't settled yet. Account closure will be processed automatically once all pending transactions have cleared — typically within three to five business days."

kb.account-closure-policy — confirm settlement window and closure processing rules for account.type

Say"Would you like us to proceed with the closure request now so it triggers automatically after settlement, or would you prefer to call back once the transactions have cleared?"
Detect
customer preference
  • Customer agrees to automatic post-settlement closure confirmed CoreBanking.QueueClosureRequest for account.number closure-reason-collection
  • Customer prefers to wait and call back declined closure-pending-confirmation
  • Customer escalates or disputes the pending transactions disputed escalation-human

Closure Pending Confirmation

Say"Understood — no problem. Your closure request has not been submitted. Please contact us again once your pending transactions have settled and we'll process the closure at that time. Is there anything else I can help you with today?"

CRM.LogInteraction note: customer deferred closure for account.number pending transaction settlement

Outstanding Balance Hold

Say"I'm showing an outstanding balance or a linked loan associated with this account. Before we can process the closure, the balance will need to be resolved — either paid in full or transferred to another eligible account."

kb.account-closure-policy — confirm balance resolution requirements for account.type

Say"Would you like me to walk you through your options for resolving the balance, or would you prefer to speak with a specialist?"
Detect
customer response
  • Customer agrees to resolve balance and requests options confirmed escalation-human
  • Customer requests more time and wants to call back declined closure-pending-confirmation
  • Customer disputes the balance disputed escalation-human

Closure Reason Collection

Say"Before we finalize the closure, I'd like to note the reason for your request — this helps us improve our services. Common reasons include switching to another institution, account no longer needed, fee concerns, or a change in financial goals. What's the primary reason for closing your account today?"
Detect
closure reason and customer sentiment
  • Customer cites fees or dissatisfaction with service frustrated retention-offer
  • Customer cites a neutral or logistical reason neutral funds-destination-collection
  • Customer shows signs of financial distress distressed financial-distress-flag

Financial Distress Flag

ComplianceAML.FlagForReview note: potential financial distress indicator on account.number

CRM.LogInteraction note: distress signal detected during closure request for customer.fullName

Say"I want to make sure we're exploring every option available to you before we proceed. We have resources that may help — would it be okay if I connected you with a financial wellness specialist?"
Detect
customer response
  • Customer agrees to speak with a specialist confirmed escalation-human
  • Customer declines and wishes to continue closure declined funds-destination-collection

Retention Offer

Say"I hear you, and I'm sorry to hear you've had that experience. Before we proceed, I'd like to see if there's anything we can do — such as a fee waiver, a rate adjustment, or a product that better fits your needs. Would you be open to hearing your options?"

kb.retention-offers-policy — surface eligible retention offers for account.type and customer.fullName profile

Detect
customer response to retention offer
  • Customer is open to retention options interested escalation-human
  • Customer declines and confirms they want to close confirmed funds-destination-collection

Funds Destination Collection

Say"To transfer your remaining balance, I'll need the destination account details — the bank name, routing number, and account number you'd like the funds sent to."

ACHTransfer.ValidateDestination for transfer.destinationAccount and transfer.destinationBank

Detect
destination verification outcome
  • Destination account validated successfully confirmed closure-confirmation
  • Destination account cannot be verified unconfirmed funds-destination-hold
  • Customer has no external account and requests a check CoreBanking.GetAccountDetail closure-confirmation

Funds Destination Hold

Say"I wasn't able to verify the destination account details you provided. To protect your funds, we'll need to place the closure on hold until we can confirm a valid transfer destination."
Say"You can provide updated banking details by calling us back, visiting a branch, or sending a secure message through your online banking portal. Once we have verified details on file, we'll process your closure and fund transfer right away."

CRM.LogInteraction note: closure held for account.number — destination account unverifiable

SecureMessaging.SendConfirmation to customer.email note: closure request on hold pending valid transfer details

Closure Confirmation

CoreBanking.SubmitClosureRequest for account.number — generate closure.requestId and closure.timeline

ACHTransfer.InitiateTransfer of account.balance to transfer.destinationAccount

CRM.LogInteraction note: closure submitted for account.number, request ID closure.requestId

SecureMessaging.SendConfirmation to customer.email with closure.requestId and closure.timeline

Say"Your closure request has been submitted. Your confirmation number is closure.requestId. Any remaining balance will be transferred to your destination account within closure.timeline business days. You'll receive a written confirmation at the email address on file."
Say"Is there anything else I can help you with today?"
Detect
customer response
  • Customer has additional questions or requests needs_help post-closure-support
  • Customer is satisfied and ends interaction confirmed resolution

Post-Closure Support

Say"Of course — I'm happy to help. What else can I assist you with?"

kb.account-closure-policy — reference post-closure FAQs including statement access, tax documents, and credit impact

Detect
nature of follow-up question
  • Question answered and customer satisfied confirmed resolution
  • Issue requires specialist involvement or account access complex escalation-human

Escalation to Human Agent

CRM.CreateCase priority: high, tagged account-closure-escalation, linked to account.number

CRM.LogInteraction note: escalation triggered — reason logged under agent.caseId

SecureMessaging.SendNotification to assigned specialist with customer profile, account.number, and case summary

Say"I'm going to connect you with a specialist who has the tools and authority to assist you further. They'll have full context on your request so you won't need to repeat yourself. Please hold for just a moment."

Resolution

Say"Thank you for contacting us today, customer.fullName. Your request has been handled and you'll receive written confirmation shortly. We appreciate your time and wish you all the best. Have a great day."

CRM.LogInteraction note: closure interaction completed for customer.fullName, account account.number

Tags:actionintentflagvariable#channelstepworkflowescalation{{template}}kb-lookup

Ready to stop experimenting and start deploying?

Learn how teams across every industry are deploying AI agents in production and seeing results from day one.

2026 Feather Financial Inc. All Rights Reserved.

Ready to stop experimenting and start deploying?

Learn how teams across every industry are deploying AI agents in production and seeing results from day one.

2026 Feather Financial Inc. All Rights Reserved.

Ready to stop experimenting and start deploying?

Learn how teams across every industry are deploying AI agents in production and seeing results from day one.

2026 Feather Financial Inc. All Rights Reserved.