How to build a Telegram bot that answers "where is my order?"
5 min read · Updated 5 October 2026On this page
If your customers write to you on Telegram, you know the question that comes most: where is my order? Each answer means opening Shopify, finding the order and typing back.
This guide builds a bot that answers it for you. A customer sends the bot their order number — NW-20417 — and gets back whether it is paid and whether it has left, at any hour. A number that matches no order gets an answer too. Every message leaves a run you can open, with the path it took.
- Telegram · New messagewhen someone writes to the bot
- IFdoes it look like an order number?
- Telegram · Send a messageon No, said what to send
- Shopify · Find an orderon Yes, looked the order up
- Telegram · Send a messageon Found, answered with its status
- Telegram · Send a messageon When nothing is found, said so
Find an order has two ways out, Found and When nothing is found, the way an IF has Yes and No.
What you need
- A Telegram bot of your own, made in Telegram with BotFather, and a Telegram connection with its token. Use a bot that nothing else is connected to: publishing makes Bizomate the place Telegram sends its messages. Connect Telegram
- A Shopify connection with permission to read orders. Connect Shopify
Telegram and Shopify work on every plan, Free included.
Build it
In Bizomate, choose New workflow, then Telegram · New message as its trigger, and your bot's connection. Leave Only this chat and Text contains empty, so every message to the bot starts a run. Publishing tells Telegram to send the bot's messages to Bizomate.
Each message brings its
text, thechatIdto answer in, itsid(ID number) and the sender'sfromName. Start a workflow from a Telegram message or button pressCheck it looks like an order number. Add an IF:
- Value:
{{ trigger.text }} - Is: containing
- Compared with:
NW-
Use your store's own prefix here. Shopify names orders with # in front unless the store sets another, so for most stores that is
#. Choose a path with IF- Value:
On No, say what to send. Under No, add Telegram · Send a message. Beside Chat, select Use a value and type
{{ trigger.chatId }}. While the trigger is published, the chat list cannot load, so the chat always comes from the message. In Text:Send me your order number as it appears in your confirmation email, like NW-20417, and I will tell you where it is.This also greets people the first time they open the bot, since Start sends the bot a message. Send a Telegram message
On Yes, find the order. Under Yes, add Shopify · Find an order, with Order number
{{ trigger.text }}. It looks the number up exactly as sent first, so a prefixed NW-20417 is found. If that finds nothing, it tries again with # in front, as Shopify names orders by default. It gives back the order'sname,financialStatus(paid, pending, refunded) andfulfillmentStatus. The last is empty until something is sent, then partial or fulfilled. Create, find or tag a Shopify orderFind an order has two ways out: Found, with the order, and When nothing is found, with the number it looked for. Finding nothing is not a failure. When a Find step finds nothing
On Found, answer with its status. Under Found, add Telegram · Send a message to
{{ trigger.chatId }}:Order {{ $json.name }}: payment {{ $json.financialStatus }}, shipping status {{ $json.fulfillmentStatus }}. An empty shipping status means it has not left yet.On When nothing is found, say so. Under When nothing is found, add Telegram · Send a message to
{{ trigger.chatId }}:We couldn't find order {{ $json.orderNumber }}. Check the number in your confirmation email and send it again.On this path the step carries only what it looked for, so
orderNumberis the number as the customer sent it.Keep Format on Plain in all of the bot's replies, so the order number and other values cannot break the message.
Publish. Publish a workflow
Test it from your phone
Publish, then open your bot in Telegram, select Start and send a real order number, then one that is not. Within seconds the trigger's panel reads Listening — instant. To test changes after that, select Use the last event on Output, then Test run; the path the run took shows on the canvas. Test runs send real Telegram messages but never count towards your monthly runs.
If it does not work. The usual causes:
- An order number goes down No. The message does not contain the prefix the IF compares with. Check the prefix your store uses.
- A real order is not found. It is older than 60 days and the Shopify app cannot read all orders (below).
- The bot says nothing. Another service is connected to the same bot, or the workflow is not published.
What it costs
Every message to the bot is one run, whether it is an order number or hello. Telegram does not charge for bots. What counts as a run
Questions
Can anyone ask about any order?
Anyone who knows an order number can ask about it. The bot says only whether it is paid and sent, so keep names, addresses and totals out of its answer.
Will it find old orders?
Orders older than 60 days are found only if the Shopify app has access to all orders. The Shopify connection's check says so when it does not.
Can the same bot do other things?
One bot has one place for its messages. If another service is connected to the same bot, it stops getting them once you publish. Use a bot made for this workflow.
Related apps
Related guides
How to send a WhatsApp message when a WooCommerce order is completed
A WhatsApp message to each customer when their order is completed.