Chatlayer Documentation
Get in touchAbout Chatlayer
  • Welcome
  • What's new
  • Send feedback
  • start quickly
    • Leadzy tutorial
      • 0. Introduction
      • 1. New bot, new block
      • 2. Understand your users
      • 3. Collect and display user input
      • 4. Steer the conversation with Conditions
      • 5. Empower your bot with Actions
      • 6. Set up a channel and publish your bot
    • Templates
      • Banking
      • E-Commerce Returns
      • E-Bike Shop
      • E-Scooter Support
      • Feedback
      • Find Nearest Location
      • GPT
      • 🆕Gym
      • Job applications
      • Knowledge base AI template
      • Lead generation
      • 🆕NPS
      • Restaurant
      • Retail
  • navigation
    • Analytics
      • Dashboard
      • Customers
      • Conversations
      • User flow
      • Intents
      • 🆕Funnels [Beta]
    • Bot builder
      • Flows
        • Canvas functionalities
        • Collaborate with team members
        • Manage your flows
        • 🆕[Beta] Export and import flows
      • Bot dialogs view
      • Translations
      • Events
    • NLP
      • Dashboard
      • Intents
      • Expressions
      • Entities
      • Train
      • NLP settings
      • Improve
    • Knowledge base AI
      • Add content to your KBAI
      • Build your KBAI flow
      • Use your KBAI source URL in a button
      • Use tags to limit your KBAI content
      • 🆕Use Tables to store your KBAI questions
      • 🆕Manage handover where KBAI is unsatisfactory
    • History
      • Conversations
      • Execution logs
      • Versions
    • Channels
    • Tables
      • Create a table with records
      • Column types
      • Operate on your records
        • Insert record
        • Update record
        • Retrieve record
        • Delete record
      • API
    • Settings
      • Bot settings
      • Offloading
      • Variables
      • Voice
      • Import/Export
  • build your bot
    • Conversation design
      • Plan your bot
      • Conversation design workflow
    • Flow logic
      • Blocks
        • Message
        • Condition
        • Collect input
        • Action
      • Go-to connections
    • 🆕Emulator
    • Tips & best practices
      • Route your flow depending on the time
      • Improve the Not understood block
        • How to create better not understood messages
        • Not understood counter
        • Not understood Google search
      • Go to previous block
      • Recognizing a returning user
      • Skip introduction message
      • Route your flow depending on the channel
      • Reuse flows
      • Connect two bots to each other
  • understand users
    • Natural language processing (NLP)
      • Basic NLP concepts
      • Detect information with entities
        • Match entities
        • Contextual entities
        • System entities
        • Composite entities
      • NLP best practices
        • Word order and diversity of expressions
      • AI intent booster
      • Train your NLP
      • Context
      • NLP import & export
      • Sentiment analysis
    • Languages
      • Supported languages
      • Make your bot multilingual
      • Change language within the conversation
  • set up channels
    • Add a channel to your bot
    • All channels
      • 🚨Facebook Messenger [Deprecated soon]
        • Facebook Admin Removal
        • Facebook Webview Whitelisting
        • Facebook Messenger API updates for Europe
      • 🚨Google Assistant [Deprecated soon]
      • Webhook
      • Web
        • 🚨Web V1 [Deprecated]
          • Customize web widget
          • Live example web widget
        • 🆕Web V2
          • 🆕From Web V1 to V2
          • 🆕Web V2 methods and options
    • Sinch Conversation API
      • Configure your Sinch Conversation API
      • 🆕 Make the most of RCS with Carousels
      • WhatsApp Business API
  • integrate & code
    • API calls
      • Configure your API integration
      • Advanced API features
      • V1 API Reference
      • Custom integrations 101
    • Code editor
      • [Example] Sending data to Airtable (POST)
      • [Example] Retrieving data from Airtable (GET)
      • [Example] Making SOAP requests
    • App integrations
      • Airtable
      • Freshdesk
      • Freshdesk Messaging
      • 🆕Gmail
      • Intercom
      • Mailgun
      • OpenAI: GPT-3, ChatGPT and GPT-4
      • Salesforce
      • 🆕Slack
      • Topdesk
      • Zendesk Support
      • Zendesk Sunshine (beta)
    • 🆕Expression syntax
    • Human handover & live chat
      • Sinch Contact Pro
      • #Interact
      • Genesys Cloud
      • Offloading Webhook
      • Salesforce Service Cloud
      • Sparkcentral by Hootsuite
      • Zendesk Chat
    • Chatlayer messages specifications
  • Publish
    • Publish your bot
      • Publish a flow
  • Analyze & maintain
    • Analytics definitions
    • Data retention
    • Maintenance
    • Session
    • Track events for analytics
  • VOICE
    • 🆕Send bot response as audio
    • Voicebots
      • Create a voicebot
      • Voicebot-specific actions
      • Test your voicebot
      • From chat to voice
  • access & support
    • Identity & Access
      • Single Sign-On (SAML SSO)
    • Billing & subscription
    • Get in touch
    • Chatlayer glossary
    • SaaS Regions & IP Ranges
    • Status
    • Debug your bot
      • No correct response
      • Collect input not working
      • Video isn't working
Powered by GitBook
On this page
  • Template overview
  • How to customise this template
  • Flow: General
  • Flow: See the menu
  • Flow: Book a table
  • Flow: Order online

Was this helpful?

  1. start quickly
  2. Templates

Restaurant

PreviousNPSNextRetail

Last updated 1 year ago

Was this helpful?

Template overview

This chatbot template can be adapted for your own restaurant. With this bot, your users can see the latest menu, order food online for delivery or pick-up, and book a table.

Keep reading to learn how you can customise this template for yourself!

How to customise this template

To manage orders and reservations, this chatbot uses Airtable. If you also plan to use Airtable for this you'll need an Airtable account and base, and connect to it in the Action blocks where the bot makes the API calls.

Already tracking orders and bookings with another service? You can link any type of CRM or order management software to this bot, as long as it has an API. Read more about our API integrations .

Below is an overview of all blocks you need to edit to customise this template for your own restaurant.

Let's get started!

Flow: General

Block: Introduction

In the Introduction block, replace the image with that of your own restaurant. You can also delete it if you prefer. In the text, make sure to change The Taco Shop and Sal with the names of your own restaurant and bot.

Flow: See the menu

Block: Show menu

Change the image of the taco menu in this block to an image of your own restaurant’s menu.

Flow: Book a table

This flow allows users to make a reservation at your restaurant. The bot will first ask the user on what date they want to make a reservation, and for how many people, and then look up the availabilities for that day in an external database. It then shows these options to the user.

Block: Search availability in Airtable

Feel free to use this as an example for testing but make sure to replace it with your own base once you start using the bot for your restaurant!

Like the template Airtable base, your own base should have a table with columns for reservation date, reservation time name, user email, special menu and number of people.

The Search field is the name of the field (column) in Airtable that we want to search in. In this case, that is the column with possible reservation dates. Search value is the value that will be searched for in that field, in this case the date the user said they want a reservation.

Block: Send reservation to Airtable

Just like the Search availability in Airtable block, you will need to customise this block by connecting it to your own Airtable account and your own Airtable base.

Block: Send reservation email

This Action block sends your customer an email with the confirmation of their reservation. Replace The Taco Shop by your own restaurant’s name and customise the email’s text to your own preference.

Flow: Order online

This flow allows your customers to place an online order. The user will go through several options, step-by-step, choosing between main dishes (tacos in this template), extras, and desserts. After choosing, they will be given an overview of their complete order and the opportunity to make changes if they want. When their order is complete, the user is asked to choose between delivery or pickup, and at what time they want to receive their order. Finally, the user needs to choose a payment method, after which they will receive a confirmation by email.

Block: Order tacos

This block lets the customer choose main dishes, displayed in a carousel. This enhances the user experience because people like to see what the dish looks like, before deciding if they want it.

Replace all images, titles, and subtitles for each carousel item with the options available at your restaurant. If your restaurant offers more than three menu items, you can add an additional carousel item for every extra menu option needed.

In the button of each carousel item, replace the name_of_taco variable name with a name for your own restaurant. If your restaurant does not specialise in one food item, you can give this variable a generic name, like for example, main_course.

Replace the example values from the template (carnitas, al pastor, barbacoa) with the values corresponding to main courses at your restaurant. These variables and their values should correspond to the match entities you define in your bot’s NLP.

Block: Already ordered same taco?

This Condition block will check if the user already has the same taco in their order.

In the conditions, replace name_of_taco with the name of the variable you gave to your main courses in the Order tacos block. Replace taco_order_nr_1, taco_order_nr_2 and taco_order_nr_3 by the name of the variables you define in the block Save taco order. Add an additional condition for each main course item you added to the carousel in Order tacos and ad a Condition to a corresponding bot block.

Block: Number of tacos

Replace name_of_taco in the text with the menu items variable you defined in Order tacos, and also replace number_of_tacos with a variable name appropriate to your restaurant.

Block: Save taco order

This Condition block saves the menu item chosen by the customer to the correct variable. If the customer has not selected any items yet, their choice will be assigned to the first variable. If they already chose one previous item, the item will be stored in a second variable, etc.

You should add an extra Go to condition for any additional menu items you added to the carousel in the Order tacos block. Also replace the names of the variables taco_order_nr_1-3 and taco_order_nr_1-3_quantity by variable names for your restaurant.

Block: Extras & Block: Dessert

Ordering extras and dessert operates in the same way as ordering tacos. You can customise the blocks below by applying the same steps as described above for taco ordering:

  • Order extras

  • Order dessert

  • Already ordered same extras/dessert?

  • Number of extras

  • Number of dessert

  • Save extras

  • Save dessert

Block: Show final order

This block gives the customer an overview of their final order. Replace the order and order quantity variable names with the ones you defined for your own menu items above.

Block: Yes checkout

This block gives the customer the option to choose between pick up or delivery for their order.

In case your restaurant does not offer these options, you can change the text of this block to a general acknowledgement message and set either the Delivery or Pick-up time block as the Go to.

Block: Send order to Airtable

This Action block will store the customer’s order in an external database. By default, this template is set up to store this information in an Airtable using the Create Record function of Chatlayer’s Airtable integration.

Just like with the other Airtable integration blocks, you will need to customise this block by connecting it to your own Airtable account and your own Airtable base. The example Airtable the template is linked to by default also contains an orders table.

Your own orders table should contain a field for each menu item and the quantity of each item, as well as fields that specify delivery or pickup, delivery time, pick-up time, and the customer’s phone number and email address.

In the Action block, in the left column under Record, we add the names of all fields we want to fill in the new Airtable record, i.e. all menu item options and their quantities, pick-up or delivery details and the customer’s details; in the right column we specify the variables we want to put as values in those fields.

That's it, you've just customised your own Restaurant chatbot! 👏

You can use to create a free menu and any other visuals needed.

This Action block will look up available reservation times in an external database. By default, this bot will look up the available time slots in an Airtable base, using the Search Record function of Chatlayer’s .

You can connect your own database or order management system to this bot, as long as this software can make an API call. Read more about these type of integrations .

You will need to customise this block by connecting it to your own Airtable account and your own Airtable base. However, when you just imported the Restaurant template, it will be linked to .

If you do not yet have an Airtable account set up yet, you can do so by clicking Connect new account and following the steps in the pop-up window. For this you will need your Airtable API key, which you can find on your .

In the Base field, replace the example ID with the ID of your own Airtable base. In the Table field replace the example ID with the ID or name of the table in your own Airtable base where your reservations data is stored. You can find your Airtable's base and table IDs .

This Action block uses the functionality to modify the Airtable record of the reservation slot your customer has chosen with their reservation details (name, email, number of people and choice of special menu).

You can connect your own database or order management system to this bot, as long as this software can make an API call. Read more about these type of integrations .

here
Canva
Airtable integration
here
this Airtable
Airtable account page
here
here
The reservations table in the Airtable base
Update Record