For developers

One SDK for everything around the brain.

You keep the model, the framework, the prompts and the business logic. We hand the agent a wallet and a set of limits, and you never write the plumbing around it again.

IN DEVELOPMENT The API is still in development. The shape below is what we are building toward. If you want to push back on it before it sets, that is exactly why early access exists.

Communicate. Work. Control.

You can find a vendor for any one of these. The gap is that they do not know about each other, so you end up writing the glue that decides whether a message is allowed to go out at all. That glue is the product.

Communicate

One send path for every channel, under an identity of its own. Many employees can sit behind one number without crossing wires.

  • WhatsApp
  • Phone and SMS
  • Email inbox
  • Calendar
  • File storage
Work

Talking is not the job. This is the desk the employee works at, and the only things on it are the ones you put there.

  • Calendar it can book into
  • File storage it can send from
  • Tasks it still owes a customer
  • Contacts and conversation history
  • Handoff that carries all of it
Control

The part that makes the other two safe to point at a paying customer. Checked on every call, never left to the prompt.

  • Permissions per agent
  • Spend and rate budgets
  • Human approvals
  • Append-only audit
  • Kill switch

Two calls. That's the integration.

Hire the employee once. After that, everything it wants to do in the world goes through a single path, whatever the channel and whatever the action.

Once, when you hire it
nivaro.employees.create({
  name:   "Priya",
  role:   "Support",
  wallet: ["whatsapp", "email", "calendar"],
  can:    ["refund up to ₹5,000 per customer per day"],
  budget: { daily: "₹2,000" }
})
Every time it wants to act
priya.do({
  action: "refund",
  amount: "₹18,000",
  target: "order_48213"
})

// one of four answers, always with an id
Four answers

Four things can come back. Never anything else.

Most agent infrastructure gives you success or an exception. That is not enough to run money through. These four are the whole surface.

DONE
It happened, exactly once. You get an action id and the provider's receipt.
NOT_ALLOWED
It did not happen, and you get the exact reason. No permission, or this contact never opted in. The denial is logged too.
WAITING
A human has to say yes first. Already sent to them. Nothing for you to poll, and the agent is not retrying in the background.
?
UNKNOWN
The provider went quiet. We are reconciling it. Do not retry, or one customer gets refunded twice. This is the state everyone forgets and the one that costs real money.
Logging

One log for every channel. You don't keep four.

A call in one system, SMS in another, WhatsApp in a third, and your own database trying to stitch them into a story afterwards. That is the normal outcome, and it is why nobody can answer "what happened" without a morning of work.

Without us
  • Call logs in your telephony provider
  • SMS logs somewhere else
  • WhatsApp in the Meta console
  • Email in a mailbox nobody reads
  • A join table you wrote yourself
With Nivaro
  • One record per action, whatever the channel
  • The decision attached to it, not beside it
  • Who approved it, and what it cost
  • Append-only, so it cannot be quietly edited
  • Exportable, because it is your data

You did not ask for a logging product. You get one anyway, because the control plane has to write it all down regardless.

You don't rebuild this for the second agent. Or the twentieth.

None of it is the interesting part of your product, and all of it has to exist before you can put an agent in front of a paying customer.

Channels
  • WhatsApp templates
  • Phone and SMS
  • Inbound webhooks
  • Conversation threading
Authority
  • A permission model
  • Spend and rate ceilings
  • An approval queue
  • A kill switch
Execution
  • Idempotency keys
  • Reconciling unknowns
  • An append-only log
  • Retry that is actually safe

Tell us where this API is wrong.

We would rather hear it now than after we have shipped it. Early access includes a direct line while the interface is still soft.

Get early access