Complete Guide: Weekly Pipedrive Pipeline Report → Slack + Google Sheets with n8n

Every Monday morning, someone on your team opens Pipedrive, filters by stage, exports a CSV, pastes it into a spreadsheet, calculates weighted pipeline value, and drops a summary into Slack. It takes

Complete Guide: Weekly Pipedrive Pipeline Report → Slack + Google Sheets with n8n

Every Monday morning, someone on your team opens Pipedrive, filters by stage, exports a CSV, pastes it into a spreadsheet, calculates weighted pipeline value, and drops a summary into Slack. It takes 30–45 minutes, it happens 52 times a year, and the numbers are stale the moment they're posted. This guide shows you how to replace that ritual entirely with an n8n workflow that pulls your full pipeline every Monday at 8AM, writes it to Google Sheets, and posts a formatted summary to Slack — with zero manual work.

The problem: manual reporting doesn't scale and it lies

Pipeline reporting fails in three predictable ways. First, it's expensive — a founder or ops lead spends the most valuable hour of the week copy-pasting instead of closing. Second, it's inconsistent — different people export different filters, weight deals differently, and round numbers however they feel, so week-over-week comparisons become meaningless. Third, it's stale — by the time the report is assembled and posted, deals have moved, and the team is making Monday decisions on Friday's data.

The deeper issue is that pipeline data lives in Pipedrive, but decisions happen in Slack and Google Sheets. Every manual report is a bridge someone rebuilds by hand each week. Automate the bridge once and it never breaks, never forgets, and never rounds in its own favor.

The solution: one scheduled n8n workflow, two destinations

The workflow does exactly what a diligent ops person would do, on a schedule you set once:

  • Triggers every Monday at 08:00 in your timezone.
  • Pulls all open deals from Pipedrive via the REST API, including stage, value, currency, and probability.
  • Aggregates by stage — deal count, total value, and weighted value (value × stage probability).
  • Appends a timestamped row per stage to a Google Sheet, building a historical trend automatically.
  • Posts a clean, formatted summary block to a Slack channel so the whole team sees the same numbers at the same time.

Google Sheets becomes your system of record and trend line. Slack becomes your distribution layer. Pipedrive stays the source of truth. Nobody touches a CSV again.

Step-by-step setup in n8n

The workflow uses six nodes. Here's each one and the configuration that matters.

1. Schedule Trigger. Add the Schedule Trigger node. Set the interval to Cron and use the expression 0 8 * * 1 (08:00 every Monday). Critically, set the workflow timezone under Settings → Timezone — n8n defaults to UTC, and a report that fires at 8AM UTC lands at 3AM for a US East Coast team. This is the single most common setup mistake.

2. Pipedrive — Get Deals. Add the Pipedrive node, resource Deal, operation Get All. Set Filters → Status to open so closed and lost deals don't inflate your pipeline. Enable Return All so pagination is handled automatically — the node loops through the API's 100-item pages for you. Authenticate with a Pipedrive API token from Settings → Personal → API. If you run separate pipelines (e.g. New Business vs. Renewals), add a Pipeline ID filter here or handle the split in the next node.

3. Code — Aggregate by stage. The Pipedrive node returns one item per deal; you need one item per stage. Add a Code node (Run Once for All Items) with JavaScript that reduces deals into stage buckets:

const stages = {};
for (const item of $input.all()) {
  const d = item.json;
  const key = d.stage_id;
  stages[key] = stages[key] || { stage_id: key, count: 0, value: 0, weighted: 0 };
  stages[key].count += 1;
  stages[key].value += d.value || 0;
  stages[key].weighted += (d.value || 0) * ((d.probability ?? 100) / 100);
}
return Object.values(stages).map(s => ({ json: s }));

Note the probability ?? 100 fallback: deals without an explicit probability count at full value rather than silently dropping to zero. Add a date field here (new Date().toISOString().slice(0,10)) so every row is timestamped for trend analysis.

4. Google Sheets — Append. Add the Google Sheets node, operation Append. Select your spreadsheet and tab, map the columns (date, stage, count, value, weighted), and set Append rather than Update so history accumulates. Authenticate with OAuth2 or a service account — for an unattended weekly cron, a service account with the sheet shared to its email is the most reliable, since OAuth tokens can require re-consent.

5. Set / Code — Format the Slack message. Before Slack, build the summary string. A second Code node can total the weighted pipeline and format each stage into a readable line using Slack markdown (*bold*, backticks, and \n line breaks). Include the grand total and the week-over-week delta if you read the previous row from Sheets.

6. Slack — Post Message. Add the Slack node, resource Message, operation Send. Choose the channel, paste the formatted text, and connect via a Slack app token with the chat:write scope. For a polished result, switch to Blocks and use a header block plus section blocks — it renders as a clean report card instead of a wall of text.

Wire them in order, hit Execute Workflow to test with live data, confirm the row lands in Sheets and the message appears in Slack, then toggle the workflow Active. That's it — it now runs forever without you.

Benefits: what you actually get back

Time. You reclaim roughly 30 hours a year that were spent exporting and pasting. Multiply that across everyone who currently touches the report.

Consistency. The same filter, the same weighting formula, the same format — every single week. Comparisons become trustworthy because the methodology never drifts.

A free trend line. Because every run appends a dated row, your Google Sheet becomes a longitudinal record of pipeline health with no extra effort. Chart weighted pipeline over eight weeks and you can spot a stalling top-of-funnel before it becomes a revenue miss.

Shared reality. When the whole team reads the same Slack post at 8AM Monday, standup starts with alignment instead of "let me pull the numbers." Reporting becomes ambient rather than an event.

Common pitfalls and how to avoid them

Timezone drift. Already flagged, but it's worth repeating because it's the #1 failure. Set the workflow timezone explicitly; don't trust the UTC default.

Currency mixing. If your deals span multiple currencies, summing raw value gives you a meaningless number. Use Pipedrive's value in a single reporting currency, or add a conversion step in the Code node keyed off the deal's currency field.

Pagination assumptions. If you forget Return All, the Pipedrive node returns only the first 100 deals and your totals will be quietly wrong once you cross that threshold. Always enable it, or handle pagination explicitly.

Silent auth expiry. OAuth credentials for Google or Slack can expire and fail without anyone noticing on a Monday-only workflow. Add an Error Trigger workflow that pings a Slack channel if the main run fails — a report that silently stops is worse than no report, because you'll trust numbers that aren't updating.

Probability nulls. Deals in stages without a set probability can zero out your weighted pipeline if you don't handle the null. The ?? 100 fallback above prevents this; decide deliberately whether unset should mean 100% or the stage default.

Overwriting instead of appending. Double-check the Google Sheets operation is Append, not Update. Update on a fixed range destroys your history — the whole point of the trend line.

Build this once and pipeline reporting stops being a weekly chore and becomes infrastructure. The numbers show up, they're always consistent, and the history writes itself. Your Monday starts with decisions instead of data entry.

Weekly Pipedrive Pipeline Report → Slack + Google Sheets
PRONTO PARA USAR

Ja construimos isso pra voce

Nao comece do zero. O Weekly Pipedrive Pipeline Report → Slack + Google Sheets e um workflow n8n pronto para instalar — conecta suas ferramentas em minutos, sem codigo.

Instalar por $79 →