Buying Committee Mapper: deployment guide
Step-by-step setup for this agent's HubSpot properties, Clay workbook, and n8n workflow.
Pack Version: 1.0.0 · Time: 0.5–1 day · Owner role: ABM Lead (business) / RevOps or GTM Engineer (build)
Follow in order. Each step ends with a check; don't proceed on a failed check.
Step 0: Prerequisite
A target account list exists: either Agent #001 is live (`icp_match_band = Target`) or a manual list is agreed. No target list, no mapping.
Step 1: Write the role-mapping config from real deals (60–90 min)
- Pull your last 10 closed-won deals. For each, write down who held each role: economic buyer, champion, technical buyer, user buyer.
- Turn those titles into patterns per role: seniorities, departments, title keywords.
- Decide required roles for coverage (default: economic buyer, champion, technical buyer, user buyer).
- Save as `role-config.json`, version `role-config-1.0.0`, commit.
Check: every pattern in the config traces to a real person in a real won deal.
Step 2: Create HubSpot properties + confirmation workflow (30 min)
Follow `hubspot/setup-guide.md`: property group, 3 contact + 4 company properties, the candidate-confirmation view/workflow, and the private app.
Check: all seven internal names resolve; the "Pending confirmations" view exists; the private app cannot create contacts.
Step 3: Build the Clay workbook (1–2 hours)
Follow `clay/clay-setup-guide.md`: known-contacts table with conditional title enrichment, sourced-candidates table capped at 3 per gap, both output views.
Check: 10 known contacts flow through with sane titles; sourcing runs only for accounts with gaps.
Step 4: Import and configure the n8n workflow (1 hour)
- Import `n8n/workflow.json`.
- Configure every CONFIGURE node: schedule, role config (paste versioned config), HubSpot credential, Clay URLs, both Slack channels.
- Leave the schedule disabled.
Check: manual run on `demo-data/sample-input.json` reproduces `demo-data/sample-output.json`: five classifications as specified, coverage 75, gaps [champion, user_buyer], single-threaded false.
Step 5: Pilot on live accounts with AE review (1 week)
- Run on 10–20 accounts with open deals, CRM writes off (contact/company write nodes disconnected).
- Hand each AE their account's map in a 15-minute review. Their corrections are config tuning.
- Update the config, bump the version, rerun.
Check: AEs disagree with fewer than 2 in 10 classifications on the second pass.
Step 6: Go live (30 min)
- Reconnect the write nodes, enable the schedule.
- Assign the review queue to the ABM lead with a weekly calendar slot; candidates older than 7 days mean the queue is underwater.
- Complete `qa/qa-checklist.md` with a non-builder reviewer; file the signed checklist.
Check: first live run writes only agent-owned fields (diff a sample contact and company before/after); review queue and single-threaded alerts post.
Rollback
Disable the schedule. Agent-owned fields are inert and can be bulk-cleared. The confirmation workflow in HubSpot can stay; it does nothing without candidate values arriving.
What not to do
Don't let anyone wire `buying_committee_role` into sequence enrollment or lead scoring without a policy decision; the field is a map, not a trigger. Don't skip the AE pilot: a committee map AEs distrust is a committee map nobody opens, and the whole agent becomes shelf-ware.