Product

Building a Sales Pipeline Report From a CRM Export

The DataQloo Team··3 min read

Pipeline review, built from a CSV every Friday

Every Friday, before the pipeline review, someone on sales ops exports the week's deals out of the CRM as a CSV — there's no live connection into it, just a manual export button and a download. From there, it's the usual: open it in Excel, filter out anything closed or cancelled, and count how many open deals each rep is carrying into the weekend.

It's a fifteen-minute task that happens on a fixed schedule, redone from scratch every single Friday, because the CSV export is treated as a one-off download instead of the start of a repeatable process.

Why this keeps happening

Not every CRM has a connector waiting to be wired up, and even where one exists, standing up a live connection is its own project. A CSV export is often just the fastest real path from "data trapped in the CRM" to "a number sales ops can actually work with" — which is fine as a source, but the file itself doesn't do anything to make the process around it repeatable. (See what a data pipeline actually is for the broader idea a recurring export like this is a small instance of.)

The manual approach

  1. Export deals from the CRM as a CSV.
  2. Open it, filter out anything marked closed-won, closed-lost, or cancelled — only open deals count for a pipeline view.
  3. Count how many open deals are left per rep, usually with a pivot table.
  4. Sort so whoever's carrying the most shows up first.
  5. Screenshot or copy it into whatever the pipeline review actually runs on.

Why the manual version breaks

  • "Only open deals" is a judgment call, reapplied by hand each week — easy to apply slightly differently depending on who's doing the export that Friday.
  • The pivot table gets rebuilt, not reused. Every week starts from a blank pivot, not a saved one.
  • There's no record of last week's count to compare against, since the whole thing gets thrown away once the meeting's over.

From CSV export to a saved pipeline view

Here's the same Friday report, built once against a CRM export and saved as a workflow instead of a spreadsheet habit.

Step 1 — import the export

Upload the CRM's CSV export through the Import Wizard the same way as any file — see importing a CSV into a reusable dataset for the full walkthrough of that step. Save it as a dataset once; each week's fresh export can update the same saved dataset going forward.

Step 2 — filter to open deals

Add a Filter node with the condition status = pending — the same judgment call that used to be reapplied by hand, now built into the workflow once.

Step 3 — count deals by rep

Add a Summarize node: measure COUNT, grouped by sales_rep — a plain headcount of open deals per rep, not a dollar total. The node reads "Count — COUNT · by Sales Rep" on the canvas.

Step 4 — sort and review

A Sort node on the deal count, descending, so the pipeline review starts with whoever's carrying the most open deals — not necessarily the most dollars, which is a different, equally valid view the same pattern could just as easily produce by swapping the measure.

SELECT sales_rep, COUNT(*) AS open_deals
FROM sales_orders
WHERE status = $1
GROUP BY sales_rep
ORDER BY open_deals DESC

What comes out the other side

Before: a fresh pivot table every Friday, built from a filtered guess at "open deals," gone once the meeting ends.

After: the same saved workflow, rerun against each week's export — the filter condition and the count never have to be reconstructed, and this week's number sits right next to how the report was built, not just a screenshot of a result.

Key takeaways

  • A CRM export doesn't need a live connector to become a repeatable, saved report — the Import Wizard treats a CSV the same as any other file source.
  • "Open pipeline" stops being a judgment call reapplied by hand each week and becomes a Filter condition built once.
  • Counting deals per rep, rather than totaling their value, is a deliberately different use of Summarize than totaling revenue by region — same node, same underlying pattern, a different question answered.
  • The same connect-filter-summarize-sort pattern behind this report is the same one behind any recurring report — pipeline review is one instance of a much more general fix.

Next

Having now seen this same connect-filter-summarize-sort pattern built for a database report, a close report, and a CRM export, how to stop rebuilding the same report every week steps back to the general idea all three are instances of. For the department-level view of self-service sales reporting, see DataQloo for Sales.

Try it yourself

Import a CRM export through the Import Wizard and build a saved pipeline view — get early access to try it against your own export.

ShareXLinkedIn

Related reading

Get new posts by email

Engineering notes and product updates from the DataQloo team, occasionally.