Skip to main content
Field Notesbryngtmsignalsgovernanceaudit-log

One Account, Four Classes, Six Tools

Chris walked one account across six tools on Tuesday: pricing three times in a week, two people active in a trial, a CRM record with a stale owner, and a team expecting Slack, outbound, and the warehouse to do their jobs. Read the same account with Brad's Field Guide legend and it is three signal classes, not six tools. The other three tools are where actions land and records go. The account is three classes wide and six tools long, and it becomes one account in exactly one place: the record.

Title card: One Account, Four Classes, Six Tools. To the right, a four-by-six grid with signal classes down the side (product, site, CRM, ecosystem) and tools across the top (Website, Product, CRM, Slack, Outbound, Warehouse). Three cells are lit in teal: product behavior under Product, site intent under Website, CRM lifecycle under CRM. A bracket beneath the grid spans all six columns and is labelled one record. Illustrative.
tl;dr

On Tuesday Chris walked one account across six tools: pricing three times in a week, two people active in a trial, a CRM record with a stale owner, and a team expecting Slack, the outbound tool, and the warehouse to do their jobs. Read the same account with Brad's Field Guide legend and it is three signal classes, not six tools: site intent (rented), product behavior (owned), CRM lifecycle (yours on paper). The other three tools are where actions land and records go. The account is three classes wide and six tools long, and it becomes one account in exactly one place: the record.

On Tuesday, with Dreamforce and UNBOUND under way, Chris walked one account across six tools. A prospect at a target account visits pricing three times in a week. Two people from the same company are active in a trial. The account is already in the CRM with a stale owner. The team expects an alert in Slack, follow-up through the outbound tool, and a row in the warehouse. His question was who is allowed to act across those systems, and where anyone can review the whole sequence.

Brad has spent three weeks on a different question about the same kind of account: not which tool a signal landed in, but which class it belongs to and who owns the instrument. Four classes: product behavior, anonymous site intent, CRM lifecycle, ecosystem exhaust. So far, the class you own, the class you rent, and on Wednesday, the class you filed.

Put the two together and Chris's account reads differently. Only three of the six tools hold a signal. And the account is one account in exactly one place, which is not any of the six.

Label the touches

Take the touches in Chris's order. The account is anonymized as Anweledig Labs, and every value below is illustrative.

Pricing three times in a week. Site intent: pricing → return → repeat (7d), in the notation Brad uses and Bryn logs. The visits happened on your surface. The company name attached to them did not; an identity vendor matched a cookie or an IP address to an organization, so this touch is resolved, not known. Rented, in part 2's word.

Two people from the same company active in a trial. Product behavior: trial → second seat → both active (7d). Two humans using the product with their hands, inside a surface you run. Nobody can reprice this signal or sell it to the company you lost a deal to last month. Owned, part 1.

Already in the CRM with a stale owner. CRM lifecycle: a lead filed fourteen months ago, owner long gone, no activity logged since. Alone, that is a filing. Joined to the pricing visits it becomes filed lead → pricing return (14mo), a specimen. The record is yours; the enrichment on it and most of the activity log around it usually are not. Yours on paper, Wednesday's phrase.

Then Slack, the outbound tool, and the warehouse. No signal lives in any of them for this account. Slack is where the alert lands, the sequencer is where the follow-up runs, the warehouse is where the row goes. Labelling them as action and record surfaces is most of the work, because a dashboard treats all six as sources.

Three wide, six long

So the account is three classes wide and six tools long. Nothing that lives inside one tool sees the width.

An agent inside the CRM reads the filed class well, plus whatever the CRM has been told. If the trial activity syncs in as a field, it sees a field. If the pricing visits arrive as a lead-score bump, it sees a bump, without the parts. It can act inside the CRM, and act competently. What it cannot see is that the two seats and the three visits are the same week on the same account, unless something else did the join first. That is not a knock on the agent. It is the shape of living in one column.

Chris's test on Tuesday was whether you can control and review the full cross-tool workflow, or only what happens inside one platform. Brad's legend asks which class a signal is and who owns the instrument. Same question, asked from two ends: one starts at the actions and works back to the signals, the other starts at the signals and works forward to who may act on them. Both arrive at the join.

Four classes by six tools.

This account's three touches are lit. Choose an operating model to see what it can read and act on.

Signal classes by tools, with this account's touches marked
Class Website Product CRM Slack Outbound Warehouse
Product behaviorowned 2 seats
(7d) (outside the CRM column; not read by this model)
Site intentrented 3 visits
(7d) (outside the CRM column; not read by this model)
CRM lifecycleyours on paper filed lead
(14mo) (in reach: inside the CRM column)
Ecosystem exhaustnone this week
The Playactions and record task to owner (runs inside the CRM) post (not reachable by this model) enroll (not reachable by this model) one row (no cross-tool record in this model)
Record
one record

Agent inside the CRM. On this account it reads one lit cell, the filed lead, plus whatever was synced into the CRM as fields. The three pricing visits and the two trial seats sit outside its column. It can open the task for the on-duty owner inside the CRM, and its record stays inside the CRM.

One approved workflow across the stack. It reads all three lit cells on one account: the visits, the seats, and the filed lead. It scores them together, runs the post in Slack, the task for the on-duty owner in the CRM, and the enrollment in the sequencer, and writes one record that lands in the warehouse as one row.

Illustrative, not a benchmark. Rows are the four Field Guide classes; columns are Chris's six tools. The fourth row is empty for this account this week; part 4 of the Field Guide is next week.

Figure 2. Four classes by six tools, with this account's three touches lit. Switch between an agent inside the CRM and one approved workflow across the stack (illustrative, not a benchmark).

BRYNbyCivic Running now

What would this essay do if it could act? It just did.

Essay, alone

Someone reads it. Maybe they fit your ICP. The minute passes and nobody downstream ever knows.

Your chance to reach your engaged, identified prospect: Gone

Every run lands on the record.

Where it becomes one account

The join has to be written down somewhere, and the somewhere is the record. Not the CRM record, which is one of the six. The run record.

On Anweledig Labs it carries the trigger by its parts (pricing → return → repeat (7d), site intent, resolved to company). The join: the trial seats from the product, the filed lead from the CRM, ecosystem exhaust noted as absent. The score by axis: 0.79 against a threshold of 0.70, with fit at 0.78, intent at 0.86, timing at 0.71. The decision: Play matched, boundary held. The actions by tool: a Slack post with the evidence attached, a task opened in the CRM for the on-duty owner, the trial admin enrolled in a sequence after a one-click approval. Who approved, and how long it took. The timestamps. The id.

THE RECORD ⬩ ONE ACCOUNT ⬩ ILLUSTRATIVE Six touches. One run record. AUDIT LOG ⬩ run_7a31c9 ⬩ acct_2c81 Anweledig Labs ⬩ 2026-09-16 09:41:06Z TRIGGER JOIN SCORE DECISION ACTIONS APPROVAL TIME RECORD pricing → return → repeat (7d) class:site_intent resolved:company (identity vendor) owner:rented trial → second seat → both active (7d) class:product_behavior owner:owned filed lead → pricing return (14mo) class:crm_lifecycle owner:yours_on_paper ecosystem_exhaust:none (7d) 0.79 threshold:0.70 fit:0.78 intent:0.86 timing:0.71 play:trial-plus-pricing-route-v1 matched boundary:pass channels:slack, crm_task, sequence cap:4/25 suppression:no match slack:posted #growth-signals, evidence attached 09:41:09Z crm:task opened for on-duty owner, evidence attached 09:41:10Z outbound:trial admin enrolled in trial-expansion-v2, after approval 09:43:21Z warehouse:this record, exported as one row nightly mode:approve approved_by:op_2 wait:2m14s play_approved:2026-08-27 matched 09:41:06Z scored 09:41:07Z approved 09:43:20Z enrolled 09:43:21Z logged 09:43:21Z run_7a31c9 acct:acct_2c81 reconstructable from this row alone three classes on one account: site intent (rented), product behavior (owned), CRM lifecycle (yours on paper). three tools carry the actions and the row. Illustrative, not a benchmark. Account anonymized. This is the complete record of Bryn's decisions and actions on the run. Slack, the CRM, and the sequencer keep their own logs of what they did after the request arrived. values illustrative; field names follow the audit log's key:value convention
Figure 3. The six touches collapsed into one run record: trigger, join, score by axis, decision, actions by tool, approval, timestamps, id (illustrative, not a benchmark).

That is where one account becomes one account: in a record another person can reconstruct from, the test we ran on ourselves in Show Me a Blocked Action. It is why we say owner rather than fleet; an agent per tool gives you a record per tool and no join between them, the failure mode in Thirteen Agents, One Owner. And it is the third surface in Three Surfaces, One Architecture: the same record whether a person opens it or an agent asks for it over MCP, which was Monday's point in The Agent Your Agents Call.

What this week showed

Reading the cabinet is progress. The platforms spent the week showing agents that live inside the CRM and read it well, and the CRM is a class most teams never read at all. Take the win. It is one class of four.

Wednesday's part 3 said the cabinet only fires when it is joined to a live class: a filed lead is a filing, and a filed lead that comes back to pricing is a specimen. Tuesday said the controls have to follow the work across tools, because the work does. Both are true of this one account. The CRM record on Anweledig Labs was a filing at the start of its week and a Play by the middle of it, and everything that changed happened in two other tools.

Thursday's piece made the calendar point, and it lands here too. The same account, read in September, is a Q4 account. The visits and the seats are happening now. The join decides whether anyone acts on them before the quarter does.

How Bryn holds the account

Bryn is not another dashboard to watch. It is the governed execution layer that runs Plays through your stack.

Bryn watches the site, the product, and the CRM together, so the three classes land on one account instead of three tools. It scores that account in the open, by axis, against the profile you defined. When the pattern crosses the threshold you set, it runs the Play you approved through Slack, the CRM, and the sequencer, end to end in Run mode or held for one click in Approve mode. Then it writes one record, in its own register:

Bryn I matched pricing → return → repeat (7d) on Anweledig Labs at 09:41 UTC, resolved to company. Joined trial → second seat → both active (7d) from the product and filed lead → pricing return (14mo) from the CRM. Scored 0.79 against 0.70. Matched trial-plus-pricing-route-v1, boundary held. Posted to #growth-signals, opened a task in the CRM for the on-duty owner, held the enrollment. Approved by op_2 in 2m14s. Enrolled. Logged run_7a31c9.

The boundary Chris drew on Tuesday stays where he drew it. That record is the complete record of Bryn's decisions and actions. It is not a replacement for what Slack, the CRM, or the sequencer log about their own behavior after the request arrived. Bryn's record ends at the handoff, and says so.

The gift

Take one live account from your pipeline this week. Write down every touch from the last seven days and label each one twice: the class it belongs to (product, site, CRM, ecosystem) and the tool it landed in. Then ask where the sequence of those touches, the decision, and the action are written down together. If the answer is "in six places," you have found the seam. It is not a tool gap. It is the join nobody owns.

Stop watching signals. Start running them.

Civic Team

Civic Team

Staff

More essays by Civic

Our team brings decades of experience across the domains that matter: 10 years in AI and agentic systems, 65 in financial services, 35 in identity and access management, 30 in marketing and AdTech, 15 in legal and professional services, and 12 in manufacturing and industrial.

We're for operators who can't afford unintended actions or silent failures, and who want the agent in production quickly and effectively.