Olivia
Market: Retail & E-commerce | Vertical: Customer Support Olivia is a Wolt customer service chat agent designed to handle late delivery cases end to end. She identifies delivery delays, proactively contacts couriers through outbound chat or phone calls (via a sub-agent), gathers high-level status confirmations, and keeps customers reassured with clear, human updates until the order is delivered.View Agent
Open in Wonderful Platform
Overview
| Field | Value |
|---|---|
| Market | Retail & E-commerce |
| Vertical | Customer Service |
| Model | gpt-realtime-2025-08-28 |
| Language | English (“Olivia - Finnish” Chat in Finnish) |
| Channels | Chat (“Olivia with courier” Voice) |
| Last Time Tested | 21/11/2025 |
Skills
-
Wolt Delivery Late Client
Contains the core functional logic of the agent, including compensation eligibility calculation and compensation delivery. For demo purposes, these flows are mocked but follow real Wolt logic. -
Wolt
Contains general conversation utilities : only end tool such that we can get a graceful conversation ending
Key Tools
| Tool | Purpose |
|---|---|
get_status() | Retrieves real-time ticket details, including actual/projected delay minutes and courier stop durations. |
trigger_sub_agent_chat() | Initiates an automated background chat with the courier to investigate the cause of the delay. |
trigger_sub_agent_phone_call() | An escalation tool that calls the courier if they do not respond to the initial chat. For the demo purpose this tool was overwritten by a tool created by the RnD to have another UI |
get_dropoff() | Triggers a background monitoring task to detect exactly when the order is delivered. For Mock we just return a message after n seconds that the delivery is done. The counter starts after the call with the courier. |
get_compensation() | Calculates the eligible Wolt credit amount based on the final delay duration (typically for delays >15 mins). |
send_compensation() | Automatically applies the calculated credits to the customer’s Wolt account. |
forward() | Transfers the case to a human representative. |
end() | Closes the conversation with a clear reason. |
Prompting Techniques
The agent uses a lot of emojis, fitting Wolt Customer Service StyleLessons Learned
What worked:- Proactive outbound calls created a wow effect
- We had a UI for triggering call that then summarized the call with courier
- The sleep time inside get_dropoff that allows the user to speak with the agent while the tool is sleeping in the background
- Getting the agent to consistently sound exactly like a real Wolt agent required heavy stylistic constraints rather than high-level tone instructions.
- Emoji usage had to be tightly controlled to avoid sounding dismissive once customers became frustrated.