All Templates
Revenue Operations • Advanced • 3 n8n workflows

HubSpot Weekly Sales Pipeline Digest

Deliver weekly HubSpot pipeline reports to Slack and email with scoped charts, optional AI insights, and recovery across three n8n workflows and a Python service.

0

One system, 3 connected workflows

Start with the complete package and setup directions. The preview below shows the entry workflow. Import every listed workflow separately, then connect their references in your n8n instance.

Get all 3 workflows Read the setup directions

Entry workflow preview

Powered by n8n.io

Read the architecture, decision rules, and exception handling in the source blueprint .

How it works

Weekly pipeline reporting for sales teams

Give executives, managers, and sales reps a consistent weekly view of HubSpot pipeline without assembling separate spreadsheets and messages. Three n8n workflows coordinate collection, reporting, delivery recovery, and error handling. The included Python service performs CRM reads, calculations, chart rendering, and delivery, with SQLite storing snapshots and delivery state.

The Python service is required. Importing the n8n JSON alone does not create a working reporting system. The complete ZIP includes its source, Docker deployment files, tests, configuration examples, and synthetic report samples. The preview and main copy button show workflow 01; download all three workflows below.

Collect and validate HubSpot pipeline

The weekly schedule runs Monday at 08:00 in the configured timezone. Activity covers the previous Monday-to-Monday calendar week; open pipeline reflects records observed during collection. A Monday API scan is not an atomic Sunday-night snapshot. Missing currencies, missing or stale FX rates, conflicting records, and incomplete collection block reporting instead of producing misleading zero totals.

Calculate reports for each audience

Executives receive the configured workspace view. Managers receive only their explicit owner allowlist, and reps exactly one owner. Filtering happens before calculations, optional AI, and chart rendering. Decimal calculations use explicit stage probabilities and dated, finance-approved exchange rates. Historical comparisons need stored baselines; the first run cannot supply a genuine prior-week comparison.

Add charts and optional AI insights

The service renders scoped PNG charts, Slack messages and threaded details, and HTML email with inline chart images. Optional AI selects existing evidence and action IDs; it cannot invent financial figures. AI is disabled by default, and unavailable or invalid responses fall back to deterministic reporting. Synthetic executive, manager, and rep previews are included in the ZIP.

Track delivery and recover failures

Slack messages, thread details, upload phases, and SMTP delivery have separate durable ledger entries. Hourly recovery retries eligible known failures and skips completed components. Uncertain sends are held for operator reconciliation with provider evidence. SMTP acceptance does not prove inbox receipt, and the package does not promise exactly-once delivery.

Implementation and verification scope

HubSpot is the implemented CRM adapter. You need n8n, the included single-process Python service, durable SQLite storage, a Slack bot, and STARTTLS SMTP. OpenAI is optional. The supplied verification report records 22 local tests and structural validation of three workflow graphs; it does not establish live HubSpot access, n8n execution, Slack/email delivery, or deployed Docker readiness. Complete the destination acceptance checklist before enabling schedules.

How to use

Set up the weekly sales digest

1. Download the complete package

Extract the ZIP and read README.md and docs/SETUP.md. Import only the three JSON files under workflows/ into n8n. Keep schedules inactive. The SDK JavaScript, configuration JSON, samples, and service files support setup; they are not workflow imports.

2. Configure your reporting workspace

Copy config.example.json to config.json and .env.example to .env. Generate an independent service token of at least 32 random characters. Set the workspace name, IANA timezone, base currency, stage rules, and collection limits. Replace every example owner, mailbox, Slack destination, and synthetic FX rate. Keep dry_run:true and AI disabled while validating results.

Set manager owner allowlists and one owner per rep, and verify destination membership. A correct report sent to an unauthorized channel still exposes private pipeline data. Refresh approved FX dates and rates before each reporting period. Config is loaded at startup and frozen for a claimed period; restart after changes and use a separate preview database during setup.

3. Deploy the required Python service

Build the supplied Dockerfile with the package's compose.yaml. Set N8N_NETWORK to your existing n8n Docker network. Mount config.json read-only and keep the digest-data volume for SQLite snapshots and delivery history. On that private network, workflows call http://digest-service:8080. n8n Cloud or a remote instance requires a secured HTTPS route and updated base URLs in every HTTP node.

This is a separate automation service with its own storage and credentials. It does not use the Uptune website's MariaDB database. Back up SQLite consistently using its backup API or stop the service before copying its data. Preserve the volume across redeployments.

4. Connect credentials and workflows

Configure the HubSpot read-only private app, Slack bot, and verified STARTTLS SMTP sender according to docs/SETUP.md. Store provider secrets in the reporting service environment. In n8n, select the Digest service credential on every HTTP Request node and configure its Authorization bearer token to match DIGEST_SERVICE_TOKEN. Do not put tokens in exported workflow JSON.

Match the weekly workflow timezone to config.timezone and review the Monday 08:00 schedule. Set workflow 03 as the error workflow for both weekly and recovery workflows. Importing files cannot supply instance-specific credential or error-workflow IDs. Keep weekly and recovery schedules inactive until acceptance.

5. Validate in dry-run mode

Run manually with a separate preview volume and actual read-only CRM access. Inspect the stored reports using the included service.manage status and export commands. Reconcile totals against a CRM export taken with matching filters and collection timing. Check empty scopes, missing/stale FX, owner transfers, incomplete pagination, missing baselines, and each audience's permitted owners. Review the synthetic samples as examples, not production evidence.

6. Test delivery and activate

After report acceptance, create a separate production database, set dry_run:false, restart the service, and point n8n at that instance. Test first with private Slack destinations and test mailboxes. Confirm inline charts, threading, provider failures, recovery, and uncertain-send reconciliation. Verify the real recipient mapping before activating weekly and recovery schedules. An existing dry-run record cannot simply be converted to a live run because its configuration is frozen.

7. Maintain and recover

Keep finance-approved FX data current, monitor missed runs independently, and schedule private backups and retention reviews. Recovery uses the stored report and has retry and age limits. Investigate unknown delivery states using provider evidence and the offline reconciliation utility; never delete the ledger to force a resend. The reference service runs one process and serializes long requests. Historical backfills require a point-in-time data source and are not implemented.

Optional AI summaries

Enable AI only after deterministic reports are accepted. Configure a supported structured-output model and its API key, then test both valid responses and fallback behavior. Audience filtering and financial calculations remain authoritative regardless of AI availability.

Use the HubSpot Intelligent Lead Routing & Response System as a separately configured companion system.

Use the GA4 & HubSpot Lead Attribution System as a separately configured companion system.

Use the HubSpot Duplicate Detection & Approved Merge System as a separately configured companion system.

Use the HubSpot Ghosted Proposal Follow-Up & Recovery System as a separately configured companion system.

Read the Revenue Operations Intelligence blueprint for the wider operating model. Related links do not automatically connect workflow credentials or services.

Get the complete automation system

Download all 3 workflows and the supporting files together. Extract the ZIP, then import each workflow JSON listed below separately. Configuration, source code, and other supporting files are not n8n workflow imports.

Download complete package (ZIP)

3 connected n8n workflows

All import inactive. Follow the package setup directions before activating schedules or delivery.

  1. 01 — Weekly sales digest

    Runs Monday at 08:00: collects HubSpot deals, validates records, calculates scoped metrics, renders charts, and coordinates Slack and email delivery.

    workflows/01-weekly-digest.json
    Download workflow 01
  2. 02 — Delivery recovery

    Checks hourly for known failed delivery components; skips completed sends and holds uncertain outcomes for reconciliation.

    workflows/02-delivery-recovery.json
    Download workflow 02
  3. 03 — Shared error handler

    Records production execution failures through the protected service and alerts the configured Slack administrator channel.

    workflows/03-error-handler.json
    Download workflow 03

Setup, integration, and validation files