Skip to content
Little Red Bot AI automation for Singapore SMEs
Playbooks25 min readSource-verified · our method

'Where's my order?' Automatic status updates your customers stop asking for

Change one Status cell in a Google Sheet and the customer gets told. Free tools, no code, about two hours. One tap for WhatsApp (the free app has no hook), fully hands-off by email.

Beginner⏱About 1.5–2 hours (Step 4 is the meat)💳S$0 on free tiers (about 700 of Make's 1,000 free credits at 150 status changes a month)customer response🧰Google Sheets · Make · Telegram · WhatsApp Business app

Published 22 Sept 2026 · Facts checked 22 Sept 2026

What you'll have by the end: an orders sheet where changing one cell does the customer service for you. You set an order's Status to Ready for collection or Out for delivery, and within the hour your phone gets a Telegram nudge with the customer's WhatsApp message already written and already addressed. You tap the link. WhatsApp opens on that customer with the words filled in. You tap send. If the customer gave you an email instead, the same build sends the update itself and you don't tap anything.

The "where's my order?" message is a quiet tax on every shop that delivers or does collection. Each one is a customer you've already won, asking a question you already know the answer to, at the exact moment your hands are full. Answer it before they ask and the message stops coming.

One thing to know before you read on. The free WhatsApp Business app has no automation hook. Nothing free can send a WhatsApp message on your behalf, and Make can't reach into the app. So on WhatsApp, this build gets you to one tap, not zero. Fully automatic WhatsApp is the paid API, a different animal (WhatsApp Business app vs API). By email, it's fully hands-off.

Is this for you?

Build it if you take orders over WhatsApp, phone or a form, you fulfil by delivery or collection, and your customers chase you for progress. Bakeries, florists, home-based F&B, small retail, anyone doing ten-plus orders a week from a sheet or a notebook. If the sheet doesn't exist yet, Step 2 gives you one.

Skip it if any of these are true, and do the other thing instead:

  • Your orders live in Shopify, WooCommerce, a POS or a delivery platform. Those already send "your order is on the way" for you. Turn the native notifications on. Native beats glued-on every time, and our POS round-up covers which systems do what.
  • You do fewer than about ten orders a week. Replying by hand is faster than building anything, and there's nothing to maintain.
  • You need zero-tap WhatsApp. That's the paid WhatsApp Business Platform through a provider like Wati or respond.io, plus Meta's per-message fees. Real money, real setup days. Read the app-versus-API split before you spend it.
  • You want to message customers on Telegram instead. Tempting, and it doesn't work for a shop. Telegram is explicit: "Bots can't start conversations with users. A user must either add them to a group or send them a message first" (Telegram). Every customer would have to message your bot before you could reach them. Telegram in this build is for nudging you, not them.

Two things to know before you commit the time:

  1. You'll paste three short formulas into the sheet. You don't have to understand them. You do have to copy them exactly.
  2. Once, you'll open a long web address in your browser and read a screenful of raw text to find one number. It looks alarming. It takes four minutes and you never do it again.

Everything else is clicking and typing words into boxes. No code. No card. Still deciding whether automation is worth an afternoon for a business your size? Our plain-English overview of AI automation in Singapore is the place to settle that first.

What it costs

S$0 a month at realistic small-business volume, on genuine free tiers, and no credit card to start any of them. Verified 22 September 2026. Free tiers change, so glance at the linked pages before you build.

PartFree tierCard needed?
Google SheetsFree with a personal Google account. "All Google accounts come with up to 15 GB of storage" (Google One)No
Make (the wiring)Free plan: "$0/mo", "Up to 1,000 credits/mo", "2" active scenarios, "15-minute minimum interval between runs", "No time limit on the Free plan" (Make pricing)No. Make's own guide: the "free tier plan comes with all the features, does not require a credit card, and is forever free" (Make)
Telegram bot"The Telegram Bot Platform hosts more than 10 million bots and is free for both users and developers" (Telegram)No
WhatsApp Business app"WhatsApp Business is a free-to-download app" (WhatsApp)No

The credit maths, which is the whole reason this stays free. Make bills in credits, and for ordinary apps "1 operation equals 1 credit" (Make). Its pricing page puts it the same way: "Every time a module in a scenario performs an action, it consumes credits… each counts as one credit" (Make pricing). A check of your sheet that finds nothing still costs one; Make's own example is that a module which "checks for new rows in a Google spreadsheet = 1 operation (one per check)" (Make).

So the bill has two parts. Checking the sheet once an hour from 9am to 9pm is 13 checks a day, about 400 credits a month. Then each status change you make costs two more: one to send you the Telegram nudge, one to mark the row as told. At 150 status changes a month that's 300. Around 700 of your 1,000. (That sum is ours, built on the quoted rules.) Checking every 30 minutes across the same 12 hours pushes the checks alone to roughly 775, which with the same 300 is over the 1,000. Hourly is the free-tier ceiling for this build, and honestly it's the right speed for "on the way" news. One more limit: "2" active scenarios. If you already run two builds from this site, this is your third, and something has to give.

If you ever outgrow it: the cheapest paid tier on Make's page today is the "Make Plan" at "$9/mo" for "5k credits/mo" with "Unlimited active scenarios" (Make pricing). The page has a "Pay monthly" / "Pay annually" switch marked "Save 15% or more", and the annual side is the lower figure. Read it in the mode you'd pay before you budget. When credits run out mid-month, Make says "Your scenarios won't continue to run, until credits are added again" and warns you at 75% and 90%. Nothing charges you silently.

Before you start (about 10 minutes)

Open four things. No payment details anywhere.

  1. A Google account. Your normal Gmail is fine. It'll own the orders sheet.
  2. Telegram, on your phone, and ideally on a computer too for one step where you copy a long number.
  3. The WhatsApp Business app on the phone you'll send updates from. The free one from the app store. Personal WhatsApp works too, though the business app's labels and quick replies are worth having (our 20-minute set-up).
  4. A free Make account. Sign up at make.com; the sign-up page offers Sign up with Google, and the pricing page's button reads Get started free. If Make asks a few onboarding questions, answer whatever's true; none of it asks for a card.

And decide your status words now. Four is plenty: Preparing, Ready for collection, Out for delivery, Delivered. Every one of them will be dropped into a sentence to the customer, so make them read like English, not like codes.

Build it, step by step

Five steps. One and three are short. Two is a sheet. Four is the real work, and five is the clock.

Step 1 — Create the Telegram bot that will nudge you (5 minutes)

A "bot" here is nothing clever. It's an account that can send you messages, and Make will hold its password.

In Telegram, search for @BotFather, the official one with the blue tick. Telegram's own instruction is to "message @BotFather on Telegram to register your bot and receive its authentication token" (Telegram). Following Make's version, "type /newbot to the message box and press enter."

BotFather asks two questions:

  • A name. Anything readable. "Orders Bot" is fine.
  • A username. This one must end in the letters bot, for example sunshine_bakery_orders_bot. Telegram's rule: "Your bot's username must end in 'bot'", and usernames "may only include Latin characters, numbers, and underscores" (Telegram). If your first choice is taken, add your initials and try again.

BotFather then sends you a token: a long line that looks like 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw. Make's docs put it plainly: "you will receive the message from botfather containing the token copy the token value and store it in a safe place." Paste it into a note on your phone for the next hour. Treat it like a password, because that's what it is.

Now one small step that matters. Open your new bot and send it any message. "hi" will do. Telegram won't let a bot speak first ("A user must either add them to a group or send them a message first"), so this one message is what gives the bot permission to nudge you, and it's what Step 3 reads.

You'll know this worked when BotFather has replied with a token, and you've sent your bot one message.

Step 2 — Build the orders sheet (20 minutes)

Open a new Google Sheet. At the bottom, rename the tab to Orders. The exact word matters later.

Put these ten headers across row 1, one per cell, exactly:

A1B1C1D1E1F1G1H1I1J1
OrderCustomerWhatsAppEmailItemStatusNotifiedNeeds updateMessageWhatsApp link

Columns A to F are yours to type in. G is the automation's. H, I and J are formulas.

  • Order is any short reference (1042), Customer a first name (it goes into the message), Item a few words (Birthday cake, 1kg), and Email is optional, only needed for the email swap in Step 4.
  • WhatsApp: the customer's number as digits only, country code first, nothing else: 6591234567. No plus sign or spaces. WhatsApp's own rule for its links is to "Omit any zeroes, brackets, or dashes when adding the phone number in international format" (WhatsApp). Type this column carefully.
  • Status: make this a dropdown so nobody can misspell it. Select F2 down to about F300, then follow Google's path: "Click Data and then Data validation and then Add rule", and "under 'Criteria,' select an option" (Google). Choose the plain Dropdown option, type your four status words one per line ("Click Add another item to add additional dropdown values"), and "Click Done." Leave the cell blank until the order's really at a stage worth telling the customer about.
  • Notified: leave it empty. Make writes here. Don't type in it.

Now the three formulas. Click H2 and paste this exactly:

=IF(AND(F2<>"",F2<>G2),"yes","")

In English: if Status is filled in and it doesn't match what the customer was last told, say yes. That yes is what Make hunts for. The moment Make writes the new status into Notified, the two match and the yes disappears.

Click I2 and paste this, then change Sunshine Bakery to your shop's name:

=IF(F2="","","Hi "&B2&", an update from Sunshine Bakery on order "&A2&" ("&E2&"): it's now "&F2&". Reply here if you need anything.")

That's the sentence the customer will get. Edit the words however you like, but keep the &B2&, &A2&, &E2& and &F2& pieces where they are; those are the name, order, item and status dropping in. The IF(F2="","", at the front just keeps the cell empty until there's a status to report.

Click J2 and paste this:

=IF(F2="","","https://wa.me/"&C2&"?text="&ENCODEURL(I2))

This builds a WhatsApp link. WhatsApp documents the shape itself: "Use https://wa.me/whatsappphonenumber?text=urlencodedtext where whatsappphonenumber is a full phone number in international format and urlencodedtext is the URL-encoded pre-filled message" (WhatsApp). The ENCODEURL part is Google's own function that "Encodes text so it can be used in the query string of a URL" (Google), which is why the spaces in your sentence come out as %20. That's correct, not broken.

Copy the three formulas down: select H2:J2, copy, select H3 down to about J300, paste. Blank rows stay blank.

Now add one test order with your own WhatsApp number in column C, and leave its Status empty for now.

You'll know this worked when you type a status into your test row and, in that same row, column H shows yes, column I shows a readable sentence with your name and order in it, and column J shows a long link starting https://wa.me/65. Clear the status again afterwards and all three go blank. If H shows an error instead of yes, see When it doesn't.

Step 3 — Find your Telegram chat ID (10 minutes)

Make needs to know which chat to post into, and Telegram identifies chats by a number, not a name. This is the fiddliest four minutes of the build. It's also the last time you'll do anything that looks technical.

In a browser, go to this address, swapping in the token from Step 1:

https://api.telegram.org/bot110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw/getUpdates

Telegram documents this shape itself: "All queries to the Telegram Bot API must be served over HTTPS and need to be presented in this form: https://api.telegram.org/bot<token>/METHOD_NAME" (Telegram Bot API).

Three things to get right here, so read slowly:

  • The word bot is glued to the front of your token. No space, no slash between them.
  • There are no angle brackets. You're replacing <token>, not keeping the < and >.
  • The /getUpdates on the end has a capital U.

You'll get a screenful of dense text starting {"ok":true,"result":[. Don't read it all. Use your browser's find (Ctrl-F or Cmd-F) and search for "chat". You're looking for a fragment like:

"chat":{"id":123456789,"first_name":"Ronnie","type":"private"

The number straight after "id": is what you want. Telegram calls it the "Unique identifier for this chat" (Telegram Bot API). For a private chat with yourself it's a plain positive number. Paste it into your note next to the token.

If you instead see {"ok":true,"result":[]}, an empty pair of brackets, nothing recent is waiting. Telegram doesn't keep these long: updates "will not be kept longer than 24 hours" (Telegram Bot API). Send your bot another "hi", then reload the page.

You'll know this worked when you have two things saved: a token, and a chat ID number.

Step 4 — Wire it together in Make (give this one a patient 30–45 minutes the first time)

This is the meat. Three modules: read the sheet → nudge you on Telegram → mark the row as told. Do them in order, and don't skip the trial run in the middle. Make's screens get renamed now and then, so where a label below sits somewhere slightly different, look for the same words.

In Make, its guide says to "click + create a new scenario in the top right corner to open the scenario builder". You get a blank canvas. To add the first module, "click the giant plus in the center of your canvas". To add each next module, use the small plus on the edge of the module you've got, or right-click the dots on the line after it; either reaches the same add-a-module window.

Module 1 — Google Sheets → "Search Rows". The plain one, not "Search Rows (Advanced)". Make's docs say of the Advanced one that "this module doesn't return a row number" (Make), and you'll need the row number in Module 3.

Click create a connection. Make's own words for what follows: "click sign in with google if prompted, authenticate your account, grant all requested permissions, and confirm access" (Make). Google shows a consent screen asking you to let Make reach your Sheets. That's expected. Then fill in these fields (names from Make's docs):

  • Search Method — "select an option to choose the spreadsheet in which you want to search rows". Pick the option that lets you choose the file from your Drive rather than typing an ID.
  • Spreadsheet — your orders file.
  • Sheet Name — Orders.
  • Table Contains Headers — yes. This is what makes Make call your columns Customer, Status, WhatsApp link instead of B, F, J.
  • Column Range — A to J.
  • Filter — "set the filter for the row to be searched by". Set the column to Needs update, choose the plain text "equal to" comparison (Make groups comparisons by type; its tutorial calls the group "text operators" and the one you want "equal to", though your screen's wording may differ slightly), and type yes as the value.
  • Limit — "the maximum number of results make should return during one scenario execution cycle". Put 20. That's more status changes than you'll make in an hour, and it costs nothing extra.

Now prime it before going further. Put a status on your test row in the sheet, save the module, and "in the scenario builder toolbar, click the run once button" (Make). Make should show a small bubble above the module; "click on the output bubbles to view the details" and you should see your test row, with its Message and WhatsApp link in it. Don't build the next two modules until this one returns the row. Debugging it now takes two minutes instead of twenty.

Module 2 — Telegram Bot → "Send a text message or reply" (module name from Make).

  • create a connection — Make's instruction: "in the token field, enter the token you copied from your telegram bot account", then "click save". Paste the token from Step 1.

  • Chat ID — paste the number from Step 3.

  • Text — this is the nudge you'll see on your phone. Make's mapping panel opens when you "click inside the empty field" (Make) and lists the columns Module 1 found; click one and it drops into the box as a coloured chip. Type the plain words, and click the chips in where the brackets are:

    📦 Order [Order] · [Customer] · now: [Status]
    Tap to send the WhatsApp update:
    [WhatsApp link]
    

    The four bracketed bits are chips from the panel, not typed words. Everything else you type.

  • Parse mode — leave it empty. Filling it in makes Telegram try to interpret your text as formatting, and the link is the thing you can't afford to mangle.

  • Disable link previews — set it to yes. The field does exactly what it says: "select whether you want to disable link previews for links in this message". Without it, every nudge grows a WhatsApp preview card under it.

Module 3 — Google Sheets → "Update a Cell" (Make: "Updates a specific cell"). This is the memory. It writes the status you've now been told about into the Notified column, so the yes clears and you don't get nudged twice.

  • Same connection, same spreadsheet, Sheet Name Orders.
  • Cell — Make describes it as "Enter the id of the cell you want to update, e g a5". Type the letter G, then, with your cursor right after it, click the Row number chip from Module 1 in the mapping panel. It should read G followed by the chip, no space. That means "column G of whichever row Module 1 found".
  • Value — "Enter the new value". Click in the Status chip from Module 1.
  • Value Input Option — "user entered", so it's stored exactly as if you'd typed it.

Click the save control on the toolbar (Make: "click save").

The order of these three modules matters, and it's a quiet safety feature. If the Telegram send fails for any reason, Module 3 never runs, the yes stays in the sheet, and the next hourly check tries again. Nothing gets lost in the gap.

You'll know Step 4 worked when you click the run once button and, within seconds, a Telegram message lands on your phone from your bot, with a tappable wa.me link in it, and your test row's Notified cell now shows the status.

The email swap, if your customers give you email instead. Replace Module 2 with Gmail → "Send an email" (Make). Set To to the Email chip, Subject to something like Update on your order [Order], and Body contents to the Message chip. Connecting Gmail follows the same shape as Sheets: "click create a connection", then "click sign in with google" (Make). This version is fully hands-off. Two things from Make's docs first. For personal @gmail.com accounts, Google "limits gmail access for reporting and monitoring apps, such as make, to six months", so you'll "renew permissions and reauthorize the connection every six months in make"; put it in your calendar. And Make also carries a separate route for personal Google accounts that starts with creating a Google Cloud project. If your sign-in sends you there, stop. That isn't a beginner path, and the Telegram-plus-WhatsApp version above needs none of it. Volume isn't a worry: consumer Gmail's limit is "more than 500 emails sent in a day" (Google).

Step 5 — Set the clock: Singapore time, hourly while you're open (10 minutes)

Two settings, and the order matters. Do the time zone first, or you'll schedule 9am in Prague.

5a. Set your Make organisation's time zone to Singapore. Make is explicit that "the organization time zone defines the time used when executing" scenarios, while "The user time zone only impacts how make displays information" (Make). The path Make documents: click your profile icon at the upper right → profile → the time zone options tab → the edit icon next to your organisation → pick the Singapore zone → save.

5b. Schedule the scenario. Back in the builder, "click every 15 minutes on the toolbar" to open the schedule settings (Make). The options Make lists are "At regular intervals, Once daily, Weekdays (Mon–Fri), Weekly, Monthly, Specified dates, On demand". Choose Once daily, then add a run time for every hour you're open: 09:00, 10:00, and so on to 21:00. Make confirms "you can add as many run times as you need in the daily schedule, so one scenario can run at 1:00 am, 14:40 pm, and 10:00 pm from one simple setup". Each run time you add is one credit a day, about 30 a month, so add them for the hours you actually change statuses.

Why not "every 15 minutes"? Credits. See What it costs. Thirteen hourly checks fit the free plan with room to spare; four-an-hour doesn't.

5c. Turn it on. Make's guide: "click save after you schedule your scenario", and "you'll be prompted to activate it click activate scenario" (Make). Until you do that, nothing runs on its own, however well it worked on run once.

You'll know this worked when the toolbar shows your daily run times instead of "every 15 minutes", and the scenario is switched on.

Test it works (10 minutes)

Do all five, with your test row (your own number) still in the sheet.

  1. Set the test row's Status to Out for delivery. Column H should show yes.
  2. Click run once. A Telegram message should land within seconds. Tap the link. WhatsApp should open on a chat with your own number, with the full sentence sitting in the message box, unsent. Send it to yourself and read it as a customer would.
  3. Look at the sheet. The test row's Notified should now read Out for delivery, and column H should be blank.
  4. Click run once again straight away. Nothing should arrive. That's the memory working.
  5. Change the Status to Delivered. Column H flips back to yes. Run once. A new nudge arrives with the new status in it.

Then leave it. At the next scheduled hour, change a status and don't touch Make. If the nudge arrives on its own, the build is finished. A scenario that works on run once but was never activated will sit there doing nothing, quietly, forever.

Delete the test row when you're satisfied, or keep it with a blank Status as a spare.

When it doesn't

Nothing arrives at the scheduled hours, but run once works. The scenario was never activated, or the schedule is still on its default. Open it and check the toolbar shows your run times and the switch is on (Make).

Nudges arrive at strange hours. You set the schedule before the organisation time zone, or you changed your user time zone instead. Only the organisation setting decides when scenarios run (Make). Fix that, then reopen the schedule and re-enter the times.

Run once finds nothing, even though a row says yes. Check four things in order: the filter value is exactly yes in lower case; the column it's filtering is Needs update, spelled as in your header; Table Contains Headers is yes; and the formulas were copied down to the row you're testing. If Status and Notified already match, there's no yes to find, which is correct.

Column H shows an error instead of yes. Two things to check. The formula was pasted with a stray character, so re-paste it from this page. Or your sheet's locale expects semicolons between formula arguments instead of commas; if so, swap each , inside the formula for ;. The same applies to the other two formulas.

The Telegram message arrives, but the link isn't tappable. Parse mode got set. Open Module 2 and clear it. Meanwhile, long-press the link text, copy it, and paste it into your phone's browser; it'll still open WhatsApp.

The link opens WhatsApp, but on the wrong chat, an empty one, or with nothing in the message box. Wrong chat means column C isn't clean digits: country code first, nothing but numbers, 6591234567. A +65, a space or an 8-digit local number without 65 in front all break it. An empty message box means column J isn't using ENCODEURL; re-paste the J2 formula and copy it down again. And if your phone has both WhatsApp and WhatsApp Business installed, it may ask which to open. Pick the one your customers know.

The same nudge arrives twice. Module 3 isn't writing. Open it and check Cell reads G immediately followed by the Row number chip (no space, no typed number) and Value is the Status chip. Look at the sheet's Notified column after a run; if it's still blank, that's the module to fix.

You changed a status twice within the hour and only the second was sent. Expected. The check runs hourly and tells the customer where the order is now.

Make warns you're low on credits. At hourly checks this shouldn't happen. Look for a schedule set to "at regular intervals" by mistake, or a second copy of the scenario running. If you're genuinely at volume, What it costs has the paid number.

The Gmail swap says the connection needs reauthorising. For personal @gmail.com accounts that's every six months, by Google's rule. Make's docs point you to "the reauthorize button for the required connection" in your connections list (Make).

Your data (read this one)

A customer's name, phone number, email and what they bought is personal data. The PDPC's own definition: "Personal data refers to data about an individual who can be identified from that data, or from that data and other information to which the organisation has or is likely to have access" (PDPC). So let's be clear about where it travels.

What leaves your business: on each hourly check, only the rows marked yes. Name, number, order, item, status, and the sentence built from them. Not the whole sheet. Those rows pass from Google to Make and into a Telegram message to yourself.

Google. The sheet stays in your Google account. Make reads it through the connection you authorised in Step 4. Make states in its privacy notice that "Google Workspace APIs are not used to develop, improve, or train generalized AI and/or ML models" (Make).

Make. The rows pass through Make's servers as the scenario runs. Its privacy notice says personal data "may be transferred outside of the European Economic Area (EEA), UK or Switzerland" and "will be deleted upon your request or as soon as it is no longer serving the purpose for which it has been collected" (Make). The notice states no retention period for scenario run logs, so assume the run history sits in your account until you clear it. Which is the reason to keep the sheet lean: the message needs a first name and a number. It doesn't need NRIC, full address or anything else, so don't put them in this sheet.

Telegram. The nudge goes into a private chat between you and your own bot. Nobody else is in it. Telegram's privacy policy is blunt about bots: "No other bots or third-party bot developers are affiliated with Telegram. They are completely independent from us" (Telegram). In this build you are the bot's developer, and it's controlled by your token and your Make account.

WhatsApp. Nothing reaches WhatsApp until you tap send, and then it's an ordinary message from your business number.

The PDPA angle. Telling a customer where their own order is, on the number they gave you for that order, is using their data for the purpose they gave it. Ordinary business use. What you must not do is quietly fold those numbers into a broadcast list. That's a different purpose, and it needs its own consent. One line on your order form or website ("we'll message you on WhatsApp with order updates") costs nothing and keeps you clean.

If you'd rather nothing left your Google account at all: keep the sheet, keep the formulas, and skip Make. Column J still builds the tap-to-send link; you'd open the sheet on your phone and tap it yourself. Less clever, still faster than typing.

Switch it off

No lock-in and nothing to cancel. You never entered a card, so there's no bill, ever.

To pause it, switch the scenario off in Make. It stays built, ready for the next busy season.

To remove it properly, do all four:

  1. Delete the scenario in Make, so it stops running and stops holding your data flow. Then find Connections in Make's left sidebar and delete the Google Sheets and Telegram connections you made in Step 4.
  2. Revoke Make's access from Google's side, which is the one that truly cuts the cord. Google documents it at myaccount.google.com/linkedapps: choose "Access to your Google Account", pick Make, "See details", then "Remove access" and "Confirm".
  3. Delete the bot via @BotFather. Telegram's command is /deletebot, which deletes the bot and frees its username, and "Cannot be undone" (Telegram). Once it's gone the token is dead even if someone copied it.
  4. Your sheet is yours throughout. Keep it or delete it. None of the above touches it.

What's next

Different words for different statuses. Once the single sentence has earned its keep, make column I smarter: an IF that says one thing for Ready for collection ("…is ready, we're open till 7pm") and another for Out for delivery ("…is on the way, expect it within two hours"). Same pattern as the I2 formula, one IF per status. The rest of the build doesn't change.

Both channels at once. If some customers give you email and some give WhatsApp, you can run both Module 2s: the Gmail one only for rows with an email, the Telegram one only for rows without. That needs a filter on each branch, which Make sets up on the line between modules (its tutorial). Get the single-channel version working for a week first.

Feed the sheet from a form. If customers order through a Google Form, its responses can land in this same sheet; catching every lead from a form shows that pairing from the other direction. The bot and chat ID you've now got work for any of these.

Zero-tap WhatsApp. The day the taps are the bottleneck, that's the paid API and a provider subscription, plus Meta's fees. Read the app-versus-API comparison with your real order count in hand, and run any vendor's "WhatsApp automation package" past the markup check.

Before you build a third and fourth of these, read the real cost of automation. Free tools are free. The maintenance isn't, and knowing that early is what separates a system from a pile of half-working scenarios.

Everything above was written from each tool's official documentation on 22 September 2026, with no build behind it and no screenshots. That's what Level 1 research means on this site. Screens move. If a button's been renamed since, the thing you're looking for is described in words next to it, and the linked doc is the current truth. More builds like this one are in the playbooks library.

A note on Make's pricing page: the "$9/mo" above is printed exactly as the page shows it, with the page's own monthly/annual switch unresolved. Open it yourself and read the figure in the mode you'd pay before you budget.

Sources

Every factual claim above traces to one of these, fetched on the fact-check date in the byline.

  1. Make pricing — Free plan: $0/mo, 1,000 credits/month, 2 active scenarios, 15-minute minimum interval, no time limit; Make Plan $9/mo, 5k credits (fetched 22 Sep 2026)
  2. Make — 'free tier plan… does not require a credit card, and is forever free' (fetched 22 Sep 2026)
  3. Make — credits: 1 operation equals 1 credit (fetched 22 Sep 2026)
  4. Make — operations examples: a check of a sheet is 1 operation, one email is 1 operation (fetched 22 Sep 2026)
  5. Make — Google Sheets modules: Search Rows fields, Update a Cell fields, row numbers (fetched 22 Sep 2026)
  6. Make — connecting Google Sheets: sign in with Google, grant permissions (fetched 22 Sep 2026)
  7. Make — Telegram Bot app: token connection, 'Send a text message or reply', Chat ID, Disable link previews (fetched 22 Sep 2026)
  8. Make — Gmail app: sign in with Google; personal @gmail.com connections must be reauthorised every six months (fetched 22 Sep 2026)
  9. Make — Gmail modules: 'Send an email' and its To / Subject / Body contents fields (fetched 22 Sep 2026)
  10. Make — the custom OAuth client route for personal Google accounts (the path this playbook tells you to avoid) (fetched 22 Sep 2026)
  11. Make — schedule a scenario: the options list and multiple daily run times (fetched 22 Sep 2026)
  12. Make — save, then 'activate scenario' (fetched 22 Sep 2026)
  13. Make — where 'create a new scenario' and the first-module plus live (fetched 22 Sep 2026)
  14. Make — the run once button and the operation bubbles (fetched 22 Sep 2026)
  15. Make — filters: the 'text operators' dropdown and 'equal to' (fetched 22 Sep 2026)
  16. Make — mapping: click inside a field to open the panel, pick an item (fetched 22 Sep 2026)
  17. Make — organisation time zone decides when scheduled scenarios run (fetched 22 Sep 2026)
  18. Make Privacy Notice — Google Workspace APIs not used to train AI; transfers; deletion (fetched 22 Sep 2026)
  19. Telegram — the Bot Platform is free; bots can't start conversations with users (fetched 22 Sep 2026)
  20. Telegram — BotFather: /newbot, username rules, the token, /deletebot (fetched 22 Sep 2026)
  21. Telegram Bot API — request URL form, getUpdates, the 24-hour update window, chat id (fetched 22 Sep 2026)
  22. Telegram Privacy Policy — bots are independent third parties and receive what you send them (fetched 22 Sep 2026)
  23. WhatsApp — click to chat: the wa.me link format and the ?text= pre-filled message (fetched 22 Sep 2026)
  24. WhatsApp — 'WhatsApp Business is a free-to-download app' (fetched 22 Sep 2026)
  25. Google Sheets — create an in-cell dropdown list (fetched 22 Sep 2026)
  26. Google Sheets — the ENCODEURL function (fetched 22 Sep 2026)
  27. Google One — every Google account comes with 15 GB (fetched 22 Sep 2026)
  28. Google — remove an app's access to your Google Account (fetched 22 Sep 2026)
  29. Google — Gmail sending limit, 'more than 500 emails sent in a day' (fetched 22 Sep 2026)
  30. PDPC — what counts as personal data under the PDPA (fetched 22 Sep 2026)

How we're funded: some links on this page are affiliate links — if you sign up through one, we may earn a commission, at no extra cost to you. It never changes what we recommend. Full disclosure.

Get the next one in your inbox

The Red Dot Report — one useful automation email a week.