← All AI Engineer talks

AI Engineer World's Fair 2026

AI in GTM at Notion — Flora Liu

Flora Liu· Notion21:14

Read the talk

Engineering Notion’s GTM System Around Shared Customer Context

Flora Liu explains how Notion connects customer data, signals, durable agent workflows, and human judgment in a know, decide, act, and learn loop.

From a talk by Flora Liu

At a glance

Ideas worth remembering

  • Reliable customer decisions require correct identities, fresh enough data, and access to consequential facts in notes. Notion combines modeled warehouse entities with denormalized profiles and artifacts keyed to the same identifiers.

  • Shared context supports distinct responsibilities: agents research and draft, representatives approve customer-facing sales work, and centralized eligibility and routing coordinate the next action.

  • Signals connect customer events to owned tasks. Temporal supplies durable execution across fallible network calls, while LLM traces and linked decision outcomes support quality evaluation and future decisions.

  • Build around company-specific customer context and proven human workflows; rent general infrastructure such as orchestration, email, and CRM. Owning context also preserves the ability to debug decisions.

  • The reported 13-week results are promising but preliminary: qualified opportunities increased by an unspecified amount, and recommendation recipients were 63% more likely to take an undefined next step. Broader agent autonomy remains a future direction.

One customer journey, many disconnected systems

Flora Liu introduces a shift in how she understands go-to-market engineering at Notion. A year earlier, building a GTM system looked like a marketing operations problem; after working on it, she sees a distributed systems problem. Customer notes, proposals, and contracts connect a web of tools, and a small team is working to turn that web into a unified system. The effort is still underway.

The underlying work was familiar: lifecycle messaging, product recommendations, sales automation, customer data, and onboarding. Earlier solutions addressed these separately. Liu describes agentic technology as expanding both the team’s ability to execute and the range of problems it could economically tackle. That change made a coordinated engineering approach practical.

Notion’s customers move between self-service growth and sales assistance, experiencing one continuous relationship. Internally, marketing, sales, and customer operations used different tools and made decisions independently. Representatives had to bridge those systems themselves, switching between calls, research, and follow-up drafting. That administrative burden took time away from interpreting buying signals and working on customer problems. The goal became a single, programmable decision system that could act proactively and continuously across both growth motions.

The starting point lacked a single source of truth. Customer data was spread across Salesforce, Gong, Outreach, Zoom Info, and other tools; product usage lived in Snowflake; a decade of important context lived in notes and meeting documents. Employees were already using MCPs and agents, but mostly within individual departments. Those local tools solved narrow problems without coordinating the wider customer journey.

0:120:17
Suggest correction

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

0:01 · section reference included

The failures that shaped four architectural layers

Cross-system automation exposed three problems. Conflicting records and incorrect contact-to-account mappings undermined data quality; a single bad mapping could cost a representative’s trust. Each vendor also added another hop, introducing latency that caused automation to act on stale information. Finally, structured fields omitted facts that could determine whether an action was appropriate at all.

Meeting notes might record that the customer’s champion had left, that the customer should not be contacted again, or that a deal was blocked in legal. These facts change what a representative should do next. An automation that cannot read or process them can make a seriously wrong decision even when its structured data appears usable. Unstructured context therefore belongs in the decision process.

A team spanning CX, RevOps, product, engineering, and sales reduced the workflows to four questions: what do we know about the customer, what should happen next, how do we execute safely, and did it work? These became know, decide, act, and learn. The context layer supplies trusted customer information; decisioning chooses a single next best step; execution produces a lifecycle email, an in-app nudge, or a representative’s task; and observed results feed back into the next decision.

4:344:36
Suggest correction

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

4:34 · section reference included

Shared context, distinct responsibilities

Humans and agents operate on the same loop, so customer context must be readable and usable by both. Agents gather information, research, draft recommendations, and write artifacts at scale. Humans supply nuance, assess recommendations, decide what to do, and own the customer relationship. The architecture treats an agent as another operator inside the system.

That role comes with an explicit boundary: agents do not talk directly to customers. Sales-assist workflows retain human approval by default. Liu also frames this as a security decision. A prospect’s contact-sales submission remains untrusted user input, even when an agent processes it. Introducing an agent must not erase the boundary between external content and authorized action.

Routing and eligibility also became explicit shared primitives. Rules previously scattered between email and sales tools were consolidated so product, sales, and engineering could consume the same customer segmentations and signal definitions. A single classifier routes the next action. Liu describes this as a way to prevent duplicate sends and keep communication coherent across the system.

The lean team also chose to retain ownership of its customer understanding while renting general services. It uses Clay for enrichment and does not intend to build an email vendor. The distinction is where the team believes its specific knowledge matters: understanding Notion’s customers is something it wants to control.

6:316:33
Suggest correction

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

6:31 · section reference included

Snowflake computes the profile; DynamoDB serves it

The implementation begins by consolidating customer information in Snowflake. Data from GTM vendors enters the warehouse, where daily transforms—and real-time processing in some cases—produce a small set of modeled, versioned entities: accounts, contacts, workspaces, eligibility, and facts. Those entities carry ownership, source information, and timestamps. The warehouse is where the team computes its shared view of the customer.

DynamoDB supplies the serving path. The team publishes a denormalized, key-addressable profile that agents can query in milliseconds without joins. It also persists agent-generated research snippets, summarized notes, and rolling summaries under the same identifiers. That common identity lets downstream systems retrieve structured customer information and relevant unstructured artifacts together. Fast retrieval does not mean every underlying fact updates in real time: Liu explicitly describes daily transforms alongside selected real-time processing.

The consolidated information also appears in Notion, combining product usage, activity across vendors, research reports, and notes. Representatives can investigate accounts, ask questions, and take actions such as sending to Nooks or Outreach from a familiar environment. Liu describes replacing the need to open seven tabs with a shared working surface. Humans, workflows, and agents all operate on the same customer information.

9:019:04
Suggest correction

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

9:01 · section reference included

Turning customer events into owned tasks

A signal is a customer event important enough to change what should happen next. Some signals originate with users, such as reaching an AI limit or contacting sales. Others come from outside the product: a funding round, hiring activity, or a change in the company’s technology stack. Those external events allow the system to act before a customer explicitly requests help.

The signal service watches the customer profile, determines whether an action is available, assigns ownership, and emits a concrete task. The owner can be a human or an agent. A task for a sales representative lands directly in that representative’s Notion database, making the decision available where the person can review and act on it.

The absence of a signal has its own path. A predictive marketing engine recommends product features relevant to the customer, then uses lifecycle emails, in-app nudges, or multichannel communication to encourage adoption automatically. The system can therefore support ongoing product discovery as well as event-driven sales work.

11:2011:22
Suggest correction

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

11:20 · section reference included

Encoding representative workflows on Temporal

To implement sales actions, the team shadowed its strongest representatives and captured repetitive work as durable multi-agent workflows. Each signal becomes a Temporal workflow. A run can involve enrichment, web search, draft generation, and other network calls, any of which may fail or encounter a rate limit. Liu describes Temporal as handling retries, deduplication, and resumption from the point of failure while the team writes sequential GTM logic. Failure isolation matters too: one malformed transcript should not bring down an entire batch.

For cold outbound work, a research subagent conducts concurrent research, followed by email drafting. The workflow produces three drafts and scores them. A review agent selects the highest-scoring draft and makes updates where needed, with a loop for improving the result. Once ready, the draft becomes part of the sales task for the representative to act on. Liu does not specify the scoring rubric, so the example explains the selection mechanism without establishing how draft quality is measured.

A reactive workflow starts with a Gong transcript after a follow-up call. An agent parses it, extracts critical sales information—including metrics, the economic buyer, decision criteria, the plan, and the champion—and drafts a grounded follow-up. Every LLM step is traced so the team can evaluate quality and improve the workflow over time.

12:5513:04
Suggest correction

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

12:55 · section reference included

Closing the loop and changing a representative’s day

The feedback mechanism connects actions to their consequences. Each action has a decision log, and its outcome links back to the decision that produced it. Engagement history then feeds into decisioning, helping the system choose whether to continue a thread, advance to the next step, or change direction. Lifecycle-message performance belongs in the same loop. This gives the system an explicit way to adjust future behavior; Liu does not describe a separate model-training procedure.

In the shared customer view, a representative can inspect product usage and recent activity, then ask an agent questions grounded in that same context layer. Notion custom agents can also access the context for recurring automated workflows. The interface brings together information that representatives previously had to collect from multiple tabs.

The task view starts the day with prioritized work and researched email drafts ready for review. Representatives still contribute judgment, taste, and sales expertise, but begin with prepared material. Liu’s broader goal is to raise the team’s baseline: new representatives can learn which signals matter, which playbooks work, and what good follow-up looks like through patterns captured from stronger colleagues. Less of that knowledge has to be passed down manually.

14:5314:55
Suggest correction

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

14:53 · section reference included

Choosing what to own at each layer

Liu treats build versus buy as a decision made separately at each layer. In her experience, internal agents were cheaper and faster to build than many people assumed, particularly when the team already understood its own data model. The team built around that knowledge and rented general capabilities. Orchestration, email, and CRM were areas where vendors already supplied useful infrastructure.

The context layer remains internally owned because it encodes company-specific data models and workflows, and the team needs to be able to debug it. In Notion, that context combines plain Markdown with databases and navigable hierarchies. Liu argues that these representations work for agents while remaining usable by people, allowing engineers, agents, and GTM teams to work from synchronized information.

17:1617:18
Suggest correction

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

17:16 · section reference included

Early results and the path toward agents as operators

The business objective is better deal throughput. Over the preceding 13 weeks, Liu reports an increase in qualified opportunities for enterprise representatives. On the lifecycle-marketing side, users who received context-aware recommendations were 63% more likely to take the next step. These are early results from a system still being built. The opportunity increase is not quantified, and the recommendation result comes without a sample size, comparison design, or precise definition of the next step, limiting what can be concluded about its magnitude and cause.

Liu’s first practical lesson is to shadow the best human before building. Watching representatives move through their tabs and tools revealed both the disorder and the workflow specification. Encoding a mediocre process produces a mediocre agent. She recommends starting with work that is documented and repeated, while keeping humans involved where the possible outcomes are risky.

Her next lesson is to express GTM work through entities, context, triggers, actions, and eligibility rules. Those primitives make the domain something engineers can model and operate. She also advocates being headless by default and designing for agents as operators: humans and agents need access to the same underlying information, or their separate systems will eventually drift. Notion provides that shared layer for this team.

Liu closes with a direction for the architecture rather than a claim of completed autonomy. Humans are still the primary consumers of GTM data, with agents helping around the edges. She expects agents to become first-class consumers and move from drafting toward acting within guardrails. Building a strong shared context layer now is how she proposes preparing for that transition while keeping human-agent collaboration central.

18:4818:50
Suggest correction

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

18:48 · section reference included

Read the complete timestamped transcript
  1. 0:01

    [music]

  2. 0:12

    Well, first of all, hi everyone. I'm an

  3. 0:15

    engineer on the product growth team at

  4. 0:17

    Notion and now working on the GTM

  5. 0:20

    engineering team. A year ago, I would

  6. 0:22

    have told you that building a GTM system

  7. 0:25

    was a marketing ops problem. And today,

  8. 0:27

    I think it's one of the most interesting

  9. 0:29

    distributed systems problems that I've

  10. 0:31

    worked on.

  11. 0:33

    GTM at most companies involve a

  12. 0:35

    spiderweb of tools like what you see

  13. 0:38

    here, and they're stitched together by

  14. 0:40

    customer notes, proposals, contracts

  15. 0:44

    that are passed back and forth. Over the

  16. 0:46

    last few months, a small team and

  17. 0:48

    myself, um, we've been trying to turn

  18. 0:51

    this spider web into a unified GTM

  19. 0:53

    system. We're still in the midst of it,

  20. 0:56

    but we've learned a ton that I'd like to

  21. 0:57

    share with you today.

  22. 1:01

    So, this isn't really a new problem.

  23. 1:03

    We've been wrestling with pieces of it

  24. 1:05

    for years. Life cycle messaging, product

  25. 1:08

    recommendations,

  26. 1:10

    sales automations, customer data, and

  27. 1:13

    onboarding. But the solutions were

  28. 1:15

    fragmented because the underlying

  29. 1:17

    technology forced them to be.

  30. 1:20

    Then over the winter break, our CEO Ivan

  31. 1:23

    built spent it building a video game and

  32. 1:26

    he came back convinced that software

  33. 1:28

    engineering could be applied to many

  34. 1:30

    problems that were previously unwieldy

  35. 1:32

    or too costly. At the same time, our

  36. 1:36

    ability to execute skyrocketed with

  37. 1:39

    agentic technology and the breath of

  38. 1:41

    problems we could solve did too.

  39. 1:44

    the costly, time-consuming, and

  40. 1:47

    previously unsolvable spaghetti could

  41. 1:49

    now be sorted. So, what we found is that

  42. 1:52

    GTM had become a systems problem. That

  43. 1:56

    made us realize we could chip away at

  44. 1:58

    this holistically.

  45. 2:00

    In case you don't know, notion's

  46. 2:02

    platform is a collaborative brain for

  47. 2:04

    human and agents to think together. Over

  48. 2:07

    the years, we've evolved into a context

  49. 2:09

    layer for your company and AI agents can

  50. 2:12

    act on it. Notion's business moves

  51. 2:15

    between self-s serve growth and sales

  52. 2:17

    assist. Um, and customers move between

  53. 2:20

    these two motions all the time.

  54. 2:23

    The problem is that customers experience

  55. 2:26

    one journey, but internally it is

  56. 2:29

    supported by disconnected systems that

  57. 2:31

    don't actually talk to each other very

  58. 2:33

    well. These processes were rife with

  59. 2:36

    human error and put a lot of cognitive

  60. 2:39

    burden on our teams. For example, sales

  61. 2:42

    reps are probably not the strongest at

  62. 2:44

    managing systems, but their strength is

  63. 2:46

    in sussing out human signals during the

  64. 2:49

    buying process. So, every time they had

  65. 2:52

    to context switch between after a call,

  66. 2:55

    doing research, drafting follow-up, they

  67. 2:57

    were spending less time with our

  68. 2:59

    customers and customer problems.

  69. 3:02

    Most companies have separate systems for

  70. 3:04

    sales assist and productled growth. And

  71. 3:07

    this is actually also true for us.

  72. 3:09

    Marketing run runs on one set of tools,

  73. 3:12

    sales on another, customer ops on a

  74. 3:15

    third. But all of them are looking at a

  75. 3:17

    customer independently and making

  76. 3:20

    decisions separately. So what we set out

  77. 3:23

    to build is a single decisioning system

  78. 3:26

    that spans self-s serve growth and sales

  79. 3:28

    assist. and it can help the customer

  80. 3:31

    decide the next step so that everything

  81. 3:34

    is cohesive.

  82. 3:36

    Our vision is for this system to be

  83. 3:38

    programmable,

  84. 3:39

    proactive and continuous.

  85. 3:43

    When we started, we were faced with some

  86. 3:46

    challenges. There was so no single

  87. 3:48

    source of truth. So customer data was

  88. 3:50

    spread across Salesforce, Gong,

  89. 3:53

    Outreach, Zoom Info and many more.

  90. 3:56

    Product usage lived in Snowflake and a

  91. 3:58

    decade of the most important context

  92. 4:00

    lived in notes and meeting docs. Yes,

  93. 4:02

    our sales reps do use notion for that

  94. 4:04

    too. Notion employees were actively

  95. 4:08

    using MCPs and their own agents to solve

  96. 4:10

    problems already, but they were

  97. 4:13

    innovating within their own departments.

  98. 4:15

    So it was single player mode or you

  99. 4:17

    could say here single department mode.

  100. 4:20

    Marketing built tools for tool uh

  101. 4:21

    marketing sales built tools for sales

  102. 4:24

    and each tool served a tiny slice of

  103. 4:27

    that customer journey and it would make

  104. 4:29

    it really hard to create something that

  105. 4:31

    was more holistic.

  106. 4:34

    When we tried to automate across all of

  107. 4:36

    that we hit some roadblocks. First data

  108. 4:39

    quality conflicting systems of records

  109. 4:42

    wrong contacts tied to different

  110. 4:43

    accounts. One bad mapping was enough to

  111. 4:46

    lose trust for sales rep.

  112. 4:49

    Secondly, data latency. Every vendor

  113. 4:51

    added a hop and this lag was causing us

  114. 4:54

    to act on stale data and that meant we

  115. 4:57

    were automating on yesterday's world.

  116. 5:00

    Third, and this is a big one, structured

  117. 5:02

    and unstructured data. The most

  118. 5:05

    important facts about a customer were

  119. 5:07

    left in notes like the champion just

  120. 5:10

    left or don't contact this customer

  121. 5:12

    again. Um or they're blocked illegal.

  122. 5:15

    And so these are exactly the types of

  123. 5:17

    notes that help sales rep move forward

  124. 5:19

    and decide what to do next. And if an

  125. 5:22

    automation couldn't see it or process

  126. 5:24

    it, it could do something

  127. 5:26

    catastrophically wrong.

  128. 5:29

    So our project team consisted of CX,

  129. 5:32

    RevOps, product, engineering, sales. And

  130. 5:36

    after brainstorming together, we all

  131. 5:38

    kept finding the same patterns

  132. 5:40

    underneath that complexity.

  133. 5:43

    Whoops. Oh. Every workflow could be

  134. 5:46

    reduced to four questions. What do we

  135. 5:48

    know about the customer? What should

  136. 5:50

    happen next? How do we execute that

  137. 5:53

    safely? And did it work? That became our

  138. 5:57

    architecture.

  139. 5:59

    So the system has four layers. Know a

  140. 6:02

    context layer we can trust about every

  141. 6:04

    customer. Decide, choose the single next

  142. 6:08

    best step for them. Third, fire act and

  143. 6:11

    fire a concrete action that could be a

  144. 6:14

    life cycle email um an inapp nudge or a

  145. 6:17

    task handed to a rep and then learn

  146. 6:20

    watch what happened and feed it back

  147. 6:22

    into the decisioning so that it's a

  148. 6:24

    loop.

  149. 6:25

    But this architecture is missing

  150. 6:27

    something important.

  151. 6:31

    The most important part is that humans

  152. 6:33

    and agents are operating on the same

  153. 6:36

    loop. Concretely, this means that the

  154. 6:39

    context needs to be displayed so that

  155. 6:41

    humans and agents can read and operate

  156. 6:43

    on it together.

  157. 6:46

    So you can see that they're working in

  158. 6:47

    the same system, but they might have

  159. 6:49

    different roles. Agents do the

  160. 6:51

    repetitive work at scale like gathering

  161. 6:54

    context, researching, drafting

  162. 6:56

    recommendations, and writing artifacts.

  163. 6:59

    Humans provide the judgment, adding

  164. 7:01

    nuance, deciding what to do next, and if

  165. 7:04

    a recommendation is correct. and owning

  166. 7:07

    the customer relationship.

  167. 7:09

    We found that instead of building an AI

  168. 7:12

    layer on top of our business, we

  169. 7:14

    designed our architecture so that the

  170. 7:16

    agent can operate as another operator

  171. 7:18

    within the same system as humans.

  172. 7:23

    Before we built the system, we made some

  173. 7:25

    choices about how we were going to

  174. 7:26

    implement this. Firstly, we deliberately

  175. 7:29

    chose not to let an agent talk directly

  176. 7:31

    to a customer. For sales assist

  177. 7:34

    workflows, humans stay in the loop by

  178. 7:37

    default and approve anything the agents

  179. 7:39

    do. The agents do the busy work. That

  180. 7:43

    decision that decision also has a

  181. 7:45

    security dimension too. If a prospect

  182. 7:48

    fills out a contact sales form online,

  183. 7:50

    we treat that as untrusted user input.

  184. 7:53

    And so trust boundaries don't break

  185. 7:55

    down, especially because there is an

  186. 7:57

    agent in the middle.

  187. 7:59

    Secondly, routing and eligibility became

  188. 8:02

    a first class primitive. Eligibility

  189. 8:05

    used to be scattered in all over the

  190. 8:07

    place. We had one check or rule in an

  191. 8:09

    email tool, another in sales and we

  192. 8:12

    pulled that all into one place so that

  193. 8:15

    these rules can be consumed across our

  194. 8:17

    codebase uh product sales engineering

  195. 8:21

    and these are like customer

  196. 8:22

    segmentations or signal signal

  197. 8:24

    definitions and then a single classifier

  198. 8:28

    will route what the customer should do

  199. 8:30

    and this will actually prevent double

  200. 8:32

    sends from our system and create very

  201. 8:34

    cohesive communication across

  202. 8:37

    And last but not least, we decided that

  203. 8:39

    it was very important to own the contact

  204. 8:41

    layer and we decided to rent everything

  205. 8:44

    else. Since we are a lean team, we will

  206. 8:47

    not build our own email vendor or

  207. 8:49

    enrichment services like Clay. We use

  208. 8:52

    Clay and we believe that we understood

  209. 8:54

    our customers the best. So we will not

  210. 8:58

    um give that away.

  211. 9:01

    So let's get into what we built.

  212. 9:04

    The first step was to gather a

  213. 9:05

    consolidated view of all of our

  214. 9:07

    customers.

  215. 9:09

    Snowflake, which is our data warehouse,

  216. 9:11

    is where we compute this truth. We

  217. 9:13

    ingest data from all the vendors in our

  218. 9:15

    GTM stack to Snowflake. We run daily

  219. 9:18

    transforms and in some cases real time

  220. 9:21

    to produce a small set of modeled

  221. 9:23

    versioned entities and these are

  222. 9:25

    accounts, contacts, workspaces,

  223. 9:28

    eligibility, and facts. And this also

  224. 9:31

    has clear ownership of what teams or uh

  225. 9:33

    tools they come from and like

  226. 9:35

    timestamps.

  227. 9:36

    Dynamob is our key value store and it's

  228. 9:39

    where we compute our truth or serve our

  229. 9:41

    truth. We publish a denormalized key

  230. 9:44

    addressable profile that agents can

  231. 9:47

    quickly query in milliseconds with no

  232. 9:49

    joins. We also persist agent uh

  233. 9:53

    persisted uh or generated artifacts and

  234. 9:55

    these are research snippets, summarized

  235. 9:57

    notes, rolling summaries and these

  236. 10:00

    unstructured data are also keyed by the

  237. 10:03

    same ids so that downstream systems can

  238. 10:05

    read all of this in one shot.

  239. 10:10

    So this data was normalized and of

  240. 10:12

    course we brought it into notion so that

  241. 10:14

    we could work with structured and

  242. 10:16

    unstructured data at the same time. So

  243. 10:19

    some of the data I showed you in the

  244. 10:20

    boxes earlier, there's like product

  245. 10:22

    usage data, there's activity log from

  246. 10:24

    across our vendor stack, and then we

  247. 10:27

    also have like unstructured data that

  248. 10:29

    like I mentioned that is most important

  249. 10:31

    for sales context with research reports

  250. 10:34

    and notes.

  251. 10:36

    And this turned out to be powerful for

  252. 10:38

    two reasons. First, our internal GTM

  253. 10:42

    teams didn't need to jump between many

  254. 10:44

    tools anymore. They could use notion

  255. 10:46

    itself, a tool they were already using

  256. 10:48

    to explore context, investigate

  257. 10:51

    investigate accounts, answer questions,

  258. 10:54

    and they could even take actions like

  259. 10:56

    sending to Nooks or um sending to

  260. 10:58

    outreach. This is a tool that they were

  261. 11:01

    very familiar with, and they didn't need

  262. 11:03

    to open seven tabs anymore. Secondly,

  263. 11:06

    because we weren't building an AI layer,

  264. 11:08

    um humans, workflows, and agents could

  265. 11:11

    all operate on the same source of truth.

  266. 11:13

    In a very literal sense, we are using

  267. 11:15

    notion to grow notion.

  268. 11:20

    The next primitive we decided that we

  269. 11:22

    needed was a way to turn customer events

  270. 11:25

    into actions. The unit here is a signal.

  271. 11:29

    A signal is a single customer event

  272. 11:31

    that's important enough to change what

  273. 11:33

    should happen next for a customer. Some

  274. 11:36

    are userdriven like a customer hitting

  275. 11:38

    their a AI limit or maybe they reached

  276. 11:41

    out to contact contact sales. But some

  277. 11:44

    of them are not user initiated at all

  278. 11:46

    which are these external signal examples

  279. 11:48

    I listed here like company raising

  280. 11:50

    funding, hiring signals or shift in

  281. 11:53

    their tech stack. Those external signals

  282. 11:55

    are what allowed us to be proactive

  283. 11:57

    instead of reactive.

  284. 12:00

    So this is the signal service that

  285. 12:03

    watches the customer profile, decides

  286. 12:06

    whether a single action is available,

  287. 12:09

    decides who should own that action, and

  288. 12:12

    then it emits a concrete task following

  289. 12:14

    the architecture I described before. And

  290. 12:17

    this task could be for a human or an

  291. 12:19

    agent. If there's a task for sales rep,

  292. 12:22

    that actually just lands in their notion

  293. 12:24

    database and they can quickly view it

  294. 12:26

    and act on it.

  295. 12:29

    What's what's interesting about the way

  296. 12:30

    we built our GTM systems is that if

  297. 12:33

    there is no signal about a customer, the

  298. 12:35

    marketing component of our system kicks

  299. 12:37

    in. We have a predictive engine that

  300. 12:40

    will recommend product features most

  301. 12:42

    relevant for that customer and it will

  302. 12:44

    send out life cycle emails and inapp

  303. 12:46

    nudges or multi-channel communication to

  304. 12:50

    drive a customer towards adoption

  305. 12:51

    automatically.

  306. 12:55

    So diving deep into a small slice of

  307. 12:58

    what happens when we decide what action

  308. 13:01

    should be emitted. Um this is for like

  309. 13:04

    the sales workflow and we shadowed our

  310. 13:07

    best reps to capture something that was

  311. 13:09

    the most repetitive part of our job and

  312. 13:11

    encoded it as a durable multi- aent

  313. 13:14

    workflow. Every signal becomes a

  314. 13:17

    workflow on temporal which is something

  315. 13:19

    we rent and a single run will touch

  316. 13:22

    enrichment web search draft generation

  317. 13:25

    and more. Each of these is a network

  318. 13:28

    call that could fail or rate limit. And

  319. 13:30

    so temporal lets us focus on writing the

  320. 13:33

    sequential logic for our GTM use cases

  321. 13:37

    while it will handle the retries, ddupes

  322. 13:40

    um and handling and going back to

  323. 13:42

    exactly where failures left off. and one

  324. 13:45

    malformed transcript can't take down the

  325. 13:48

    whole batch which was really important

  326. 13:50

    to us. So an example of a cold outbound

  327. 13:53

    signal for us will have a research sub

  328. 13:56

    agent do concurrent researches then

  329. 13:59

    it'll draft like an email and those

  330. 14:02

    emails uh there should be three of them

  331. 14:04

    so they're scored and then a review

  332. 14:07

    agent will pick the highest scoring one

  333. 14:09

    and make any updates if necessary. And

  334. 14:11

    this also operates on a loop um so that

  335. 14:14

    the email drafts are improved. And then

  336. 14:16

    when it's ready, this email draft will

  337. 14:18

    land in the sales task that is available

  338. 14:21

    for for them to act on. Um for more

  339. 14:24

    reactive signals after a follow-up call,

  340. 14:27

    the Gong transcript will come in. Our

  341. 14:29

    agent will parse the transcript and then

  342. 14:32

    um again it will extract the critical

  343. 14:35

    sales medpic data uh metrics economic

  344. 14:38

    buyer decision criteria plan and

  345. 14:42

    champion and draft a grounded followup

  346. 14:44

    for that. Every LLM step is traced so

  347. 14:48

    that we can evaluate quality and improve

  348. 14:50

    over time.

  349. 14:53

    The third layer is what turns this

  350. 14:55

    automation into a system that

  351. 14:57

    self-improves. Every action is a

  352. 15:00

    decision log and every outcome threads

  353. 15:03

    back to the decision that caused it. So

  354. 15:06

    the naive version of this is a data

  355. 15:08

    analyst coming in and trying to

  356. 15:10

    understand if the output of this could

  357. 15:12

    be better. The rebuilt version of this

  358. 15:14

    is wiring our engagement history back

  359. 15:16

    into the decision layer so that the

  360. 15:19

    system decides whether or not to

  361. 15:21

    continue a thread, advance to the next

  362. 15:23

    step or pivot. The system will continue

  363. 15:27

    to do that with the life cycle message

  364. 15:29

    performance history as well. So these

  365. 15:31

    verification loops are really critical

  366. 15:34

    so that the system can self-heal and

  367. 15:36

    continuously improve.

  368. 15:38

    Let's see how an agent and human work

  369. 15:40

    together in this shared customer view.

  370. 15:43

    In the customer view, a rep can come

  371. 15:45

    here and see the product usage, the

  372. 15:47

    recent activity and get an answer using

  373. 15:50

    that same data. They used to find all of

  374. 15:52

    this across many different tabs and now

  375. 15:55

    they can just come here each day. The

  376. 15:57

    rep can ask an agent and the agent will

  377. 16:00

    reply uh querying our context layer. We

  378. 16:04

    can also use notion custom agents which

  379. 16:06

    are sharable across companies to access

  380. 16:09

    this data context for recurring

  381. 16:11

    automated workflows.

  382. 16:14

    In the task view, a rep starts their day

  383. 16:17

    with an already prioritized task box and

  384. 16:20

    they already know how to move forward

  385. 16:22

    with accounts and contacts. And the

  386. 16:25

    email draft for an outreach task is

  387. 16:27

    already pre-ressearched and available

  388. 16:29

    for them to review. The human is still

  389. 16:32

    in the loop and actually adds their own

  390. 16:34

    judgment and taste um and sales secret

  391. 16:37

    sauce, but they're no longer starting

  392. 16:39

    from a blank sta slate. And this does

  393. 16:42

    more than one help one rep be

  394. 16:45

    productive. Um our goal is actually to

  395. 16:48

    raise the floor for the entire team. So

  396. 16:51

    a Neil sales rep coming in, they can

  397. 16:53

    learn the notion sales process,

  398. 16:56

    understand what signals are important to

  399. 16:58

    look for, um, understand which playbooks

  400. 17:01

    are effective, and basically know what

  401. 17:04

    good followup looks like. Reps who can

  402. 17:07

    are ramping can still learn from the

  403. 17:09

    patterns of the strongest reps without

  404. 17:11

    needing every lesson to be passed down

  405. 17:13

    manually.

  406. 17:16

    So, one of the questions that we came

  407. 17:18

    across along every step of the way is a

  408. 17:21

    classic question. Do we build or buy?

  409. 17:25

    And it's very tempting and trendy to say

  410. 17:27

    build everything. But what we found is

  411. 17:30

    that there are still key areas to build

  412. 17:32

    and rent access to at every single

  413. 17:35

    layer. Internal agents are actually

  414. 17:38

    cheaper and faster to build than most

  415. 17:40

    people assume. And so since we have the

  416. 17:43

    most data on our con on our data model

  417. 17:46

    um we build it there first and then we

  418. 17:48

    uh rented the generalizable parts later.

  419. 17:51

    So for us the build versus buy as a per

  420. 17:53

    layer decision. We will not build a lot

  421. 17:56

    of these tools like orchestration,

  422. 17:58

    email, CRM. Um vendors do that really

  423. 18:02

    well. We refuse to outsource the context

  424. 18:04

    layer because that's where our edge is.

  425. 18:07

    a generic tool can't capture all of our

  426. 18:09

    esoteric data models or workflows and we

  427. 18:12

    do not want that context layer to be

  428. 18:14

    something we can't um debug

  429. 18:18

    and so as I mentioned before that

  430. 18:21

    context layer is a notion it's built off

  431. 18:24

    of plain markdown a language that agents

  432. 18:26

    are fluent in and we have databases and

  433. 18:30

    hierarchies that they can navigate

  434. 18:31

    easily at the same time this is well

  435. 18:34

    designed for human um so this is what

  436. 18:37

    lets our engineers, agents, and GTM work

  437. 18:40

    off the same context. And this has all

  438. 18:42

    the data synced across sources.

  439. 18:48

    Ultimately, the reason to see if we can

  440. 18:50

    do all of this is to see if we could get

  441. 18:52

    a better throughput on deals. It's very

  442. 18:55

    early for us. We're still building this

  443. 18:56

    out, but the initial signs are

  444. 18:58

    promising. In the last 13 weeks, we are

  445. 19:00

    already seeing enterprise reps have

  446. 19:03

    increased qualification or qualified

  447. 19:05

    opportunities. And on the life cycle

  448. 19:07

    marketing side, users who received

  449. 19:09

    contextaware recommendations were 63%

  450. 19:12

    more likely to take the next step. This

  451. 19:15

    is the early days with a lot more

  452. 19:16

    features we want to build, but our

  453. 19:18

    thesis that us building a single system

  454. 19:20

    on no, decide, act, and learn seems to

  455. 19:24

    be right so far.

  456. 19:26

    A few key takeaways. um from entering

  457. 19:29

    entering this world as an engineer in

  458. 19:31

    the last six months is that before you

  459. 19:34

    build shadow your best human. I talked

  460. 19:37

    to many sales reps and when I opened uh

  461. 19:39

    when they opened their computers I saw

  462. 19:41

    how many tabs and tools they were

  463. 19:43

    navigating between and that was a chaos

  464. 19:45

    but it was also the spec and so if you

  465. 19:48

    encode a mediocre process you get a

  466. 19:50

    mediocre agent. Start with the most

  467. 19:53

    legible workflow. That's the one that's

  468. 19:55

    documented and repeated. And let humans

  469. 19:58

    stay in the loop on where there are

  470. 19:59

    risky possibilities.

  471. 20:02

    Model GTM as primitives, entities,

  472. 20:05

    context, triggers, actions, eligibility

  473. 20:08

    rules, and the alien world becomes a

  474. 20:10

    system you can engineer. Last but not

  475. 20:13

    least, be headless by default and design

  476. 20:16

    for agents as operators and not just

  477. 20:18

    co-pilots. If humans and agents can't

  478. 20:21

    read from the same substrate, you're

  479. 20:23

    basically building two systems that will

  480. 20:25

    eventually drift apart. For us, that

  481. 20:28

    layer is notion.

  482. 20:30

    Right now, humans are the primary

  483. 20:32

    consumer of GTM data and agents are

  484. 20:34

    helping at the edges. Soon, agents will

  485. 20:37

    become primary first class consumers

  486. 20:39

    within the system, moving from drafting

  487. 20:42

    to acting within guard rails by creating

  488. 20:45

    the best context and substrate for

  489. 20:47

    humans and agents to collaborate

  490. 20:49

    together. Now, you're setting up your

  491. 20:51

    team to sprint faster.

  492. 20:53

    Um, yeah, and feel free to contact me if

  493. 20:56

    you guys want to ask more questions.

  494. 21:12

    >> [music]