How to have your AI agent call a restaurant
Ask Claude Code, Codex, claude.ai or Muse to book a table by phone: what to tell it, what the restaurant hears, how mid-call questions work, and what it costs (a 2-minute booking is about $0.27).

Tell your agent which restaurant to call, when you want to eat, how many people, and how flexible you are. With Tuvoz installed, your agent writes a short brief, shows it to you, and dials after you say yes. Tuvoz’s voice agent makes the call, asks your agent if the restaurant offers something the brief doesn’t cover, and reports back with the result. A 2-minute 14-second booking costs $0.27.
This guide uses a made-up restaurant, Luigi’s Trattoria at (415) 555-0142, and a made-up user, Jane Doe.
Before you start
- Set up Tuvoz in your agent: paste
Set up Tuvoz: https://tuvoz.io/agentsand follow the sign-in link. Agent-specific steps: Claude Code, Codex, claude.ai, Meta Muse. - Find the restaurant’s number on its own website or its listing. Use the local number, not a toll-free line or someone’s mobile: Tuvoz calls listed business landlines and won’t call toll-free numbers.
- Pick a time to call between 9 am and 8 pm in the restaurant’s time zone. Tuvoz won’t dial outside that window. Mid-afternoon usually reaches someone who isn’t in the middle of dinner service.
Step 1: Say what you want, including your limits
Write it the way you’d tell a friend who’s calling for you:
Call Luigi’s Trattoria at (415) 555-0142 and book a table for 4 this Friday around 7:30. Anything from 7 to 8:30 is fine. It’s Sam’s birthday, so ask if they can do a candle with dessert. Don’t agree to a deposit.
The useful parts: the number and where it came from, the party size, the range of times you’d accept, any extras, and what the agent must not agree to.
Step 2: Check the brief before it dials
Your agent turns that into a call file and shows it to you. With Claude Code it looks like this:
{
"to": "+14155550142",
"brief": {
"goal": "Book a table for 4 on Friday, Oct 16 at 7:30 PM under Jane Doe",
"purpose": "a dinner reservation",
"callee_label": "Luigi's Trattoria (restaurant)",
"context": "A birthday dinner for Sam. Indoor seating preferred.",
"facts": {"name for the booking": "Jane Doe", "party size": "4", "phone for the booking": "(415) 555-0199"},
"fallbacks": "Any time from 7:00 to 8:30 PM works. If Friday is full, ask about Saturday at the same times, but don't book Saturday without checking.",
"constraints": ["Don't agree to a deposit or give card details; say Jane will handle that herself", "Ask whether they can bring a candle with dessert"],
"voicemail": "none"
},
"initiation": {"instruction_verbatim": "Call Luigi's Trattoria at (415) 555-0142 and book a table for 4 this Friday around 7:30. Anything from 7 to 8:30 is fine. It's Sam's birthday, so ask if they can do a candle with dessert. Don't agree to a deposit.", "recipient_named_by_human": true, "attended": true},
"max_minutes": 8
}
Check three things: the number, the purpose (the restaurant hears it word for word), and the facts the voice agent may share. Anything not in facts stays private. instruction_verbatim is your request exactly as you typed it, kept as the record that you asked for this call. Then say yes.
Step 3: What the restaurant hears
The call opens the same way every time:
“Hi! I’m Jane Doe’s AI assistant, calling through Tuvoz about a dinner reservation.”
After the host replies, it asks:
“Just so you know, Tuvoz records this call, and it may be used to train AI. Other AI companies may get a transcript with names and numbers removed. Is that okay with you?”
If they say yes, the voice agent asks for the table. If they say no, it says “No problem at all, I’ll let Jane know.”, gives Tuvoz’s callback number and hangs up, and Tuvoz keeps nothing they said. Our AI voice provider processes their words live to run the call and may keep them for a limited time for abuse monitoring, as our Privacy Policy explains. Your agent tells you, and you can call yourself.
If the restaurant answers with a phone menu (“press 1 for reservations”), the voice agent uses the keypad and waits for a person before it introduces itself.
Step 4: Questions during the call
Restaurants offer alternatives. When the host says something the brief doesn’t settle, the voice agent asks your agent and keeps the host company while it waits. In Claude Code, the call events look like this:
STATUS in_progress phase=conversation
QUESTION q1 6f1c2d9e-8b7a-4c3d-9e2f-1a2b3c4d5e6f deadline=45s: They have 7:30 on the patio or 8:15 inside. Which one?
ANSWERED q1 source=harness: 8:15 inside.
Your agent answers from what it knows (“indoor seating preferred” was in the brief). If it can’t answer, or isn’t watching, Tuvoz calls your phone, asks you, and passes your answer back into the call. More on this in how the mid-call backchannel works.
Some answers need your tap in the Tuvoz dashboard before they reach the call: anything that agrees to pay money or shares details that weren’t in the brief, like an email address. The voice agent never reads out card numbers, so if Luigi’s needs a card to hold the table, it says Jane will follow up.
Step 5: The result
When the call ends, your agent reports back:
NOTE booking=Friday 8:15 PM, party of 4, under Doe
ENDED result=success billed=134s cost=$0.27 summary=Booked a table for 4 at 8:15 PM Friday, inside, under Jane Doe. They'll bring a candle with dessert.
134 seconds × $0.002 = $0.27. Tuvoz charges $0.12 a minute, billed per second, with a 30-second minimum per answered call leg, including calls to your own phone. Calls nobody answers cost nothing.
Common questions
What if nobody picks up? The voice agent hangs up without leaving a message (that’s the default). You pay nothing, and your agent can try again later.
Can it call the restaurant owner’s mobile? Only if the owner agreed to AI calls and you added the number in your Tuvoz settings. Otherwise use the restaurant’s listed number.
Can it book several restaurants at once to see who has a table? It can call up to 3 at once on a paid account, but book only what you’ll keep. Holding tables you won’t use costs restaurants real money.
Does it work for takeout orders? It can place a simple order if the brief has everything, but it won’t give card details on the phone. Pay at pickup or online.
Start with 15 free minutes. Free plan includes training on your calls. Set up Tuvoz.