Projects

Pipedrive

Pipedrive Activity Report Tool — From Manual Export to Instant Report

How we replaced a client's weekly manual reporting process with a hosted web app that pulls live data from Pipedrive and automatically emails the report every Friday.

13 June 2026

Pipedrive Activity Report Tool — From Manual Export to Instant Report

A specialist mechanical and refrigeration contractor was producing their weekly activity report by hand. Every Friday, someone would export deals from Pipedrive, copy figures into an Excel template, adjust formulas, and email the result around the management team.

It worked — but it was slow, fragile, and dependent on one person knowing the process. When that person was away, the report didn't go out.

The problem

The report itself was genuinely useful. Management used it to review pipeline health week-on-week: what had been quoted, what had been won, where GP and overhead recovery were sitting, and how each Business Unit was performing. The problem wasn't the report — it was the production process behind it.

The existing spreadsheet had no connection to live Pipedrive data. It relied on a manual export, manual column mapping, and manual formatting every single week. Any mistake in that process produced a wrong report that nobody noticed until a manager queried a figure in the meeting.

What we built

A hosted web application that connects directly to Pipedrive via API. The team log in online, and the report is always there — live data, no exports, no manual steps.

Every Friday the report is automatically emailed to the management team. It can also be downloaded at any time from the web app, and generated on demand whenever it's needed outside the normal schedule.

Categorisation logic

The original report grouped deals into four categories. The logic for doing so was locked inside the spreadsheet author's head and a set of colour-coded Excel rules. We made it explicit and automatic:

Orders — any deal with Status = Won, regardless of pipeline.

Quotes — open deals, not in the Variations pipeline, with a deal title suffix of /0.

Requotes — open deals, not in the Variations pipeline, with a title suffix of /1 or higher.

Variations — any deal in a pipeline whose name contains "variation", regardless of status. Won variations also appear in Orders — intentional, as the client tracks them separately.

The version number is parsed directly from the deal title, which the client's team already formats consistently (e.g. QT-50401/0 - Customer Name - Project Description). No custom Pipedrive fields needed, no changes to how the team works.

Date filtering

Deals are grouped by their "Quote Sent to Customer" date. If that field is blank, the tool falls back to "Quote Received from Estimating". Deals with neither date don't appear in any period — they're work in progress rather than reportable activity.

This matches how the management team thinks: a deal counts for the week it was sent out, not the week it was created.

What the report shows

Each of the four sections renders as a table with subtotals. Columns include:

  • Date, Reference, Business Unit (colour-coded badge), BDM, Estimator
  • Customer and Project Description (parsed from the deal title)
  • Value columns per Business Unit (Food Projects, SPEC, Crest, Special Project)
  • Grand Total, GP £, OHR £, GP % with a proportional bar per row

Negative values appear in red. A summary row at the top shows total pipeline value, total GP, overhead recovery, and deal count by category. Monthly and weekly views are both available.

Technology

  • Backend: Flask on Digital Ocean
  • Data: Pipedrive API — live deal data, no manual exports
  • Scheduling: Friday 5pm automated email via SendGrid
  • Frontend: Web app accessible via browser login

The broader point

This project is a good example of a recurring pattern: a genuinely useful internal report that has become a bottleneck because it's tied to one person doing a manual task every week.

The right fix is rarely a new dashboard product. It's the same report, on time, without the manual work — connected directly to the data that already exists in Pipedrive.