All use casesVoice → AI → in-chat payment

Voice-Driven Restaurant Order Bot

Most small restaurants don’t have an app — but their customers all have Telegram. This workflow turns a voice note into a paid order in under a minute. No app to install, no menu to scroll, no typing.

Commerce 5 min read

What it does

A complete voice-to-payment ordering loop. A customer sends a voice note describing what they want. The bot turns it into an itemized order, sends a confirmation card with Confirm and Cancel buttons, asks for a delivery address, charges the card in-chat, and notifies your kitchen the moment payment clears.

  • Hands-busy ordering — for driving, cooking, parenting, anything
  • No app to install — Telegram is the entire interface
  • Real in-chat payment — the customer’s card never leaves the conversation
  • Your kitchen gets notified only after the payment actually clears

What you get

  • Customer sends a voice note → receives an itemized summary in seconds
  • Customer taps Confirm → sends delivery address → pays without leaving Telegram
  • Your fulfillment system gets the full order automatically once payment clears

What you’ll need

Telegram payment provider token

Connect Stripe (or your regional payment processor) to your bot via @BotFather, then paste the token into the workflow’s payment step. This is what lets you accept cards directly in chat.

Your menu

The template ships with a sample menu. Replace it with your real items and prices in the AI step that prices each order — that’s how the bot knows what you sell.

Fulfillment endpoint (optional)

A URL the bot can notify when an order is paid — your POS, a Zapier hook, a Google Sheet via webhook, or your own server. Skip it if you only want the in-chat confirmation.

How it works

1. Customer sends a voice note

The flow starts the moment a voice message arrives. The bot shows a "recording voice…" indicator so the customer knows it heard them, then AI transcribes the audio into text.

2. AI prices the order

AI reads the transcript against your menu and writes a friendly itemized summary with prices. It also computes the order total so the invoice has a clean amount.

3. Customer confirms

The bot sends the summary as a card with Confirm and Cancel buttons. One tap is all the customer needs to move forward.

4. Delivery address & payment

On Confirm, the bot asks where to deliver. After the customer sends their address, the bot sends an in-chat invoice — the customer’s card is charged without leaving Telegram.

5. Kitchen dispatch

Once the charge clears, the customer gets a confirmation with an ETA and your fulfillment system receives the full order details. The bot only commits the real-world action after the payment is real.

Why it works

  • Voice ordering removes every friction point of traditional online ordering — no typing, no menu scrolling, no app downloads.
  • The bot only fires irreversible actions (kitchen ticket, receipt) after payment clears — no half-states or unpaid orders.
  • Setup is a single payment token and a one-time menu edit. The whole loop runs without any backend of your own.

Build it with AI

Generate this workflow from a prompt.

Copy the prompt below and paste it into Eavur’s AI workflow builder. It builds the whole flow for you — then just drop in your API keys and go live.

AI builder prompt
Build a Telegram bot for a restaurant that takes orders by voice note and charges customers in-chat.

- On the /start command, send a welcome message telling the customer to send a voice note describing what they'd like to order.
- When a voice message is received, show a "record voice" chat action, transcribe the audio to text with an AI transcriber (Whisper), and save the transcript to a session variable called transcript.
- Use an "Ask AI" node to turn the transcript into a friendly, itemized order summary with prices based on this menu: Margherita Pizza $12.00, Pepperoni Pizza $14.00, Quattro Formaggi Pizza $15.00, Garlic Bread $5.00, Caesar Salad $8.00, Tiramisu $7.00, Coca-Cola $3.00, Sparkling Water $2.50. Save the summary to a session variable called order_summary. Then use a second "Ask AI" node to output ONLY the numeric order total (two decimals, no currency symbol) and save it to order_total.
- Send the order summary as a message with two inline buttons: "Confirm" and "Cancel".
- When the customer taps Confirm: answer the callback, ask for their delivery address, await their next text message and save it as delivery_address, then send a Telegram payment invoice for the order total.
- Auto-approve the pre-checkout query.
- On successful payment: send a confirmation message with the delivery address and a 30-minute ETA, then send an HTTP POST request to a kitchen/fulfillment webhook with the customer name, chat id, order summary, total, and delivery address as JSON.
- When the customer taps Cancel: answer the callback and send a short cancellation message.

Use OpenAI models for the AI nodes. I'll paste my Stripe provider token into the invoice node and my kitchen webhook URL into the HTTP request node afterwards.

More use cases