Best for
- Teams receiving several signals on the same accounts
- ABM programs with overlapping campaigns and sales activity
- Organizations needing account-level contact-pressure controls
Resolve conflicting intent, CRM, opportunity, customer, pressure, and suppression signals before selecting a governed next action, deliberate hold, or human review for each account.
A stateful account decision system with signal provenance, deterministic exclusions, ranked eligible actions, approvals, safe execution, outcomes, and policy audits.
Quick view
Check the audience, core tools, and access before you start the detailed steps.
Best for
Core tools
4 tools used across the workflow.
Access
Preview the open steps, then unlock the remaining implementation details and prompts.
Why this works
Signal routing fails when each event independently triggers a campaign without considering opportunity ownership, customer status, suppressions, recent touches, or competing evidence. This workflow applies deterministic safety rules first, uses Claude only to arbitrate eligible actions, and revalidates state before execution. Every recommendation, hold, and outcome remains reconstructable under the policy version used.
Expected results
Account review effort
6-10 hours saved weekly
Normalized state, deterministic exclusions, and ranked actions replace manual reconciliation across signals, CRM, and campaigns.
Contact-pressure control
Account and contact cooldown enforced
Eligibility considers concurrent marketing and sales touches before any action reaches approval.
Decision traceability
Every action or hold evidence-linked
Signal IDs, policy version, candidate actions, human disposition, execution, and outcome remain in the ledger.
Automation safety
Revalidation and idempotency before execution
State is reloaded after approval, duplicate actions are blocked, and failures route to dead-letter and humans.
Step-by-step workflow
The first 2 steps are open. Pro unlocks the remaining steps, copy-paste prompts, pro tips, tool-by-tool setup guidance, and implementation details.
60-90 min
60-90 min
List every signal the system may consider, such as website activity, content engagement, community activity, event attendance, product usage, open opportunity, customer status, intent topic, sales activity, lifecycle stage, and suppression. For each signal, record source system, field, timestamp, entity grain, refresh cadence, expiry window, and owner. Reject signals whose meaning or source cannot be explained. Separate observed actions from vendor-modeled intent scores. Record the operation against stable identifiers such as account_id, signal_id, signal_type, source, observed_at, preserve the raw source reference and capture time, and write any transformation or decision into the system’s change history rather than replacing the prior value. Before the step is marked complete, deterministic exclusions run first and the account owner approves any high-risk or customer-facing treatment; if that check fails, hold accounts with conflicting ownership, stale signals, active opportunities requiring seller control, customer status, excessive contact pressure, or unresolved suppression; before completion, the accountable operator must perform and record a QA review against the approved field rules and evidence, and any failed check must be held as an assigned exception. Write down the decision criteria, owner, required inputs, and what is deliberately out of scope so the rest of the workflow does not drift.
A signal dictionary with source, grain, expiry, and evidence quality.
A score without a timestamp and expiry is not a signal; it is historical decoration.
2-3 hours
2-3 hours
Create HubSpot custom objects and n8n Data Tables for Accounts, Contacts, Signals, Opportunities, Active Treatments, Suppressions, Candidate Actions, Decisions, Executions, Outcomes, and Policy Versions. Use account and contact IDs from HubSpot plus source event IDs where available. Add signal confidence, observed time, expiry, pressure count, cooldown, owner, current opportunity state, customer state, and decision reason. Preserve every arbitration decision rather than overwriting the latest recommendation. Create a dedicated Claude Project named `account-signal-arbitration-next-best-campaign-agent-ops` with `instructions.md`, `field-dictionary.json`, `source-register.csv`, `review-rubric.md`, `approved-examples.md`, and `changelog.md`; assign a named owner and use `vYYYY.MM` releases. Refresh the named source exports on the workflow cadence, archive superseded inputs by source ID and date, and review instructions, examples, permissions, and maintenance needs quarterly. Run this template in the workflow’s persistent Claude Project after attaching or linking the approved source records named for this step. Ask for a working draft with named sections, assumptions, gaps, and review flags rather than treating the first AI answer as final.
A stateful account decision ledger with signal and action history.
Pro workflow preview
Previewing 2 of 14 steps
Get the remaining 12 steps, copy-paste prompts, pro tips, tool-by-tool setup guidance, and ongoing workflow and prompt releases.
$9/month
Keep the decision record even when the system recommends no action. Suppression and intentional inactivity are valuable outcomes.
ROLE
You are the governed analysis and operations assistant supporting the ABM operations lead and account owner. You are working inside the account-signal arbitration and next-best-campaign ledger, where traceability, stable identifiers, and human authority matter more than producing a polished but unsupported answer.
OBJECTIVE
Complete workflow step 2, “Create the account decision-ledger schema,” and produce this operational outcome: A stateful account decision ledger with signal and action history. The result must be immediately usable by the named operator without inventing records, silently changing approved state, or obscuring uncertainty.
INPUTS
1. SOURCE RECORDS: {{create_the_account_decision_ledger_schema_source_records}}
2. FIELD DICTIONARY AND ALLOWED VALUES: {{create_the_account_decision_ledger_schema_field_dictionary}}
3. OPERATING, PERMISSION, AND DECISION RULES: {{create_the_account_decision_ledger_schema_operating_rules}}
4. APPROVAL CONTEXT, OWNERS, AND DEADLINES: {{create_the_account_decision_ledger_schema_approval_context}}
5. PRIOR VERSION, SNAPSHOT, OR CURRENT STATE: {{create_the_account_decision_ledger_schema_prior_version_or_state}}
Authoritative evidence may include Common Room signals, HubSpot account and campaign state, contact history, suppression records, and treatment outcomes.
WORK TO PERFORM
1. Execute the specific job described by “Create the account decision-ledger schema”; do not broaden the task into a generic strategy exercise.
2. Use the canonical field names and IDs supplied in the inputs, especially account_id, signal_id, signal_type, source, observed_at, confidence.
3. Separate observed facts, operator-entered decisions, calculations, and model inferences so reviewers can trace how each conclusion was produced.
4. Return records that can be copied into the account-signal arbitration and next-best-campaign ledger without renaming identifiers or collapsing one-to-many relationships.
5. Define field type, required status, allowed values, source of truth, owner, refresh rule, and validation rule for every proposed field.
6. Identify duplicates, conflicts, stale records, missing IDs, permission problems, and records that must be held for human resolution.
7. Produce a compact review summary explaining what changed, what did not change, what remains uncertain, and what the operator should do next.
OUTPUT SCHEMA
Return valid JSON only, using this exact top-level structure:
{
"workflow_slug": "account-signal-arbitration-next-best-campaign-agent",
"step_number": 2,
"step_title": "Create the account decision-ledger schema",
"run_status": "pass|warning|hold|fail",
"source_records": [
{"source_id": "string", "source_type": "string", "captured_at": "ISO-8601|null", "authoritative": true, "notes": "string|null"}
],
"records": [
{"account_id": "value|null", "signal_id": "value|null", "signal_type": "value|null", "source": "value|null", "observed_at": "value|null", "confidence": "value|null", "contact_pressure": "value|null", "evidence_source_ids": ["string"], "confidence": "high|medium|low", "review_status": "approved|needs-review|held"}
],
"exceptions": [
{"record_id": "string|null", "exception_type": "string", "severity": "low|medium|high|critical", "evidence": "string", "owner": "string", "required_action": "string"}
],
"changes_from_prior_state": [
{"record_id": "string", "field": "string", "prior_value": "value|null", "proposed_value": "value|null", "reason": "string", "source_ids": ["string"]}
],
"review_summary": {"facts": ["string"], "inferences": ["string"], "open_questions": ["string"], "next_actions": [{"action": "string", "owner": "string", "due_date": "YYYY-MM-DD|null"}]},
"qa": {"schema_valid": true, "ids_preserved": true, "evidence_complete": true, "human_approval_required": true}
}
GUARDRAILS
- Treat the supplied field dictionary, permissions, approval matrix, and prior approved state as binding.
- Do not create facts, sources, IDs, dates, metrics, quotes, customer permissions, or approvals that are not present in the inputs.
- Do not perform, simulate, or claim an external write; return proposed records or actions for the governed workflow to apply.
- Do not collapse conflicting evidence into a single confident statement. Preserve the conflict and identify the required owner.
- hold accounts with conflicting ownership, stale signals, active opportunities requiring seller control, customer status, excessive contact pressure, or unresolved suppression.
EVIDENCE REQUIREMENTS
Every material claim, classification, score, recommendation, mutation, or exception must reference one or more supplied source IDs. Keep raw evidence distinct from derived analysis, retain capture dates when provided, and mark evidence as stale when it falls outside the approved refresh window. A record without adequate evidence must be returned with review_status “held,” not completed through guesswork.
UNCERTAINTY HANDLING
Use high confidence only when authoritative sources agree and the required identifiers are present. Use medium confidence when the evidence is credible but incomplete or indirect. Use low confidence when evidence is sparse, stale, inferred, or contradictory, and state the exact missing information that would change the result. When uncertainty could trigger an external action, financial commitment, customer communication, publication, suppression, or system mutation, return run_status “hold.”
HUMAN REVIEW
The ABM operations lead and account owner must review the JSON before any state change or external action. The approval gate is: deterministic exclusions run first and the account owner approves any high-risk or customer-facing treatment. The reviewer must verify source IDs, field mappings, permission scope, exception handling, and the proposed next action; record the reviewer, timestamp, disposition, and any edits in the workflow’s mutation or decision log.Related workflows
Continue with workflows that share a similar GTM motion, category, or tool stack.
An interactive dashboard with target-account penetration, company reach, campaign efficiency, CRM journeys, sourced and influenced pipeline, data-quality flags, and action queues.
A governed lead-quality taxonomy, reviewed cohort, source and process diagnostics, remediation backlog, scorecard, exception queue, and measured feedback loop.
A stateful event outreach agent with Gmail and Calendar IDs, reply classes, suppressions, reviewed drafts, verified meetings, exception SLAs, audit logs, and a clean shutdown process.