AI Engineer World's Fair 2026

Why Your Company Needs a Context Graph (and How to Build It) — Gil Feig, Merge

Gil Feig· Merge15:11

Slide chapters

14 slide and demo groups · Timestamps are approximate.

Merge company overview

Merge serves 400+ enterprise customers across internal and customer-facing AI use cases. Its products span 220+ SaaS integrations, 5,000+ tools, and one API for all LLM providers.

Text in image
Hundreds of companies trust Merge to power their AI applications

Customers
400+
OpenAI
bambooHR
ramp
NETFLIX
perplexity
Brex
freshworks
Mistral AI

Products
Merge Unified
220+
SaaS Integrations

Merge Agent Handler
5,000+
Tools

Merge Gateway
1 API
For all LLM providers

Company
Founded in
2020
by Shensi Ding and Gil Feig

Series B with
$75M
In capital raised from Accel, Addition, & NEA

130+
Employees

Offices
NYC, SF & Berlin

MERGE

Agenda

The talk moves from defining context graphs and their data tiers to selecting relevant context for agents and tracing where data came from and how fresh it is.

Text in image
Agenda

1. What is a context graph and why you need one
2. Different tiers of context
3. Crafting a context selection strategy
4. Traceability and provenance requirements
5. Some final takeaways

MERGE

What context graph means in this talk

Feig frames the context graph as a company brain, combining third-party data, structured context, memories and skills with an LLM. Memories can form as people use the agent and ask it to remember things.

Text in image
What context graph means in this talk

3rd-party data
Structured context
Memories
Skills
LLM

MERGE

Let's start with a simple question

An agent uses Zendesk tickets to explain why customer A was upset: three tickets followed a deploy, and two received no response within SLA. The shown ticket reports HRIS sync errors.

Text in image
Let’s start with a simple question

“Why was customer A upset last week?”

Your prompt
Why was customer A upset last week?

Your agent

get_organization
list_tickets
get_ticket
update_ticket
list_users

Tool response
{
  "subject": "API sync broken after update",
  "Status": open
  "Description": "HRIS sync is returning 500 errors and we can’t onboard new employees.",
}

Answer returned:
Customer filed 3 support tickets after running into issues after a recent deploy, but no response within SLA on two of them.

MERGE

Interface text:
JSON

Who else experienced this problem?

The ticket cards show some customer issues detected and others missed. Feig says finding all upset customers becomes harder when an agent must fetch thousands of tickets through live API lookups before it times out.

Text in image
Who else experienced this problem?

TICKET #1042 • OCT 14
Acme Corp
“The integration broke our export process completely and our team hasn’t been able to ship since the update.”
✓ DETECTED

TICKET #1042 • OCT 14
Initech
“The sync stopped working after your latest release and our payroll data hasn’t been updated in 3 days.”
✓ DETECTED

TICKET #1087 • OCT 15
Hooli
“Exports are completely messed up after whatever you pushed last week. Super frustrating.”
× MISSED

TICKET #1087 • OCT 15
Pied Piper
“Webhooks aren’t firing and we have zero visibility into what’s happening on your end.”
× MISSED

TICKET #1042 • OCT 14
Vandelay Industries
“Records stopped flowing downstream after the update and our ops team is completely blocked.”
✓ DETECTED

TICKET #1087 • OCT 15
Aperture Science
“None of our employees can authenticate to connected apps this morning, total blocker.”
× MISSED

TICKET #1042 • OCT 14
Massive Dynamic
“Our data pipeline has been returning errors on every export attempt since the Tuesday update.”
✓ DETECTED

TICKET #1087 • OCT 15
Agentforge
“Every sync is creating duplicate records in Salesforce now.”
× MISSED

MERGE

Agent architecture: syncing, routing and summarization

A synced cache supports semantic analysis across large datasets, while MCP handles live lookups. A router directs prompts, and a summarizer combines retrieved data for the agent.

Text in image
Then routing and summarization

User prompt
Router
Agents
Summarizer
Sync/Cache DB
MCP
salesforce
Memory Store
Skills Library

MERGE

6:20Completed build

Show 2 builds
  1. 4:57

    Agent architecture diagram highlights a sync and cache database between the agent and connected services.

    Text in image
    So you need a syncing layer
    
    User prompt
    Router
    Agents
    Summarizer
    Sync/Cache DB
    MCP
    salesforce
    Memory Store
    Skills Library
    
    MERGE
  2. 6:20

    Agent architecture diagram highlighting the router and summarizer.

    Text in image
    Then routing and summarization
    
    User prompt
    Router
    Agents
    Summarizer
    Sync/Cache DB
    MCP
    salesforce
    Memory Store
    Skills Library
    
    MERGE

Then memory and skills

The routed agent checks memory and skills to decide where to look in the synced cache and live MCP services, then summarizes the result.

Text in image
Then memory and skills

User prompt
Router
Agents
Summarizer
Sync/Cache DB
MCP

Memory Store
Skills Library

salesforce

MERGE

No magic here, only physics

A local lookup gathers customers, counts and summarizes tickets, and assigns statuses. Acme is highlighted as at-risk with three open tickets in 7D and export failures since v2.4. Feig says the flow mixes cached and live lookups.

Text in image
No magic here, only physics

COMPANY | OPEN TICKETS (7D) | LAST CONTACT | PRIMARY ISSUE | STATUS
Airbase | 2 | Oct 18 | SSO config | healthy
Rippling | 0 | Oct 12 | - | healthy
Acme Corp | 3 | Oct 13 | Export failures since v2.4 | at-risk
Brex | 1 | Oct 15 | Webhook latency | watch
Lattice | 0 | Oct 11 | - | healthy
Figma | 0 | Oct 14 | Rate limit errors | watch
Notion | 1 | Oct 13 | - | healthy
Linear | 2 | Oct 18 | Sync gaps | watch
Vercel | 0 | Oct 16 | - | healthy
Stripe | 1 | Oct 12 | Auth token expiry | watch
Intercom | 0 | Oct 18 | - | healthy
Retool | 0 | Oct 10 | - | healthy
Carta | 1 | Oct 18 | Field mapping | watch
Segment | 0 | Oct 13 | - | healthy
Gusto | 0 | Oct 11 | - | healthy

MERGE

Different tiers of context

Prompts, skills and memory guide data selection. Live calls answer current-state questions, cached snapshots support deeper lookups, and derived summaries save repeated retrieval and summarization.

Text in image
Different tiers of context

Prompt, skills, and memory
Instructions, reusable procedures, and what the model already knows
You are a support agent for Acme
Steps to escalate a billing issue
This user prefers Slack over email

Live API calls
Use for current state, high-stakes decisions, or anything that changes by the minute
Is this incident still open?
Did that invoice get paid?
What's the Acme renewal status?

Cached data
Get fast answers using snapshots of data that changes, but not minute-to-minute
Last 20 tickets for this account
Current org chart
Account summary as of today

Derived context
Summaries, embeddings, and prior conclusions precomputed to make retrieval fast and context small
What happened with Acme last week?
Which customers mentioned exports?
Prior conclusions about this account

MERGE

Have a strategy for context selection

When a query matches a skill or memory, execute the skill. If it needs no external data, generate a response directly.

Text in image
Have a strategy for context selection

Query received
Skill / memory match?
Yes
Execute skill
Does the skill need external data?
No
Generate response

Traceability and provenance

Store provenance with each context node: its source, retrieval, access scope, transformations and invalidation rules. Feig says this helps identify stale data and investigate errors.

Text in image
Traceability and provenance

Every context node you pass to a model should be able to answer:
• Where did this come from?
• Where did we fetch it?
• Under what ID and scope?
• Was it transformed?
• What should invalidate it?

MERGE

Putting it all together

For an Acme status update, the example checks a 15-minute account cache, calls the CRM if stale or missing, and pulls only five tickets before generating a summary tagged with sources, timestamps, and user scope.

Text in image
Putting it all together

"Give me a one-paragraph status update on Acme. Include renewal risk and the last support interaction."

1 Check cached "Account Summary" node for Acme (freshness window: 15 min) — cache
2 If stale or missing: call CRM for opportunity stage + renewal date — live API
3 Query ticketing system for last support interaction (cached if within SLA) — cache
4 Pull last 5 tickets only, not full history, stop early — live API
5 Generate derived summary tagged with: source ticket IDs · fetch timestamps · user scope — derived

MERGE

Key takeaways

A context graph brings company data, processes, skills and tools together. Pull only the data needed and structure it so answers can be traced and bad decisions debugged.

Text in image
Key takeaways

01
Tools aren’t context
A context graph helps reason across your whole company

02
More data isn’t always better
Pull only what you need and structure it properly

03
Every answer should be traceable
Debugging, auditability, and grounded answers depend on this

MERGE
17

Enterprise AI runs on Merge

Merge’s platform connects LLMs and third-party systems: Gateway routes LLM calls, Unified syncs data, and Agent Handler provides governed connections for cross-system actions.

Text in image
Enterprise AI runs on Merge
Connective infrastructure that lets AI access data, take actions, and run in production reliably at scale

LLM models
+ more

Merge platform
Single API
Unified auth
Consolidated billing
Centralized observability
Security & governance
Audit logging

Scale
Gateway
Operational LLM optimization
• Automatic fallback
• Spend visibility
• Budget enforcement
• Intelligent routing
• Token efficiency
• Compliance & policy agent

Sync
Unified
Access context data
• Normalized schemas
• Hundreds of integrations
• Continuous maintenance
• Embedded management

Act
Agent Handler
Trusted agentic tooling
• Agent-ready endpoints
• Cross-system actions
• Scoped permissions
• Pre-built connectors
• 5,000+ tools

3rd party systems
salesforce
+ thousands more

Read the talk

Why Your Company Needs a Context Graph (and How to Build It)

Gil Feig explains how live APIs, synced data, company skills and reusable summaries work together to answer business questions—and why freshness and provenance must travel with the answer.

From a talk by Gil Feig

At a glance

Ideas worth remembering

  • MCP connections inherit source API limitations. Broad questions across paginated datasets may require a synced copy rather than many request-time lookups.

  • Company skills should guide retrieval: defining customer happiness determines whether the agent should inspect tickets, surveys or another source.

  • Live calls, synced records and derived summaries trade off operating cost, freshness and repeated retrieval work. Choose them according to the question and its data requirements.

  • Preserve provenance with the context: source, fetch time, access identity and permissions, transformation history, and invalidation rules make answers inspectable.

A company brain needs more than connections

An agent needs access to company systems, but access alone does not tell it which information matters or how the company interprets it. Gil Feig, co-founder and CTO of Merge, frames a context graph as a “company brain”: the information and processes an agent needs to answer questions across the business. His focus is the architecture and its components, rather than a particular technology stack.

Here, “graph” does not require a specific representation of nodes and edges. The context layer brings together third-party data from systems such as NetSuite and Jira, structured information and static documents supplied by the company, memories formed during agent use, and skills that describe how work should happen. These components contribute different things: records describe the business, while memory and skills help determine what to retrieve and how to use it.

Selected presentation frame from Why Your Company Needs a Context Graph (and How to Build It) — Gil Feig, Merge at 159 secondsOpen full source frame
The context graph slide places third-party data, structured context, memories, and skills around a central context layer.
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

One upset customer is a lookup; all upset customers require a different access pattern

Start with a narrow question: “Why was customer A upset last week?” The agent can look up that customer’s Zendesk tickets for the period. In Feig’s example, it finds three tickets describing a broken API sync and the details of the failure. The customer and time window already identify the records to retrieve, so a live lookup can supply the explanation.

Selected presentation frame from Why Your Company Needs a Context Graph (and How to Build It) — Gil Feig, Merge at 212 secondsOpen full source frame
The example prompt asks, “Why was customer A upset last week?”

Now change the question to “Which customers were upset last week?” The customer identity has become the answer rather than an input. The agent must inspect tickets across customers to discover who belongs in the result. Extend the window to a year, and the same approach may require thousands of paginated requests, pulling tickets a hundred at a time until the task times out. The question sounds like a small edit; the required data access changes substantially.

MCP exposes tools, but those tools still inherit the underlying API’s access patterns. An API that retrieves pages of tickets does not acquire a semantic search operation simply because an agent can call it. Feig imagines an endpoint that could directly answer an English question about unhappy customers. His syncing recommendation addresses systems that lack that capability; it is not a claim that every semantic query must always use a local copy.

The proposed solution is to sync relevant third-party data into a locally controlled context store, using a vector database for semantic retrieval. That moves the broad search away from a chain of request-time API calls. It also creates engineering work: the team must decide how to store the records and retrieve useful context from them. For a simple Stripe lookup about a known customer, or a single action in Stripe, live MCP access can remain the appropriate path.

3:153:45
Suggest correction

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

3:15 · section reference included

Route the question, then apply the company’s definition of happiness

Once both synced retrieval and live lookups exist, the next problem is combining their results without dumping a massive amount of context into the requesting agent. A router sends the incoming prompt to the appropriate handler. A summarizer gathers the retrieved information from the synced and live paths, condenses it, and returns it to the agent that asked the question.

Before retrieval, the handler needs to know what “upset” means inside this company. Ticket count is one possible signal, but tickets could contain positive feedback. Another company might assess customer happiness through Qualtrics surveys and require the agent to consult those first. A skill encodes that process: how to determine whether a customer is happy, and consequently which systems to query. Memory and skills belong in the context layer because selecting context is itself company-specific work.

Return to customer A. The original lookup explained a broken sync using three tickets. With the broader dataset available locally, the workflow can gather customers, count their tickets, summarize their contents and produce a status for each customer. The observable change is from an explanation for a named account to a set of customer statuses. The company’s skill determines how those signals should be interpreted; the synced store makes the cross-customer retrieval practical. “There’s no magic here,” Feig says. The result follows from arranging the data access and business logic.

Where does the company’s definition enter the data flow? The diagram places skills and memory before source selection, then brings the two retrieval paths together at the summarizer. The sequence makes a useful dependency visible: deciding what counts as customer unhappiness affects what data the system should fetch.

Company knowledge guides retrieval before results are summarized

Incoming promptAsk which customers were upset last week.
Router and handlerSend the question to the appropriate agent.
Skills and memoryDetermine how this company evaluates customer happiness and where to look.
Synced contextretrieval — Retrieve across locally stored third-party data.
Live MCP lookupsretrieval — Fetch additional information through source APIs.
SummarizerCombine retrieved data into useful context.
Return to requesting agentProvide the summarized result.
The handler consults relevant skills and memory, selects synced or live context, and returns a condensed result to the requesting agent.
Read the diagram as text
  • Incoming prompt. Ask which customers were upset last week.
  • Router and handler. Send the question to the appropriate agent.
  • Skills and memory. Determine how this company evaluates customer happiness and where to look.
  • Synced context. retrieval — Retrieve across locally stored third-party data.
  • Live MCP lookups. retrieval — Fetch additional information through source APIs.
  • Summarizer. Combine retrieved data into useful context.
  • Return to requesting agent. Provide the summarized result.
  • Incoming prompt → Router and handler: Route the task.
  • Router and handler → Skills and memory: Check relevant knowledge.
  • Skills and memory → Synced context: Guide source selection.
  • Skills and memory → Live MCP lookups: Guide source selection.
  • Synced context → Summarizer: Retrieved context.
  • Live MCP lookups → Summarizer: Retrieved context.
  • Summarizer → Return to requesting agent: Condensed response.
5:586:28
Suggest correction

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

5:58 · section reference included

Four tiers balance retrieval cost, freshness and repeated work

Feig uses a broad definition of context: anything passed into the agent. The four tiers serve different roles and carry different operating costs.

  • Prompt, skills and memory. These guide the task and the choice of data sources, including company-specific processes.
  • Live API calls. These are easier to add and, in the architecture described here, cheaper to operate than maintaining synced context. Prefer them for simple lookups and retrievals.
  • Cached or synced data. This supports broad semantic retrieval and deeper questions, but requires a database and ongoing synchronization. Keeping the copy current adds complexity and expense.
  • Derived context. This stores information produced from the source data, such as a summary of a customer’s tickets, for reuse in later questions.
Selected presentation frame from Why Your Company Needs a Context Graph (and How to Build It) — Gil Feig, Merge at 554 secondsOpen full source frame
The table compares prompt, skill, and memory context with live API calls, cached data, and derived context.

Derived context avoids repeating work. When a customer’s full set of tickets comes in, the system can summarize it and store that summary as structured context. A later, common question can retrieve the summary instead of fetching and summarizing everything again. The stored summary is another representation of the source data, so its usefulness also depends on the freshness and transformation history that the provenance layer will track.

8:319:01
Suggest correction

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

8:31 · section reference included

Use freshness requirements to choose the retrieval path

The selection procedure begins with a skill or memory match. If a matching skill can complete the task without external data, the system can generate a response immediately. If there is no match, or the skill requires external information, the workflow moves to data selection.

At that point, check whether the cached or synced data is fresh enough under the applicable service-level requirements. A usable cache supplies the context. Otherwise, the workflow calls the live API. Retrieval may repeat until the system has enough information; it can then store a useful discovery in memory and generate the response.

Selected presentation frame from Why Your Company Needs a Context Graph (and How to Build It) — Gil Feig, Merge at 675 secondsOpen full source frame
The flowchart routes retrieval through a cache freshness check and shows a live API path when needed.

This is a freshness policy, not a guarantee that live APIs can replace every stale dataset. The earlier year-long ticket question still has the same pagination problem. A live call works well for a bounded lookup; it does not remove the need for a maintained synced copy when the answer requires searching broadly. The retrieval decision therefore depends on both acceptable data age and the shape of the question.

9:5810:28
Suggest correction

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

9:58 · section reference included

Keep the origin and history of every piece of context

“Do not drop where the data’s coming from.” Source links help a reader inspect an answer, but provenance has a deeper role when an agent makes business decisions. A record may be versioned, transformed or outdated. Without its history, the system can treat information synced a year ago as if it described the business today. For synced records, store provenance in metadata associated with the data.

The information to retain answers several distinct questions:

  • Origin and time. Where was the data fetched, and when?
  • Identity and access. Under which ID and scopes was it obtained? Who accessed it, and which permissions were used?
  • Transformation. Was the record changed or summarized, and what did it originally look like?
  • Invalidation. What makes it unusable—for example, exceeding a specified age?

A month-old cutoff is Feig’s example of an invalidation rule, rather than a universal freshness requirement. The same metadata supports both the answer interface and investigations after something goes wrong. A traceable answer should leave enough information to work backward from the result to the data, permissions and transformations that produced it.

11:3012:00
Suggest correction

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

11:30 · section reference included

Build a bounded account update, then retain what makes it useful

The final example asks for a one-paragraph update on Acme, including renewal risk and the last support interaction. Assuming no relevant skill, the workflow first checks the cache for an account summary. If that summary is missing, it performs a live CRM lookup. It then retrieves the support interaction from cached ticketing data if that data meets the freshness requirement, or through a live lookup otherwise.

The live ticket lookup is deliberately bounded to five tickets. Pulling the full history would reintroduce timeout risk. The system combines the retrieved information into a derived summary, may store that summary, and returns it. The resulting paragraph serves a narrow account-status request; five recent tickets should not be mistaken for a complete historical analysis of renewal risk.

That example makes the closing advice concrete. Tools supply operations; the context layer also needs the company’s data and processes, including a skill that explains what to do when a customer complains and where to route the issue. More data does not automatically improve an answer. Pull what the question needs, keep it fresh, organize synced data for the retrieval it must support, and preserve the trail that explains a bad decision.

Merge’s closing product pitch maps onto parts of this architecture: Gateway is an LLM router, Unified syncs third-party data from customers’ platforms, and Agent Handler supplies prebuilt live MCP connections with governance, identity and provenance. These are the commercial components Feig presents for internal and customer-facing use cases. The architectural decisions remain the same: choose the appropriate access pattern, apply company knowledge before retrieval, and keep the evidence behind the answer.

12:4713:17
Suggest correction

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

12:47 · section reference included

Resources

Read the complete timestamped transcript

14 slide groups. Extracted from the recording; expand builds to follow changes. Timestamps are approximate.

  1. 0:12

    Right. Thank you all for, for coming. Um, my name is Gil Feig. I am the co-founder and CTO of Merge. Merge helps companies build production AI very easily. We are the connective infrastructure, uh, to make everything come together. Uh, today I'm gonna be talking about why you need a context graph and how to build it. What I'm not gonna do is talk about specific technology you should be using. Uh, you can talk to your agent about that. It will help you. There's a lot of good technologies that can back this. Uh, the focus of this

  2. 0:42

    is, uh, why you need a context graph, and then sort of in a, in a higher level, how you should structure it, what the components should be, uh, and how things come together to build the best possible, uh, s- brain for your company. If you haven't gotten a hat yet, by the way, my team is walking around passing out hats. They're, they say, "Well connected." Um, so let's dive in here. So I'm not gonna spend much talking about Merge, but just a quick overview of us. Um, we have over four hundred enterprise customers, OpenAI, Ramp,

  3. 1:12

    Netflix, Perplexity, a lot of companies across the board using us for both internal and customer-facing AI use cases. Uh, we have three different products, Unified, Agent Handler, and Gateway, that cover a lot of the components of it. Um, we were founded six years ago by me and my co-founder, Shensi. We've raised three rounds. Uh, we're a hundred and thirty employees in the three most beautiful cities in the world.

  4. Merge company overview

    Merge serves 400+ enterprise customers across internal and customer-facing AI use cases. Its products span 220+ SaaS integrations, 5,000+ tools, and one API for all LLM providers.

    Text in image
    Hundreds of companies trust Merge to power their AI applications
    
    Customers
    400+
    OpenAI
    bambooHR
    ramp
    NETFLIX
    perplexity
    Brex
    freshworks
    Mistral AI
    
    Products
    Merge Unified
    220+
    SaaS Integrations
    
    Merge Agent Handler
    5,000+
    Tools
    
    Merge Gateway
    1 API
    For all LLM providers
    
    Company
    Founded in
    2020
    by Shensi Ding and Gil Feig
    
    Series B with
    $75M
    In capital raised from Accel, Addition, & NEA
    
    130+
    Employees
    
    Offices
    NYC, SF & Berlin
    
    MERGE
  5. Agenda

    The talk moves from defining context graphs and their data tiers to selecting relevant context for agents and tracing where data came from and how fresh it is.

    Text in image
    Agenda
    
    1. What is a context graph and why you need one
    2. Different tiers of context
    3. Crafting a context selection strategy
    4. Traceability and provenance requirements
    5. Some final takeaways
    
    MERGE
  6. 1:35

    All right, so quick agenda here. Step one or number one, we will talk about what a context graph even is and why it's so important that every company has one. We'll go into the different tiers of context, what, what types of data, what types of, of, uh, sort of logic from your company should be making it into your graph. We'll talk about context selection strategy. How are we picking the most relevant content for our agents or context for our agents at any moment in time? Traceability and provenance. How do we know where that data came from, who requested it,

  7. 2:05

    when it, when it's from, is it fresh? All that. And then lastly, some final key takeaways. At the end, I'll stick around if you do have any questions. Uh, so feel free to, to come up to me afterwards.

  8. What context graph means in this talk

    Feig frames the context graph as a company brain, combining third-party data, structured context, memories and skills with an LLM. Memories can form as people use the agent and ask it to remember things.

    Text in image
    What context graph means in this talk
    
    3rd-party data
    Structured context
    Memories
    Skills
    LLM
    
    MERGE
  9. 2:18

    All right, so what is a context graph in this talk? We're not gonna go into the nodes and the edges that connect each node in a true graph infrastructure. We're gonna talk about the company brain. Your company context graph consists of a lot of different components. It has third-party data. What are the other systems you use like NetSuite, uh, like, like Jira? Um, it has structured context. Uh, so that could be, uh, data coming in from other third parties. That could be data that,

  10. 2:48

    that you all have put into your context layer. Uh, things like, things like static documents that you want to always be passed to your agents. We have memories. These are things that are formed. We all know memory, things that are formed as you're using the agent, telling it to remember things, things that your agent thinks it should remember on its own. And then we also have skills. Uh, and skills are a very, very important part of your context graph, which we'll get to.

  11. 3:15

    All right, I see some picture. Okay, cool. Uh, so moving on. Let's get-- let's go through an example here. We're gonna use this example to guide why it's not, it's not enough to just connect a single MCP server or a couple MCP servers and call it a day. So let's ask a simple question. One of, one of your employees or, or customers asks your agent, "Why was customer A upset last week?" Pretty simple question to answer. The agent goes, it sees it has access to your Zendesk ticketing, and it can check and say, "Hey, what did-- what

  12. Let's start with a simple question

    An agent uses Zendesk tickets to explain why customer A was upset: three tickets followed a deploy, and two received no response within SLA. The shown ticket reports HRIS sync errors.

    Text in image
    Let’s start with a simple question
    
    “Why was customer A upset last week?”
    
    Your prompt
    Why was customer A upset last week?
    
    Your agent
    
    get_organization
    list_tickets
    get_ticket
    update_ticket
    list_users
    
    Tool response
    {
      "subject": "API sync broken after update",
      "Status": open
      "Description": "HRIS sync is returning 500 errors and we can’t onboard new employees.",
    }
    
    Answer returned:
    Customer filed 3 support tickets after running into issues after a recent deploy, but no response within SLA on two of them.
    
    MERGE
    
    Interface text:
    JSON
  13. 3:45

    tickets were filed by this customer last week?" Great. We saw that they saw that the API sync was broken, um, and specific details about what went wrong. We also see the customer filed three tickets total, all of that. Great. That answers that question. But what if we want to extend that? And what if we want to say which customers were upset last week? That becomes a lot harder because you now have to have your agent load in every single ticket from Zendesk that happened in the last week. What if we're saying which customers were upset in the last year?

  14. Who else experienced this problem?

    The ticket cards show some customer issues detected and others missed. Feig says finding all upset customers becomes harder when an agent must fetch thousands of tickets through live API lookups before it times out.

    Text in image
    Who else experienced this problem?
    
    TICKET #1042 • OCT 14
    Acme Corp
    “The integration broke our export process completely and our team hasn’t been able to ship since the update.”
    ✓ DETECTED
    
    TICKET #1042 • OCT 14
    Initech
    “The sync stopped working after your latest release and our payroll data hasn’t been updated in 3 days.”
    ✓ DETECTED
    
    TICKET #1087 • OCT 15
    Hooli
    “Exports are completely messed up after whatever you pushed last week. Super frustrating.”
    × MISSED
    
    TICKET #1087 • OCT 15
    Pied Piper
    “Webhooks aren’t firing and we have zero visibility into what’s happening on your end.”
    × MISSED
    
    TICKET #1042 • OCT 14
    Vandelay Industries
    “Records stopped flowing downstream after the update and our ops team is completely blocked.”
    ✓ DETECTED
    
    TICKET #1087 • OCT 15
    Aperture Science
    “None of our employees can authenticate to connected apps this morning, total blocker.”
    × MISSED
    
    TICKET #1042 • OCT 14
    Massive Dynamic
    “Our data pipeline has been returning errors on every export attempt since the Tuesday update.”
    ✓ DETECTED
    
    TICKET #1087 • OCT 15
    Agentforge
    “Every sync is creating duplicate records in Salesforce now.”
    × MISSED
    
    MERGE
  15. 4:15

    We should be able to answer that. Our agent should be able to answer that, but it can't if it has to live look up and pull tickets a hundred at a time, thousands and thousands of those until it times out and it just can't answer the question. So MCP is not fully solving a lot of these problems because the underlying access patterns of the APIs of these other platforms don't support a live lookup methodology. If you could ask your ticketing system something semantically, if Jira exposed an endpoint that said, you know, that you could query in English

  16. 4:45

    which customers were upset last week and it returned that data, that would be great. But no platform's incentivized to do that because it costs them money to vectorize it, and it makes it so you don't have to visit their platform as often.

  17. Agent architecture: syncing, routing and summarization

    A synced cache supports semantic analysis across large datasets, while MCP handles live lookups. A router directs prompts, and a summarizer combines retrieved data for the agent.

    Text in image
    So you need a syncing layer
    
    User prompt
    Router
    Agents
    Summarizer
    Sync/Cache DB
    MCP
    salesforce
    Memory Store
    Skills Library
    
    MERGE

    4:57

    Show 2 builds
    1. 4:57

      Agent architecture diagram highlights a sync and cache database between the agent and connected services.

      Text in image
      So you need a syncing layer
      
      User prompt
      Router
      Agents
      Summarizer
      Sync/Cache DB
      MCP
      salesforce
      Memory Store
      Skills Library
      
      MERGE
    2. 6:20

      Agent architecture diagram highlighting the router and summarizer.

      Text in image
      Then routing and summarization
      
      User prompt
      Router
      Agents
      Summarizer
      Sync/Cache DB
      MCP
      salesforce
      Memory Store
      Skills Library
      
      MERGE
  18. 4:59

    So you need a syncing layer on top of this. You can't just use MCP to live lookup. For things that you wanna go deeper into, that you want to semantically question, you need to actually sync a copy of the data locally. Okay? This doesn't apply to everything. So you might have, you know, let's say static lookups to Stripe. We're always gonna be asking Stripe a question about a specific customer. We're always gonna be taking a single action in Stripe. That can be MCP. That can be live. But if you need any form of semantic lookups, any form of analysis that is beyond a

  19. 5:29

    simple lookup, simple question, but requires looking across a, a vast data set, you have to sync a copy. So that becomes the next part of your syncing layer-- of your, of your, uh, context layer. So you have your MCPs, your live lookups. You have your synced or your cached lookups as well. And that, you're pulling in from a third party. You're putting in a vector database locally. Again, AI can build that vector DB for you relatively easily. Uh, you gotta, you gotta, you know, work on your strategy of how you store data in the context layer and how you

  20. 5:58

    retrieve from it, uh, for that synced cache layer. Um, but that's sort of the next component here. But the next problem is, all right, now we have all this relevant data. We're, we're pulling from our vector database to get, you know, semantic data, and we're doing live lookups for other data we might want on top. Now we need to bring all that data together 'cause we can't just dump a massive amount of retrieved context back to our agent. So that's where we introduce the router and the summarizer. The router is sending things to the right place. At the beginning, the prompt comes in, it decides where, you know,

  21. 6:28

    who should be handling this, where it should be sent. Once that data's all aggregated in there, our summarizer then takes that data from, from the, the synced context and from the live context, summarizes it, and sends it back to the agent that sent the prompt over. But you all notice we have one thing here that we haven't talked about, and that's memory and skills. That could live separately. Why is it important for your context layer? The reason is that getting context is actually a set of company principles and

  22. 6:58

    processes in and of itself. For example, which customer was upset last week can mean something very different to one company versus another. It could be number of tickets that are opened, um, but actually, what if those tickets were positive? What if actually we don't use a ticketing system and that we know that for customer happiness, we need to actually always go look at Qualtrics first and see survey data 'cause that's just how our company works. We're different. That's why skills are important, because you need skills like how do we determine if a customer is happy? So now your agent should first check the skills

  23. Then memory and skills

    The routed agent checks memory and skills to decide where to look in the synced cache and live MCP services, then summarizes the result.

    Text in image
    Then memory and skills
    
    User prompt
    Router
    Agents
    Summarizer
    Sync/Cache DB
    MCP
    
    Memory Store
    Skills Library
    
    salesforce
    
    MERGE
  24. 7:28

    before it then goes and starts checking your synced layer, your, your, uh, live layer for what data to get, and then summarizing and returning it. So the flow here is prompt comes in, gets routed to the right agent. The agent looks to see if it has any memory or skills associated with the question or the, the task at hand. Based on that, it then knows where to look in the synced cache DB and, uh, from the live MCP lookups, summarize, send back.

  25. No magic here, only physics

    A local lookup gathers customers, counts and summarizes tickets, and assigns statuses. Acme is highlighted as at-risk with three open tickets in 7D and export failures since v2.4. Feig says the flow mixes cached and live lookups.

    Text in image
    No magic here, only physics
    
    COMPANY | OPEN TICKETS (7D) | LAST CONTACT | PRIMARY ISSUE | STATUS
    Airbase | 2 | Oct 18 | SSO config | healthy
    Rippling | 0 | Oct 12 | - | healthy
    Acme Corp | 3 | Oct 13 | Export failures since v2.4 | at-risk
    Brex | 1 | Oct 15 | Webhook latency | watch
    Lattice | 0 | Oct 11 | - | healthy
    Figma | 0 | Oct 14 | Rate limit errors | watch
    Notion | 1 | Oct 13 | - | healthy
    Linear | 2 | Oct 18 | Sync gaps | watch
    Vercel | 0 | Oct 16 | - | healthy
    Stripe | 1 | Oct 12 | Auth token expiry | watch
    Intercom | 0 | Oct 18 | - | healthy
    Retool | 0 | Oct 10 | - | healthy
    Carta | 1 | Oct 18 | Field mapping | watch
    Segment | 0 | Oct 13 | - | healthy
    Gusto | 0 | Oct 11 | - | healthy
    
    MERGE
  26. 7:57

    There's no magic here. There really is none. It's all physics. As long as you know how to calculate, you know, within, within your own, uh, sort of use case, you're great. This flow here, where we looked at the number of open tickets, again, would not have been possible with live lookups, but with a local lookup, it was really simple, and we were able to basically gather all customers, number of tickets they have, summarize their tickets, and then give a status on each one. So it's a mix of some live lookups, some cache lookups. Uh, that's all coming together here to build really, really rich data for

  27. 8:27

    any question that gets asked.

  28. Different tiers of context

    Prompts, skills and memory guide data selection. Live calls answer current-state questions, cached snapshots support deeper lookups, and derived summaries save repeated retrieval and summarization.

    Text in image
    Different tiers of context
    
    Prompt, skills, and memory
    Instructions, reusable procedures, and what the model already knows
    You are a support agent for Acme
    Steps to escalate a billing issue
    This user prefers Slack over email
    
    Live API calls
    Use for current state, high-stakes decisions, or anything that changes by the minute
    Is this incident still open?
    Did that invoice get paid?
    What's the Acme renewal status?
    
    Cached data
    Get fast answers using snapshots of data that changes, but not minute-to-minute
    Last 20 tickets for this account
    Current org chart
    Account summary as of today
    
    Derived context
    Summaries, embeddings, and prior conclusions precomputed to make retrieval fast and context small
    What happened with Acme last week?
    Which customers mentioned exports?
    Prior conclusions about this account
    
    MERGE
  29. 8:31

    All right, um, and so there are different tiers of context, and some might debate whether prompt skills and memory are context. Context is anything that's being passed into the agent. We're gonna put this all here because they all belong in your context layer. Um, so you have your prompt skills and memory. We talked about how those are gonna really drive the, the where do we get data from. You have your live API calls. These are easy, easier to build, easier to add on. They're cheaper to run than synced context, so you should prefer these when you know you're gonna have simple lookups, simple

  30. 9:01

    retrievals. Cache data is absolutely essential if you want that, that sort of semantic data, the, the complex lookups, deep, deep questions about, about any data. Um, but keep in mind, it's a little bit more complicated to set up and build. Uh, it's more expensive to run because you have to have a vector database, and you're constantly having to sync that data. So it is tougher to keep up to date. And then lastly, something we didn't quite discuss yet is derived context, which is basically any additional context you create

  31. 9:31

    when you're pulling in data from the third party. So this could be, you know, as we're live pulling in all tickets, we're also, for every time a customer's full set of tickets comes in, we're summarizing those, and we're actually storing in our, uh, stored context, our structured stored context, we're storing a summary of the data that we pulled in so that in the future, if we have a common question, we don't have to then also go, go re-look up and re-summarize everything.

  32. 9:58

    Awesome. So all four of those come together. You saw the, the chart for how they do that. Um, and yeah, those are the tiers. So quick flowchart of how this works when, when a query comes in or a prompt comes in. So first thing here is do we have a skill or memory match? If so, yes, we wanna execute that skill. Does the skill need external data? No? Then we're just generating a response, and we're sending that right back. Unfortunately, it's not always this easy. So what happens if we don't have a skill or memory match? No?

  33. Have a strategy for context selection

    When a query matches a skill or memory, execute the skill. If it needs no external data, generate a response directly.

    Text in image
    Have a strategy for context selection
    
    Query received
    Skill / memory match?
    Yes
    Execute skill
    Does the skill need external data?
    No
    Generate response
  34. 10:28

    Well, then let's go right to, to data selection here. Uh, and same thing for if that skill needs external data. So we say yes. The first thing we're doing is checking our cache or our synced data store, and we're saying, "Is the data here fresh? Is it within our SLAs? Can we use this data 'cause it's viewed as fresh enough?" Yes? Then let's use that cache context. No? Then unfortunately, we have to go down, and we have to call the live API. Now, once we do have enough context, we're gonna loop through these a few times till we build up the context we need.

  35. 10:58

    Once we do have enough context, we might wanna store a memory of, of whatever we just, we just discovered or, or figured out. Um, store that to memory and then generate the response and send it back. And then same thing here, if we didn't have enough context, uh, I just showed that, but we have to call the live API, and then we will, we will, uh, generate that response back to the client.

  36. 11:21

    I'll leave it here for a second. I, I see some people looking and taking pictures.

  37. Traceability and provenance

    Store provenance with each context node: its source, retrieval, access scope, transformations and invalidation rules. Feig says this helps identify stale data and investigate errors.

    Text in image
    Traceability and provenance
    
    Every context node you pass to a model should be able to answer:
    • Where did this come from?
    • Where did we fetch it?
    • Under what ID and scope?
    • Was it transformed?
    • What should invalidate it?
    
    MERGE
  38. 11:30

    All right. So last piece here, pretty much at the end, traceability and provenance. Doesn't seem important up front, uh, up front. Do not drop where the data's coming from. Always store it. Uh, you, you have that from MCP. You also have that in if y- for anything you're syncing in vector DBs, there's something called metadata. You wanna store it in there. Uh, it's associated with the data. It is critical. It's similar to, you know, the way that this surfaces in ChatGPT or any surface that you're using is when it tells you a fact or it says something, at the end it says three

  39. 12:00

    sources, and it links to where it came from. That is even more important when you're making business critical decisions off of that data, when that data is, is versioned, when that data can become outdated, when you're letting it make a decision on data that it synced a year ago. You don't want that. Um, so you need to know where it came from. Where did we fetch it? When did we fetch it? Which is not here. Under what idea-- Under what ID and what scopes? Who accessed the data? What permissions were used to access it? Was it transformed? What did it originally look like? And then lastly, what should invalidate it? That could be age, for

  40. 12:30

    example. The data's more than, more than a month old, we don't wanna consider this ever. Really important for showing in your platform, and if not, for showing in your internal platform or whatever you're building, even for, for being able to investigate when something does go wrong, 'cause it will.

  41. Putting it all together

    For an Acme status update, the example checks a 15-minute account cache, calls the CRM if stale or missing, and pulls only five tickets before generating a summary tagged with sources, timestamps, and user scope.

    Text in image
    Putting it all together
    
    "Give me a one-paragraph status update on Acme. Include renewal risk and the last support interaction."
    
    1 Check cached "Account Summary" node for Acme (freshness window: 15 min) — cache
    2 If stale or missing: call CRM for opportunity stage + renewal date — live API
    3 Query ticketing system for last support interaction (cached if within SLA) — cache
    4 Pull last 5 tickets only, not full history, stop early — live API
    5 Generate derived summary tagged with: source ticket IDs · fetch timestamps · user scope — derived
    
    MERGE
  42. 12:47

    So putting it all together, here's another example of one that we might use. Uh, so give me a one-paragraph status update on our customer Acme. Include renewal risk and last support interaction. First, we're gonna check the cache for the account summary. We're gonna assume there's no skills here. Uh, so we'll check that. If it's nil or missing, we're gonna call the CRM using a live API lookup. Then we'll query the ticketing system for the last support interaction. Again, that's cached if within the SLA. Otherwise, it might have to do a live lookup. We're only-- we only wanna

  43. 13:17

    pull five tickets. We can't pull the full history because, again, when we have live lookups, we run into timeout risk. And then lastly, we'll generate a derived summary. We might store that derived summary, and we'll pass that back.

  44. Key takeaways

    A context graph brings company data, processes, skills and tools together. Pull only the data needed and structure it so answers can be traced and bad decisions debugged.

    Text in image
    Key takeaways
    
    01
    Tools aren’t context
    A context graph helps reason across your whole company
    
    02
    More data isn’t always better
    Pull only what you need and structure it properly
    
    03
    Every answer should be traceable
    Debugging, auditability, and grounded answers depend on this
    
    MERGE
    17
  45. 13:33

    So key takeaways, tools are not context. A context graph is gonna help you reason across the whole company. It's not just tools. It's data. It's synced data. It's processes that you have as a business. Who is documenting, you know, when a customer complains, what do we do? How does it know to always route to the right place? That is a skill. These-- It's your company's skills, it's your processes, it's your data, and it's your tools and actions you need to take. More data, not always better. You want fresh, high-quality data. You wanna pull only what you need.

  46. 14:03

    When you do have to sync data, you wanna structure it properly so it's accessed in the right way. And then lastly, every answer has to be traceable. You do not wanna be left in a position where your AI made a bad decision, and you have no idea why it did that.

  47. Enterprise AI runs on Merge

    Merge’s platform connects LLMs and third-party systems: Gateway routes LLM calls, Unified syncs data, and Agent Handler provides governed connections for cross-system actions.

    Text in image
    Enterprise AI runs on Merge
    Connective infrastructure that lets AI access data, take actions, and run in production reliably at scale
    
    LLM models
    + more
    
    Merge platform
    Single API
    Unified auth
    Consolidated billing
    Centralized observability
    Security & governance
    Audit logging
    
    Scale
    Gateway
    Operational LLM optimization
    • Automatic fallback
    • Spend visibility
    • Budget enforcement
    • Intelligent routing
    • Token efficiency
    • Compliance & policy agent
    
    Sync
    Unified
    Access context data
    • Normalized schemas
    • Hundreds of integrations
    • Continuous maintenance
    • Embedded management
    
    Act
    Agent Handler
    Trusted agentic tooling
    • Agent-ready endpoints
    • Cross-system actions
    • Scoped permissions
    • Pre-built connectors
    • 5,000+ tools
    
    3rd party systems
    salesforce
    + thousands more
  48. 14:19

    So last piece, plugging Merge here. Enterprise AI runs on us. We power these features for a lot of companies. We have Gateway, which is an LLM router. We have Unified, which helps you sync data from third parties out of your customers' platforms. And then we have Agent Handler, which is live MCP connections pre-built across hundreds of tools, governed, identity all built in, uh, including provenance. Uh, and yeah, it's plug-and-play for both internal and customer-facing use cases. So if you wanna build an easy context layer,

  49. 14:49

    hit us up. Thank you everyone for listening.