Skip to main content

Permissions

Access to items follows two layers: the team role of the user, and the help agent visibility of each item type.

Team roles

Every team role grants a specific level of access to item data: See Team roles and permissions for the full matrix across all platform resources.

Help agent visibility

Team-role access doesn’t automatically grant access to the Help Desk Agent. Each item type has its own visibility setting that decides what the agent can read at runtime: Set None for sensitive types (compensation, security audit logs) that should never reach the agent, even if a Builder has otherwise granted broad access. Set Always for catalog and reference data the agent might need across requests.

Editing items from workflows

Workflows run with the permissions of their owning team. A workflow exposed to the Help Desk effectively gives end users access to whatever it touches.
A workflow can read and write any item in its team regardless of the calling user’s role. Audit any workflow that writes to a sensitive item type before publishing.

History and provenance

When a field value changes, Serval records the change in field value history. Each change creates a new history entry; the prior value is kept as a deleted row. History captures:
  • What changed. The field, the new value, and (by comparing earlier entries for the same field) the previous value.
  • Who changed it. A user (manual edits via UI or API), or an ingestion source (shown as the connected app instance). Workflow runs aren’t recorded on individual field history entries.
  • When. Timestamp of the write.
Unchanged rewrites don’t create new history entries. History is per field, retained indefinitely, and queryable in the item activity tab and via the API (ListEntityFieldValueHistory).

Reading history in the UI

Open any item and click Field History in the side panel. Each row is one change to one field. Filter by field to trace a single value’s lineage, or by author to see what a workflow has been writing.

Reading history from workflows

You can build workflows to read field history programmatically. The common use cases:
  • Alert on field change. A scheduled workflow reads recent history for an item and notifies users when it changes.
  • Debug a stale value. Walk back through history to see which source last wrote the field and when. Useful when a sync isn’t refreshing what you expected.
  • Provenance reports. List every value on a sensitive field along with its source, for compliance audits.

Provenance and source of truth

Each value carries the identity of whoever wrote it. For fields with multiple ingestion mappings, history shows which source won at each write. This is the audit-grade answer to “where did this number come from?” for finance and compliance teams.

Deletion and archiving

Removing data falls into three operations, each with different recovery characteristics.

Delete an item

Open the item and click Delete to remove it immediately. History is retained for audit. If the item is fed by an ingestion config, the next sync will recreate it. Either disable the source mapping, change the source data to make the deletion persist.

Delete items in bulk

To remove every item matching a filter, use a workflow that searches and deletes. The list view doesn’t expose bulk delete by default, to avoid accidents. For bulk archive (marked as inactive without deleting), add a status field to the item type and set affected items to a terminal state. Most teams prefer this over hard delete because it preserves history and references from tickets and workflows.

Delete missing items vs. manual deletions

The Delete missing items toggle on an ingestion config controls whether deletions at the source cause Serval to delete the corresponding item. Hand-deleting an item is independent of this: it removes the item from Serval, regardless of whether the source still has it. See Ingestion.

Delete an item type

Deleting an item type also deletes all of its child types. The items themselves aren’t permanently removed. Instead, they stay hidden from queries, but are kept for audit. You can’t recover a deleted item type through the API. Before deleting an item type, check for:
  • Any workflow that reads or writes it. The workflow will fail on its next run.
  • Any skill that references it. The agent will fail to resolve the reference.
  • Any custom ticket field or catalog item that uses it as the reference target.
  • Any other item type with reference fields pointing at it.
See Schema design.

Delete a field

Removes the field from the type and by default from every descendant that inherits it.

What’s next

Team roles and permissions

The full role matrix across all platform resources.

Help agent visibility

Configure what the Help Desk Agent can read.

Schema design

Add, evolve, and delete item types and fields.

Ingestion deletions

How deletions propagate from external sources.