Agent #010 · Reporting & Revenue Insights

Weekly Revenue Brief Agent

🟡 Growth

Compiles a weekly executive brief: pipeline movement, wins/losses, forecast risks, high-intent accounts, and recommended actions — uses only provided data, never invents metrics

Build time
0.5-1 day
Primary user
Revenue Leadership
Primary outcome
Better leadership cadence
Deployable pack
Yes: full pack

Adam's take

Write the brief from data or don't write it. The first invented metric in an exec summary costs you every future one.
Adam Woozeer, founder

Required tools

HubSpotn8nSlackLLM API

Optional tools

SalesforceGongBI tool

Expected value

Saves 3-5 leadership hrs/week; consistent revenue cadence

Deployable workflow pack

The full pack includes the agent spec, deployment guide, architecture diagrams, n8n workflow skeleton, Clay template, HubSpot properties, JSON schemas, OpenAPI spec, cost and ROI calculators, demo data, QA checklist, and governance notes.

View pack on GitHub
Full deployment guide →Governance & failure modes →QA checklist →

How to deploy this agent

Leadership cadence runs on a weekly summary somebody has to manually assemble from four or five sources — pipeline reports, win/loss notes, routing SLA spreadsheets, hygiene reviews. This agent assembles the same ten sections automatically from data the CRM and other agents already produced — and leaves a section blank with a note rather than ever inventing a number to fill a gap.

Core signals

Pipeline movement: Stage changes and new/closed deals pulled directly from the CRM for the week.
Forecast risks: Sourced from the Pipeline Hygiene Agent’s output — specific flagged deals, not a generic warning.
High-intent accounts: Sourced from the Account Engagement Monitor — accounts that crossed into Hot this week, with their top signal.
Lead routing and SLA summary: Sourced from the Lead Routing Agent — real routing performance, not an estimate.
Recommended actions & questions for leadership: The two sections that force engagement rather than passive reading — open items a human still has to decide.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://deploytheagent.com/schemas/agent-010-input.schema.json",
  "title": "Agent #010 Weekly Revenue Brief Agent Input",
  "type": "object",
  "required": [
    "record_id"
  ],
  "properties": {
    "record_id": {
      "type": "string",
      "description": "CRM record ID (company/contact/deal depending on agent)."
    },
    "domain": {
      "type": "string"
    },
    "config_version": {
      "type": "string",
      "description": "Versioned config used for this run."
    }
  },
  "additionalProperties": true
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://deploytheagent.com/schemas/agent-010-output.schema.json",
  "title": "Agent #010 Weekly Revenue Brief Agent Output",
  "type": "object",
  "required": [
    "record_id"
  ],
  "properties": {
    "record_id": {
      "type": "string"
    }
  },
  "additionalProperties": false
}

Scoring / classification logic

Every section follows one rule: if a figure is sourced, it’s shown with its source; if it’s partially available, the available parts show and the rest is marked "not tracked"; if there’s no source at all, the section is left blank with an explicit note rather than filled with an estimate. This is the single hardest rule in the whole agent library to enforce, because a model asked to "summarize the week" will happily estimate a plausible-sounding number if it isn’t explicitly stopped.

n8n workflow skeleton

The Weekly Revenue Brief Agent compiles pipeline movement, wins/losses, forecast risk, high-intent accounts, routing SLA performance, and pipeline hygiene into one executive summary every week — using only data the other agents and CRM already produced, never inventing a number to fill a gap. Configure every node marked CONFIGURE before enabling the trigger.

  1. Trigger
    CONFIGURE: set cadence per agent-spec.md's What It Does section. Leave disabled until Step 6 of deployment-guide.md.
  2. Load versioned config
    CONFIGURE: replace with your versioned config built from real data (see deployment-guide.md Step 1).
  3. Fetch source data
    CONFIGURE: {{HUBSPOT_CREDENTIAL}}. Pull the fields listed in agent-spec.md's Inputs table.
  4. Validate + gate records
    Drops records missing required inputs or failing suppression/gate checks defined in agent-spec.md. Logs every drop.
  5. Apply workflow logic
    Implements the Workflow Logic table from agent-spec.md. Writes model/config version alongside every derived value for auditability.
  6. Write agent-owned CRM fields
    CONFIGURE: {{HUBSPOT_CREDENTIAL}}. Writes only: see agent-spec.md. Never writes sales-owned fields.
  7. Route to human review / alert
    CONFIGURE: {{SLACK_CHANNEL}}. Fires for records requiring human review per agent-spec.md's Governance section.

Cost calculator

Cost Calculator — Agent #010: Weekly Revenue Brief Agent

Fill in your own volumes and rates — do not use these as benchmark numbers.

Cost driverYour volumeUnit costMonthly cost
n8n execution (workflow runs)___ runs/month$___ / run$___
Enrichment/sourcing credits (if applicable)___ records/month$___ / record$___
LLM API calls (if applicable)___ calls/month$___ / call$___
Human review time___ hrs/month$___ / hr (loaded)$___
Total$___

Build cost (one-time)

Estimated build time: 1–3 days. Multiply by your builder's loaded hourly rate for a one-time build-cost estimate.

Notes

Costs scale with the volume of records this agent processes, not with the size of your whole CRM — scope your volume estimate to the specific object/list this agent actually touches (see `agent-spec.md`'s Inputs table).

ROI calculator

ROI Calculator — Agent #010: Weekly Revenue Brief Agent

MetricBeforeAfterBasis
Time to assemble weekly brief1–2 hours manual, inconsistent formatAutomated, consistent format every weekAssembly automated, human keeps the meeting
Week-over-week trend visibilityHard to compare across manually-formatted briefsConsistent structure enables direct comparisonSame template, same sections, every week
Silent risks going unmentionedDepends on who compiled the brief that week"Questions for leadership" section forces the askStructural requirement, not a nice-to-have

The time savings are direct and easy to measure (compare against your own manual-assembly baseline); don't attach a forecast-accuracy claim to this agent specifically — that's Agent #009's job.

Your numbers

InputValue
Records processed per month___
Manual time saved per record (before)___ min
Loaded hourly rate$___
Monthly time-savings value$___ (records × minutes saved ÷ 60 × rate)

Compare this to the cost calculator's monthly total for a net ROI. Do not add a revenue-impact number unless you've measured it against your own baseline — see `agent-spec.md`'s ROI note.

Governance notes

Failure modes

QA checklist

QA Checklist — Agent #010: Weekly Revenue Brief Agent

To be completed by a non-builder reviewer before go-live.

Deployment checklist

  • Brief template and section config customized to match leadership's actual meeting format
  • Source connections verified for whichever upstream agents are deployed (#003/#007/#008/#009)
  • n8n workflow imported, publishing destination configured
  • Demo-data run matches `demo-data/sample-output.json`
  • No-invented-metric QA test passes (missing-source section renders as unavailable, not fabricated)
  • Delivery-confirmation check tested
  • QA checklist completed by a non-builder
  • Rollback tested

Failure-mode verification

  • Verified: A metric is fabricated to fill a blank section does not occur (mitigation: Prompt requires a source citation per figure; QA test with intentionally missing source data asserts the section renders as "unavailable," not a number)
  • Verified: Brief goes stale or doesn't publish does not occur (mitigation: n8n workflow includes a delivery-confirmation check; failure alerts the owner)
  • Verified: Questions-for-leadership section is empty every week does not occur (mitigation: QA checklist includes a manual read of the questions section for genuine substance, not filler)
  • Verified: Section attributed to the wrong source does not occur (mitigation: Every populated figure includes its source agent/system inline)

Governance verification

  • Agent writes only to its agent-owned fields: None — this agent reads from CRM and other agents' fields but writes only to the published brief document, not to CRM records.
  • No auto-send, auto-close, auto-route, or auto-create action occurs without the human step described in `agent-spec.md`
  • Confidence/model-version is present on every written record where applicable
  • Demo-data run output matches `demo-data/sample-output.json` in structure

Sign-off

Reviewer name: _______________ Date: _______________ Result: Pass / Fail (attach notes)

FAQ

Why would a section of the brief be left blank?
Because no source agent or CRM field can back that number up yet. A blank section with a note is more trustworthy than a plausible-sounding number nobody can verify — and it builds confidence in every number that is populated.
Does this agent need all of Agents #003, #007, #008, and #009 deployed to be useful?
It’s most valuable with at least two or three of them live, since each one sources a specific section. It still works with fewer, just with more sections marked unavailable.
Can this agent make a forecast-accuracy claim on its own?
No — that’s the Pipeline Hygiene Agent’s domain. This agent’s job is assembling and citing what other agents and the CRM already established, not generating new analysis.
Where should the brief actually get delivered?
Wherever leadership actually reads things — Slack over email if that’s the real habit. A well-built brief nobody opens is a wasted deployment.