Skip to main content
Niadra is the omnichannel memory layer for your company’s AI agents: the events from every channel, platform and system become one memory of each customer, and any agent, from any vendor, reads it before it acts. This quickstart connects the first agent to it: a key, the SDK, a first conversation recorded, the context read back and a search in the history. It takes about ten minutes in a sandbox space, which never mixes with production data.

1. Get a key

Every agent, vendor or system that talks to Niadra is a source, with its own keys, scopes and purpose. Create a source for your agent in the Console:
  1. Sign in to the Console with the admin role, pick the project’s Sandbox space and open Agentes e chaves (agents and keys).
  2. Tap Nova fonte (new source) and fill in the name and the audience (customer-facing agent, internal agent, human desk or analysis). The channel, the purposes and the verification ceiling are optional.
  3. Leave Emitir a primeira chave agora (issue the first key now) checked and tap Criar e emitir a chave. The secret is shown once, with a copy button.
With no scopes asked, the key gets every agent scope; the administrative ones (admin, analytics, identity:link, state:push) only on keys asked for them. After the key there is nothing left to configure. Features come on, and Niadra learns from traffic the object types, fields, states and operations of your systems and agents, with labels in the space’s language. Anything that looks like personal data is held until someone decides, and the Console shows what was learned as a note. Configuring is only an optional adjustment. Through the control API, the same step is POST /v1/sources, then POST /v1/sources/{source_id}/keys. A key looks like this:
test keys reach sandbox spaces and live keys reach production spaces. The region and the space in the key tell the SDK where to go: https://acme-sandbox.us-east-2.api.niadra.com. The secret is shown once; keep it in your secret manager and expose it to the agent as an environment variable.

2. Install the SDK

Both SDKs are open source under Apache 2.0. For plain HTTP there is nothing to install: every call below also has a cURL version. If your agent already runs on a framework (LiveKit, Pipecat, OpenAI Agents, LangGraph, Vercel AI SDK and others), its adapter makes the calls below for you: see the integrations. A coding assistant does this work with the niadra skill.

3. Record a conversation

A conversation session pins the context, captures the turns and sends conversation.ended when it closes. Writes go to a local queue and leave in batches, so they never slow the agent down.
The API answers 200 when every item went in, or 207 when some were rejected, always with accepted, duplicates and one error per rejected item: a bad item never fails the batch. Sending the same idempotency_key again is safe; it is counted as a duplicate and stored once.

4. Read the context

Now a voice agent picks up a call from the same number. It records the call’s network attestation, which proves level V1 for this conversation, and asks for the context before it says hello; with no proof at all, the read would come out at V0:
Put text in the system prompt, after your own instructions. The WhatsApp message from a moment ago is already there: turns are readable by every agent in under a second after they reach the API, and the derived memory (open items, facts, the episode) comes right after the session ends, with a one-minute target.
Call context() while the phone is still ringing, or as soon as the message arrives. The SDK keeps its own time budget (300 ms; in the voice view, begin() starts the first read when the call starts and ready() waits for it up to 1.5 s while the phone rings, and every turn after that gets the pinned body from the SDK’s memory at once, waiting 200 ms at most for the slots), so a slow answer never delays your agent: it gets an empty context, or the body without slots, and carries on.

5. Search the history

When the customer says “last time you gave me a credit”, the agent looks it up:
To let your LLM decide when to search, hand it the tool kit instead: niadra.tools(marina, verification="V1", conversation_id="call-4471") returns function definitions bound to Marina, and routes the model’s calls back to Niadra. See History navigation.

6. Check what happened

Every read left a receipt: which source read, which items it received and which were withheld, under which policy. Open the Console to see the reads of this conversation, or list them with GET /v1/receipts as a person with the security role or with a key that has the admin scope.

Next steps

Spaces and keys

Sources, scopes, environments and the stable address.

Events and the batch

Messages, system events and actions in one format.

Voice agents

Context before hello, network attestation and handoff.

Integrations

Ready-made adapters for voice and agent frameworks.

Coding assistants

The skill that teaches Claude Code, Cursor or Codex to do the integration.

Internal agents

Tasks, objects and actions that close open items.