For restaurants and cafes

A restaurant chatbot that holds tables during the rush.

One open-source agent answers table and menu questions, holds tables in your booking tool and passes big groups to your manager.

Hotpot HouseActive now
  1. Messenger · replies by the Ecbot agent
  2. Saturday 6:52 PM · dinner rush
  3. hi got table for 8 tonight? around 7.30. got private room or not
  4. Google Calendarfind_free_table result: 7:30 PM · 8 pax · 2nd floor free · private room full
  5. Hi! The private room is full tonight, but a table for 8 at 7:30 is free on the quieter 2nd floor. Name and phone to hold it?
  6. ok book for me pls, Jason 012-xxx xxxx. any vegetarian food? 2 of us vegetarian
  7. Google Calendarhold_table result: Jason · 8 pax · 7:30 PM · 2nd floor
  8. Done: table for 8 at 7:30 under Jason. For your vegetarian friends: mushroom hotpot, tofu with mushroom sauce and greens, cooked in a separate pot.
  9. nice. remind me before ya, i always forget
  10. Reminder scheduled: 7:00 PM, in this chat
  11. oh also next month my company year end dinner, around 40 pax. deposit how much?
  12. For 40 people, our manager Mei will send the set menus and deposit details. She'll reply right here.
  13. Handed to Mei · full conversation attached

Example conversationMade-up restaurant, names and dishes; blue chips are logged tool calls the guest doesn't see.

Where restaurants lose bookings in the inbox

Three moments every busy restaurant knows.

The 7 PM request nobody sees

Guests message while deciding where to eat, just as your staff are seating people. By reply time, they've booked next door.

Same five questions all day

Hours, parking, vegetarian dishes, high chairs, wifi. It's all in your menu, but someone still types it.

A bot that books too much

A dinner for 40 or a deposit needs the owner. A menu bot treats it like a normal table.

How it works

Every message saved, even in the dinner rush.

A burst of 7 PM requests is kept in full. The agent answers from your menu, holds tables in your booking tool and hands off when it should.

Guests message on

  • Messenger
  • Zalo
  • WhatsApp
  • Telegram
  • Website

Every message kept

Answered in turn

Your restaurant's agent

One setup, every channel

KnowledgeToolsPlaybooks

The agent does the work

  • Answers from your menu and hours
  • Holds a free table in your booking tool
  • Reminds the guest before arrival
  • Big groups go to the managerSame inbox, full history
An agent that does the work

It holds the table, and logs every step.

Connect Google Calendar or Sheets through Composio, your restaurant software's REST API, or an MCP server. Each call is logged with its input and result.

  • Tables are held only through tools you connect
  • Failed calls show in the log with the error
  • Keep your software; the agent writes into it
Activity log · Hotpot House agent
TimeToolResult
18:52find_free_tableGoogle Calendar · Sat 19:30 · 8 paxOK
18:53hold_tableGoogle Calendar · Jason · 8 pax · 2nd floorOK
18:53append_rowGoogle Sheets · Bookings sheet · Sat 19:30OK
18:54schedule_followupEcbot · 19:00 · table reminderOK
19:41find_free_tableREST API · Sun 12:00 · 4 pax · timed outError
Your staff stay in charge

Big groups and deposits go to your manager.

The agent hands over on a guardrail, on keywords like “deposit” or “40 pax”, or when unsure. Your manager replies in the same inbox.

  • Guardrail: “groups over 20, deposits, complaints go to the manager”
  • Pause the agent on any chat, hand back later
  • Guests never repeat the date, headcount or phone

The agent hands over when

  • The customer asks for a person
  • The agent isn't confident
  • A guardrail blocks a message
  • A label you mark as urgent
  • Your handoff keywords
Conversations
Jason TanNeeds you

next month my company year end dinner, around 40 pax. deposit how much?

For 40 people, our manager Mei will send the set menus and deposit details. She'll reply right here.

Handed to staff: Your handoff keywords

StaffHi Jason, Mei here. We can close the second floor for 40. Set menus coming now; a 30% deposit holds the date.
One guest across every app

Messenger or WhatsApp, the regular is one guest.

One profile per guest across Messenger, WhatsApp, Zalo and Telegram. The agent sees past bookings and notes, like the two vegetarians in his group.

  • Regulars are recognised, with past bookings
  • Notes like “needs a high chair” follow the guest
  • Nothing is merged until a person confirms

Merge suggested

The Telegram profile “@jasontan” uses the same email as Jason Tan.

Jason Tan

012-xxx xxxx · jason@example.com

  • Regular
  • Group bookings
  • Company dinner

Contact points

  • Messenger · Jason TanTable for 8, Sat 7:30 PM · today
  • WhatsApp · +65 9xxx xxxxAsked about parking · last month
  • Website chat · Visitor #3307Asked for the lunch set menu · last month

Staff notes

Two vegetarians in his usual group. Prefers the second floor.

What keeps tables from slipping on Saturday

Every message answered, reminders before arrival, and playbooks for tricky requests.

No dropped messages at peak hour

When 50 table requests land at 7 PM, every one is kept and answered in turn.

  1. table for 8 tonight 7.30?Answered
  2. u guys open till what timeAnswered
  3. +50 messages at 7 PM

    got parking or notAnswered
  4. can bring my dog?Replying

A reminder before they arrive

The guest asks, or you set a rule, from 1 minute to 30 days out. Reminders live in the chat, not your calendar.

- Table booked for tonight: remind the guest 30 minutes before

  1. 18:53

    Table held for 8 at 7:30 PM under Jason

  2. 19:00

    Agent: “See you at 7:30, Jason! Table for 8, second floor.”

  3. Guest: “on the way!”

    No more follow-ups pending

Playbooks loaded on demand

Write how you handle birthdays, group bookings or complaints. The agent loads it only when a chat needs it.

skills/birthday-dinner.mdLoaded for this chat
# Birthday dinner
1. Ask the date, headcount and name for the cake
2. Hold the table with hold_table
3. Guests may bring their own cake
4. Groups over 20 go to the manager

Set up your restaurant's agent in three steps

Test it in a private chat before any guest sees it.

  1. 01

    Describe your restaurant in one sentence

    The agent builder suggests a persona, tone, goals and rules. Edit what's off.

    Describe your business

    A two-floor hotpot restaurant that takes table bookings on Facebook and WhatsApp; groups over 20 go to the manager

    Suggested by the agent builder. Edit anything.

    Persona
    Hana, the host at Hotpot House
    Tone
    Friendly and quick, short replies
    Goals
    • Answer menu, hours and parking questions
    • Find a free table and hold it
    Rules
    • Check the booking tool before promising a table
    • Never quote group deposits or set-menu prices
    • Hand groups over 20, deposits and complaints to the manager
  2. 02

    Add your menu and booking tool

    Upload menu, hours and booking rules, then connect Google Calendar, Sheets or your API.

    • menu-2026.pdf1.2 MBIndexed
    • opening-hours-and-parking.docx18 KBIndexed
    • booking-rules.md4 KBIndexed

    In Postgres with pgvector, on your server if you self-host

      Tools the agent can use

      • Google Calendarvia Composio
      • Google Sheetsvia Composio
      • Composiomarketplace
      • REST APIyour own
      • MCPany MCP tool
    • 03

      Connect channels and go live

      Facebook, WhatsApp, Zalo OA, Telegram or the website widget, from one setup.

      • MessengerAvailable
      • ZaloAvailable
      • WhatsAppAvailable
      • TelegramAvailable
      • Website chatAvailable

      On the roadmap: Instagram, TikTok Shop, Shopee, LINE

    Security

    Your business data stays yours.

    How Ecbot guards credentials, screens messages and keeps businesses apart.

    Encrypted credentials

    Platform tokens use AES-256-GCM with versioned keys, so keys rotate without taking channels offline.

    Secrets never reach the AI

    Credentials never enter the model's context, so no prompt can pull them out.

    Guardrails in both directions

    Incoming messages are screened for scams and prompt attacks, replies for leaked data. You set the strictness.

    Workspaces and roles

    Each business gets its own workspace. Staff join by invitation with a role, checked on every request.

    Open source. Self-host it if you want.

    On GitHub under AGPL-3.0, with every Cloud feature. Your knowledge stays in your own Postgres.

    View on GitHub

    Questions from restaurant and cafe owners

    Ecbot is an open-source AI agent that answers guests on Messenger, WhatsApp, Zalo, Telegram and your website. It answers menu and hours questions, holds tables in your booking tool, sends reminders and hands big groups to staff.

    Last updated: 2026-09-22

    Put an agent on your inbox before the next rush.

    Join the waitlist for Ecbot Cloud, or self-host the open-source version today.

    Or self-host the open-source version from GitHub