본문으로 건너뛰기
BringTalk
Design

Context Injection Design: When and How Much CRM Data to Feed Your Voice Agent

Moon Kim2 min read

Without designing when and how much CRM data to inject, fast models produce slow responses and accurate models give wrong answers.

What Is Context Injection?

Context Injection is the technique of loading relevant customer context from CRM, ERP, and knowledge bases into the LLM prompt just before a voice agent generates its response. Think of it as RAG for voice agents, but with one critical difference.

Text RAG can tolerate a 2-second retrieval delay. In voice, 2 seconds of silence means the conversation is broken.

In voice channels, retrieval latency becomes silence. When to inject matters more than what to inject.

Design Principle: Inject the Right Data Fast, Not All Data

Dumping entire consultation histories into prompts explodes token costs and inflates first-token latency. In practice, a 3-layer hierarchy works best.

Context Injection Layer Design

Layer 1: Pre-loaded (before call starts)
  ├── Customer name, recent purchases, VIP status
  ├── Last call summary (1-2 sentences)
  └── Token budget: ~200 tokens

Layer 2: Intent-triggered (after intent detected)
  ├── Relevant product FAQ, pricing info
  ├── Outstanding balance, due dates (collection scenarios)
  └── Token budget: ~300 tokens

Layer 3: On-demand (tool call)
  ├── Real-time inventory, available booking slots
  ├── Shipment tracking, contract details
  └── Token budget: variable

Layer 1 is pre-loaded at session creation, so it adds no latency during the call. Layer 2 is fetched asynchronously after the first utterance's intent is confirmed. Layer 3 executes only when the LLM invokes a tool.

Anti-Patterns: 3 Common Mistakes

  1. Full history dump: A 3-call summary suffices. Attaching 50 records causes the LLM to lose focus on what matters.

  2. Synchronous CRM queries on every turn: Load once on the first turn; refresh only when state changes.

  3. Raw PII in prompts: In Zero Retention environments, masking or lookup token substitution is mandatory.

Agentic RAG: The Next Step

Traditional RAG is static retrieval: query comes in, nearest chunks come out. Agentic RAG adds a reasoning layer where the agent decides its own retrieval strategy: whether to search the KB, call the CRM API, or determine that prior turn context is already sufficient.

Meilisearch likewise describes agentic RAG as letting the LLM decide when to retrieve and when to generate. Before asking what to retrieve, the agent asks whether it needs to retrieve at all.

This decision layer eliminates unnecessary retrieval calls, directly reducing response latency.

BringTalk's Context Injection Design

BringTalk pre-loads lead CRM status, recent behavioral events, and campaign source as Layer 1 in its LQA (Lead Qualification Agent) scenarios. In its FUA (Follow-Up Agent), previous call summaries and incomplete actions are injected so the agent instantly knows 'where we left off.' All injected data is processed within Zero Retention boundaries, with raw PII masked behind the Tool Server.

Share this article
For your calls

Test the same transition in Korean call operations within six weeks.