Use cases

What people build with REM.

Six archetype applications where continuity isn't a nice-to-have — it's the whole point. Each card shows the call pattern you'd ship with, and the uniquely-REM capabilities the Dream Engine unlocks.

Customer Support AI
Persistent ticket memory across email, chat, voice, and every channel the customer ever used.
Cross-channel fusion — Slack thread, Intercom chat, and voicemail from one customer become a single memory graph.
Contradiction detection — agent flags when a customer's stated preference conflicts with prior tickets.
Pattern extraction — nightly dreams surface repeated friction across the whole customer base.
cURL
curl -X POST https://remlabs.ai/v1/memory-set \
  -H "Authorization: Bearer sk-rem-..." \
  -d '{
    "content": "Customer reported billing issue on Pro plan",
    "namespace": "support/customer_9482",
    "channel": "intercom",
    "ticket_id": "T-8812"
  }'

# Recall every thread for this customer across all channels
curl -X POST https://remlabs.ai/v1/memory-search-semantic \
  -H "Authorization: Bearer sk-rem-..." \
  -d '{"query":"billing","namespace":"support/customer_9482"}'
Browse support integrations →
Coding Assistants
Codebase + architecture + decision memory that survives across PRs, branches, refactors, and models.
Decision lineage — "why did we pick this DB?" returns the original PR, debate, and follow-up decisions that depend on it.
Multi-agent scope — review agent, migration agent, and test agent share one repo graph via namespaces.
Model-agnostic — swap from Claude to GPT to a local Llama without re-indexing.
Python
from rem import Client

rem = Client(api_key="sk-rem-...")

# Capture a design decision
rem.memory.set(
    content="Chose Postgres over Mongo because of the join patterns in billing",
    namespace="repo/billing-svc",
    tags=["architecture", "decision"],
    source_pr="pr-4412",
)

# Recall when writing the next PR
ctx = rem.memory.search(
    query="why did we pick the current database?",
    namespace="repo/billing-svc",
)
See the SDK reference →
Research Agents
Paper + hypothesis memory that tracks what you've read, what you've concluded, and what contradicts.
Hypothesis tracking — every claim stored with source paper and a confidence score that updates as new evidence arrives.
Overnight synthesis — the Dream Engine fuses scattered findings from the day into a single updated review.
Citation graph — graph queries traverse from one paper to every related claim in your corpus.
cURL
curl -X POST https://remlabs.ai/v1/memory-set \
  -H "Authorization: Bearer sk-rem-..." \
  -d '{
    "content": "Stickgold (2005) shows REM is critical for procedural consolidation",
    "namespace": "research/sleep-memory",
    "tags": ["finding","consolidation"],
    "citation": "Stickgold 2005 Nature"
  }'

# Trigger a dream on the full namespace
curl -X POST https://remlabs.ai/v1/dream-run \
  -d '{"namespace":"research/sleep-memory","strategies":["synthesize","contradiction_detect"]}'
See all 9 strategies →
Sales Copilots
Account + deal memory shared across reps so a handoff doesn't mean a restart.
Rep handoff — namespaces scoped to an account mean any rep picks up the full relationship history instantly.
Forecasting dreams — nightly consolidation projects deal trajectories based on prior patterns.
Live reactivity — webhook fires when a customer's stated priority changes; copilot gets a nudge automatically.
Python
rem.memory.set(
    content="Decision-maker moved from CFO to VP-Eng; technical demo required",
    namespace="deal/acme-corp",
    tags=["champion", "context"],
)

# Subscribe to deal updates from any rep
rem.webhooks.register(
    url="https://your-app.com/hooks/sales",
    events=["memory.created", "memory.updated"],
    namespace="deal/*",
)
CRM integrations →
Executive Assistants
Personal preferences + schedule patterns that carry across every model and every device.
Preference learning — assistant never re-asks whether you prefer morning meetings or window seats.
Pattern extract — the Dream Engine surfaces "you always skip the Tuesday standup" and proactively adjusts.
Sovereign — self-host for personal data. Your assistant's memory never leaves your infrastructure.
cURL
curl -X POST https://remlabs.ai/v1/memory-set \
  -H "Authorization: Bearer sk-rem-..." \
  -d '{
    "content": "Prefer 9:30am standups; 30-min max; no meetings Fridays",
    "namespace": "personal",
    "tags": ["preference","schedule"]
  }'

# Recall at schedule time
curl -X POST https://remlabs.ai/v1/memory-search-semantic \
  -d '{"query":"when should I schedule a 30-min sync?","namespace":"personal"}'
Build your own assistant →
Multi-Agent Systems
Shared namespace across CrewAI, AutoGen, LangGraph — one substrate, many minds.
Framework-agnostic — mix CrewAI researchers, AutoGen planners, and LangGraph executors on the same graph.
Pub/sub channels — agents subscribe to events and react in real time without polling.
RBAC — each agent gets scoped visibility. No context bleed between roles.
Python · CrewAI
from rem import Client
from crewai import Agent, Task, Crew

rem = Client()
ns = "project/q2-launch"

researcher = Agent(role="research", memory=rem.namespace(ns, role="read"))
writer     = Agent(role="writer",   memory=rem.namespace(ns, role="write"))
reviewer   = Agent(role="review",  memory=rem.namespace(ns, role="admin"))

crew = Crew(agents=[researcher, writer, reviewer])
crew.kickoff()
Agent framework adapters →

Pick the pattern closest to yours.

Free tier covers prototypes and small teams. No credit card required.

Start free Read the docs →