Skip to content

Banking

Banking Scenario

Model: Service-first · Entry: BankingConcierge · Handoffs: All discrete


Architecture

         ┌──────────────────┐
         │ BankingConcierge │ ← Handles 80% of requests
         └────────┬─────────┘
        ┌─────────┴─────────┐
        ▼                   ▼
  ┌───────────┐      ┌──────────────┐
  │   Cards   │ ◄──► │ Investments  │
  └───────────┘      └──────────────┘

All handoffs are discrete — feels like one continuous conversation.


Agents

Agent Purpose Key Tools
BankingConcierge Entry point, general banking get_account_summary, refund_fee
CardRecommendation Credit cards, e-signature search_card_products, finalize_card_application
InvestmentAdvisor 401k, retirement, tax get_rollover_options, calculate_tax_impact

Test Scripts

Script 1: New Job Setup (Golden Path)

Customer needs direct deposit + 401k rollover guidance

Full Conversation
# Caller Agent Tool
1 "I just started a new job" "Congrats! Direct deposit or 401k questions?"
2 "Direct deposit first" "Your routing: 021000021, account ends 4567" get_account_summary
3 "Now my old 401k" "Let me check your retirement accounts" handoff_investment_advisor
4 "You have $75k at TechCorp. Four options..." get_401k_details
5 "What if I cash out?" "20% withholding + 10% penalty = $30k+ loss" calculate_tax_impact
6 "I'll do the IRA" "Smart. Contact TechCorp to initiate."
7 "Any travel cards?" "Let me find options" handoff_card_recommendation
8 "Sapphire Reserve: no foreign fees, lounge access" search_card_products
Validated
  • [x] Discrete handoff Concierge → Investment
  • [x] Cross-specialist handoff Investment → Cards
  • [x] Tax impact calculation with penalties
  • [x] Natural conversation flow

Script 2: Card Application (E-Signature)

Customer applies for travel card with full e-sign flow

Full Conversation
# Caller Agent Tool
1 "I want a travel card" "International travel often?"
2 "5 times a year" "Sapphire Reserve is best. No foreign fees." search_card_products
3 "Annual fee?" "$550, but credits offset for travelers" search_credit_card_faqs
4 "I'll apply" "You're pre-approved! Sending agreement..." evaluate_card_eligibility
5 "Check email for 6-digit code" send_card_agreement
6 "Code is 385729" "Verified. Finalizing..." verify_esignature
7 "Approved! Ships in 3-5 days." finalize_card_application
Validated
  • [x] Product search by preference
  • [x] FAQ retrieval for fees/APR
  • [x] Full e-signature flow
  • [x] Application finalization

Script 3: Fee Dispute

Platinum customer disputes foreign ATM fee

Full Conversation
# Caller Agent Tool
1 "Question about a fee" "Let me pull your transactions" get_recent_transactions
2 "The London ATM fee" "$18: $10 bank fee + $8 ATM owner fee"
3 "Can you waive it?" "As Platinum, yes. Process refund?"
4 "Yes" "Done. Credit in 2 business days." refund_fee
5 "Cards with no foreign fees could help. Interested?"
Validated
  • [x] Transaction lookup with fee breakdown
  • [x] Tier-based waiver eligibility
  • [x] Permission before refund
  • [x] Proactive next-best-action

Configuration

registries/scenariostore/banking/orchestration.yaml
name: banking
start_agent: BankingConcierge

agents:
  - BankingConcierge
  - CardRecommendation
  - InvestmentAdvisor

handoffs:
  - from: BankingConcierge
    to: CardRecommendation
    tool: handoff_card_recommendation
    type: discrete

  - from: BankingConcierge
    to: InvestmentAdvisor
    tool: handoff_investment_advisor
    type: discrete

  - from: CardRecommendation
    to: InvestmentAdvisor
    tool: handoff_investment_advisor
    type: discrete

  - from: InvestmentAdvisor
    to: CardRecommendation
    tool: handoff_card_recommendation
    type: discrete

  - from: CardRecommendation
    to: BankingConcierge
    tool: handoff_concierge
    type: discrete

  - from: InvestmentAdvisor
    to: BankingConcierge
    tool: handoff_concierge
    type: discrete