Skip to content
NagentNagent
Log inSign upHire your AI Growth Team
NagentNagent
Log inSign up
All documentation

Approvals and audit for connectors

How to require one, two or three approvers on a connector's calls, set limits on what a call may carry, stop every call at once, and export a signed audit trail.

Browse documentation

Rules that hold whichever agent calls

An agent's level decides what it may do alone. See autonomy and governance. Some calls need a firmer rule than that, whoever makes them: a payment above a set amount needs two people, a transfer never goes above a limit. Those rules live on the connector, under Governance on its row. They apply to every agent that calls it.

The dialog lists the connector's operations, each with its own rules.

Approvers

Approvers is how many people must approve each call: none, 1, 2 or 3. The person who asked never counts, and no one approves the same call twice. While a call waits, its approval card says how far it has got, for example "Needs 2 approvers. 1 approved so far."

To ask for approvers only on large calls, give the Amount field, the field in the call that holds the amount, and a Threshold:

  • A call above the threshold needs the approvers you set.
  • A call at or below it follows the agent's usual rules.
  • The amount is compared without its sign, so a reversal counts too.
  • If the amount cannot be read, the call needs the approvers.

Leave the threshold blank to need the approvers on every call.

Governance for Core banking: create_transfer needs 2 approvers above 100000 in its amount field, with a limit that currency is one of INR, above Rotation days and Save

Limits on what a call may carry

Under Limits on what a call may carry, add a rule on any field of the call:

RuleRefuses a call when the field is
MaxAbove the value
MinBelow the value
One ofNot one of the values you list, such as INR, USD

A call that breaks a limit is refused outright, not sent for approval, and the refusal says which limit it broke. An operation can carry up to 10 limits.

An operation with rules cannot be renamed or removed until you clear them, so a rule is never dropped by accident.

Replacing credentials on time

Rotation days is how old the connector's credential may get. As the date nears, the row shows an amber note such as "Rotate the credential by 12 Nov 2026", and once it has passed, "Credential 95 days old, rotate now", until you paste a new one. Leave it blank for no reminder.

Stopping every call

Stop all calls on the row stops every call through the connector at once, including calls already queued and requests already approved. Give a reason; it is recorded with your name. The row shows Stopped, and pointing at it shows who stopped it and why.

Resume starts it again. Use Stop when something looks wrong and you want time to find out, rather than deleting the connector.

The audit trail

Every call a connector makes is recorded: when, which agent, which operation and host, the outcome and status, how long it took, any approval it carried, and how many identifiers were protected. What was sent and received is recorded only as a digest, never as content. Each row carries the hash of the one before it, so a row that is changed or removed breaks the chain. Changes to a connector, to its rules, and each reveal of a protected value are recorded beside the calls.

Exporting it

Export audit on Connectors downloads the trail as one file, connector-audit-<n>.ndjson, with one JSON record per line:

  1. A header naming the format, connector-audit/v1, and the workspace.
  2. The call rows, in order.
  3. The connector events, in time order.
  4. A signature line.

The signature line holds the SHA-256 of every byte before it, the counts, and an Ed25519 signature over all of that. A file that has been edited, cut short or added to fails the check.

One file holds up to 100,000 calls. A longer trail ends with nextFromSequence on its signature line; to fetch the next part, open the export address again with ?fromSequence= and that number. Each part continues the chain of the one before, so a gap between parts shows.

Exporting needs its own permission, which none of the standard workspace roles include, and each export is itself recorded. Ask us to grant it to the people who send the trail to your security team.

Checking it

Someone who can export can also download the signing key's public half, from /api/admin/integrations/connectors/audit/public-key on your workspace's address. Give it to your security team to pin once; they can then check every export against it with any Ed25519 library and no software of ours. Ask us for the verifier, a short script that checks the signature, the hash chain and the continuation from the previous export.