All posts
Integrations· Axel Meta

WhatsApp car rental bot with Make and Google Sheets

Build a WhatsApp car rental bot in Make that checks Google Sheets for availability and prices, replies through WhatsAble, and hands off to a person.

Your WhatsApp keeps buzzing. "Do you have a sedan free this weekend?" "How much for a week in December?" "Can someone help me with payment?"

Every question means someone stops what they are doing, opens the spreadsheet, looks up a car, checks the season price, types a reply, and goes back to whatever they were doing before. Three rentals in, nothing else gets done. The spreadsheet is open all day. WhatsApp is open all day. Your staff are the glue between the two.

That is the problem this automation solves.

An agent between WhatsApp and your spreadsheet

A Make AI Agent sits between your WhatsApp number and your Google Sheets. The WhatsApp channel runs through WhatsAble, a verified public app on the Make marketplace. The spreadsheets are yours. The agent reads them in real time every time a customer asks a question.

Here is a normal conversation.

A customer writes: "Do you have anything at the airport from Friday to Monday?" The agent calls your Availability sheet, finds the matching rows, and replies: "We have a Toyota Corolla and a Ford EcoSport at the airport for those dates. Want me to hold one?"

They pick the Corolla and ask for the price. The agent calls your Vehicle Prices sheet, finds the rate for those dates and that season, and sends the total.

Then they say they want to pay. The agent does not send bank details, Zelle instructions, or a card link. It tells the customer a teammate will send safe payment instructions. It fires a WhatsApp notification to that teammate with the customer name, the problem, and the conversation context. The teammate picks it up from there.

The customer never leaves WhatsApp. Your staff only get pulled in when a person is actually needed.

What the agent knows (and what it will not do)

The agent prompt has hard rules baked in. These matter because they keep the bot from doing damage:

  • Ask for dates first. If a customer asks what cars are available, the agent asks for pickup and return dates before listing anything. No dates, no list.
  • Never expose internal IDs. The agent never shows Vehicle_ID, license plates, colors, or row numbers to the customer. Those stay in the sheet.
  • Never send payment data. No card numbers, no Zelle, no Square links, no bank account instructions. If the customer is ready to pay, the agent sets notify_human to true and tells them a teammate will handle the payment step.
  • Hand off with context. The handoff tool (Connect with human) sends a WhatsApp message to a teammate using a human-handoff notification template. It carries three fields: human_name (the customer), human_problem (what they need help with), and human_comment (context from the conversation). The teammate reads a short, useful alert instead of scrolling through chat history.
  • Do not hand off for questions the sheets can answer. Availability and pricing go through the tools. Human handoff is for payment, complaints, special requests, and anything the agent cannot resolve.

These rules come from the real agent prompt in the Make scenario, not from a template. A car rental team that gets WhatsApp questions about fleet, prices, and reservations all day needs the bot to stay inside these lines.

Wire it to your Sheets

You need a WhatsAble connection, two Google Sheets tabs, a configured agent, and one send action. Here is the short version.

1. Connect WhatsAble. Install WhatsAble for WhatsApp Business from the Make marketplace. Add a trigger module to receive incoming WhatsApp messages on your business number.

2. Point the tools at your sheets. The agent uses two Google Sheets tools:

  • Check real availability reads from your Availability tab (the fleet sheet with active/available vehicles, locations, and booking status).
  • Check real season prices reads from your Vehicle Prices tab (seasonal rates by vehicle type and date range).

These are your live spreadsheets. Not demos. The agent reads from them in real time.

3. Configure the agent prompt. The Make AI Agent module holds the system prompt with all the rules above: ask dates first, never expose IDs, never send payment data, use Connect with human for handoffs. Paste or adapt the prompt for your fleet. Thread the conversation by phone number so returning customers keep context.

4. Send the reply. Add a WhatsAble send action (Reply to customer in the scenario) after the agent. Filter it so it only fires when the phone number exists. The agent's response field becomes the WhatsApp message back to the customer.

That is the core loop. Customer writes, agent reads from Sheets, agent replies. When the agent cannot help, it notifies a teammate and steps aside.

Follow-ups

Conversations stall. The customer asks for a price, disappears for two hours, and never comes back. The agent can schedule a follow-up message for later using the tool Schedule WhatsApp follow-up. A simple nudge: "Still interested in the Corolla for Friday? Let me know and I will hold it for you."

Follow-ups only fire after a real quote or an incomplete commercial conversation. Not after a greeting. Not if the customer already replied. Not if the reservation is confirmed.

Tool summary

The Make scenario export uses Spanish module names. The table below shows the English label for each tool.

Four tools in the scenario:

ToolJob
Check real availabilitySearches the fleet sheet for available cars by date and location
Check real season pricesLooks up season pricing for the requested dates
Schedule WhatsApp follow-upSchedules a WhatsApp follow-up if the customer went quiet after a quote
Connect with humanNotifies a teammate via a human-handoff notification template with name, problem, and context

Optional: coexistence filter

If your WhatsAble trigger uses the dual mode (Incoming & Outgoing Messages from console), it catches both customer messages and messages your team sends from the phone app. You do not want the bot replying on top of a teammate.

Preferred: Filter after the trigger. Set the Filter to continue when incoming_message = true. Optionally add was_message_by_human = false as a second condition. The Filter passes customer messages through to the agent. Teammate outbound messages fail the condition and the scenario stops for that execution. The bot stays quiet.

Router alternative. Add a Router after the trigger. Route to a stop branch when incoming_message = false and was_message_by_human = true (and/or send_by = "WhatsApp App"). The agent branch only runs for inbound customer messages.

This is optional hardening, documented in the WhatsAble coexistence guide. It is not present in the base scenario export. If your trigger only catches incoming messages, you skip it.

Optional: scaffold with Maia

Maia is Make's build-time assistant. It helps you draft scenarios inside the Make editor. It does not run inside your live automation.

If you want a head start, describe the setup to Maia: "Build a scenario with a WhatsAble trigger, a Make AI Agent with tools for Sheets availability, Sheets pricing, human notification, and follow-up scheduling." Maia will lay the modules on the canvas. You still need to connect your WhatsAble API key, point the Sheets tools at your spreadsheets, configure the agent prompt, and test. Maia builds the scenario. The AI Agent runs it. They are different products.

FAQ

Can the agent update the spreadsheet too?
You can add an Update Rows tool so the agent marks a car as "held" or "reserved" after a customer confirms. That is an extension of the same pattern. It is not part of this scenario export.

What if someone asks in Spanish?
The AI Agent handles language naturally. The module names in the original Make export are in Spanish, but the agent can reply in whatever language the customer writes in. The tool labels shown in this article are English translations of the scenario names.

Do I need a Make AI Agent, or can I use classic modules?
You can build a simpler version with classic modules: trigger, Sheets lookup, router, send. The AI Agent adds reasoning. It reads the customer's message, decides which tool to call, and composes a natural reply. For a fleet with dozens of cars and multiple price seasons, the agent handles ambiguity that a static router cannot.

Does the WhatsApp Business app still work?
Yes. WhatsAble supports coexistence. You keep the WhatsApp Business app on your phone. Your team can still type replies by hand. If you add the coexistence filter (continue when incoming_message = true), the bot pauses when a human takes over so it does not reply on top of a teammate.

What about WhatsAble's native AI chatbot, Agent Skills, or Meta Cloud API modules?
WhatsAble has its own AI chatbot product with built-in human handoff and Agent Skills. That is a different surface from the Make AI Agent path this article covers. Make also has first-party WhatsApp Business Cloud modules, which are a different channel and connection from WhatsAble. Click-to-WhatsApp ad attribution is a separate workflow too. This guide uses WhatsAble modules as the WhatsApp channel and Make AI Agents as the runtime. The two product families can coexist, but configuring the native chatbot or Meta Cloud modules is outside this article.

What is the difference between Maia and Make AI Agents?
Maia is a build-time assistant that helps you design a scenario inside the Make editor. Make AI Agents are a runtime feature. They reason and call tools while a scenario executes for a real customer. Maia can scaffold an agent scenario for you, but it does not run when your customer sends a WhatsApp message.

Links

WhatsAble:

Make:

Ready to automate your WhatsApp?

Connect WhatsApp to Zapier, Make, n8n, Pipedrive, or Monday.com in minutes. Start free, no credit card required.

Start Free Trial