Concepts

Guardrails and approvals

What a key may do on its own, what waits for a person, and where every change is recorded.

Every call from the CLI, the REST API or an MCP client acts as an agent. Agents follow the same rules as the AI assistants your team connects, set in Tracee under Settings → Agent rules.

Guardrails

GuardrailEffect
Agent accessOff: every agent call is refused with 403 forbidden.
Require approval to publishOn: publishing, scheduling and sending inbox replies file an approval request instead of going out.
Allowed channelsAgents can only post to the platforms listed. GET /channels marks each channel allowed.

GET /brand returns the current guardrails with the brand profile.

Brand rules

Every draft is checked against the workspace's brand rules: tone, banned phrases and notes. A post with brand issues can be saved, but not published until they're fixed; the answer lists them per channel as brandIssues.

What always asks a person

Some actions never run on an agent's word alone. They become an approval request in a person's inbox and run as soon as that person approves:

  • Deleting a post (DELETE /posts/{postId}, tracee posts delete).
  • Taking a live post down (POST /posts/{post_id}/unpublish).
  • Write and destructive actions in connected apps (POST /apps/actions/{slug}/run), and any non-GET call to an app's own API.
  • Adding a Radar signal to the CRM.

Agents can't approve anything. GET /approvals lists what's waiting and what was decided.

An answer of 202 with "status": "pending_approval" (CLI: Sent for approval) means it worked: the request is waiting for a person.

The audit log

Every change an agent makes is in Audit log in Tracee, with the agent's name (API · <key name>), what it did, and the result. Posts also show who created and published them.