We built the reporting and live-dashboard workflow in n8n. It collects sales activity from every system the team already uses, processes it, calculates performance KPIs, and turns the result into a management dashboard. Nobody has to touch it.

  • Microsoft Teams
  • Microsoft Graph API
  • Pipedrive
  • Google Sheets
  • n8n
  • Live dashboard

01 — Microsoft Teams call tracking

Every call, counted and qualified

The workflow connects to Microsoft 365 through the Microsoft Graph API, pulls the relevant users and their Microsoft Teams PSTN call records for the current day, and turns them into calling metrics for each salesperson.

  • Total calls
  • Answered calls
  • Unanswered calls
  • Answer rate
  • Average answered-call duration
  • Total talk time

Raw call logs become sales-performance information. Management sees not just how many calls went out, but how successfully the team is actually reaching people.

02 — Pipedrive and Google Sheets

Calls are only half the story

So the workflow also reads sales information from Pipedrive and operational records from Google Sheets. The sheet data is filtered to the current reporting period and grouped by salesperson.

That gives the dashboard activities such as One Pagers sent, and the structure to carry further sales KPIs — pitches, contracts, investment volumes — as the team starts tracking them. The result is communication activity and sales activity in one view.

03 — Data consolidation in n8n

The part that used to be a spreadsheet afternoon

Once the data is in, n8n merges the datasets. Custom JavaScript handles the work that a person previously did by hand:

  • Match Microsoft Teams users with their call activity
  • Filter irrelevant or excluded accounts
  • Process PSTN call records
  • Distinguish answered and unanswered calls
  • Calculate call durations
  • Process Google Sheets activity
  • Group results by salesperson
  • Calculate team totals
  • Prepare the information for reporting

The entire data-processing layer runs itself, every single time.

Volume is easy to fake. The ranking model scores conversations, not dial counts.

04 — Salesperson ranking model

Who is actually the top caller?

The system does more than display numbers. A performance model calculates the top caller from four weighted factors:

  • Answered calls35%
  • Total talk time30%
  • Average answered-call duration20%
  • Total calls15%

A salesperson firing off a hundred short or unanswered calls does not come out on top. That is the point: the ranking rewards conversations that actually happened.

05 — Sales KPI generation

Numbers management can read in ten seconds

From the collected data the workflow calculates management-level KPIs: total calls, answered calls, unanswered calls, and answer rate, plus individual statistics and rankings for every salesperson.

The sales activity section carries its own set:

  • One Pagers
  • Pitches
  • Contracts
  • Signed contracts
  • Sales volume

06 — Automated report generation

The dashboard writes itself

After processing, n8n generates the complete dashboard as HTML: KPI cards, salesperson rankings, performance indicators, call statistics, sales activity, and management summaries.

No one designs a new report when the data changes. The report is the data, rendered fresh from whatever came back on the last run.

07 — Snapshot architecture

Two workflows, deliberately kept apart

When the report is built, the workflow stores it as a snapshot. A separate webhook workflow serves that snapshot when someone opens the dashboard. Splitting the two means opening the dashboard never triggers a round of API calls.

Data processing

  • Teams + Pipedrive + Sheets
  • Processing
  • KPI calculation
  • Report generation
  • Latest snapshot

Dashboard delivery

  • Dashboard request
  • Authentication check
  • Load latest snapshot
  • Display dashboard

08 — Webhook access control

Not a public URL

The dashboard is not hanging off an open endpoint. Every request that reaches the webhook is checked for the required access key before anything is served.

Valid key

  • Request
  • Authentication
  • Load dashboard
  • Return HTML

Invalid key

  • Request
  • Authentication
  • Unauthorized response

09 — Scheduled reruns

Running while the team sells

The reporting workflow fires automatically on weekdays at set intervals. Each run pulls the latest information, recalculates the KPIs, rebuilds the report, and replaces the previous snapshot.

Management gets the day as it happens, without refreshing anything or asking anyone to compile a summary.

10 — Technology stack

What it is built on

  • n8nWorkflow orchestration, automation, and data processing
  • Microsoft Graph APIMicrosoft 365 users and Teams PSTN call records
  • Microsoft Entra ID / OAuth 2.0Authentication for Microsoft Graph
  • Pipedrive APICRM and sales data integration
  • Google SheetsOperational sales activity data
  • JavaScriptTransformation, filtering, KPI calculation, ranking, report generation
  • HTML / CSSThe management dashboard and report presentation
  • WebhooksBrowser access to the latest dashboard snapshot

11 — Business impact

From fragments to one source of truth

The value is not another report. It is a single automated reporting layer across systems that used to be reviewed one at a time.

Before

Teams → Pipedrive → Google Sheets → manual comparison → manual reporting

After

Multiple data sources → automated processing → one management dashboard

Less repetitive admin, KPI calculations that are identical every time, consistent reporting, and management visibility that arrives hours earlier than it used to.

None of it required replacing anything. Teams still handles calls. Pipedrive still runs the sales process. Google Sheets still holds the operational records. n8n sits between them as the automation layer, and turns fragmented operational data into business intelligence that keeps updating itself.