🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Google Sheets to WhatsApp, sales forecasts delivered

Lisa Granqvist Partner Workflow Automation Expert

You’ve got sales data in a sheet, but turning it into a forecast you actually trust is where things fall apart. The cleanup takes forever, the “forecast” is usually a guess, and by the time you share it, it’s already old. This is Sheets WhatsApp forecasts automation that stops that cycle.

If you’re a business owner, you want a quick pulse before you make a call. Sales leaders feel it when leadership asks for “next month’s outlook” right now. And honestly, ops folks get dragged into it too because someone has to pull the numbers.

This workflow pulls your Google Sheets history, runs real forecasting methods, turns the result into plain-English insights, then sends you a chart and briefing on WhatsApp. You’ll see what it does, what you need, and how to tailor it.

How This Automation Works

Here’s the complete workflow you’ll be setting up:

n8n Workflow Template: Google Sheets to WhatsApp, sales forecasts delivered

Why This Matters: Forecasting That’s Always “Later”

Most sales forecasts don’t fail because people are careless. They fail because the process is fragile. Someone exports numbers, someone else “fixes” the sheet, and the person making the decision gets a screenshot with no context. Then questions start. “Is this seasonal?” “Is that dip a one-off?” “How confident are we?” You end up rebuilding the same report again, usually at the worst possible time, and small data issues quietly snowball into bad calls.

It adds up fast. Here’s where it breaks down in real life.

  • Copying Google Sheets data into a separate forecasting file creates version chaos, so you never know which “final” is final.
  • Manual cleanup (missing months, text numbers, odd formats) turns into a recurring chore that eats an hour when you can least spare it.
  • Most quick-and-dirty forecasts have no backtesting, which means you don’t get a real confidence signal when the model is wrong.
  • Sharing the outcome is awkward: charts get lost in email threads, dashboards require logins, and leadership still asks for a WhatsApp summary.

What You’ll Build: A Forecasting “Briefing” That Messages You

This workflow behaves like a small virtual forecast team that runs in the background. On a schedule (monthly), it grabs your historical sales from Google Sheets and cleans the records into a consistent time series. Then the forecast engine runs seven different statistical approaches, backtests them against your own history, and selects the one with the lowest error. Next, an AI Agent reads that mathematical output and translates it into an executive-ready explanation, including confidence scores based on the error margins. Finally, it renders a trend chart as a PNG and pushes both the chart and the briefing to you on WhatsApp, so you can forward it or make decisions immediately.

The same workflow also supports follow-up questions. If you message the bot on WhatsApp, it retrieves the latest saved forecast state and answers like an on-demand analyst, comparing the forecast to historical actuals so the response is grounded in your data.

What You’re Building

Expected Results

Say you update and share a forecast once a month. Manually, it’s usually 30 minutes to pull data, about an hour to clean it and rebuild the chart, then another 20 minutes writing a summary and sending it around, so roughly 2 hours total. With this workflow, you spend about 10 minutes once mapping your Sheet ID and checking the WhatsApp recipient. After that, the monthly run lands in WhatsApp with the PNG chart and briefing automatically, and follow-up Q&A is just a message.

Before You Start

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets for your Year/Month/Sales history table.
  • WhatsApp to receive the report and ask questions.
  • OpenAI API key (get it from your OpenAI platform dashboard)

Skill level: Intermediate. You will connect credentials, map a Sheet ID, and sanity-check a few fields, but you won’t be writing an app.

Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).

Step by Step

A monthly schedule kicks it off. The workflow starts from a scheduled trigger, so you can have it run on the first day of the month, after close, or whenever your team normally checks pipeline and revenue direction.

Google Sheets is pulled and cleaned. It reads your sheet (Year, Month, Sales), then a cleansing step normalizes the records so missing values and odd formats don’t poison the forecast.

The forecast is computed and explained. A code-based forecast engine tests multiple statistical methods, backtests them, and chooses the winner. Then the AI Agent turns the output into a business narrative with confidence scores, using the OpenAI chat model plus short-term conversation memory for consistency.

A chart and briefing are delivered to WhatsApp. The workflow builds a chart configuration, calls a chart-rendering service by HTTP request to generate a PNG, stores the latest forecast JSON in a data table, and sends the chart and summary to WhatsApp. A second path listens for inbound WhatsApp messages and replies with Q&A based on that saved “latest forecast” state.

You can easily modify the schedule and the report format to match your cadence and tone. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Schedule Trigger

Set the monthly schedule and initialize workflow settings before any data retrieval begins.

  1. Open Scheduled Monthly Start and set the rule to run monthly with Trigger At Hour set to 9.
  2. Open Workflow Settings Map and confirm spreadsheetId is SalesSheet and sheetName is Sales.
  3. Ensure Workflow Settings Map keeps Include Other Fields enabled.

Step 2: Connect Google Sheets

Retrieve the monthly sales history from Google Sheets for cleaning and forecasting.

  1. Open Retrieve Sales Sheet and select your file in Document and the tab in Sheet Name.
  2. Set Authentication to serviceAccount.
  3. Credential Required: Connect your googleApi credentials.

Step 3: Clean and Forecast Sales Data

Clean incoming rows and compute the forecast, then generate executive insights.

  1. Verify Cleanse Sales Records keeps the mapping from MonthlySales to Sales and builds period as YYYY-MM.
  2. Confirm the parallel execution: Cleanse Sales Records outputs to both Merge Chart Inputs and Forecast Computation in parallel.
  3. Review Forecast Computation to ensure the forecasting logic remains intact for your monthly dataset.
  4. Open Insight Analyst Agent and keep Has Output Parser enabled; it uses Structured Result Parser as the output parser and Primary Chat Model as the language model.
  5. Credential Required: Connect your openAiApi credentials in Primary Chat Model (used by Insight Analyst Agent).
  6. In Format Executive Output, confirm summaryReport is set to {{ $json.output.reasoning }}.
Tip: Structured Result Parser is attached to Insight Analyst Agent as an AI output parser. If you update AI credentials, do it on Primary Chat Model, not the parser.

Step 4: Build and Render the Forecast Chart

Merge the forecast with clean data, build the chart configuration, and render the image.

  1. Ensure Merge Chart Inputs is set to Mode combine and Combine By combineByPosition.
  2. Open Build Chart Config and confirm it appends the forecast period and builds the line chart configuration.
  3. Configure Chart Rendering Request with URL https://quickchart.io/chart and Method POST.
  4. Set the chart body parameter chart to {{ JSON.stringify($json.chartConfig) }}, and confirm format is png, width is 1200, and height is 600.
  5. Note the parallel execution: Chart Rendering Request outputs to both Store Latest Forecast and WhatsApp Report Dispatch in parallel.
⚠️ Common Pitfall: If Chart Rendering Request is not set to output the image file to chart, the WhatsApp image send in WhatsApp Report Dispatch will fail.

Step 5: Configure WhatsApp Q&A and Security Gate

Handle incoming WhatsApp questions, validate the sender, and generate AI responses from stored forecast history.

  1. Open Incoming WhatsApp Trigger and ensure it listens for updates set to messages.
  2. Credential Required: Connect your whatsAppTriggerApi credentials in Incoming WhatsApp Trigger.
  3. In Validate Text Sender, set the condition to compare {{ $json.messages[0].from }} equals 16727551224.
  4. Open Normalize WhatsApp Payload and keep chatInput set to the extraction expression for WhatsApp message body.
  5. In Retrieve Latest Forecast, confirm the filter uses key equals latest.
  6. In Parse History Payload, keep the normalization logic to map year, month, and sales correctly.
  7. Open Forecast Q&A Agent and confirm the prompt text is {{ $('Normalize WhatsApp Payload').item.json.chatInput }}.
  8. Credential Required: Connect your openAiApi credentials in Secondary Chat Model (used by Forecast Q&A Agent).
  9. Confirm Conversation Memory is connected as AI memory to Forecast Q&A Agent; update credentials on the parent model, not the memory node.
  10. Open Send Q&A Reply and set Text Body to {{ $json.output }}.
  11. Credential Required: Connect your whatsAppApi credentials in Send Q&A Reply.
⚠️ Common Pitfall: Replace all [YOUR_ID] placeholders in Send Q&A Reply and WhatsApp Report Dispatch with valid WhatsApp phone number IDs and recipient numbers.

Step 6: Configure Data Storage and Report Dispatch

Store the latest forecast and send the chart report via WhatsApp.

  1. Open Store Latest Forecast and confirm Operation is upsert with key set to latest.
  2. Verify the stored fields use expressions: historySales uses {{ JSON.stringify($items("Retrieve Sales Sheet").map(i => ({ year: i.json.Year, month: i.json.Month, sales: i.json.MonthlySales }))) }}, forecastSales uses {{ $json.output.forecastedSales }}, summaryReport uses {{ $json.summaryReport }}, and forecastPeriod uses {{ $json.output.forecastHorizon }}.
  3. Open WhatsApp Report Dispatch and set Message Type to image and Media Property Name to chart.
  4. Ensure WhatsApp Report Dispatch uses mediaCaption set to {{ $json.summaryReport }}.
  5. Credential Required: Connect your whatsAppApi credentials in WhatsApp Report Dispatch.

Step 7: Test and Activate Your Workflow

Run end-to-end tests for both the scheduled report and the WhatsApp Q&A paths, then activate for production.

  1. Click Execute Workflow to test the scheduled path starting at Scheduled Monthly Start.
  2. Confirm that Chart Rendering Request returns a chart file and that Store Latest Forecast upserts the latest record.
  3. Send a test WhatsApp message to trigger Incoming WhatsApp Trigger and verify Send Q&A Reply returns an AI response.
  4. When all tests pass, toggle the workflow to Active for monthly production runs.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Troubleshooting Tips

  • Google Sheets credentials can expire or need specific permissions. If things break, check the connected Google account access to the target Sheet (and that the Sheet ID in your configuration node matches the right file) first.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.

Quick Answers

What’s the setup time for this Sheets WhatsApp forecasts automation?

About 30 minutes if your credentials and sheet are ready.

Is coding required for this sales forecast delivery?

No. You’ll mostly connect accounts and map your Google Sheet fields. The forecast logic is already built into the workflow.

Is n8n free to use for this Sheets WhatsApp forecasts workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenAI API costs, which are usually a few cents per run for a simple monthly report.

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I modify this Sheets WhatsApp forecasts workflow for different use cases?

Yes, and you should. You can change the schedule trigger to weekly, swap the Google Sheets input for a different sheet, and adjust the “Format Executive Output” step to match your leadership style. If you want the Q&A to behave differently, tweak the “Forecast Q&A Agent” prompt so it answers in your terminology (pipeline vs. bookings, revenue vs. MRR). You can also replace the chart renderer call by editing the “Chart Rendering Request” node.

Why is my WhatsApp connection failing in this workflow?

Usually it’s credentials or sender validation. Start by checking the WhatsApp Trigger and “Validate Text Sender” step to confirm the inbound number is allowed, then re-authenticate the WhatsApp credential used by “Send Q&A Reply” and “WhatsApp Report Dispatch.” If the workflow sends nothing but shows green checks, it can also be a formatting problem in the normalized payload, so review the “Normalize WhatsApp Payload” mapping.

What volume can this Sheets WhatsApp forecasts workflow process?

For a monthly forecast message, volume is basically a non-issue.

Is this Sheets WhatsApp forecasts automation better than using Zapier or Make?

Often, yes, because this workflow isn’t just “move data from A to B.” You’re doing data cleansing, running code-based forecasting, generating a chart via HTTP, storing state in a table, and supporting two-way WhatsApp Q&A with memory, which is the kind of multi-branch logic that gets awkward (and expensive) in simpler tools. n8n also gives you a self-host option, so you’re not paying per tiny step when you expand the workflow. Zapier or Make can still be fine if you only want a basic “send me a sheet snapshot” alert. If you want help picking the right stack, Talk to an automation expert.

You get a forecast you can defend, delivered somewhere you’ll actually read it. Set it up once, then let the workflow do the monthly chasing.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal