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.
Integrations
Brevo
Google Sheets
Type
Categories
- Marketing
- Operations
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 it does
- 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 you’ll need
- 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 to 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.
Use cases
- Data Sync
- Daily Digests
- Research & Monitoring