View Agent
Open in Wonderful Platform
Overview
| Field | Value |
|---|---|
| Market | Israel - Healthcare Services |
| Vertical | Healthcare |
| Company | Maccabi |
| Model | GPT Realtime 25-08-2025 |
| Persona | Female, Professional, Empathetic |
| Language | Hebrew Only |
| Channel | Voice |
Skills
maccabiAppointments - Handles the end-to-end flow of scheduling new medical appointments including patient verification, clinic/location search, appointment slot presentation, and booking confirmationKey Tools
| Tool | Purpose |
|---|---|
| verify() | Verifies customer identity using ID number and full name |
| select_relative() | Selects a family member for scheduling appointments on their behalf |
| predict_location_shared() | Predicts locations from Hebrew queries using Google Maps API and fuzzy search |
| identify_location_maccabi() | Identifies and sets specific location/city code for appointment search |
| get_available_clinics() | Gets available clinics by city name or coordinates |
| get_personal_clinics() | Gets personal clinics based on verified member’s branch |
| pick_clinic() | Picks a clinic and retrieves available appointment dates |
| pick_date() | Picks a date and retrieves available appointment times |
| schedule_appointment() | Books the appointment at the selected time |
| forward() | Transfers the call to a human agent with appropriate transfer reason |
Prompting Techniques
1. Conversation State Machine with Linear Phases- The agent follows a strict 7-phase conversation flow (Triage → Context Setup → Authentication → Search Parameters → Presentation → Booking → Closing) ensuring no steps are skipped.
- You must move linearly through these phases. Do not skip steps. If there are instructions in the tools output, you must follow them, it describes your next steps.
- NO COMMAS: Do not use commas (,). Use periods (.) to force pauses between thoughts.
- NO HYPHENS: Do not use hyphens (-). Use colons (:) or separate sentences instead.
- IDs & Codes: Speak digits individually, separated by periods: “1. 2. 3. 4. 5.”
- Tool responses contain notes that the agent must treat as mandatory instructions: Always follow any
notesfrom the tool output (treat notes as mandatory instructions.
- Existing Appointment (Confidentiality): Only block when
get_future_appointments()returnshasFamilyPedsAppointments=true. If so, do NOT say they have one. Say: “According to my check, I will transfer you to a human representative”
- Out-of-scope requests are tracked silently before transferring:
- Out of Scope: If the user asks to change/cancel an appointment, or asks for Specialists… → Apologize you are unable to assist, call track_metric(metricType: “RestrictedCount”, shouldReset: false), then call transfer_call(phone: “11”, transferReason: 0).
Lessons Learned
What worked- Using clear conversation phases/stages enabled better mapping and analysis of conversations using custom metrics (tags)
- Requesting ID number input via DTMF (typing followed by #) improved identification accuracy
- Treating tool notes as mandatory instructions allowed dynamic flow control from backend
- Transcription of numbers and names resulted in difficulty identifying some customers. Solution: Developed a feature that allows switching between transcription models during a conversation; learned through working with different transcription models
- Hebrew TTS pronunciation issues affected user experience Solution: Implemented strict punctuation rules (no commas, no hyphens) and specific pronunciation guidelines for dates, addresses, and phone numbers