---
schema: 1
type: video
title: AI in GTM at Notion — Flora Liu
description: >-
  The champion just left. Do not contact this customer again. Blocked in legal.
  The facts that decide what a rep does next usually sit in someone's meeting
  notes, and Flora Liu's point is that an automation which cannot read them will
  eventually do something catastrophically wrong. Liu, an engineer on Notion's
  GTM engineering team, says a year ago this looked like a marketing ops problem
  and now looks like one of the more interesting distributed systems problems
  they have worked on. The starting state was a spiderweb: customer data across
  Salesforce, Gong and Outreach, product usage in Snowflake, a decade of context
  in docs, and every department quietly building its own agents in single player
  mode. The team reduced every workflow to four questions: what do we know, what
  should happen next, how do we execute that safely, and did it work. Those
  became four layers, held together by one rule: humans and agents operate on
  the same substrate, not an AI layer bolted on top. Snowflake computes the
  truth, DynamoDB serves it as a denormalized profile agents query in
  milliseconds, and it lands back in Notion where reps already work. Signals
  turn customer events into tasks, including external ones like a funding round
  or a shift in tech stack, and each becomes a durable Temporal workflow so one
  malformed transcript cannot take down a batch. Agents never speak to
  customers; a contact sales form counts as untrusted input. Thirteen weeks in,
  enterprise reps log more qualified opportunities, and users given context
  aware recommendations were 63% more likely to take the next step. Speaker
  info: - https://twitter.com/floppyliu - https://www.linkedin.com/in/flofloliu/
  - https://www.flofloliu.com/ Timestamps: 0:00 - From marketing ops problem to
  distributed systems problem 2:23 - One journey for the customer, disconnected
  systems inside 4:34 - Data quality, latency, and the notes nobody can parse
  5:36 - Four questions that became four layers 6:39 - Humans and agents on the
  same loop 7:29 - Agents never talk to the customer 9:01 - Snowflake computes
  truth, DynamoDB serves it 11:20 - Signals: turning customer events into tasks
  13:04 - Shadowing the best reps, encoded on Temporal 16:04 - A rep's day
  starting from a prioritized task box 17:21 - Build or buy, decided per layer
  18:52 - Early numbers and takeaways
canonical: >-
  https://liquidgold.cc/channel/aidotengineer/explore/video/ai-in-gtm-at-notion-flora-liu-52f06d1b5314
markdown: >-
  https://liquidgold.cc/channel/aidotengineer/video/ai-in-gtm-at-notion-flora-liu-52f06d1b5314.md
llms: null
parent: 'https://liquidgold.cc/channel/aidotengineer.md'
channel: aidotengineer
updated: '2026-10-24T04:45:01.221Z'
language: null
children: []
videoId: L4I7WgiEquo
durationSeconds: 1275
publishedAt: '2026-08-26T14:00:05.000Z'
searchChunks:
  - ordinal: 0
    text: null
    startSeconds: 25
    endSeconds: 149
    watch: 'https://liquidgold.cc/watch/L4I7WgiEquo?t=25'
    heldReason: rights
  - ordinal: 1
    text: null
    startSeconds: 25
    endSeconds: 149
    watch: 'https://liquidgold.cc/watch/L4I7WgiEquo?t=25'
    heldReason: rights
  - ordinal: 2
    text: null
    startSeconds: 149
    endSeconds: 159
    watch: 'https://liquidgold.cc/watch/L4I7WgiEquo?t=149'
    heldReason: rights
  - ordinal: 3
    text: null
    startSeconds: 159
    endSeconds: 274
    watch: 'https://liquidgold.cc/watch/L4I7WgiEquo?t=159'
    heldReason: rights
  - ordinal: 4
    text: null
    startSeconds: 159
    endSeconds: 274
    watch: 'https://liquidgold.cc/watch/L4I7WgiEquo?t=159'
    heldReason: rights
  - ordinal: 5
    text: null
    startSeconds: 274
    endSeconds: 286
    watch: 'https://liquidgold.cc/watch/L4I7WgiEquo?t=274'
    heldReason: rights
  - ordinal: 6
    text: null
    startSeconds: 286
    endSeconds: 336
    watch: 'https://liquidgold.cc/watch/L4I7WgiEquo?t=286'
    heldReason: rights
  - ordinal: 7
    text: null
    startSeconds: 286
    endSeconds: 336
    watch: 'https://liquidgold.cc/watch/L4I7WgiEquo?t=286'
    heldReason: rights
  - ordinal: 8
    text: null
    startSeconds: 348
    endSeconds: 406
    watch: 'https://liquidgold.cc/watch/L4I7WgiEquo?t=348'
    heldReason: rights
  - ordinal: 9
    text: null
    startSeconds: 406
    endSeconds: 416
    watch: 'https://liquidgold.cc/watch/L4I7WgiEquo?t=406'
    heldReason: rights
  - ordinal: 10
    text: null
    startSeconds: 449
    endSeconds: 459
    watch: 'https://liquidgold.cc/watch/L4I7WgiEquo?t=449'
    heldReason: rights
  - ordinal: 11
    text: null
    startSeconds: 459
    endSeconds: 549
    watch: 'https://liquidgold.cc/watch/L4I7WgiEquo?t=459'
    heldReason: rights
  - ordinal: 12
    text: null
    startSeconds: 459
    endSeconds: 549
    watch: 'https://liquidgold.cc/watch/L4I7WgiEquo?t=459'
    heldReason: rights
  - ordinal: 13
    text: null
    startSeconds: 549
    endSeconds: 561
    watch: 'https://liquidgold.cc/watch/L4I7WgiEquo?t=549'
    heldReason: rights
  - ordinal: 14
    text: null
    startSeconds: 561
    endSeconds: 685
    watch: 'https://liquidgold.cc/watch/L4I7WgiEquo?t=561'
    heldReason: rights
  - ordinal: 15
    text: null
    startSeconds: 685
    endSeconds: 696
    watch: 'https://liquidgold.cc/watch/L4I7WgiEquo?t=685'
    heldReason: rights
  - ordinal: 16
    text: null
    startSeconds: 696
    endSeconds: 787
    watch: 'https://liquidgold.cc/watch/L4I7WgiEquo?t=696'
    heldReason: rights
  - ordinal: 17
    text: null
    startSeconds: 787
    endSeconds: 797
    watch: 'https://liquidgold.cc/watch/L4I7WgiEquo?t=787'
    heldReason: rights
  - ordinal: 18
    text: null
    startSeconds: 797
    endSeconds: 969
    watch: 'https://liquidgold.cc/watch/L4I7WgiEquo?t=797'
    heldReason: rights
  - ordinal: 19
    text: null
    startSeconds: 797
    endSeconds: 969
    watch: 'https://liquidgold.cc/watch/L4I7WgiEquo?t=797'
    heldReason: rights
  - ordinal: 20
    text: null
    startSeconds: 980
    endSeconds: 1047
    watch: 'https://liquidgold.cc/watch/L4I7WgiEquo?t=980'
    heldReason: rights
  - ordinal: 21
    text: null
    startSeconds: 980
    endSeconds: 1047
    watch: 'https://liquidgold.cc/watch/L4I7WgiEquo?t=980'
    heldReason: rights
  - ordinal: 22
    text: null
    startSeconds: 1058
    endSeconds: 1138
    watch: 'https://liquidgold.cc/watch/L4I7WgiEquo?t=1058'
    heldReason: rights
  - ordinal: 23
    text: null
    startSeconds: 1138
    endSeconds: 1149
    watch: 'https://liquidgold.cc/watch/L4I7WgiEquo?t=1138'
    heldReason: rights
  - ordinal: 24
    text: null
    startSeconds: 1149
    endSeconds: 1275
    watch: 'https://liquidgold.cc/watch/L4I7WgiEquo?t=1149'
    heldReason: rights
  - ordinal: 25
    text: null
    startSeconds: 1149
    endSeconds: 1275
    watch: 'https://liquidgold.cc/watch/L4I7WgiEquo?t=1149'
    heldReason: rights
---


# AI in GTM at Notion — Flora Liu

The champion just left. Do not contact this customer again. Blocked in legal. The facts that decide what a rep does next usually sit in someone's meeting notes, and Flora Liu's point is that an automation which cannot read them will eventually do something catastrophically wrong. Liu, an engineer on Notion's GTM engineering team, says a year ago this looked like a marketing ops problem and now looks like one of the more interesting distributed systems problems they have worked on. The starting state was a spiderweb: customer data across Salesforce, Gong and Outreach, product usage in Snowflake, a decade of context in docs, and every department quietly building its own agents in single player mode. The team reduced every workflow to four questions: what do we know, what should happen next, how do we execute that safely, and did it work. Those became four layers, held together by one rule: humans and agents operate on the same substrate, not an AI layer bolted on top. Snowflake computes the truth, DynamoDB serves it as a denormalized profile agents query in milliseconds, and it lands back in Notion where reps already work. Signals turn customer events into tasks, including external ones like a funding round or a shift in tech stack, and each becomes a durable Temporal workflow so one malformed transcript cannot take down a batch. Agents never speak to customers; a contact sales form counts as untrusted input. Thirteen weeks in, enterprise reps log more qualified opportunities, and users given context aware recommendations were 63% more likely to take the next step. Speaker info: - https://twitter.com/floppyliu - https://www.linkedin.com/in/flofloliu/ - https://www.flofloliu.com/ Timestamps: 0:00 - From marketing ops problem to distributed systems problem 2:23 - One journey for the customer, disconnected systems inside 4:34 - Data quality, latency, and the notes nobody can parse 5:36 - Four questions that became four layers 6:39 - Humans and agents on the same loop 7:29 - Agents never talk to the customer 9:01 - Snowflake computes truth, DynamoDB serves it 11:20 - Signals: turning customer events into tasks 13:04 - Shadowing the best reps, encoded on Temporal 16:04 - A rep's day starting from a prioritized task box 17:21 - Build or buy, decided per layer 18:52 - Early numbers and takeaways

Canonical: https://liquidgold.cc/channel/aidotengineer/explore/video/ai-in-gtm-at-notion-flora-liu-52f06d1b5314 · Channel: [AI Engineer](https://liquidgold.cc/channel/aidotengineer.md)

> Search chunk text is held until public-source provenance is verified.

## Document chunks

> Missing: no stored document chunks are available.
