memnode
Sign InSign Up

Walkthrough

How to give a support agent memory it can explain and correct

Support memory is not only about recall. It is about knowing which policy the agent used, which customer fact it relied on, and how to correct the memory when the rule changes.

Support-agent pain

  • The agent repeats stale refund or escalation policy.
  • The team cannot see why the answer was given.
  • A policy correction takes effect too slowly or leaves bad memory behind.

Where Memnode fits

  • Record policy memory with a visible source.
  • Recall policy plus customer context in the same loop.
  • Inspect lineage and supersede stale policy with a correction chain.

Hosted path for a support workflow

import { MemnodeClient } from '@memnode/client'

const client = new MemnodeClient({
  apiKey: process.env.MEMNODE_API_KEY,
})

await client.record({
  entity: 'workspace:acme-support',
  text: 'Billing disputes escalate to finance after one failed retry.',
  source: {
    kind: 'support_policy',
    doc: 'billing_runbook_v3',
  },
})

await client.record({
  entity: 'customer:cust_184',
  text: 'Customer already retried payment once on April 12.',
  source: {
    kind: 'ticket_note',
    ticket: 'SUP-1842',
  },
})

const recalled = await client.recall({
  query: 'Should this dispute be escalated now?',
  entity: 'workspace:acme-support',
})

const lineage = await client.lineage({
  nodeId: recalled.results[0].node_id,
})

The support agent gets both policy memory and case memory, then exposes lineage so the operator can see which document or ticket note drove the answer.

What the answer should prove

answer
"Yes. Escalate to finance after one failed retry."

why
"Matched support_policy from billing_runbook_v3 and ticket note SUP-1842"

lineage
support_policy -> canonical -> corrected

When policy changes

Suppose the policy changes to two failed retries. The new memory should not only replace the old answer. It should preserve the correction path so operators can explain why past answers differ from current policy.

await client.record({
  entity: 'workspace:acme-support',
  text: 'Billing disputes escalate to finance after two failed retries.',
  source: { kind: 'support_policy', doc: 'billing_runbook_v4' },
  corrects: previous_policy_node_id,
})

Next steps

Compare Memnode →More use cases →Read docs →
Support Agent Memory Walkthrough | memnode