Weekly Salesforce pipeline snapshot to Google Sheets and Gmail

Every Monday at 8am ET, pull the next 90 days of open Salesforce pipeline, log a snapshot to Google Sheets, and email a clean summary to sales leadership.

Deterministic Code
SalesforceGoogle SheetsGmailSalesOperationsDaily DigestsAI ReportsEmail Automation
PromptCreate

Build a deterministic code workflow that runs every Monday at 8:00 AM America/New_York and produces a weekly pipeline snapshot for sales leadership.

Trigger: cron, weekly, Monday 08:00 ET.

Step 1. Salesforce SOQL Query against the Opportunity object. Pull all open opportunities (IsClosed = false) with CloseDate within the next 90 days from today. Select Id, Name, Amount, StageName, OwnerId, Owner.Name, AccountId, Account.Name, CloseDate, and LastActivityDate. Order by CloseDate ascending.

Step 2. In code, transform the result set: (a) compute total Amount and opportunity count bucketed by StageName, (b) compute total Amount and opportunity count bucketed by Owner.Name, (c) flag any opportunity where LastActivityDate is null or older than 14 days from the run date as stale.

Step 3. Google Sheets Append Values. Append one row per opportunity to the configured pipeline log spreadsheet and tab. Columns in order: run_date (today, ISO date), opportunity_id, opportunity_name, account_name, owner_name, stage, amount, close_date, last_activity_date, is_stale (true/false). This builds a week-over-week history.

Step 4. Build a clean HTML email body. Include: a header with the run date, a By Stage table (stage, deal count, total amount), a By Owner table (owner, deal count, total amount), and a Stale Deals section listing every flagged opportunity with name, owner, stage, amount, close date, and last activity date. Format amounts as USD currency.

Step 5. Gmail Send a Message. Send the email to the sales leadership distribution list (configurable recipients) with subject "Weekly pipeline snapshot" and the HTML body from step 4.

Inputs to expose as workflow configuration: the Google Sheet ID and tab name for the pipeline log, the recipient list for the email, the lookback days for stale flagging (default 14), and the close date window in days (default 90).

What does this prompt do?

  • Pulls every open Salesforce opportunity closing in the next 90 days, including amount, stage, owner, and last activity date.
  • Buckets the pipeline by stage and by owner so leadership can see coverage and ownership at a glance.
  • Appends a snapshot row per opportunity to a Google Sheets pipeline log, so historical trends accumulate week over week.
  • Emails sales leadership a clean HTML table of the totals and flags any deals with no activity in the last 14 days.

What do I need to use this?

  • A Salesforce login with access to the Opportunity object.
  • A Google account with edit access to the Google Sheet you want to use as the pipeline log.
  • A Gmail account that can send to your sales leadership distribution list.
  • The list of email addresses (or a group alias) that should receive the Monday snapshot.

How can I customize it?

  • Change the schedule. Run it daily, biweekly, or only on the first Monday of the month instead of every Monday at 8am ET.
  • Adjust the time window. Pull deals closing in the next 30 or 60 days instead of 90, or scope it to a single business unit.
  • Tune the stale deal threshold. Flag opportunities with no activity in 7, 21, or 30 days instead of 14.
  • Swap the recipients or the Google Sheet. Point the email at a different distribution list, or log to a different tab for each region or segment.

FAQs

Does this work with Salesforce Professional, Enterprise, or Unlimited editions?
Yes. As long as your Salesforce login has read access to the Opportunity object, this will work on any edition that exposes opportunities through the standard interface.
Will the historical pipeline log keep growing forever?
Yes. Each run appends a fresh snapshot row per opportunity tagged with the run date, so over time you build a week-by-week record of how pipeline shifted. You can archive or roll up older rows whenever you want.
Can I send the summary to Slack instead of email?
Yes. The bucketed totals are produced as structured data, so you can swap the Gmail step for a Slack message to a leadership channel, or do both.
How do I change which deals are flagged as stale?
The stale threshold is a single setting in the workflow. Change it from 14 days to whatever cadence your team expects reps to touch open opportunities.
What if an owner has no open pipeline that week?
Owners with zero qualifying opportunities are simply omitted from the by-owner section of the email. You can also choose to show them with a zero so gaps are visible.

Related templates

Trace phishing emails to the sending IP and report abuse

Every 15 minutes, forwarded phishing reports get traced back to the server that really sent them, with a verdict in Slack and the worst senders reported.

AbuseIPDB
Gmail
Slack
Agentic Task
Weekly Amazon S3 bucket security audit posted to Slack

Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.

Amazon S3
Slack Bot
Google Sheets
Agentic Task
Turn procurement portal tenders into CRM deals each morning

Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.

Anchor Browser
Google Sheets
HubSpot
+1
Agentic Task
Draft polite follow-ups for emails that never got a reply

Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.

Aurinko
Google Sheets
Slack Bot
Agentic Task
Weekly flight risk brief for trips your team already booked

Every Thursday, rank your team's upcoming flights by how likely they are to run late, and email the fixes while changes are still cheap.

AeroDataBox
Airtable
Gmail
Agentic Task
Warn customers before their saved card expires and billing fails

Each month, spot the saved cards about to expire, email the customers still on recurring billing, and rank the revenue at risk in Slack.

Authorize.Net
Gmail
Slack Bot
Agentic Task

Stop rebuilding the Monday pipeline deck by hand.

Connect Salesforce, Google Sheets, and Gmail once, and Geni delivers the pipeline snapshot to your leadership team every Monday at 8am ET.