HARNESS: CRM READ

Where did this quarter’s pipeline come from?

Every board asks the CMO this. Today the answer takes a week of CRM exports and an argument about attribution. This page shows the answer a read-only agent would prepare from Salesforce or HubSpot, tied to the letters of FOUND and DRONICS, so you walk in with a story you can defend.

Sketch of a pipeline · shape only, no figures
  • Lead
  • Qualified
  • Proposal
  • Won

DemonstrationThe read-only rules, the audit log, the Salesforce and HubSpot mappers and the pipeline story calculator are written and tested in this repository. They run here only on example data for a company that does not exist. Not connected to any CRM.

Not built yetNot built. There is no sign-in, no MCP client and no API call to either system, and it has never run against a real account. Neither Salesforce nor HubSpot has reviewed, approved or partnered with us.

What changes for the CMO

What marketing used to do

At quarter end someone exports deals into a spreadsheet. Sales says a deal came from a cold call, marketing says the webinar, the partner team says the partner. The CMO takes a number to the board that three teams dispute, and deals with no source quietly go to whoever argues hardest.

What changes with agents

An agent can read the CRM every week with the same written rules. The rules are agreed once, before anyone sees the result, so the argument is about the rules and not about each deal. A gap shows up as a gap, with its reason, instead of being filled in.

What the agent will do

  • Read deals from Salesforce or HubSpot with read-only permission.
  • Work out open pipeline and won value by source and by letter, in code, the same way every time.
  • List every deal it could not count, and why.
  • Never change a record, fill in a missing source or send anything. The CMO decides what goes to the board.

THE EXAMPLE STORY

Example Company, 1 July to 30 September 2026

Example data, not a real company. Example Company is a made-up software firm in Pune. It keeps enterprise deals in Salesforce and inbound deals in HubSpot. Many companies use only one; the harness reads either.

Open pipeline, as at 30 September
₹1.31 crore
Won in the quarter
₹92 lakh
Open pipeline tied to a letter
68%
Records set aside
5

What the CMO could say to the board: of ₹1.31 crore open pipeline, ₹42 lakh came through referrals and resellers (DRONICS-R) and ₹35 lakh came through networks and alliances (DRONICS-N). ₹24.5 lakh has no source in the CRM, and we show it as unattributed rather than guess.

By letter of FOUND and DRONICS (Example data, not a real company.)
LetterOpen pipelineWon in the quarterSources counted
FOUND-F: Findable₹8,50,000₹24,50,000Organic search, Visits from AI answers
DRONICS-D: Digital demand₹4,00,000₹3,50,000Email, Paid search
DRONICS-R: Referrals and resellers₹42,00,000₹28,00,000Partner referral, Reseller
DRONICS-N: Networks and alliances₹35,00,000₹20,00,000Alliance partner, Marketplace

Only four letters have a clear source rule in a CRM today. The other letters, such as Opinions or Community, shape deals that the CRM records under other sources. They are measured in other ways.

By source, as the CRM records it

Each source is tied to a letter only where the rule is clear. Where it is not, the row says why and has no letter.

By source (Example data, not a real company.)
SourceLetterOpenWonWhy this letter
Partner referralDRONICS-R₹42,00,000₹0A partner or referrer brought the deal: Referrals and resellers.
MarketplaceDRONICS-N₹35,00,000₹0The buyer came through a cloud or software marketplace: Networks and alliances.
ResellerDRONICS-R₹0₹28,00,000A reseller brought the deal: Referrals and resellers.
Organic searchFOUND-F₹8,50,000₹18,50,000The buyer found you by searching. That is the Findable letter.
No source recordedNone₹24,50,000₹0The CRM holds no source for these deals. They are shown as unattributed, not guessed.
Alliance partnerDRONICS-N₹0₹20,00,000A technology or alliance partner brought the deal: Networks and alliances.
WebinarNone₹12,00,000₹0This source is not in the list the CMO agreed, so it has no channel or letter until a person adds it.
EventsNone₹0₹9,00,000Events serve several letters. The CMO decides which, case by case.
Offline or importedNone₹0₹7,00,000Added by hand, imported or from an untracked source. No letter can be read from it.
Visits from AI answersFOUND-F₹0₹6,00,000An AI answer named you and linked to you. Being in the answer is the Findable letter.
Links from other websitesNone₹5,00,000₹0A link on another website. It may be press, a review site or a partner page. The CRM cannot tell which, so no letter is given.
Paid searchDRONICS-D₹4,00,000₹0Paid demand: Digital demand.
EmailDRONICS-D₹0₹3,50,000Email campaigns sit in Digital demand.

A note on HubSpot: its “Referrals” source means a link from another website, not a partner referral, so it is not counted under Referrals and resellers. In this example, partner deals sit in Salesforce. Lost deals (1, worth ₹15 lakh) are counted in the totals but not credited to any letter.

Set aside, with the reason

These records were not counted. Each needs a person to fix it in the CRM. The agent does not fix it for them.

Not counted (Example data, not a real company.)
DealCRMReason
Example: shift planning, airport servicesSalesforceAmount is empty in Salesforce. Not counted; we do not estimate it.
Example: payroll renewal, cement makerSalesforceStage "Verbal Yes" is not in the company's stage list. A person must add it; we do not guess from the name.
Example: onboarding for a call centreHubSpotStage "987654321" in pipeline "default" is not in the pipeline list. A person must add it; we do not guess from the name.
Example: HR suite for an architecture firmHubSpotamount is empty in HubSpot. Not counted; we do not estimate it.
Example: payroll for an overseas officeHubSpotIn USD, and this story is in INR. No exchange rate is applied.

What the agent was allowed to do

Every request goes through a permission check written in code, and every request is recorded, allowed or not. The record cannot be edited; a correction is a new line that points at the old one. In this example we added 2 requests that the rules must refuse, so you can see them refused.

Record of requests (Example data, not a real company.)
When (IST)WhoAsked forResult
30 September 2026, 18:00Reader agentsalesforce:read:opportunity-stagesAllowed
30 September 2026, 18:01Reader agentsalesforce:read:opportunitiesAllowed
30 September 2026, 18:02Reader agentsalesforce:read:accountsAllowed
30 September 2026, 18:03Reader agenthubspot:read:pipelinesAllowed
30 September 2026, 18:04Reader agenthubspot:read:dealsAllowed
30 September 2026, 18:05Reader agentsalesforce:write:opportunitiesRefused: Write is never granted to a read harness. A person makes changes in their own tool.
30 September 2026, 18:06Reader agenthubspot:read:contactsRefused: "hubspot:read:contacts" was not granted. Granted: hubspot:read:deals, hubspot:read:pipelines.

What is built, and what is not

Built in this repository, tested on example data

The read-only permission rules, the record of requests, the mapping of Salesforce opportunities and HubSpot deals into one shape, and the calculator behind this page. The field names come from the two vendors’ own developer pages, which we read on 19 October 2026.

Not built yet

No live connection to Salesforce or HubSpot, no sign-in and no approval queue. It has never read a real company’s CRM. Neither vendor has reviewed, approved or partnered with Foundronics, and their names here describe the systems a marketer is likely to use. Which CRM source counts as which channel is agreed with each CMO before the first run.

Walk into the board meeting with a story you can defend.

The CRM harness is not built yet. Start with the free FOUND Score, or talk to us about your own systems.