This n8n workflow demonstrates how to automate customer interactions and appointment management via WhatsApp Business bot. After submitting a Google Form, the user receives a notification via WhatsApp. These notifications are sent via a template message. In case user sends a message to the bot, the text and user data is stored in Google Sheets. To reply back to the user, fill in the ReplyText column and change the Status to 'Ready'. In a few seconds n8n will fetch the unsent replies and deliver them one by one via WhatsApp Business node. Customize this workflow to fit your specific needs, connect different online services and enhance your customer communication! 🎉 Setup Instructions To get this workflow up and running, you'll need to: 👇 Create a WhatsApp template message on the Meta Business portal. Obtain an Access Token and WhatsApp Business Account ID from the Meta Developers Portal. This is needed for the WhatsApp Business Node to send messages. Set up a WhatsApp Trigger node with App ID and App Secret from the Meta Developers Portal. Right after that copy the WhatsApp Trigger URL and add it as a Callback URL in the Meta Developers Portal.
Tags
Related workflows
See all Google Sheets→Send daily appointment reminders from Google Sheets to WhatsApp
Quick overview This workflow runs daily to read appointment bookings from Google Sheets, filter for tomorrow’s appointments that have not been reminded yet, send each client a WhatsApp reminder message, and then update the sheet to mark the reminder as sent. How it works Runs every day at 9 AM on a schedule. Sets the Google Sheet ID, sheet tab name, WhatsApp phone number ID, and calculates tomorrow’s date. Reads all appointment rows from the specified Google Sheets tab. Filters to appointments where the appointment_date is tomorrow and reminder_sent is not true. Sends a WhatsApp message to each remaining client using their phone_number and appointment details. Updates the corresponding Google Sheets row (matched by row_id) to set reminder_sent to true. Setup Add Google Sheets OAuth credentials and set the target spreadsheet ID and sheet/tab name in the configuration values. Add WhatsApp Business Cloud (WhatsApp) credentials and set your WhatsApp phone number ID used to send messages. Ensure your Google Sheet includes the columns row_id (unique), client_name, phone_number, service, appointment_time, appointment_date (yyyy-MM-dd), and reminder_sent (boolean).
Track buyer query citation sources with GPT-4o and Google Sheets
Quick overview This workflow tracks which sources ChatGPT cites for buyer queries.vIt runs weekly to test buyer queries against OpenAI’s GPT-4o web search, extracts the cited URLs, and logs per-query citation counts and domain classifications to Google Sheets. How it works Runs every week on a schedule trigger. Reads a list of buyer queries (including brand and competitor context) from the queries tab in Google Sheets. Sends each query to OpenAI’s gpt-4o-mini-search-preview three times with web search enabled and extracts the url_citation annotations from each response. Aggregates citations per query and domain, calculating citation totals and a sample hit rate across the three runs. Sends the unique cited domains to OpenAI’s gpt-4o-mini to classify each domain into a source taxonomy (brand site, competitor site, review platform, community, publisher, or docs/other). Appends the aggregated rows with the domain classification and an example URL to the citations tab in Google Sheets. Setup Add an OpenAI API key as an HTTP Header Auth credential (Authorization: Bearer YOUR_KEY) for both OpenAI HTTP requests. Add a Google Sheets credential with access to the target spreadsheet. Create
Log nearby businesses from OpenStreetMap to Google Sheets by proximity
Quick overview This workflow collects a location and business search criteria via an n8n form, geocodes the location with OpenStreetMap Nominatim, finds nearby matching businesses using the Overpass API, and appends normalized results (including website availability) to a Google Sheets spreadsheet. How it works Receives a submission from an n8n form with a location, business category, search radius, and maximum results. Sends the location text to OpenStreetMap Nominatim to retrieve latitude and longitude coordinates. Stops if the location cannot be geocoded, preventing an invalid proximity search. Builds an Overpass QL query for the selected business category and radius around the geocoded coordinates. Calls the OpenStreetMap Overpass API to return matching nodes/ways and their tags (for example website, phone, and opening hours). Normalizes the returned elements into a consistent set of fields, flags whether a website is present, and appends the rows to Google Sheets. Setup Add a Google Sheets credential and select the target spreadsheet and sheet in the Google Sheets append step. Update the User-Agent value to include a real contact email to comply with OpenStreetMap usage policy