Restaurant staff spend hours every day answering the same questions: "Do you have gluten-free options?" "Can I make a reservation for 6pm?" "What's in the carbonara?" An AI agent handles all of that automatically, freeing your team to focus on in-person service.
This guide shows you how to build a complete restaurant AI agent with OpenClaw that handles table reservations, order taking, menu questions, and customer service across phone, WhatsApp, and your website.
What Your Restaurant AI Agent Will Do
By the end of this guide, your agent will handle:
- Table reservations — Check availability, book tables, send confirmations, and handle cancellations/modifications
- Order taking — Take delivery and pickup orders via phone, WhatsApp, or website chat
- Menu Q&A — Answer questions about ingredients, allergens, dietary options, and pricing
- Customer service — Handle complaints, special requests, and feedback collection
- POS integration — Sync orders directly to your kitchen display system
- Multi-language support — Serve customers in English, Spanish, Chinese, or any language
- Wait time updates — Provide real-time wait estimates and notify customers when tables are ready
Prerequisites
You'll need:
- A VPS or server (2GB+ RAM, Ubuntu 22.04+) — see our VPS guide
- OpenClaw installed — follow the EasySetup guide
- Your restaurant menu (digital format)
- Optional: POS system API access (Square, Toast, Clover)
- Optional: Twilio account for phone integration
Step 1: Install OpenClaw (10 minutes)
If you haven't installed OpenClaw yet, use our one-command installer:
curl -fsSL https://openclaw.org/install.sh | bash
Follow the prompts to set up your agent. Choose a name like "restaurant-agent" or your restaurant's name.
Step 2: Configure SOUL.md for Restaurant Operations (15 minutes)
The SOUL.md file defines your agent's personality and knowledge. Here's a restaurant-optimized template:
# SOUL.md — Restaurant AI Agent ## Identity You are the AI assistant for [Your Restaurant Name], a [cuisine type] restaurant in [location]. You help customers with reservations, orders, menu questions, and general inquiries. ## Personality - Warm and welcoming, like a friendly host - Knowledgeable about the menu and ingredients - Patient with dietary restrictions and special requests - Efficient but never rushed - Multilingual (English, Spanish, [other languages]) ## Menu Knowledge [Paste your full menu here with descriptions, prices, and ingredients] ### Dietary Options - Vegetarian: [list dishes] - Vegan: [list dishes] - Gluten-free: [list dishes or modifications] - Nut-free: [list dishes or warnings] ### Popular Dishes 1. [Dish name] — [Why it's popular] 2. [Dish name] — [Why it's popular] 3. [Dish name] — [Why it's popular] ## Reservation Rules - Capacity: [number] seats - Reservation window: [e.g., 2 weeks in advance] - Minimum party size for reservations: [number] - Large parties (8+): require phone confirmation - Cancellation policy: [your policy] - Peak hours: [e.g., Fri-Sat 6-9pm] ## Order Taking - Delivery radius: [miles/km] - Minimum order: $[amount] - Delivery fee: $[amount] - Estimated prep time: [minutes] - Payment: [methods accepted] ## Boundaries - Never guarantee specific wait times (provide estimates only) - Escalate to manager for: complaints about food quality, refund requests, large event bookings - Always confirm allergies and dietary restrictions before finalizing orders - Don't make promises about menu changes or special preparations without kitchen confirmation
Step 3: Set Up Reservation Management (20 minutes)
Your agent needs to check table availability and book reservations. Here's how to connect it to your reservation system:
Option 1: Simple Calendar Integration (Google Calendar)
Use Google Calendar as a basic reservation system:
# In AGENTS.md, add calendar tool access
tools:
- name: google_calendar
api_key: [your-api-key]
calendar_id: [your-calendar-id]
# Reservation workflow
- Check calendar for requested date/time
- If available: create event with customer details
- Send confirmation email/SMS
- Add to waitlist if fully booked
Option 2: Dedicated Reservation System (OpenTable, Resy)
If you use OpenTable or Resy, integrate via their API:
# OpenTable API integration
tools:
- name: opentable_api
restaurant_id: [your-id]
api_key: [your-key]
# The agent can:
- Query real-time availability
- Create/modify/cancel reservations
- Sync with your existing OpenTable account
Option 3: Custom Database
For full control, use a simple database:
# PostgreSQL reservation table CREATE TABLE reservations ( id SERIAL PRIMARY KEY, customer_name VARCHAR(100), customer_phone VARCHAR(20), party_size INT, reservation_time TIMESTAMP, status VARCHAR(20), special_requests TEXT ); # Agent queries this before booking
Step 4: Connect Communication Channels (15 minutes)
Make your agent accessible where customers are:
Phone Integration (Twilio)
Handle voice calls for reservations and orders:
# Install Twilio integration
npm install @openclaw/twilio-plugin
# Configure in openclaw.json
{
"channels": {
"twilio": {
"enabled": true,
"phone_number": "+1234567890",
"account_sid": "[your-sid]",
"auth_token": "[your-token]"
}
}
}
See the Twilio integration guide for detailed setup.
WhatsApp for Orders
Many customers prefer WhatsApp for ordering:
# WhatsApp Business API
{
"channels": {
"whatsapp": {
"enabled": true,
"business_number": "+1234567890"
}
}
}
Full guide: OpenClaw + WhatsApp
Website Chat Widget
Add a chat widget to your website:
<!-- Add to your website -->
<script src="https://your-server.com/openclaw-widget.js"></script>
<script>
OpenClawWidget.init({
agentId: 'restaurant-agent',
position: 'bottom-right',
greeting: 'Hi! Need a table or have menu questions?'
});
</script>
Step 5: POS Integration for Orders (30 minutes)
Connect your agent to your POS system so orders go directly to the kitchen:
Square Integration
# Square API setup
tools:
- name: square_pos
access_token: [your-token]
location_id: [your-location]
# When customer places order:
1. Agent creates order in Square
2. Order appears on kitchen display
3. Customer receives confirmation with order number
Toast Integration
# Toast API
tools:
- name: toast_api
restaurant_guid: [your-guid]
api_key: [your-key]
# Supports:
- Menu sync (auto-update when you change menu in Toast)
- Order creation
- Modifier handling (extra cheese, no onions, etc.)
Generic POS via Webhooks
If your POS doesn't have an API, use webhooks:
# Agent sends order to your webhook endpoint
POST https://your-pos-system.com/webhook/new-order
{
"customer": "John Doe",
"phone": "+1234567890",
"items": [
{"name": "Margherita Pizza", "quantity": 1, "mods": ["extra cheese"]},
{"name": "Caesar Salad", "quantity": 1}
],
"total": 28.50,
"type": "delivery",
"address": "123 Main St"
}
Step 6: Test Your Agent (15 minutes)
Before going live, test all workflows:
Reservation Test
- Call/message: "I need a table for 4 on Friday at 7pm"
- Verify: Agent checks availability, books table, sends confirmation
- Test: Modification ("change to 8pm") and cancellation
Order Test
- Call/message: "I want to order a large pepperoni pizza for delivery"
- Verify: Agent confirms address, takes order, provides ETA
- Check: Order appears in POS system
Menu Q&A Test
- Ask: "Do you have vegan options?"
- Ask: "What's in the carbonara?"
- Ask: "Is the tiramisu gluten-free?"
- Verify: Accurate, helpful responses
Step 7: Go Live and Monitor (Ongoing)
Launch your agent and monitor performance:
# Check agent logs openclaw logs restaurant-agent --tail 100 # Monitor metrics - Reservation conversion rate - Order accuracy - Average response time - Customer satisfaction (ask for feedback)
Advanced Features
Wait Time Notifications
Notify customers when their table is ready:
# When table becomes available agent.notify(customer_phone, "Your table for 4 is ready! Please come to the host stand.")
Loyalty Program Integration
Track repeat customers and offer rewards:
# Check customer history
if (customer.visit_count > 10) {
offer_discount("Thanks for being a regular! 10% off today.");
}
Feedback Collection
Automatically ask for feedback after meals:
# 1 hour after reservation time agent.send_message(customer_phone, "How was your meal at [Restaurant]? Reply with a rating 1-5 and any comments.")
Real-World Example: Bella's Trattoria
Bella's Trattoria, a family-owned Italian restaurant in Chicago, implemented an OpenClaw agent in January 2026:
Before AI agent:
- Host spent 60% of shift answering phone calls
- Missed 30% of calls during dinner rush
- Frequent reservation errors (double bookings, wrong times)
- No capacity for takeout orders during peak hours
After AI agent (3 months):
- 100% of calls answered, even during rush
- Reservation errors dropped to near zero
- Takeout orders increased 40% (agent handles phone orders)
- Host now focuses on greeting guests and managing floor
- Customer satisfaction up 25% (faster service, fewer mistakes)
Cost: $45/month (VPS + API costs) vs $2,400/month for additional staff
Common Challenges and Solutions
Challenge: Handling Complex Dietary Restrictions
Solution: Maintain detailed ingredient lists in SOUL.md. For complex cases, agent says: "Let me check with the kitchen" and escalates to staff.
Challenge: Accent Recognition on Phone
Solution: Use Twilio's enhanced speech recognition. For difficult cases, agent offers to switch to SMS/WhatsApp.
Challenge: Peak Hour Overload
Solution: Agent handles unlimited concurrent conversations. No overload possible.
Frequently Asked Questions
How much does a restaurant AI agent cost?
VPS hosting: $5–12/month. API costs (Twilio, OpenAI): $20–80/month depending on call volume. Total: $25–100/month vs $2,000+/month for a full-time phone operator.
Can the AI agent handle phone calls?
Yes. Integrate with Twilio or Vonage for voice calls. The agent can take reservations, answer menu questions, and handle orders over the phone using text-to-speech and speech-to-text.
What languages does the restaurant AI agent support?
OpenClaw supports 50+ languages. Configure your agent to handle English, Spanish, Chinese, or any language your customers speak. It can even switch languages mid-conversation.
How long does it take to set up?
Basic setup (reservations + menu Q&A): 1–2 hours. Full setup with POS integration and delivery: 3–5 hours. Most restaurants are live within a day.
Does it integrate with my POS system?
Yes, if your POS has an API. OpenClaw integrates with Square, Toast, Clover, and most modern POS systems. Legacy systems may need a middleware solution like Zapier.
Get Started Today
Building a restaurant AI agent doesn't require technical expertise or a big budget. With OpenClaw and the right configuration, you can have a working agent handling reservations and orders within a few hours.
Your staff will thank you for eliminating repetitive phone calls, and your customers will appreciate faster, more accurate service.
🍽️ Ready to Build Your Restaurant AI Agent?
Get 100 ready-to-use SOUL.md templates including restaurant, hospitality, and customer service — only $9.90
Get SOUL.md Mega Pack →Or start free: Download 5 Free Templates