# Weekly Pipedrive pipeline snapshot to Google Sheets and Slack

> Every Monday at 8am, log a snapshot of every Pipedrive pipeline to Google Sheets and post the weekly headline numbers to Slack.

- Workflow type: code
- Services: Pipedrive, Google Sheets, Slack Bot
- Categories: Sales, Operations
- Published: 2026-05-17

## What it does

- Pulls every open deal across all your active Pipedrive pipelines on a Monday 8am schedule.
- Aggregates per pipeline and stage into deal count, total value, average days in stage, and a stalled count for anything untouched for more than 14 days.
- Appends one new row per pipeline and stage to a tracking tab in Google Sheets so you build a real weekly time series instead of one-off exports.
- Posts a short Slack summary to your leadership channel with the headline numbers and a link to the sheet.

## What you'll need

- A Pipedrive account connected with permission to read pipelines and deals.
- A Google Sheets account connected with edit access to the tracking spreadsheet.
- A Slack workspace connected with permission to post in your leadership channel.
- The spreadsheet ID and tab name where weekly snapshots should be appended.
- The Slack channel name or ID where the summary should land.

## Prompt

Build me a code workflow that runs every Monday at 8:00am America/New_York and produces a deterministic weekly snapshot of my Pipedrive pipeline. It should be fully reproducible, no LLM judgement needed.

Step 1: Use Pipedrive List Pipelines to enumerate every active pipeline. Capture each pipeline's id and name. Skip archived or deleted pipelines.

Step 2: For each pipeline, use Pipedrive List Deals filtered by that pipeline_id and status=open to pull every open deal. Paginate through all pages. For each deal, keep the deal id, stage_id, stage name, value, currency, add_time, and update_time.

Step 3: In code, aggregate the deals by (pipeline, stage). For each (pipeline, stage) bucket compute: deal_count, total_value (sum of value, converted to a single reporting currency if needed), average_days_in_stage (average of now minus stage_change_time, or update_time if stage_change_time is unavailable), and stalled_count (count of deals whose update_time is more than 14 days before the run time). Make the 14 day stalled threshold a configurable constant.

Step 4: Use Google Sheets Append Values to append one row per (pipeline, stage) bucket to a designated tracking tab. Columns in order: snapshot_date (the run date in America/New_York, YYYY-MM-DD), pipeline_name, stage_name, deal_count, total_value, average_days_in_stage, stalled_count. Use USER_ENTERED so numbers and dates are parsed correctly. Do not overwrite existing rows, only append.

Step 5: Use Slack Bot Send a Message to post one summary message to the configured leadership channel. The message should include: total open deal count and total open value across all pipelines, the count of stalled deals, the pipeline with the largest open value, and a link to the Google Sheets tab. Format it tightly with a bold headline and a short bullet list.

Make these configurable inputs: spreadsheet_id, tracking tab name, Slack channel, reporting timezone, stalled threshold in days, and an optional currency for value conversion. Log a final summary line with total pipelines covered, total deals processed, and total value so a human can sanity check the run.

## How to customize

- Change the cron to a different day or timezone, for example Friday at 5pm for an end-of-week snapshot.
- Filter to a single pipeline, a specific owner, or a minimum deal value instead of every open deal.
- Adjust the stalled threshold from 14 days to whatever your team treats as a warning sign.
- Tweak the Slack summary format, add or drop metrics, or route it to a different channel.

## FAQ

### Does this overwrite my existing Pipedrive data?

No. The workflow only reads from Pipedrive. It writes new rows to a Google Sheets tab and posts a Slack message. Your CRM is untouched.

### What counts as a stalled deal?

By default, any open deal whose last update in Pipedrive is more than 14 days old. You can change the threshold in the workflow if your team uses a different cutoff.

### Will it pick up new pipelines automatically?

Yes. Each run lists your active pipelines, so any pipeline you add in Pipedrive shows up in next Monday's snapshot without code changes.

### Can I chart the data once it is in Google Sheets?

Yes. Because each run appends a fresh row per pipeline and stage with the snapshot date, you can build a pivot table or chart over time the same way you would with any time series.

### Can I run this on demand instead of waiting until Monday?

Yes. The Monday cron is one option. You can swap it for a manual trigger or change the schedule without changing the rest of the workflow.

Use this prompt in General Input: https://www.generalinput.com/prompts/weekly-pipedrive-pipeline-snapshot-to-google-sheets-and-slack