Contact Sales

All fields are required An AI-powered Restaurant Reservation… | SignalWire
Developers An AI-powered Restaurant Reservation System

Building a restaurant reservation system with SignalWire AI Agent

FreeSWITCH Enterprise Support Lead and Head of Developer Experience

Len Graham and Brian West

Building an AI-powered Restaurant Reservation System

Welcome to – a functional demo of a restaurant reservation system using SignalWire's multi-factor authentication (MFA) API and an AI agent. This example will demonstrate how to optimize your reservation process using AI, creating a seamless experience for customers (and for you).

SignalWire AI Agent is a powerful tool that allows you to build and deploy your own digital employee. Powered by advanced natural language processing (NLP) capabilities, your AI voice agent will understand caller intent, retain context, and generally behave in a way that feels “human-like.”


You can create a no-code AI agent using our simple drag-and-drop interface. However, building this particular example for reservation management requires a significant amount of code and other tools to get started.

In this GitHub repository, you will find the full prompt powering the AI, along with all the functions written in Perl. In addition to what is included in this repository, you will also need a web server (like NGINX), a database (like PostgreSQL), SignalWire's MFA API, and an approved campaign for SMS.

To test out this live demo, call 1 (754) 43-BOBBY

Design and Security Highlights

At the heart of is its website, serving as the display for reservation details. While it could be secured with a username and password, this demo was left open deliberately to showcase the bot's functionality. Users can input reservation details such as date, time, party size, guest name, and contact number. prioritizes user experience with its simple design, emphasizing clear steps for reservation management. The system incorporates verification steps to add an extra layer of security, while the footer provides additional contact information and links to partner services.

SMS Integration and SignalWire AI Agent

Beyond web interactions, extends its reach through SMS, providing reservation details and a unique link for online updates. This integration showcases SignalWire's broader capabilities of contacting customers across multiple channels, combining an AI agent for voice with the convenience of SMS.

The confirmation message includes:

  • Reservation name

  • Reservation date and time

  • Instructions to update the reservation online with a unique link

  • The option to unsubscribe to comply with SMS regulations

Interactive features for customers provides a user-friendly reservation management process. Customers verify their reservation by entering their phone number, undergo a security check with SignalWire’s MFA API, and finally, they can update or cancel reservations.

The site's interactivity is powered by form inputs and links, allowing customers to easily update or cancel their reservations. Here's how it works:

Step 1: Verifying the Reservation

Customers begin by entering the phone number under which the reservation was made. This step is crucial for identifying the correct reservation to be updated.

Step 2: Security Verification

In the second step, customers are asked to input the verification code (powered by the SignalWire MFA API) sent to their phone. This level of security ensures that only the person who made the reservation can modify it.

Step 3: Updating Reservation Details

Finally, customers can update their reservation details, such as the name on the reservation, the number of people, or the date and time. They can also choose to cancel the reservation in this step.

Footer Section

The footer provides additional contact information and links to partner services like DineDash, MealZoom, and RapidFeast to enhance the user experience.

The website's design focuses on ease of use. The clear, step-by-step process for reservation management makes it straightforward for users to modify their plans. The use of forms and validation ensures that the information is accurate and secure.

Backend interface

The backend interface is gated by a username and password. You can access it to see the interactions between the AI agent and customers to make sure everything is functioning as intended.

  • user: The caller's interaction.

  • Assistant: The AI bot's interaction.

  • function: This shows that the function was executed either correctly or incorrectly.

  • system: This is like the assistant but on a higher level.

Roomie Serve Variation

If you've already started with Bobby's Table, you can follow similar steps to create a room service bot. Roomie Serve structures data efficiently using metadata tables in the AI Agent to avoid SQL latency. Every piece of information used by the app is systematically stored within these tables, from menu specifics to SKUs and pricing. Shopping cart functionality is also integrated in the metadata framework, serving as a temporary data repository while the AI Agent is active.

This innovative approach drastically reduces the need for direct database interactions, significantly enhancing response times and the smoothness of interactions with the AI. Follow the video below to learn more about Roomie Serve.

If you run into any issues as you build your own AI-powered voice assistant to handle reservations and appointments, you can bring questions to our team of experts on Slack, Discord, or our community forum!

Related Articles