Camila
Market: Telecommunications | Vertical: Billing & Payments Camila is a Movistar Colombia voice agent for the “Facturación y Pagos” (Billing and Payments) department. She verifies the customer’s identity, answers questions about debt status, invoice breakdowns, and bill comparisons, and closes each call with a mandatory satisfaction survey. She speaks natural Colombian Spanish and handles both mobile and fixed telephone lines.View Agent
Open in Wonderful Platform
Overview
| Field | Value |
|---|---|
| Market | Colombia - Telecommunications |
| Vertical | Billing & Payments / Customer Service |
| Company | Movistar Colombia (Telefonica) |
| Persona | Female, Professional, Friendly, Calm, Empathetic |
| Language | Colombian Spanish |
| Channel | Voice |
Skills
Identification Process - Validates the customer’s phone number (Colombian mobile and fixed-line formats) and verifies their identity against Telefonica’s systems. Handles the nuances of Colombian ID numbers dictated over voice, normalizing varied formats into a single digit string. Escalates gracefully after three failed verification attempts. Billing & Debt Inquiry - Answers billing questions using real-time data from Telefonica’s APIs. Covers debt status, current and previous invoice breakdowns, equipment installments, and bill comparisons. Enforces a strict source-of-truth rule where the agent only states exact values returned by tools. Closes with a mandatory two-question satisfaction survey submitted to a tracking sheet.Key Tools
| Tool | Purpose |
|---|---|
| read_varcognitivo | Global tool that runs before the first message. Reads telephony metadata from the SIP header to seed customer context into the session. |
| phone_number_validator | Validates and normalizes Colombian phone numbers (10-digit mobile starting with 3, fixed-line with department-based area codes). Returns line type and whether a department is needed. |
| verify_user | Verifies customer identity against Telefonica’s billing system using phone number and ID. Stores verification status in session for downstream skills. |
| end_after_reoccuring_failure | Terminates the call after three failed verification attempts with a message directing the customer to alternative support channels. |
| check_user_debt_status | Retrieves debt summary, status code, due date, last payment, and aging buckets. The single source of truth for “how much do I owe” questions. |
| get_user_billing_info_current | Fetches the current invoice with charge breakdowns, equipment installments, billing cycle, and payment reference. Used for bill explanation questions. |
| get_user_billing_info_previous | Fetches the previous billing cycle data for side-by-side comparisons when a customer asks why their bill increased. |
| survey_questions | Returns the two mandatory survey questions (satisfaction score 0-9 and service quality score 1-5). |
| submit_survey_to_sheet | Submits the completed survey with both scores, optional remarks, and resolution status to a tracking webhook. |
| is_user_solved | Tags the interaction as resolved or unresolved based on the customer’s confirmation after the clarity question. |
Prompting Techniques
Query Triage with Three Paths
The base prompt routes every inbound query into one of three paths before any skill is activated: in-scope billing inquiries go straight to identification, soft out-of-scope Movistar topics (tech support, cancellations) are redirected to the Mi Movistar app, and hard out-of-scope requests get a short boundary response. This prevents the agent from drifting into topics it cannot resolve.Colombian ID Concatenation
Colombian IDs can be dictated in fragments with separators (slashes, dashes, pauses). The prompt instructs the agent to treat any format containing digits as complete, concatenate into a single digit string, and call verification immediately rather than asking the customer to repeat without separators.Numbers and Dates as Words
Because this is a voice interaction in Colombian Spanish, all monetary amounts and dates are spelled out as words rather than digits. This avoids ambiguity when the language model reads numbers aloud.Clarity Confirmation Loop
After every billing answer, the agent asks “Quedó clara la información?” before moving on. The customer’s response determines whether to mark the issue as resolved, handle a follow-up question, or proceed to the survey offer. This ensures the customer is never rushed past an answer they did not fully understand.”Cancelar” Dual Meaning
In Colombian Spanish, “cancelar” can mean both “pay” and “terminate.” The prompt includes explicit disambiguation: if the conversation has billing context (debt, balance, invoice), treat it as a payment question; only if the customer explicitly mentions leaving Movistar or switching carriers, treat it as cancellation.Lessons Learned
What worked:- Pre-call ID extraction from telephony metadata: Extracting the customer’s national ID from the SIP header (
X-Varcognitivo1) before the conversation starts allowed the agent to verify customers automatically when they were calling about the line associated with that ID. This significantly reduced call duration and avoided the repeated failed attempts that occurred when customers tried to dictate their ID over voice. - Structured survey protocol: Embedding the two-question survey as a mandatory step in the conversation flow (with a strict state machine: Q1 score, optional remark, Q2 score, then submit) ensured consistent data collection without the survey being accidentally skipped or partially submitted.
- Colombian phone number normalization: Building a dedicated validator that handles 10-digit mobile numbers, 7-digit fixed-line numbers with department-to-area-code mapping, and various prefix formats (country code stripping, leading zeros) covered the range of number formats Colombian customers use.
- Source-of-truth enforcement: Instructing the agent to never approximate or round amounts and to always use exact values from tool responses prevented a class of errors where the language model would paraphrase or estimate billing figures.
- Colombian ID dictation over voice: National ID numbers like 1005745399 are naturally spoken as “un millón cinco, setenta y cuatro…” in Spanish, which frequently led to transcription errors, wrong verifications, and multiple failed attempts. The ID concatenation technique in the prompt helped, but voice-to-number accuracy for long digit sequences remains inherently difficult.
- Fixed-line number variety: Colombian fixed-line numbers require a department-based area code prefix, and customers rarely provide it upfront. The validator needs to ask for the department, map it to the correct area code, and re-validate, adding friction to the verification step.
- Preventing hallucinated amounts: Without explicit guardrails, the agent would occasionally paraphrase or round billing amounts. The strict “no approximate” rule and tool-notes-first approach were necessary to keep responses accurate, but required verbose prompting.
- Survey interruptions: Customers sometimes ask a new billing question mid-survey. The prompt handles this with a pause-resolve-resume pattern, but maintaining survey state across the interruption adds complexity to the conversation flow.