Field Notes/bryngtmsignalssignal-based-sellinggtm-engineeringagents
What Bryn Actually Does
You heard the name this week. Here is the honest, mechanical version: what Bryn watches, how it scores, how it runs the Play you approved, and what it does and does not do at launch. No demo magic, just the loop.
Civic Team, Staff
||7 min read|
tl;dr
You heard the name this week. Here is the unglamorous version of what Bryn is and how it works. Bryn watches your product, site, and systems of record together, scores intent against your own definition of a good account, runs the Play you approved, and logs every step. The Play is the primitive. You define it once, Bryn runs each instance, and the audit log keeps the receipts. This is what it does at launch, and what it honestly does not do yet.
The short version
Bryn is the Signal-Based GTM agent for Growth teams.
The longer version is a loop with four parts: watch, score, run, learn. Everything below is just those four words with the details filled in. There is nothing you log into and configure for a month before it does anything. The product is the agent. Bryn is not another dashboard to watch, it is the governed execution layer that runs Plays through your stack.
That distinction matters more than it sounds. Most of what a Growth team buys is a place to look. Bryn is not a place to look. It is the thing that acts in the minute a signal still matters, and then tells you exactly what it did.
Watch
Bryn watches three things together, because that is where intent actually lives.
It watches the product: the events your app already emits, the actions that mean someone is getting value or getting stuck. It watches the site: who came back to pricing, who read three docs pages in a sitting, which known account showed up behind an anonymous visit. And it watches the systems of record: the CRM, the enrichment you already pay for, the fields your team trusts.
The point of watching all three at once is that no single one of them is a signal on its own. A pricing-page view is noise until you know it is the third one this week from an account that just expanded seats. Bryn correlates across the sources you connect so the moment is whole, not a fragment sitting in one tool waiting for a human to go find the other two.
A signal is only useful if it is measured against your definition of a good account, not a vendor's.
So Bryn scores intent against an ICP you write down. Industry, size, stage, the product behaviors that actually predict expansion for your business, the firmographic lines you care about. The score is transparent and multi-axis: you can see which axes a given account cleared and which it missed, not a single black-box number you are asked to trust.
This is the part teams usually outsource to a tool that scores against everyone's average. Bryn scores against yours, and shows its work.
Run
This is the part the rest of the category leaves to a human, and it is where the gap lives.
When a scored signal clears the bar you set, Bryn runs the Play you approved. Not a draft for someone to review tomorrow. The actual move, out the door, in the minute it still matters.
The Play is the primitive. You define and approve a Play once: the trigger, the audience, the action, the guardrails. From then on Bryn runs each instance of that Play as the matching signal fires, and logs every run. Approve once, run each instance, log every step.
The PlayDefine and approve once. Bryn runs each instance.
TypeScript
play("pricing-revisit-known-account", {when: signal.matches("pricing_view") && signal.count >= 3,who: account.score.clears("icp.growth"), // your ICP, your axesdo: send.intro({ from: owner, template: "pricing-followup" }),within: "5m", // act while it still mattersmode: "run", // run | approve | killable});
A Play is the primitive: a trigger, an audience scored against your ICP, an action, and the guardrails Bryn runs inside. You approve it once. Bryn runs every matching instance and logs all of them.
Learn
Here is where we are honest about the launch.
At v0, learning means recording. Every run goes into the audit log: the signal that fired, the score it cleared, the Play that ran, the action that went out, the timestamp on each. That record is two things at once. It is the work record, the answer to "why did this account get contacted on this day," and it is the substrate the learning is built on.
What it is not yet: a model that retunes your scoring on its own. That is v2. We would rather ship a system that keeps perfect receipts and tells you the truth about what it did than one that quietly adjusts itself and asks you to trust the drift. The log comes first. The model learns from the log later.
The audit log reads like a run sheet, not a black box.
The work recordEvery run, with its receipts
text
RUN play:pricing-revisit-known-account acme-corp10:02:11 watched pricing_view x3 (known account)10:02:12 scored icp.growth: cleared 4/5 axes10:02:13 matched play: pricing-revisit-known-account10:02:14 ran send.intro from: j.owner10:02:14 sent email -> buyer@acme.com10:02:15 logged run #4471, mode: runwhy: 3 pricing views in 1h, account cleared ICP, owner assigned
The audit log is the answer to "why did this account get contacted on this day." Each line is one step, timestamped. It is the work record at launch and the learning substrate for later.
You keep the final say
Bryn runs with bounded autonomy. There are three modes, and you choose per Play.
Run mode is the default: when a signal clears the bar, the Play runs and you read about it in the log. Approve mode is opt-in: Bryn does everything up to the action and waits for your yes before it sends. And the Kill-switch suspends a Play, or all of them, immediately, no matter the mode.
The axis that matters is bounded versus unbounded autonomy. Bryn is bounded by design. It only ever runs Plays you defined, against an ICP you wrote, inside guardrails you set, with a log you can read and a switch you can pull. The operator keeps the final say. That is not a compliance footnote. It is the capability: a system you can stand behind when someone asks later why it did what it did.
What it does not do at launch
To be straight about it. Bryn does not invent Plays you did not approve. It does not retune your scoring on its own yet (v0 learn is recording, ML is v2). And at launch Bryn is US-only.
We would rather you read that here than discover it in week two.
A note in Bryn's own voice
Since you will see this voice in the product, here is what a run sounds like from the inside.
I noticed Acme hit your pricing page three times inside an hour, and a second person from the same account showed up behind them. They cleared four of the five axes on your Growth ICP. That matched the pricing-revisit Play you approved, so I sent the intro from the assigned owner and logged the run. If that was wrong, the kill switch is on the Play and I will stop.
That is the whole product, said plainly. Watch, score, run, log, and tell you what happened.
Stop watching signals. Start running them.
Bryn starts at $49 a month on the Explore tier, and there is a 7-day trial with no credit card to start. It is self-serve and live today. Connect a source, write one Play, and watch Bryn run it.
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.