AI Engineer World's Fair 2026

GTM Engineering: The Technical Bits — Everett Berry, Clay

Read the talk

GTM Engineering: The Technical Bits

Everett Berry of Clay traces the engineering beneath fast-moving go-to-market teams: mutable account data, asynchronous tool orchestration, persistent agents, and customer outreach where small automation mistakes can damage real relationships.

From a talk by Everett Berry

At a glance

Ideas worth remembering

  • GTM engineering treats changes to data, automations, and campaigns as shipped systems that need release cadence, iteration, and operational ownership.

  • A usable account model combines first-party activity, third-party enrichment, entity resolution, selective refresh policies, and evaluations of competing data providers.

  • Orchestration must model asynchronous dependencies explicitly: a successful write in one tool does not mean a downstream tool is ready, so waits, checks, retries, fan-out, and joins belong in the control flow.

  • A long-running GTM agent can be assigned per account, remain dormant between triggers, reload current context, and preserve state across a deal cycle—but continual learning and next-best-action selection remain unresolved.

  • Customer-facing execution needs domain-reputation controls, reply routing, and cross-channel suppression because locally correct automations can combine into a harmful customer experience.

  • The final coordination problem is human: reps need to see what agents did, understand why, disagree when necessary, and arrive at customer conversations with the same account context as the automated system.

GTM becomes a shipping discipline

GTM engineering starts from a change in cadence. At Clay, Berry describes shipping new data, automations, and campaigns every two weeks, then iterating on them much like an engineering team iterates on product releases. The role exists to remove the technical constraints that historically kept go-to-market teams from moving that quickly.

More capable AI models increase what a GTM engineer can automate, but models are only one part of the system. Berry organizes the underlying work into four connected areas: data, orchestration, agents, and execution. Each layer depends on the previous one. An agent cannot choose a sensible action if the account record is stale, and a correct decision still fails if the outreach tools execute it out of order.

0:120:42
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

0:12 · section reference included

The account record is a changing model of the market

The data layer aims for what Berry calls a “perfect virtual copy” of the market: the target companies, the people inside them, and the current state of each relationship. Perfection is an aspiration rather than a stable endpoint. Companies get acquired, open offices, launch products, hire, and fire. Meanwhile, marketing, sales activity, meetings, expansion, and churn change the account’s relationship with the seller.

A new CRM therefore needs more than account names. Relevant contacts come first, followed by third-party account hierarchy, firmographics such as company size, technographics describing the software in use, and signals that suggest an account may be in market. Operational fields then record whether the account is a customer, expanding, churning, or scoring highly enough to pursue.

No single vendor supplies every field with adequate coverage. Berry’s concrete example is phone-number enrichment across a set of countries: using Forager alone filled only about half the desired records, so the workflow queried additional providers to fill the gaps. This technique, waterfalling, increases coverage by sending unresolved records to the next source rather than accepting the first provider’s omissions.

What does waterfalling make visible? The diagram shows that provider order is a decision rule, not merely a larger vendor list. Each source handles records still missing a value, while evaluations are needed to decide which providers deserve priority and which returned values are accurate enough to keep.

How it fits togetherWaterfalling unresolved account data across providers

The target field is empty for a set of country-specific records.

Each provider receives records whose target field is still empty; evaluated results flow into the shared account record.

2:122:42
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

2:12 · section reference included

Freshness has a cost, so fields need different policies

Coverage is only the first data problem. The layer must merge purchased third-party information with first-party activity and incoming signals, then resolve different representations of the same company across sources. Without entity resolution, one account can fragment into several records and the automation loses a coherent view of its state.

Continuous refresh is expensive when each update purchases data, so refreshing every field on every run is wasteful. The system needs field-specific policies: volatile facts should update more often, stable facts less often, and pushed signals should update the account when events arrive. This selective maintenance is what makes the virtual market model economically usable rather than literally perfect.

The practical consequence is severe: automated GTM plays inherit the quality and timing of this layer. A workflow can run exactly as designed and still target the wrong company, contact, or moment if its underlying entities are mismatched or stale.

5:125:42
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

5:12 · section reference included

Orchestration is a distributed data-engineering problem

Once activity spreads across a CRM, warehouse, sequencer, dialer, call recorder, and chat interface, each tool develops its own partial view of the account. Berry commonly encounters teams working through ten, twenty, or thirty tools. Orchestration keeps those views coordinated as emails, calls, account events, and rep actions flow back into the data layer.

The systems do not share one workload shape. One may need a single record immediately, while another accepts hundreds of thousands of records in a nightly batch. Employee count changes frequently; headquarters location changes rarely. A single input may need to fan out to several destinations, and failures become normal once that work is distributed.

The most instructive failure appears when tools synchronize behind the orchestrator’s back. Suppose an orchestration workflow creates a contact in Salesforce and then wants to enroll that person in Outreach or another sequencer. Salesforce and the sequencer have their own asynchronous sync. The contact is observably present in the CRM but not yet available in the sequencer, so immediate enrollment fails. The workflow must wait, check again, and loop until the downstream record exists.

Where does the delay enter? The diagram exposes two control paths: the orchestrator writes to the CRM, but a separate connector controls when the sequencer sees that write. A successful CRM operation therefore does not prove downstream readiness; the loop must test the destination’s state before acting.

How it fits togetherWhy creating a CRM contact cannot trigger immediate sequencing

An event or schedule starts the orchestration.

The orchestrator controls the CRM write, but an independent asynchronous sync determines when the sequencer can act on the contact.

6:126:42
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

6:12 · section reference included

General-purpose graph nodes encode the control flow

Clay’s response is a graph of general-purpose nodes rather than a chain of product-specific integrations. Different nodes run agents, call tools, evaluate conditions, execute code, or perform a map-reduce-style fan-out and aggregation. A trigger or schedule starts the graph; branches query several systems; their results come back together; and the combined context moves into the interfaces used by reps.

This graph does not remove distributed-system failures. It gives waits, retries, conditionals, fan-out, and joins an explicit place in the design. Berry presents the pattern as applicable whether the orchestration layer is bought or built: the important choice is to model control flow and data dependencies instead of assuming every integration behaves like a synchronous function call.

8:429:12
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

8:42 · section reference included

One persistent agent follows each account over time

With data and orchestration in place, the account state now includes signals, changing fields, rep and agent actions, meetings, and feedback. Sales representatives often sort through this context manually. Berry’s proposed architecture assigns one agent to each account so the reasoning layer can maintain persistent account state across a deal cycle lasting weeks or months.

A long-lived account agent is dormant most of the time. A schedule, smart trigger, or heartbeat wakes it; it ingests the latest context from the data and orchestration layers; it reasons about the next action; and it records feedback for later decisions. The design must also map unstructured model output into structured CRM fields, where an incorrect value can affect later automation and customer communication.

What must persist while the agent sleeps? The lifecycle diagram makes clear that persistence belongs to the account state, not to a continuously running model call. Triggers restart computation around the latest account context, and feedback returns to the state used by later wake-ups.

How it fits togetherLifecycle of a long-running account agent

The agent exists across a weeks- or months-long deal cycle but is inactive most of the time.

The agent sleeps between events, reloads current account context when awakened, acts, and stores feedback for the next cycle.

9:4210:12
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

9:42 · section reference included

Agent-written fields need clear ownership

Berry recommends separating CRM fields updated by agents from fields updated by deterministic systems or people. That separation reveals who produced a value, prevents competing writers from silently overwriting one another, and gives feedback or review workflows a specific agent output to inspect.

A closed-lost reawakening agent shows why timing belongs in the architecture. It combines call information, email, CRM data, and warehouse context, but it does not immediately pursue an account after a loss. A time-based trigger introduces a deliberate cooling-off period before the agent reassesses the opportunity.

The unresolved frontier is continual learning and reliable next-best-action selection. Berry says GTM has not fully solved how an agent should update its own view of what works across accounts. Persistent state and feedback create the prerequisites for learning, but they do not establish that autonomous updates will improve decisions safely.

12:1212:42
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

11:42 · section reference included

Execution turns system errors into human costs

The final layer sends the message, places the call, or coordinates another customer-facing action. This is where a technically valid decision becomes consequential. Berry’s displayed figures put cold-email replies around 0.5% to 1%—perhaps one reply from one hundred sequenced contacts—and describe LinkedIn as three to four times more effective than cold email. These figures come from charts discussed in the talk; Berry himself was uncertain that the cited email sample covered twenty million messages and said some displayed channel rates looked elevated, so the numbers support the narrow point that response margins are small rather than a precise universal benchmark.

Small margins raise the cost of bad agent behavior. If automated outreach says the wrong thing, it can lose the rare response the campaign might have earned. If it sends directly from a rep’s company address and recipients ignore or reject the campaign, the company’s domain reputation can suffer.

One workaround spreads outreach across multiple domains. That protects the primary domain from carrying all campaign risk, but creates a routing problem: replies arriving on alternate domains must return to the rep’s main inbox or working interface. Clay also uses a rep-proxy arrangement for some accounts, connecting multiple rep inboxes to a sequencer and sending on their behalf; other accounts use the multi-domain pattern.

Multichannel execution adds cross-channel suppression. When a call connects and books a meeting, the system should stop the email sequence and may need to remove the person from a lifecycle marketing campaign. Otherwise, individually successful tools create a collectively absurd customer experience: a booked prospect keeps receiving automated requests to book.

13:1213:42
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

13:12 · section reference included

The hardest rollout problem is the human–agent interface

The closing Q&A moves the bottleneck from infrastructure to coordination. Agents can provide the reasoning and decision layer for work previously performed by sales reps, but the rep may disagree with an action or may not know it happened. Because a person still joins the eventual prospect call, the automation must keep that person informed enough to understand the account and intervene when needed.

That interface needs more than a stream of agent outputs. It must make actions visible, reconcile disagreement, and coordinate ownership between automated systems and the rep. Otherwise, adding a capable decision layer merely creates a second actor with a different view of the account—the same inconsistency orchestration was meant to eliminate among tools.

The discipline also covers inbound GTM, not only outbound campaigns. Inbound systems must route a lead correctly, qualify the account, and recover relevant historical context before deciding what happens next. The four-layer model therefore applies across GTM: maintain the account model, coordinate system state, reason over context, and execute while keeping the responsible human in the loop.

17:0917:18
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

16:15 · section reference included

Resources

  • A practical companion explaining Clay’s two-week sprints, core internal stack, release notes, team structure, and examples of the workflows its GTM engineers maintain.

Read the complete timestamped transcript
  1. 0:01

    [music]

  2. 0:12

    >> Okay, good morning everyone. I'm stoked

  3. 0:14

    to kick things off this morning. Um,

  4. 0:17

    today's talk is going to start off with

  5. 0:20

    just a brief look at GTM engineering and

  6. 0:22

    what it is, and then I'm going to get

  7. 0:23

    into kind of the areas that I consider

  8. 0:26

    to be the most technically interesting

  9. 0:27

    and challenging

  10. 0:29

    um, within this space. So, GTM is pretty

  11. 0:32

    new. Um, it's arisen out of a couple

  12. 0:35

    factors, but one of the main motivating

  13. 0:37

    ones is that GTM teams have kind of

  14. 0:39

    realized that it is now possible to ship

  15. 0:42

    as fast as a product and engineering

  16. 0:44

    team.

  17. 0:45

    And so, the best GTM teams that I work

  18. 0:47

    with are generally um, pushing changes

  19. 0:50

    to their GTM structure almost at the

  20. 0:53

    same cadence that an engineering team

  21. 0:55

    might be doing releases. And so, at

  22. 0:57

    Clari what that looks like is something

  23. 0:59

    like this, where every 2 weeks we're

  24. 1:01

    pushing new data to our teams, we're

  25. 1:04

    pushing new automations, we're of course

  26. 1:06

    running new campaigns, and we're

  27. 1:07

    constantly iterating on the things that

  28. 1:09

    we're shipping and trying to keep pace

  29. 1:11

    with the speed that is um, that our

  30. 1:13

    engineering team is working at.

  31. 1:15

    So, um, to do this you need a couple

  32. 1:17

    fundamentals in place, and in my view

  33. 1:20

    GTM engineering at its heart is really

  34. 1:22

    about removing the constraints that have

  35. 1:24

    historically stopped GTM teams from

  36. 1:27

    shipping at speed using technology.

  37. 1:30

    Um, and the role itself has exploded.

  38. 1:33

    So, um,

  39. 1:34

    I would venture to say that most

  40. 1:36

    advanced GTM teams are now hiring GTM

  41. 1:38

    engineers or looking for this role, and

  42. 1:41

    in my opinion it's one of the first

  43. 1:43

    roles that actually is an index on the

  44. 1:45

    advances that we're making in AI. And

  45. 1:48

    so, as models have become more powerful,

  46. 1:50

    GTM engineers have gained more leverage

  47. 1:52

    within their organization and become

  48. 1:54

    more valuable, and we've seen tremendous

  49. 1:56

    growth in this role.

  50. 1:58

    So, um I kind of break it down into four

  51. 2:01

    areas. And what I hope to do with this

  52. 2:03

    talk is kind of lightning round go

  53. 2:05

    through some of the technical problems

  54. 2:06

    and solutions that I see for this. If

  55. 2:09

    you're not familiar with Clay, we are

  56. 2:10

    obviously building infrastructure that

  57. 2:12

    kind of attacks these areas. But this is

  58. 2:14

    not meant to be a sales pitch. It's more

  59. 2:17

    meant to be if you're an engineer or GTM

  60. 2:19

    engineer that's working on these things,

  61. 2:21

    some ways to think about how to

  62. 2:22

    structure it. And then if you're a

  63. 2:24

    founder in this space, some of the

  64. 2:26

    interesting problems that I think are

  65. 2:27

    worth uh tackling.

  66. 2:30

    So, the first is data. And more than

  67. 2:33

    most teams within a company, data is the

  68. 2:35

    lifeblood of GTM. And the core goal that

  69. 2:39

    I think we're trying to accomplish with

  70. 2:41

    our data is to create a perfect virtual

  71. 2:43

    copy of the market, the ideal customers,

  72. 2:46

    the accounts and contacts that you're

  73. 2:47

    going after.

  74. 2:49

    So, um most teams start out with

  75. 2:51

    something that looks like this. You have

  76. 2:53

    accounts, which are the companies that

  77. 2:55

    you're targeting, and contacts, which

  78. 2:57

    are the people that you're going after.

  79. 2:59

    The problem though that makes this

  80. 3:00

    challenging is that accounts at least

  81. 3:03

    exist in a state of constant change. As

  82. 3:05

    an organization, a company might be

  83. 3:07

    getting acquired, it might be spinning

  84. 3:09

    up new offices, it might be launching

  85. 3:12

    new products. So, the company itself is

  86. 3:14

    always changing. In addition, you as the

  87. 3:16

    GTM team are doing things that company

  88. 3:19

    that is making it change as well. So,

  89. 3:21

    you're marketing at them, you're selling

  90. 3:22

    towards them, you're trying to book

  91. 3:24

    meetings. That's changing the state of

  92. 3:26

    the account. And then also, the company

  93. 3:28

    itself is hiring people and firing

  94. 3:31

    people and doing things that provide

  95. 3:32

    signals for you. So, as GTM engineers,

  96. 3:35

    we need to manage all of this state

  97. 3:37

    within our accounts. And um we don't

  98. 3:40

    have all the data that we need to do

  99. 3:42

    this kind of right off the bat.

  100. 3:44

    So, um this is what a an example from

  101. 3:47

    Clay's CRM looks like. You can see I

  102. 3:49

    have a ton of fields that are simply

  103. 3:50

    telling me what state this account is

  104. 3:52

    in, whether they're a customer or not,

  105. 3:54

    whether they're expanding or churning,

  106. 3:56

    how big they are, how well they're

  107. 3:57

    scoring. And so, one of the fundamental

  108. 3:59

    things that we need to do is make sure

  109. 4:01

    that our records are updated so that we

  110. 4:03

    can actively accurately action on what's

  111. 4:06

    happening here.

  112. 4:08

    And so, as a you know, in a brand new

  113. 4:10

    CRM or a or a CRM that I'm going into,

  114. 4:13

    the first thing that I am doing is

  115. 4:14

    actually filling up the account with

  116. 4:16

    relevant contacts. And then I'm layering

  117. 4:18

    in third-party information that is going

  118. 4:20

    to help me figure out which accounts to

  119. 4:22

    target and which ones are in in market.

  120. 4:24

    Primarily, I'm looking at the account

  121. 4:26

    hierarchy, the firmographics that uh

  122. 4:29

    describe how big the company is and so

  123. 4:30

    forth, the technographics that describe

  124. 4:33

    what technology they're using, and then

  125. 4:34

    I'm trying to create signals on top of

  126. 4:36

    those accounts that are going to allow

  127. 4:38

    me to go after that um that company.

  128. 4:42

    And so, because uh there's a lot of

  129. 4:44

    third-party data involved here, we need

  130. 4:46

    to actually go out and source and

  131. 4:48

    procure that data. And within GTM, there

  132. 4:51

    is literally hundreds of vendors that

  133. 4:52

    you can turn to to um to get the data

  134. 4:55

    that you need, but none of those vendors

  135. 4:57

    is going to have a complete picture of

  136. 4:59

    all the information you you desire. And

  137. 5:01

    so, the key technique here is called

  138. 5:03

    waterfalling. This is where I'm going to

  139. 5:05

    actually go and look into multiple

  140. 5:07

    providers to try to fill in all the

  141. 5:08

    information that I need. If you see

  142. 5:10

    here, if I was just using Forager to get

  143. 5:13

    phone numbers for this um this set of

  144. 5:15

    countries, I'd only get halfway there.

  145. 5:17

    So, instead, what I need to do is layer

  146. 5:18

    on all of these other providers. And

  147. 5:21

    that's not only true for phone numbers,

  148. 5:22

    but for most the other data points that

  149. 5:24

    we care about within GTM. And so, either

  150. 5:27

    you or the vendor that you're using

  151. 5:29

    needs to run evals against these data

  152. 5:30

    providers in order to obtain the most

  153. 5:32

    accurate information.

  154. 5:35

    And so, not only do I need to sync in

  155. 5:37

    third-party information to my data

  156. 5:38

    layer, I also need to incorporate

  157. 5:40

    first-party information, and I need to

  158. 5:42

    keep that constantly up to date. It's

  159. 5:44

    also incredibly expensive to update data

  160. 5:46

    all the time, especially if you're

  161. 5:48

    purchasing it. So, I can't just update

  162. 5:50

    all the fields. I need to kind of

  163. 5:51

    selectively choose which fields to

  164. 5:52

    update. And not only am I pulling

  165. 5:55

    information from various sources, but if

  166. 5:57

    I'm running a signals program,

  167. 5:58

    information that I need is getting

  168. 5:59

    pushed to me all the time as well. And

  169. 6:01

    because I'm using multiple third-party

  170. 6:03

    sources, the actual representation of a

  171. 6:06

    single account in those different

  172. 6:08

    sources is going to be different. So, I

  173. 6:09

    need to resolve the entities um in

  174. 6:11

    between them. And so, a great data layer

  175. 6:13

    will tackle all of these things and

  176. 6:15

    allow me to kind of move on to the more

  177. 6:18

    interesting work, but without this, it's

  178. 6:20

    really, really hard to execute automated

  179. 6:22

    GTM plays.

  180. 6:24

    So, the next piece that I need to get

  181. 6:25

    right is orchestration. And this occurs

  182. 6:28

    because within go-to-market, there are

  183. 6:30

    literally dozens of tools that most

  184. 6:32

    teams are using. So, I might have a

  185. 6:34

    sequencer or a dialer or a bunch of

  186. 6:36

    places where my reps are living or my

  187. 6:38

    field marketing is living. And in most

  188. 6:40

    cases, the view of the world that those

  189. 6:43

    tools have is different depending on

  190. 6:45

    where you look. And so, orchestration,

  191. 6:47

    in my view, is really the act of keeping

  192. 6:49

    all of that up to date.

  193. 6:51

    And so, what happens to our data model

  194. 6:53

    then is I'm

  195. 6:55

    um on top of my enriched information,

  196. 6:57

    I'm sending emails and calling into my

  197. 6:59

    contacts. The account is generating

  198. 7:01

    events that I need to keep track of. And

  199. 7:04

    I now need a system to actually plug all

  200. 7:06

    of this into my data layer.

  201. 7:08

    And so, most teams are going to have

  202. 7:10

    something that looks like this as their

  203. 7:11

    basic stack: CRM, data warehouse,

  204. 7:14

    sequencer, a dialer, a note taker for

  205. 7:16

    call recording, and some chat interface

  206. 7:19

    like Slack. However, um I usually see

  207. 7:22

    like 10 or 20 or 30 tools that actually

  208. 7:25

    these teams are interfacing with. And

  209. 7:27

    orchestration needs to kind of keep that

  210. 7:29

    information up to date.

  211. 7:31

    The problem with orchestration is um all

  212. 7:33

    of these different systems have

  213. 7:34

    different data needs. So, some systems

  214. 7:36

    need kind of like real-time updates one

  215. 7:38

    record at a time. Other systems are

  216. 7:40

    going to need hundreds of thousands of

  217. 7:42

    records, maybe updated once a day. I

  218. 7:44

    might need to schedule updates on a

  219. 7:46

    monthly or weekly basis depending on the

  220. 7:48

    data I'm using. Some data points like

  221. 7:50

    employee count change all the time.

  222. 7:52

    Other data points like headquarters

  223. 7:53

    location change very rarely.

  224. 7:55

    Um and I'm not going to be making

  225. 7:57

    updates to all the fields at the same

  226. 7:58

    time. So I need logic within these

  227. 8:01

    systems that helps with that. I also

  228. 8:03

    need to be able to take a single um

  229. 8:05

    system that I'm working with and

  230. 8:06

    actually fan its information out to

  231. 8:09

    multiple different systems. And because

  232. 8:11

    I end up with this kind of distributed

  233. 8:12

    setup, I also have failures that are

  234. 8:14

    happening all the time. So this turns

  235. 8:16

    into a fairly complex data engineering

  236. 8:18

    problem that we need to resolve.

  237. 8:21

    A classic example of this is um when I'm

  238. 8:24

    working with these different systems,

  239. 8:26

    usually they are not fully orchestrated,

  240. 8:28

    which means that one system is talking

  241. 8:30

    to each other while I'm trying to talk

  242. 8:31

    to both of those systems at the same

  243. 8:33

    time. So for example, if you have a

  244. 8:35

    salesforce uh connected to outreach or a

  245. 8:37

    sequencer, usually that CRM that seek

  246. 8:40

    sequencer are syncing independently of

  247. 8:42

    your orchestration system. And so if you

  248. 8:44

    create contacts in your CRM, you

  249. 8:46

    actually need to wait for that contact

  250. 8:47

    to sync to the sequencer before you can

  251. 8:49

    then take action on it. This creates

  252. 8:51

    some difficult problems where you

  253. 8:53

    actually need to introduce things like

  254. 8:54

    weights and loops to check if

  255. 8:55

    information is ready.

  256. 8:58

    So Clay, we've iterated on this problem

  257. 9:00

    um quite a bit and we've ended up in a

  258. 9:02

    place where we are basically taking a

  259. 9:05

    graph-based view of the orchestration

  260. 9:07

    problem with a series of general purpose

  261. 9:09

    nodes that are executing various things.

  262. 9:12

    And so we have nodes that run agents,

  263. 9:14

    nodes that make tool calls, nodes that

  264. 9:16

    handle our conditional logic, nodes that

  265. 9:19

    run code, and then nodes that run

  266. 9:20

    effectively this map reduce system to

  267. 9:23

    fan out the information and bring it

  268. 9:25

    back. And so a great orchestration layer

  269. 9:27

    will handle all of these and whether you

  270. 9:29

    buy it or build it, I think this is like

  271. 9:31

    fundamentally the the kind of modern way

  272. 9:34

    to set this up.

  273. 9:36

    Here's an example of this um in in clay.

  274. 9:38

    And again, you can use other tools for

  275. 9:40

    this, but basically I'm going to have

  276. 9:42

    some sort of event that kicks off my

  277. 9:44

    orchestration, some trigger or some

  278. 9:46

    schedule. I'm going to then talk to a

  279. 9:48

    couple different systems. I'm going to

  280. 9:49

    combine that information back together,

  281. 9:51

    and then I'm going to push it out to

  282. 9:52

    different interfaces that, uh, my reps

  283. 9:55

    are using.

  284. 9:57

    Okay, so now that I have a data layer

  285. 9:59

    set up and I have my everything

  286. 10:01

    orchestrated, I now have this system

  287. 10:04

    which is starting to look a lot more

  288. 10:06

    complex. And if you spend a lot of time

  289. 10:08

    in go-to-market, uh, I think this is

  290. 10:09

    actually like one of the simplest views

  291. 10:11

    of what is happening with an account,

  292. 10:13

    where I have multiple signals that are

  293. 10:15

    occurring, I have data that needs to be

  294. 10:17

    updated, I have actions that my agents

  295. 10:19

    or reps are taking, and then I have

  296. 10:21

    meetings that are happening and feedback

  297. 10:23

    that's occurring. And so, um, the state

  298. 10:25

    of the world today is that we are

  299. 10:27

    relying on sales reps in a lot of cases

  300. 10:29

    to manually sort through this, but one

  301. 10:31

    of the great advances in the last year

  302. 10:33

    or so is that we can now use agents to

  303. 10:36

    take care of all of this context.

  304. 10:38

    Um, however, if you use agents, you

  305. 10:40

    actually run into some of the same

  306. 10:41

    problems that you are dealing with if

  307. 10:43

    you just use LLMs. So, um, in GTM in

  308. 10:46

    particular, we are trying to build very

  309. 10:48

    long-running agents, agents that run

  310. 10:50

    over a course of weeks or months that

  311. 10:52

    keep track of the state of an account

  312. 10:54

    throughout a deal cycle. We also have a

  313. 10:56

    high bar for error because a lot of the

  314. 10:59

    results of our GTM work is customer

  315. 11:01

    communication and getting that wrong can

  316. 11:03

    have disastrous con- uh, consequences.

  317. 11:06

    And then finally, the agents are often

  318. 11:09

    doing unstructured work and pushing that

  319. 11:11

    into systems that are highly structured

  320. 11:12

    like a CRM. And so, the the mapping of

  321. 11:15

    what the agent is producing is is super

  322. 11:17

    important.

  323. 11:19

    So, the architecture that we've landed

  324. 11:21

    on for this that I think is most

  325. 11:22

    powerful is an agent that exists for

  326. 11:24

    each account and maintains a persistent

  327. 11:26

    state of that account. It's always going

  328. 11:29

    to execute, and because it's executing

  329. 11:32

    over a of weeks or months, it's often

  330. 11:34

    going to be dormant for most of the time

  331. 11:35

    that it's available. So, we need to use

  332. 11:38

    smart triggers or a heartbeat or

  333. 11:40

    something to wake it up. And then when

  334. 11:42

    it wakes up, it needs to kind of ingest

  335. 11:44

    the current context of the account from

  336. 11:46

    our data layer and our orchestration

  337. 11:47

    layer. And because the agent is making

  338. 11:49

    decisions for us in many cases

  339. 11:51

    automatically, we need to allow for

  340. 11:53

    feedback on the agent as well.

  341. 11:55

    The um cutting edge of doing this is the

  342. 11:59

    learning phase where as the agent works

  343. 12:01

    on an account or a series of accounts,

  344. 12:03

    it updates its own view of what's

  345. 12:05

    working.

  346. 12:06

    Today in GTM, this is not fully solved

  347. 12:09

    yet. And in fact, the continual learning

  348. 12:11

    um effort and the next best action

  349. 12:14

    suggestions are kind of one of the

  350. 12:15

    cutting edge problems that that we're

  351. 12:17

    working on.

  352. 12:18

    So, here's a look at um a a kind of a

  353. 12:21

    basic agent. You can see here that I'm

  354. 12:23

    pulling in information from a couple

  355. 12:25

    different sources. I'm using reasoning

  356. 12:27

    steps here. And then critically, I'm

  357. 12:29

    also updating different values in my CRM

  358. 12:32

    that are just for the agents. So, I

  359. 12:34

    always recommend separating the fields

  360. 12:36

    that agents are updating from the fields

  361. 12:37

    that deterministic systems are updating

  362. 12:40

    or that people are updating.

  363. 12:41

    And to look at a full uh view of an

  364. 12:43

    agent, this is a closed loss free awaken

  365. 12:46

    agent. So, you can see it's talking to

  366. 12:48

    Gong, email, CRM, and um my data

  367. 12:51

    warehouse. And so, it's pulling together

  368. 12:53

    multiple pieces of information. And this

  369. 12:55

    agent is triggered on a time basis. So,

  370. 12:58

    if if we lose an account, we're not

  371. 13:00

    going to kind of like immediately go

  372. 13:01

    after that account again. We're going to

  373. 13:03

    wait for a little bit of time in order

  374. 13:05

    to um in order to attack it again. So,

  375. 13:08

    there's a number of kind of timing and

  376. 13:10

    context issues that we have to address

  377. 13:12

    when we're building agents for GTM.

  378. 13:15

    The last step um that that is important

  379. 13:17

    here is the actual execution step. So,

  380. 13:20

    now that we have a data layer that

  381. 13:21

    contains the perfect copy of the virtual

  382. 13:23

    world, we have an orchestrated system

  383. 13:25

    that's um sharing context with all of

  384. 13:27

    our systems. We have agents that are

  385. 13:29

    making decisions and reasoning about

  386. 13:30

    what to do. We actually need to get in

  387. 13:32

    front of customers and execute our

  388. 13:34

    messaging.

  389. 13:36

    Uh unfortunately, uh messaging and

  390. 13:38

    execution is one of the hardest problems

  391. 13:40

    in GTM engineering. Here's a look at

  392. 13:42

    some of the um email open and reply

  393. 13:45

    rates over time. Generally, what we

  394. 13:48

    observe is that cold email works less

  395. 13:50

    and less well as the years go on. This

  396. 13:52

    is a trend that's been true forever.

  397. 13:54

    Look at a snapshot of this. Um if you

  398. 13:57

    look at the far left here, I actually

  399. 13:58

    think these are pretty uh elevated rates

  400. 14:01

    for some of these, but the relative

  401. 14:03

    differences between these channels is

  402. 14:05

    correct. So, you know, LinkedIn can be

  403. 14:07

    three to four times more effective than

  404. 14:08

    cold email. Cold calling and cold email

  405. 14:10

    are roughly the same.

  406. 14:12

    And then on the right here, um this is a

  407. 14:15

    series of uh statistics from Smart Lead.

  408. 14:18

    This is across, I think, 20 million

  409. 14:19

    emails. And so, you can see we've got

  410. 14:21

    somewhere between a half a percent and

  411. 14:23

    1% reply rates. So, what that means is,

  412. 14:25

    of course, if we've got 100 contacts

  413. 14:27

    that we're sequencing, maybe one of them

  414. 14:29

    will reply. And so, that really raises

  415. 14:32

    the stakes for agentic execution within

  416. 14:34

    GTM because if your agents are doing the

  417. 14:37

    wrong things, then you're missing out on

  418. 14:39

    the margin, which is where most GTM

  419. 14:40

    teams are uh are having success.

  420. 14:45

    The other thing with execution is you

  421. 14:47

    have to solve some very human problems.

  422. 14:49

    So, for example, do you email on behalf

  423. 14:51

    of the rep, or do you let the agent do

  424. 14:54

    the emailing? If you email on behalf of

  425. 14:56

    the rep, what that means is like

  426. 14:58

    [email address omitted] is actually reaching

  427. 15:00

    out directly to customers. But, if I do

  428. 15:03

    that in the wrong way, or I don't get

  429. 15:04

    the replies that I need, that then means

  430. 15:07

    that my overall domain reputation is

  431. 15:09

    going to suffer for for my company. So,

  432. 15:11

    a common technique then is to use

  433. 15:12

    multiple domains to get in touch with

  434. 15:14

    customers. But, then if I do that, I

  435. 15:16

    actually need to find a way to route

  436. 15:17

    responses on that domain back to my main

  437. 15:19

    domain so my reps can process it.

  438. 15:22

    And that's just email. There's also

  439. 15:23

    multi-channel outreach, which is tricky

  440. 15:26

    as well because you then have to, for

  441. 15:28

    example, if you get a call connection

  442. 15:30

    and a meeting booked on your call

  443. 15:32

    sequence, you then need to suppress your

  444. 15:34

    email sequence and maybe unenrolled

  445. 15:36

    someone from a life cycle marketing

  446. 15:38

    campaign.

  447. 15:39

    So, the coordination of the execution of

  448. 15:42

    all of this is also a hard problem and

  449. 15:45

    also something that we can use agents to

  450. 15:48

    to help resolve.

  451. 15:50

    So, here's a look at one way that that

  452. 15:52

    we're tackling this. This is a setup for

  453. 15:54

    a kind of rep proxied view where we have

  454. 15:57

    a bunch of rep inboxes that are

  455. 15:58

    connected to our sequencer and we're

  456. 16:01

    actually sending that on behalf of reps.

  457. 16:03

    But like I said, we do this for kind of

  458. 16:06

    a portion of our accounts. For many of

  459. 16:08

    of our accounts, we actually use

  460. 16:09

    multiple domains to go after them and

  461. 16:11

    then we have to tackle the routing

  462. 16:12

    problem.

  463. 16:15

    So, that was kind of a lightning review

  464. 16:17

    of what I consider to be some of the

  465. 16:20

    like harder problems within GTM

  466. 16:21

    engineering. I think if you get these

  467. 16:23

    pieces right, you can end up in a place

  468. 16:25

    where you're providing a technical

  469. 16:26

    foundation for growth that is helping

  470. 16:28

    your company achieve incredible results.

  471. 16:31

    But I think a lot of teams actually

  472. 16:34

    overlook some of the harder pieces here

  473. 16:35

    and and don't necessarily design around

  474. 16:38

    some of the constraints that they have

  475. 16:40

    to deal with.

  476. 16:42

    So, that's my talk. You can see me on

  477. 16:45

    LinkedIn. There's a URL there and looks

  478. 16:47

    like I have about 90 seconds for

  479. 16:48

    questions if anyone wants to ask

  480. 16:51

    anything.

  481. 16:55

    >> [applause]

  482. 16:58

    >> Any any questions for Everett?

  483. 17:02

    Raise your hand. I can Okay.

  484. 17:09

    >> Just uh curious as to what your um

  485. 17:12

    biggest challenge is

  486. 17:14

    with all these new um, within the org.

  487. 17:18

    >> I think one of the harder problems is

  488. 17:19

    probably the interface between the human

  489. 17:22

    and the agent.

  490. 17:24

    Like I said, I think the most powerful

  491. 17:26

    use of agents within GTM is to act as

  492. 17:28

    the reasoning and decision layer for a

  493. 17:30

    lot of tasks that a sales rep was

  494. 17:32

    previously doing. Um, and so you run

  495. 17:35

    into a lot of instances where the rep

  496. 17:37

    might think that they should do

  497. 17:38

    something different or the rep might not

  498. 17:40

    know that the agent did something. So,

  499. 17:43

    um, because ultimately a human still

  500. 17:45

    needs to get on a call with a prospect,

  501. 17:47

    coordinating the, uh, connection between

  502. 17:49

    what the automated systems are doing and

  503. 17:51

    what the, um, what the human sales rep

  504. 17:54

    is doing and making that work well, I

  505. 17:56

    think is probably one of the hardest

  506. 17:57

    problems.

  507. 18:00

    Okay, well, oh, yeah, one more.

  508. 18:08

    >> Um, I have a couple questions. So, um,

  509. 18:10

    GTM engineers are fundamentally software

  510. 18:12

    developers that have this, uh,

  511. 18:14

    knowledge. And, well, my other question

  512. 18:17

    is that, uh, this is mainly for outbound

  513. 18:19

    or inbound as well is included in this

  514. 18:21

    product.

  515. 18:21

    >> For everything, yeah. So, um, like the

  516. 18:24

    orchestration problem is pretty acute in

  517. 18:26

    inbound. You have to get the routing

  518. 18:27

    right. You have to qualify the account

  519. 18:29

    properly. There's usually historical

  520. 18:31

    context on inbound that comes in that

  521. 18:33

    needs to be, um, needs to be understood.

  522. 18:35

    So, uh, yeah, this I think GTM

  523. 18:37

    engineering covers, uh, covers all of

  524. 18:39

    GTM.

  525. 18:40

    And, uh, if you want to chat with me

  526. 18:41

    more about this, I'll just be right

  527. 18:43

    outside, but I will hand it to the next

  528. 18:45

    speaker now. Thank you.