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
| Guardrail | Effect |
|---|---|
| Agent access | Off: every agent call is refused with 403 forbidden. |
| Require approval to publish | On: publishing, scheduling and sending inbox replies file an approval request instead of going out. |
| Allowed channels | Agents 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.
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.