Daily Brevo deliverability log in Google Sheets

Every morning, a new row appears for each hard bounce, soft bounce, and unsubscribe from the last 24 hours of Brevo activity.

Deterministic Code
BrevoGoogle SheetsMarketingOperationsData SyncDaily DigestsResearch & Monitoring
PromptCreate

Build me a code workflow that runs every morning at 7am and writes my Brevo deliverability events from the last 24 hours into a Google Sheet. This is a pure deterministic ETL: list events, shape rows, append. No LLM steps, no judgement calls. Make it a code workflow, not an agent.

Trigger: daily cron at 7am in my local timezone.

Step 1. Call Brevo Get Email Event Reports for the previous calendar day, scoped to startDate = yesterday 00:00 UTC and endDate = today 00:00 UTC. I need three event types: hardBounces, softBounces, and unsubscribed. You can either call the operation three times (once per event type) or use the multi-event filter if Brevo accepts it in a single call. Paginate until every event in the window is drained, not just the first page.

Step 2. For each event, build a row with these columns in order: date (event timestamp), recipient email, event type (hardBounce, softBounce, or unsubscribed), campaign or template id (whichever the event carries), and reason text. Use the event's reason field where available; leave it blank if Brevo didn't return one.

Step 3. Use Google Sheets Append Values to append the rows to a tab called 'Brevo deliverability log' in my chosen spreadsheet. Rows should land in chronological order (oldest event first). If there are zero events for the day, log a short message and exit cleanly without writing anything.

Ask me at build time which spreadsheet to write to, and confirm the tab name and column order before finalizing.

What does this prompt do?

  • Pulls yesterday's hard bounces, soft bounces, and unsubscribes from Brevo every morning at 7am.
  • Appends one row per event to a 'Brevo deliverability log' tab in your chosen Google Sheet.
  • Captures the date, recipient email, event type, campaign or template, and reason for each event.
  • Builds a running audit trail you can sort, filter, and review for list health trends over time.

What do I need to use this?

  • A Brevo account with permission to generate an API key.
  • A Google account connected to Google Sheets.
  • A spreadsheet ready to receive the log (Geni will help you set up the tab when you build the workflow).

How can I customize it?

  • Change the run time, the timezone, or run it twice a day instead of once.
  • Add or drop event types. You can also track opens, clicks, deferreds, blocked addresses, or spam complaints.
  • Scope the log to a specific campaign, template, or sender so it stays focused on the lists you actually care about.

FAQs

Will this overwrite my existing log?
No. New rows are appended below the last filled row, so your full history stays intact.
Can I point it at a different spreadsheet or tab name?
Yes. Geni will ask which spreadsheet to write to and what to name the tab when you build the workflow.
What happens if there were no bounces or unsubscribes yesterday?
The workflow exits cleanly without writing any rows. You'll still see the run in your history so you know it ran.
Does this affect my Brevo sending or pause any campaigns?
No. The workflow only reads event reports. It never sends, edits, or pauses anything in your Brevo account.
Can I add other deliverability signals like spam complaints or blocked addresses?
Yes. Brevo reports those too. Just mention them when you build the workflow and they'll be added to the daily pull.

Related templates

Call overdue Xero customers with an AI collections agent

Every weekday at 10am, an AI voice agent phones your most overdue Xero accounts, logs what each customer promised, and reports back to finance in Slack.

LiveKit
Xero
Deepgram
+2
Agentic Task
Local listing health board for every location you manage

See every Google Maps listing you manage on one screen, ranked worst first, with an audit button that writes the fix list for you.

Local Business Data
Google Sheets
App
Let support send one-off Loops emails without an engineer

Your team picks a template, finds the customer, checks they are safe to email, then sends it, with every send logged where the whole team can see it.

Loops.so
Stripe
Google Sheets
App
Stop cold emails to anyone with a live deal in Pipedrive

Every night at 2am, pull the contacts on your open and won deals and block them from your cold outreach before the next send goes out.

Mailshake
Pipedrive
Google Sheets
Deterministic Code
iMessage campaign console with pre-flight checks and delivery board

Build every text campaign in one screen: check who is actually reachable, see a realistic send plan, then watch delivery land row by row.

LoopMessage
Google Sheets
HubSpot
App
LinkedIn Ads budget pacing dashboard for every client account

See every LinkedIn ad account's spend against the budget you committed to, catch overspend early, and rebalance without rebuilding a spreadsheet.

LinkedIn Ads
Google Sheets
Slack Bot
App

Stop guessing at your Brevo list health.

Connect Brevo and Google Sheets once, and Geni keeps a clean audit trail of every bounce and unsubscribe, delivered to your spreadsheet at 7am each morning.