Maria
Market: Telecommunications | Vertical: Outbound Sales Maria is a MEO outbound voice agent designed to contact existing MEO prepaid mobile customers in Portugal. She identifies potential interest in switching to postpaid plans, handles objections in a warm and natural way, and transfers qualified leads to human specialized colleagues for final conversion. She serves as a first filter before the sale. A scheduler has also been implemented to plan outbound calls and manage callbacks.View Agent
Open in Wonderful Platform
Overview
| Field | Value |
|---|---|
| Market | Telecommunications |
| Vertical | Outbound Sales / Lead Qualification |
| Model | gpt-realtime-2025-08-28 |
| Orchestrator | Hybrid |
| Language | European Portuguese |
| Channels | Voice |
| Last Time Tested | 23/01/2026 |
Skills
- MEO - Contains all core functional logic including call handling, phone validation, time utilities, knowledge base access, and session management.
Key Tools
| Tool | Purpose |
|---|---|
get_call_details() | Retrieves client name, initial message already spoken, and previous call history at conversation start. |
get_meo_basic_knowledge() | RAG tool querying MEO brand knowledge (origin, sub-brands, awards, network quality). |
get_time() | Returns current date/time in Portugal for scheduling validation. |
get_date_day() | Returns day of week for a given ISO date to validate callback scheduling. |
forward_to_colleague() | Transfers qualified leads to human specialized colleagues. |
end_session() | Closes conversation with time-appropriate Portuguese farewell. |
confirm_portuguese_phone_number() | Validates 9-digit Portuguese phone numbers and returns E.164 format. |
save_data() | At the end of each call it persists data collected during the call to save it as outcome for the scheduler. |
greetings() | Returns dynamic greeting sentence and save contact info from the scheduler. |
get_contact() | Pre-call function to save contact values. (Duplicate of greetings, because dynamic initial message had problems) |
Prompting Techniques
Proactive and Confirmation First Tools
This approach is inspired by the OpenAI Cookbook. Tools are classified as Proactive or Confirmation First. Proactive tools can be called without explicit user agreement, while Confirmation First tools require clear user consent.Structured Objection Handling
Objection Handling very structured outside of the conversation flowLanguage-Specific Vocabulary Restrictions
Cultural sensitivity rules for European Portuguese:Step-Based Conversation Flow
StoryBrand Framework in Objective
Uses Problem-Plan-Success narrative structure:Lessons Learned
- A custom voice strategy was required to achieve a consistent European Portuguese accent. This was done by taking an OpenAI base voice, recording approximately 15 seconds of MEO speech with the desired accent (Portuguese from Portugal), and using it as a custom voice reference.
- Voicemail detection and scheduling logic significantly impact outbound efficiency and need to be treated as first-class features.
- The agent initial message can now but interrupted as this is very important for outbound calls.
- [Not implemented yet] Injecting
get_call_detailsresults to the agent might give better results - Being deterministic about time references (for example, using a tool to check the date to make sure the agent understands “tomorrow”) reduces confusion and improves scheduling accuracy.
- Applying the StoryBrand framework helped keep the objective focused and customer-centric, even in short outbound calls.
- Consistent European Portuguese voice.
- Reliable scheduler and callbacks.
- Voicemail detection.
- Attention capture in outbound calls.
- Measuring intent.
- Portuguese accent was lost in the context and we got a lot of accent switching to Brazilian (before the strategy from Lessons learned).
- High objections rules volume despite a simple use case.
- Long prompt.
- Avoiding robotic or repetitive delivery.