Business Memory
Workspace-level shared context stored in the Knowledge Graph. ICP definitions, scoring models, client profiles, and learned patterns — shared across all workflows and users in your workspace.
What is Business Memory?
Business Memory is the workspace's long-term brain. Any workflow, agent, or chat session in the workspace can read from it and write to it. When an AI step learns something worth remembering — your ICP definition, a scoring rubric, a client's brand voice, a market signal — it persists that knowledge as Business Memory so the next workflow starts from the same baseline.
Business Memory sits on top of the Knowledge Graph. High-confidence entries are auto-synced as insight nodes, which means they become searchable through kg_search alongside entities, relationships, and execution history.
What to Store
Business Memory is meant for knowledge that is stable, shared, and worth re-using. A few canonical examples:
ICP Definitions
Industry, company size, geography, signals, disqualifiers. Every prospecting and scoring workflow reads the same definition instead of hardcoding filters in each step.
Scoring Rubrics
Criteria, weights, and calibration notes for lead scoring, deal scoring, or investor matching. Update the rubric once, and every downstream workflow adopts the change.
Brand Voice & Messaging
Tone, banned phrases, positioning, differentiators. Outreach and content workflows read this before drafting so copy stays on-brand across runs.
Product & Offer Catalog
Product names, pricing, packaging, competitive differentiators. Agents reference the canonical catalog rather than re-deriving it from scratch.
Learned Patterns
Outcomes, market signals, and calibration data extracted by previous runs. These are typically written by AI steps with confidence scores and get consolidated over time.
Memory Entry Shape
Each memory is a structured entry, not a free-form note. It carries a key, a value, a category, a confidence score, and provenance for debugging.
{
"key": "icp_definition",
"value": {
"industry": ["SaaS", "DevTools"],
"headcount": "11-200",
"geography": ["US", "EU"],
"signals": ["hiring AEs", "raised Series A"],
"disqualifiers": ["agencies", "crypto"]
},
"category": "fact",
"confidence": 90,
"source": {
"pipelineId": "wf_icp_builder",
"executionId": "exec_01H...",
"stepId": "step_3",
"extractedAt": "2025-11-04T14:22:00Z"
}
}category — one of fact, insight, preference, or outcome. Used to filter and rank during recall.
confidence — a 0–100 score. Entries at 70 or above are auto-synced to the Knowledge Graph as insight nodes.
source — which workflow, execution, and step produced the memory. Enables audit trails and “where did this come from” debugging.
Writing to Business Memory
AI steps, agents, and MCP clients can all write memories. The scope parameter decides where the entry lives; use workspace for Business Memory.
store_memory({
scope: "workspace",
key: "deal_score_rubric",
value: {
criteria: ["fit", "timing", "budget", "champion"],
weights: [0.4, 0.2, 0.2, 0.2]
},
category: "fact",
confidence: 95
})When a key already exists, you pick a merge strategy instead of overwriting blindly:
| Strategy | Behavior |
|---|---|
| overwrite | Replace the existing value entirely. Default. |
| append | Push new items into an array, growing a collection over time. |
| increment | Add numeric values — useful for counters and running totals. |
| max / min | Keep the larger or smaller numeric value. Useful for high-water marks. |
Reading from Business Memory
There are three read patterns depending on whether you know the key, what category you want, or need semantic search:
// 1. Direct recall by key
recall_memory({ scope: "workspace", key: "icp_definition" })
// 2. List by category
list_memories({
scope: "workspace",
category: "preference",
limit: 20
})
// 3. Semantic search across keys and values
search_memories({
scope: "workspace",
query: "scoring rules for enterprise deals"
})Every recall updates the entry's accessCount and lastAccessedAt, which feeds into consolidation and eviction.
Knowledge Graph Sync
Business Memory entries with confidence ≥ 70 are asynchronously promoted to insight nodes in the Knowledge Graph. Once synced, they show up in kg_search results next to entities and execution edges, and they are linked back to the execution that produced them via a DERIVED_FROM edge.
Sync is fire-and-forget. If the Knowledge Graph is temporarily unavailable, the memory is still stored — DynamoDB is the source of truth, the graph is an enrichment layer. Nothing in your workflow blocks on KG availability.
Capacity & Lifecycle
- •Each workspace can hold up to 1,000 Business Memory entries. When the cap is reached, the lowest-confidence entries are evicted first.
- •Entries can carry an optional
ttl(in seconds) for memories that should decay — for example, a weekly market signal. - •Periodic consolidation jobs decay unused entries and merge related insights, keeping the working set focused on what actually gets used.
Business Memory vs. User Context
Business Memory is shared — every user and every workflow sees the same ICP, the same rubric, the same brand voice. User Context is personal — it layers individual preferences and history on top of the shared business baseline.
In practice, agents read both: Business Memory gives them “how this company works,” and User Context gives them “how this particular user works.”
Next Steps
- User Context — Per-user preferences layered on top of Business Memory
- Persistent Memory — The underlying memory primitive, including workflow-scoped entries
- KG API — Query Business Memory insights alongside entities and edges
- Knowledge Graph Overview — How memories fit into the broader KG architecture
