Skip to content
WorkflowsTutorial

Automate a weekly marketing report with AI

Automate a weekly marketing report with AI, Google Sheets, Zapier, and Slack. Build the Monday summary in about 90 minutes.

RunbookAugust 1, 20269 min read
Automate a weekly marketing report with AI
FIG. 01 — FEATURED

This sheet contains partner links. A purchase through one earns Runbook a commission at no additional cost to you. How we make money.

You can stop spending Monday morning turning last week's numbers into a status email. In about 90 minutes, you'll build a weekly marketing report that reads one approved row from Google Sheets, asks AI to explain the changes, and posts the result in Slack. Zapier moves the data between those tools on a schedule. No code is required.

What you'll build

The finished automation runs every Monday after your numbers are ready. It finds the row for the previous week, calculates nothing, gives those approved figures to an AI model, and posts a short report in your team's Slack channel.

That boundary matters. AI is good at turning numbers into a readable explanation. It should not be trusted to fetch scattered figures, decide which version is correct, or quietly fill a blank. Your spreadsheet remains the source of truth. The AI only writes from the row you hand it.

The report will contain:

BlockWhat appearsWhere it comes from
ScoreboardLeads, sales, revenue, ad spendGoogle Sheets
EfficiencyCost per lead and conversion rateGoogle Sheets formulas
ChangeWhat rose or fell from the prior weekCurrent and prior-week columns
ExplanationTwo plain-language observationsAI by Zapier
Next moveOne action for the coming weekAI, limited by your rules

If your numbers still live in several dashboards, build this report after you have a dependable collection process. An attractive summary of mismatched data wastes more time than a plain spreadsheet. The automation-tool comparison can help if you have not chosen the system that will move those numbers.

Stack

You need four pieces:

  • Google Sheets holds one row per week. It is the approved record, not a scratchpad.
  • Zapier is the automation tool. It moves information between apps when a trigger fires.
  • AI by Zapier turns the approved figures into fixed report sections. AI means software that can interpret and write text from your instructions.
  • Slack receives the final report. You can replace Slack with email while keeping the other steps.

Zapier's current AI action supports built-in models from OpenAI, Anthropic, Google, Azure OpenAI, and Amazon Bedrock. Its Standard model tier costs one Zapier task per run, while Advanced costs three and Premium costs five, according to Zapier's AI action documentation. A task is one completed paid action in an automation. Standard is enough for this narrow summary.

If task billing is unfamiliar, read the Zapier pricing breakdown before publishing several reporting routines.

Step 1: Build the source sheet

Create a Google Sheet named Weekly Marketing Scoreboard. Rename the first worksheet Weekly Metrics.

Put these headings in row 1:

Week Start | Leads | Sales | Revenue | Ad Spend | Cost per Lead | Conversion Rate | Prior Leads | Prior Sales | Prior Revenue | Prior Ad Spend | Data Status

Use Monday's date in Week Start, formatted as YYYY-MM-DD, such as 2026-07-27. Enter numbers without currency symbols in the working cells. Format the Revenue, Ad Spend, and Cost per Lead columns as currency after entry.

In the first data row, calculate cost per lead with =IFERROR(E2/B2,0) and conversion rate with =IFERROR(C2/B2,0). Format conversion rate as a percentage. Copy those formulas down the columns.

Set Data Status to Approved only after someone has checked the row against the original dashboards. The automation will use that word as its release switch. This prevents a half-filled Monday row from becoming a confident report.

Do not merge cells or place a second header farther down the worksheet. Zapier's Google Sheets requirements also warn against blank rows between records because they make row handling unreliable.

Step 2: Set the Monday trigger

In Zapier, click Create, then Zaps. Name the automation Monday marketing report.

Click the Trigger box. Search for Schedule by Zapier, then choose Every Week as the trigger event. Set Day of the Week to Monday and choose a time after the spreadsheet is normally approved. If the row is ready at 8:00 a.m., run the report at 9:00 a.m.

Check the time zone under Settings > General > Time zone in your Zapier account. Schedule uses the account time zone, not a separate time zone chosen inside the automation. Zapier also says a scheduled run can arrive a few minutes after the selected time. That is normal, not a failure. The official schedule instructions confirm that the schedule trigger itself does not use a task.

Click Test trigger. Keep the sample date Zapier returns because you will map it into the next step.

Step 3: Create the week key

Click the + below the trigger. Choose Formatter by Zapier, then Date / Time. Select the transform that adds or subtracts time.

Map the scheduled date into Input. Enter -7 days in the adjustment field. Set the output format to YYYY-MM-DD. Test the step and confirm that the result is the Monday beginning the week you want to report.

This small step gives the spreadsheet lookup one exact key. Do not ask the AI to work out the date. Date rules belong in the automation where you can see and test them.

Step 4: Find the approved row

Add another action. Choose Google Sheets, then Lookup Spreadsheet Row. Connect the Google account that owns the sheet.

In Configure, select Weekly Marketing Scoreboard as the spreadsheet and Weekly Metrics as the worksheet. Set Lookup Column to Week Start. In Lookup Value, map the formatted date from Step 3. Set the supporting lookup column to Data Status and its value to Approved.

Leave Create Google Sheets Spreadsheet row if it doesn't exist yet? unchecked. Missing data should stop the report, not create an empty record. Zapier's row lookup guide confirms that the lookup can use a second column and value to narrow the match.

Click Test step. You should see every field from the approved weekly row in Data out.

The lookup is the step everyone gets stuck on. The date in Zapier must match the sheet exactly. 2026-07-27, 7/27/2026, and a full timestamp can look equivalent to you but behave as different lookup values. Force both sides to YYYY-MM-DD, then test with a real approved row.

Step 5: Add the guarded AI summary

Click +, search for AI by Zapier, and keep the model tier on Standard. Paste the prompt below into Prompt. Wherever the prompt shows square brackets, type / and select the matching field from the Google Sheets lookup. A colored field token means live data will replace the sample on every run.

Copy this

Write a weekly marketing report for a business owner using only the supplied figures.

Current week:
- Week start: [Week Start]
- Leads: [Leads]
- Sales: [Sales]
- Revenue: [Revenue]
- Ad spend: [Ad Spend]
- Cost per lead: [Cost per Lead]
- Conversion rate: [Conversion Rate]

Prior week:
- Leads: [Prior Leads]
- Sales: [Prior Sales]
- Revenue: [Prior Revenue]
- Ad spend: [Prior Ad Spend]

Rules:
1. Never estimate, invent, or repair a number.
2. If a required value is blank, say "comparison unavailable" for that measure.
3. State the scoreboard first in six short lines.
4. Give exactly two observations supported by the figures.
5. Give one next action. Tie it to the largest verified change.
6. Do not claim that one change caused another.
7. Use plain English and stay under 180 words.

Expand Settings > Output Fields. Add one required text field named report. Fixed output fields make later steps easier to map and stop the response from arriving under a changing label. Click Preview, then compare every number in the result with the test row. Click Finish only after they match.

Your move

Add one deliberately blank number to the test row and preview again. Publish only if the report says the comparison is unavailable instead of filling the gap.

Step 6: Deliver the report in Slack

Add the last action. Choose Slack, then Send Channel Message. Select the channel where the person responsible for next week's action already works.

In Message Text, type a heading such as Weekly marketing report: , map Week Start from Google Sheets, press Enter twice, then map the report output from AI by Zapier. Keep broad workspace alerts out of the first version. A report should create a decision, not interrupt everyone.

Click Test step. This sends a real test message, so use a private test channel first. Check line breaks, every figure, and the stated action. Then publish the Zap.

The part that breaks

The weak point is not the writing. It is late or inconsistent source data.

If Monday's row is not marked Approved, the lookup stops and no report appears. That is the correct failure. Give one person ownership of the approval cell and set a calendar reminder 30 minutes before the Zap runs.

The second risk is false explanation. Leads and revenue can move together without one causing the other. The prompt bans causal claims, but you still need a person to treat the report as a decision aid rather than an audit. Review the first four weekly messages before relying on the routine.

Finally, watch permissions. If the connected Slack account is removed from the channel or the Google account loses access to the sheet, delivery stops. Check Zapier > Zap History when a Monday report is missing. The failed step and its input appear there.

Upgrade path

Once four clean reports have run, add only the layer that removes a proven bottleneck.

First, add an email delivery step for owners who do not use Slack. Next, create separate approved rows for each location or business unit, then run one controlled report per row. If data collection is still manual, connect the original advertising and sales systems into the source sheet, but keep the approval column between collection and reporting.

For a higher-volume build, compare the billing and control differences in Zapier alternatives for automation. If your next job is customer follow-up rather than reporting, wire the lead-to-CRM automation after this one.

Get the next build in the workflow runbooks.

Frequently asked questions

Can AI create a weekly marketing report automatically?

Yes. An automation can collect one row of approved numbers, ask AI to explain the changes, and deliver a fixed-format report on a weekly schedule.

What should a weekly marketing report include?

Start with leads, sales, revenue, advertising spend, cost per lead, and conversion rate. Add one plain-language explanation and one action for the coming week.

How do you stop AI from inventing marketing numbers?

Pass only approved figures into the prompt, forbid estimates, require fixed output fields, and make the AI state that a comparison is unavailable when data is missing.

How long does this weekly report automation take to build?

Allow about 90 minutes for the first version, including the Google Sheet, Zapier steps, test data, and a live Slack delivery test.

About Runbook

AI tools and automation builds for marketers. What to use, how to wire it, and the workflow to copy this week. How we work

GET THE NEXT DISPATCH

Run the next build before your competitors read about it.

One short email when an AI tool or automation actually changes the work, with the build to copy.

No send unless there is a build worth running.

// keep_reading

Related builds