One trail
Every workflow-driven connector call, every agent decision and every interactive chat tool call is persisted to the platform's audit trail. The interactive loop records at one shared point after dispatch, not per branch.
The trail carries people and AI employees under their own names, so an actor question is answerable without first establishing which kind of actor it was.
What a record carries
Beyond the call and its result:
| Field | Purpose |
|---|---|
| Model id | Which model answered |
| Prompt hash | 16-char content digest of the assembled system prompt |
| Prompt / completion tokens | Consumption |
| Cost | In the credit engine's unit |
| Latency | Wall time |
| Attempts | Distinguishes a first-attempt success from a retried one |
The prompt hash is what makes the rest comparable: two calls that behaved differently can be checked for whether they were given identical instructions.
Both execution paths
The trace is recorded on the interactive path and on the workflow path - an agent invoked as a step inside a durable orchestration, including across its schema-retry loop, and on the digital-employee bridge.
A test pins coverage, asserting the trace reaches the persisted record and mocking the storage layer instead of the recording function, so it exercises the real wiring.
Denials
A tool call refused by the gate is written with a denied status and a
reason code separating a guardrail block from a refused approval - not as an error string on a
generic row. "How often does the approval gate fire" is a query, not an estimate.
Redaction
Arguments and output pass through a redaction pipeline before persistence, so the record of an action is not itself a store of personal data.
A separate pre-dispatch rule blocks a call that would send personal data outward to a third-party channel before it runs. Recording internally and transmitting externally are handled as two mechanisms with two verdicts.
Two signals
Alongside the persisted trail there is a console-level decision trace: a lower-fidelity signal for debugging non-deterministic agent behaviour without querying the database. The persisted trail is the record; the console signal is a development aid.
Access
The trail is per organisation like the rest of this block, and reading it is an ordinary platform permission. See Built for a multi-tenant platform.