> ## Documentation Index
> Fetch the complete documentation index at: https://docs.serval.com/llms.txt
> Use this file to discover all available pages before exploring further.

# July 24, 2026

> Create custom roles, cync ticket attachments, trigger workflows when a ticket is assigned, and submit tickets on behalf of others.

## Highlights

* [Create custom team roles](#create-custom-team-roles)
* [Sync attachments to connected ticketing systems](#sync-attachments-to-connected-ticketing-systems)
* [Trigger workflows when a ticket is assigned](#trigger-workflows-when-a-ticket-is-assigned)
* [Submit tickets on behalf of others](#submit-tickets-on-behalf-of-others)

### Create custom team roles

Serval's built-in team roles cover most teams, but they move in a fixed ladder: each role includes everything the one below it can do. You can now define custom team roles instead, picking exactly the permissions a role should carry. Custom roles live alongside the built-in ones in the same role picker, so assigning them is no different from assigning Agent or Manager.

*For example, you can give your security team a role that views audit logs and runs access reviews without also handing them the ability to publish workflows.*

Learn more in [Custom team roles](https://docs.serval.com/sections/documentation/platform/permissions#custom-team-roles).

### Sync attachments to connected ticketing systems

Files now flow both ways between Serval and your connected ticketing systems. When a requester adds an attachment on the external system, it appears in the Serval ticket thread and is available to the Help Desk Agent; when a file is added in Serval, it is uploaded to the linked external record. Attachment sync is available for ServiceNow, Jira, Freshservice, Linear, and Zendesk.

Learn more in [Ticket syncing](/sections/documentation/ticketing/ticket-configuration/syncing).

### Trigger workflows when a ticket is assigned

Workflows can now start from a new **Ticket assigned** event. Whenever a ticket's assignee changes, Serval can kick off a workflow, so you can automate the handoffs that happen the moment work lands with a person or group.

*For example, run a workflow that posts a heads-up in a Slack channel whenever a ticket is assigned to your Network group.*

See [Workflow triggers](/sections/documentation/workflows/Run/triggers) for more.

### Submit tickets on behalf of others

Agents and delegates, such as executive assistants who are granted the permission, can now name a different requester when creating a ticket or update an existing ticket's requester. The named requester gets visibility and notifications, and the ticket shows who actually submitted it.

***

## User management

**Okta user webhooks** Okta user changes can now reach Serval within seconds through an event hook instead of waiting for the scheduled sync.

**Choose which source wins for each user field** When more than one connected source syncs the same user, you can now rank which source is authoritative for each built-in profile field, such as first name, profile photo, timezone, and deactivation status, from your Users database.

**Match access profiles on custom user fields** Access profiles can now match users by your own custom user fields, not just built-in attributes, with a new User fields condition.

**Manage and deactivate users in bulk** The Organization Settings page now separates your directory into **Users** and **Deactivated** tabs, so deactivated accounts are easy to find instead of buried among active ones. On the Users tab, admins can multi-select accounts and deactivate them in a single action.

## Help desk agent

**Customize requester follow-up messages** For every automatic follow-up and the optional closeout message, you can now choose between an AI-written message and your own custom text, complete with variables for first name, last name, full name, and email.
