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
Operationupdate 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
Outcomecommitted, refused, or failed_validation
Confirmationconfirmed — the write required a preview and approval · unattended — the domain allowed saving without one
Entity / DomainWhich contract the write resolved through, at which version
SurfaceThe tool that made the call
On behalf ofThe 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:

ReasonMeans
global · domain · entity · fieldThe chain narrowed it at that level
validationA Salesforce validation rule rejected the values
confirmation_missingA commit arrived with no preview behind it
confirmation_staleThe record changed after the agent proposed the edit, so the approval no longer matched it
requiredA create arrived without a value the object requires
required_undeclaredA 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 unattended row 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