Build a Restaurant Voice Assistant with VAPI and PostgreSQL for Bookings & Orders
Go to WorkflowDescription
This n8n template demonstrates how to create a comprehensive voice-powered restaurant assistant that handles table reservations, food orders, and restaurant information requests through natural language processing. The system uses VAPI for voice interaction and PostgreSQL for data management, making it perfect for restaurants looking to automate customer service with voice AI technology.
Good to know
Voice processing requires active VAPI subscription with per-minute billing
Database operations are handled in real-time with immediate confirmations
The system can handle multiple simultaneous voice requests
All customer data is stored securely in PostgreSQL with proper indexing
How it works
Table Booking & Order Handling Workflow
Voice requests are captured through VAPI triggers when customers make booking or ordering requests
The system processes natural language commands and extracts relevant details (party size, time, food items)
Customer data is immediately saved to the bookings and orders tables in PostgreSQL
Voice confirmations are sent back through VAPI with booking details and estimated wait times
All transactions are logged with timestamps for restaurant management tracking
Restaurant Info Provider Workflow
Info requests trigger when customers ask about hours, menu, location, or services
Restaurant details are retrieved from the restaurant_info table containing current information
Wait nodes ensure proper data loading before voice response generation
Structured restaurant information is delivered via VAPI in natural, conversational format
Database Schema
Bookings Table
booking_id (PRIMARY KEY) - Unique identifier for each reservation
customer_name - Customer's full name
phone_number - Contact number for confirmation
party_size - Number of guests
booking_date - Requested reservation date
booking_time - Requested time slot
special_requests - Dietary restrictions or special occasions
status - Booking status (confirmed, pending, cancelled)
created_at - Timestamp of booking creation
Orders Table
order_id (PRIMARY KEY) - Unique order identifier
customer_name - Customer's name
phone_number - Contact for order updates
order_items - JSON array of food items and quantities
total_amount - Calculated order total
order_type - Delivery, pickup, or dine-in
special_instructions - Cooking preferences or allergies
status - Order status (received, preparing, ready, delivered)
created_at - Order timestamp
Restaurant_Info Table
info_id (PRIMARY KEY) - Information entry identifier
category - Type of info (hours, menu, location, contact)
title - Information title
description - Detailed information content
is_active - Whether info is currently valid
updated_at - Last modification timestamp
How to use
The manual trigger can be replaced with webhook triggers for integration with existing restaurant systems
Import the workflow into your n8n instance and configure VAPI credentials
Set up PostgreSQL database with the required tables using the schema provided above
Configure restaurant information in the restaurant_info table
Test voice commands such as "Book a table for 4 people at 7 PM" or "What are your opening hours?"
Customize voice responses in VAPI nodes to match your restaurant's tone and branding
The system can handle multiple concurrent voice requests and scales with your restaurant's needs
Requirements
VAPI account for voice processing and natural language understanding
PostgreSQL database for storing booking, order, and restaurant information
n8n instance with database and VAPI integrations enabled
Customising this workflow
Voice AI automation can be adapted for various restaurant types - from quick service to fine dining establishments
Try popular use-cases such as multi-location booking management, dietary restriction handling, or integration with existing POS systems
The workflow can be extended to include payment processing, SMS notifications, and third-party delivery platform integration