B2B AI DirectoryB2B AI Directory
ABMadvancedPro

Arbitrate account signals and select the next-best campaign

Resolve conflicting intent, CRM, opportunity, customer, pressure, and suppression signals before selecting a governed next action, deliberate hold, or human review for each account.

What you will have

A stateful account decision system with signal provenance, deterministic exclusions, ranked eligible actions, approvals, safe execution, outcomes, and policy audits.

Setup time
16-24 hours
Time saved
6-10 hours per week across ABM and marketing operations
Estimated cost
$150 to $900 per month
Tools used
4 tools

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.

Step-by-step workflow

Preview the 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.

1

Define the eligible signals and their provenance

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.

Output

A signal dictionary with source, grain, expiry, and evidence quality.

Common RoomHubSpot
Pro tip

A score without a timestamp and expiry is not a signal; it is historical decoration.

2

Create the account decision-ledger schema

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.

Output

A stateful account decision ledger with signal and action history.

HubSpotClaude
Pro tip

Keep the decision record even when the system recommends no action. Suppression and intentional inactivity are valuable outcomes.

Prompt template
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.

Pro workflow preview

Previewing 2 of 14 steps

Pro membership

Unlock the full workflow

Get the remaining 12 steps, copy-paste prompts, pro tips, tool-by-tool setup guidance, and weekly new workflows.

$9/month

Define precedence, conflict, and suppression rules
Ingest account and signal state
Calculate contact pressure and cooldown state
Generate candidate actions from the approved catalog
Apply deterministic exclusions and build the eligible set
Arbitrate competing signals and rank candidate actions
See Pro plan
3Define precedence, conflict, and suppression rules
Locked
4Ingest account and signal state
Locked
5Calculate contact pressure and cooldown state
Locked
6Generate candidate actions from the approved catalog
Locked
7Apply deterministic exclusions and build the eligible set
Locked
8Arbitrate competing signals and rank candidate actions
Locked
9Route recommendations through human approval bands
Locked
10Execute only approved and still-eligible actions
Locked
11Handle execution failures and partial completion
Locked
12Measure state transition rather than vanity response
Locked
13Audit arbitration fairness and policy drift
Locked
14Maintain the treatment catalog and operator runbook
Locked

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.

Related workflows

Continue with workflows that share a similar GTM motion, category, or tool stack.