Octibiz
Demo

Durchsucht Website und Dokumentation gemeinsam. Enter zeigt alle Treffer, Esc schließt.

Approvals

Approvals screen in Octibiz

Overview

In Octibiz an AI agent may read, search and prepare drafts without asking. The moment it wants to write — change a record, send a message out, move a status forward — the system stops and waits for a human. This page is where the waiting happens.

The difference from a note in the chat window is the whole point: a waiting action no longer disappears when you close the window, reload the page or only get back to it tomorrow. It stays in the inbox until somebody approves or rejects it.

You only ever see your own waiting actions. There is no permission that opens a colleague's inbox — the cut sits in the API, not in the interface.

Core tasks

See what is pending. The list shows every waiting action with its conversation, agent, tool and a short form of what is supposed to happen. It is sorted oldest first: whatever has been blocking longest sits on top. A list that puts the newest on top hides exactly the item that is holding somebody up.

Review the proposal. Clicking a row opens the details. There you see field by field what would change — not merely that something changes. This preview has gone through the same redaction as the audit log: passwords, keys and bank details are masked in it.

Read the rationale. Below it you find why the agent proposes this step, provided the model supplied a reason. That is the actual basis for your decision. A change without a traceable reason should be rejected, however plausible it looks.

Approve. Execution only happens on approval. The action then runs under your user identity but is marked as an AI action in the audit log — the two belong together: the agent acted, you are accountable. Afterwards the agent continues from where it stopped.

Reject. Rejecting ends the run without executing anything and stays visible as a step inside it. That is not a formality: without that entry it would later be impossible to tell whether a human said no or whether the agent gave up on its own.

Open the conversation. Open conversation jumps into the thread the proposal came from — that is where the full reasoning leading up to it lives.

Approvals of the AI team

When the AI team is switched on and you hold Decide approvals (platform.aistaff.approve), the page opens even without the AI workspace; with both it has two tabs: My agents (everything described above) and AI team. That tab lists what an AI team member wanted to do without permission — an email to an outside party, a publication, finalising a document, a payment run, a shipment, a permanent deletion — and every run of an AI team member waiting before a write tool. The effect has not happened; it only happens once a person approves.

Who is in charge. First the supervisor of the team member (the first human in the chain). They get a notification and their approvals are at the top (You are in charge). Everyone holding the right in the brand may see and decide. If an approval is left lying, a reminder follows after a few hours, after a day it goes to the next supervisor (Passed on) — an administrator sets the periods (ai.staff.approval_reminder_hours, ai.staff.approval_escalation_hours).

Review. The details show what it is about, the preview, the team member's reasoning, the address for a new recipient and, for outbound messages, the AI notice they go out with.

Decide.

  • Approve — the effect runs immediately, as the AI team member: with its rights and its AI notice. The

result is then shown on the approval; if the effect fails (missing right, channel off), the reason is shown there.

  • Change and approve — the text fields of the proposal (subject, text, …) can be changed first. The

difference stays on the approval field by field.

  • Reject — with a mandatory reason. The effect stays out, a waiting run ends, and the team member reads

the reason next time.

  • From now on without asking — approves and sets the permission for this effect and this tool to *On its

own*. You additionally need Manage AI team members; for a waiting run the option does not exist. Recipient protection remains: the team member still only writes to new recipients with an approval.

Every decision stays on the record — unchanged, changed with the difference or rejected with the reason. The team member learns from it, and it counts towards its track record: after 25 unchanged approvals in a row the proposal follows that it may do this action itself from now on (AI team, Growing autonomy).

Spot check for review. Above the list is what AI team members did independently and what was drawn as a spot check (default 10 % per area, with a good track record down to 2 %) — yours first (You are responsible). Fine sends ok = yes; Object requires a reason (reason). Both are learning material; two objections or other contradictions within 30 days automatically set the permission back to With approval. The spot check notification opens this tab.

Fields in detail

The What it does column answers what changes in the system — not what the field is called. The grey name behind it is the API field.

FieldValues / formatWhat it does
Waiting since waitingSincetimestampWhen the agent stopped. Determines the order of the list.
Conversation threadTitletextWhich conversation the proposal came from; below it the agent that made it.
Tool tooltechnical nameWhat the agent wants to work with, for example invoke_operation for an API call.
What should happen previewtext, multilineThe change field by field, already redacted.
Rationale rationaletextWhy the model proposes this step. Empty if it supplied none.

Settings & permissions

The inbox has no permission of its own and cannot be granted or revoked. That is deliberate: everyone sees only their own waiting actions, and the cut sits in the API. An extra permission would only have locked your own inbox, never opened somebody else's.

What puts an action into the inbox at all is the autonomy level of the agent (Settings → AI settings → Agents):

LevelEffect
Advisory onlyThe agent has no tools. A waiting action never occurs.
With confirmationThe normal case. Every write action lands here and waits.
Without confirmationThe agent writes immediately. Nothing shows up in the inbox. This level requires platform.assistant.manage and is explicitly the decision to waive approval.

Approved actions run under your user identity but are marked ai in the audit log. Your own permissions still apply unchanged: what you could not do yourself, the agent cannot do with your approval either.

Limits and pitfalls

An approval takes effect exactly once. If you keep the inbox open in two windows and decide the same action twice, the second window reports that it has already been decided. That is not a bug, it is the replay protection.

The permission to approve is created at the moment you decide. It is not stored but issued fresh on the click and re-checked in the process. If the tool has been taken away from the agent in the meantime, the old proposal can no longer be approved — even if it is still in the list. That is intended.

**An agent set to without confirmation does not appear here.** That level is explicitly the decision to waive approval; it is granted in the AI settings and requires its own permission. If you find the inbox empty while agents are working, look there.

The inbox does not replace the audit log. It shows what has not happened yet. What has already happened — by humans, agents and automations — is in the audit log, and the runs themselves are in the run overview.

FAQ & troubleshooting

The inbox is empty although an agent was just working. Then the agent was either set to without confirmation — it wrote directly — or it only read. What actually happened is in the run overview.

"This action has already been decided." You have the inbox open in two windows, or a colleague was faster. The message is the replay protection: an approval takes effect exactly once. The list refreshes itself afterwards.

"The confirmation is invalid or has expired." The tool the agent wanted to use has been taken away from it in the meantime, or it is no longer in the catalogue. The old proposal can then no longer be approved — reject it and set the task again.

I see a waiting action but do not understand the preview. The preview uses technical field names because it comes straight from the write operation and is not translated afterwards — a translated preview would be a second truth. Open conversation gets you to the surrounding dialogue.

Can I undo an approved action? Not from the inbox. What the change was, including old and new value, is in the audit log; reverting it happens where the record is maintained.

platform.approvals · Available from version 0.6.80