Writes
The durable audit of every write attempted through write access or create access — commits, validation failures, and refusals alike. Under Observe → Writes.
What a row shows
The log stores one row per field; the page shows one row per write, with the record name linked. Open a row for the per-field from/to detail (values as of commit time), the refusal reason, and the error text.
| Column | |
|---|---|
| Operation | update or create. Both share this log because both answer the same audit question — and a created record has no “from” value, so without this column a blank one would be ambiguous |
| Outcome | committed, refused, or failed_validation |
| Confirmation | confirmed — the write required a preview and approval · unattended — the domain allowed saving without one |
| Entity / Domain | Which contract the write resolved through, at which version |
| Surface | The tool that made the call |
| On behalf of | The calling user. Writes run as them, never as the package |
The table lists the newest 500 writes in the timeframe you pick. Two charts cover that same timeframe with every day on the axis: write requests per day stacked by outcome, and the daily success rate. Both read exact aggregates, so they stay truthful past that cap.
Reading a refusal
A refusal usually means an agent, an instruction, or the writable set needs adjusting. The reason code names which rule said no:
| Reason | Means |
|---|---|
global · domain · entity · field | The chain narrowed it at that level |
validation | A Salesforce validation rule rejected the values |
confirmation_missing | A commit arrived with no preview behind it |
confirmation_stale | The record changed after the agent proposed the edit, so the approval no longer matched it |
required | A create arrived without a value the object requires |
required_undeclared | A create failed on the platform over a field the entity never declared, so the row reads failed_validation. Retrying won’t help — see Create access |
The two confirmation_ codes mean confirmation did its job. confirmation_stale usually means somebody else edited the record between the agent’s proposal and its commit.
Notes
- Nothing in this log expires. Rows are append-only: ContextWorks writes them and never edits or deletes one, and the ContextWorks permission sets grant nobody the right to. Debug Logs is the other way round: capture runs for a short window, and you clear what it caught.
- An
unattendedrow is the audit answer for an autonomous write. The domain it came through allows saving without confirmation, and every row records which mode applied. See Write access. - Old and new values are record data, so the page is admin-only. A domain manager does not see it.
What’s next
- Write access — what agents may change, and what must be confirmed.
- Turning writes on — the how-to.