Weekly HubSpot pipeline snapshot to Excel and Slack
Every Monday at 8am, log this week's HubSpot pipeline into an Excel workbook and post a narrative summary to your sales Slack channel.
Every Monday at 8am (in the running user's timezone), run an agent that publishes a weekly HubSpot pipeline snapshot into an Excel workbook and posts a narrative summary to a sales Slack channel.
Expose these as workflow parameters so revenue teams can point it at their own setup: the Excel workbook file id, the Excel sheet name and table name (default the table name to "Pipeline Snapshot"), the Slack channel to post to, the quota target in dollars for the current period, and the stalled-deal threshold in days (default 21).
Step 1. Call HubSpot List Pipelines for deals so the agent knows every pipeline and its ordered stages. Then call HubSpot Search Deals to pull (a) all open deals across all pipelines and (b) any deals whose stage changed in the last 7 days. Fetch enough properties to compute value and age: pipeline, dealstage, amount, createdate, hs_lastmodifieddate, hs_date_entered_current_stage (or the closest stage-entry timestamp available), closedate, dealname, and hubspot_owner_id.
Step 2. Bucket the open deals by pipeline and stage. For each (pipeline, stage) compute: deal count, total value, and average deal age in days (now minus createdate). Also compute week-over-week deltas for count and total value by comparing against the most recent snapshot already stored in the workbook.
Step 3. Use Microsoft Excel Add Table Row to append this week's snapshot to the configured table in the configured workbook. Write one row per (pipeline, stage) with columns: snapshot_date (this Monday), pipeline_name, stage_name, deal_count, total_value, average_age_days, week_over_week_count_delta, week_over_week_value_delta. Batch the rows into a single Add Table Row call rather than one call per row.
Step 4. Use Microsoft Excel Get Table Rows to pull the last 4 weeks of snapshots from the same table so the agent can reason about the trend, not just this week's numbers.
Step 5. Use Slack Send a Message to post a written narrative to the configured channel. The message should include: total open pipeline value across all pipelines, quota coverage as pipeline divided by the quota-target parameter (call out when coverage looks thin), the top 5 deals moving forward this week (based on the stage-changed-in-last-7-days set, favoring larger amounts and later stages), the top 5 stalled deals (open deals whose current stage was entered more than the stalled-deal-threshold days ago, ordered by amount), and any pipeline coverage risks worth flagging (for example: a specific pipeline is under-covered, a late stage is thinning out, or week-over-week value dropped meaningfully). Keep the tone tight and useful for a sales leader skimming on Monday morning; use short sections and bullets, not a wall of text.
Guardrails: if the Pipeline Snapshot table is missing or the workbook cannot be opened, fail loudly rather than silently skipping the write. If no snapshots exist yet in Excel, still write this week's rows and note in Slack that this is the first snapshot so there is no week-over-week comparison. Never write partial snapshots. Format all currency values with the org's default currency symbol from the deal amounts.
Additional information
What does this prompt do?
- Snapshots every open deal in HubSpot by pipeline stage, with counts, total value, and average deal age.
- Appends this week's rows to a Pipeline Snapshot table in your Excel workbook so you build a rolling history.
- Compares the new snapshot against the last four weeks to surface stage movement, coverage gaps, and stalled deals.
- Posts a written summary to Slack with total open pipeline, quota coverage, top deals moving forward, and deals stuck for 21 days or more.
What do I need to use this?
- A HubSpot account with access to your deals and pipelines.
- A Microsoft account with the Excel workbook you want to log snapshots into, including a table named Pipeline Snapshot.
- A Slack workspace and the channel where you want the weekly summary posted.
- Your quota target for the current period so the summary can report coverage.
How can I customize it?
- Change the timing. Monday at 8am is a common cadence, but you can run it Friday afternoon or twice a week if your team reviews pipeline more often.
- Point it at a different workbook, sheet, or table by updating the Excel parameters, so different teams or regions can each keep their own history.
- Tune the stalled deal threshold. Twenty-one days is a sensible default, but shorten it for fast cycles or lengthen it for enterprise motions.
- Adjust the quota input each quarter so the coverage math stays accurate.
Frequently asked questions
Do I need a specific HubSpot plan for this to work?
What does the Excel workbook need to look like?
Can I use this for multiple pipelines?
What is a stalled deal?
How is quota coverage calculated?
Related templates
Stop rebuilding your pipeline report from scratch every Monday.
Connect HubSpot, Excel, and Slack once, and Geni runs the whole snapshot and summary every week for you.