Supported Integrations
Jira Service Management
Sync issues, statuses, and comments between Serval and Jira
Zendesk
Connect Zendesk tickets with Serval for AI-powered resolution
Freshservice
Integrate Freshservice incidents and service requests
ServiceNow
Sync incidents and catalog items with ServiceNow
Salesforce
Sync Salesforce Service Cloud Cases with Serval tickets
Linear
Sync Linear issues for engineering-focused ticketing
How Syncing Works
When you connect an external ticketing system, Serval:- Creates linked tickets - Tickets created in Serval can automatically create corresponding tickets in your external system
- Syncs updates bidirectionally - Status changes, comments, and assignments sync in real-time
- Maintains references - Each ticket displays links to its counterpart in the external system
Sync settings are configured per team. Each team can connect to different external systems or projects.
Setting Up a Sync
1
Connect the integration
Navigate to Settings → Integrations and authenticate with your external ticketing system. See the integration-specific guide for setup details: Jira, Freshservice, ServiceNow, Salesforce, Linear, Zendesk.
2
Configure team mapping
In your team settings, select which external project or queue should receive tickets from this team.
3
Map ticket fields
Configure how Serval fields map to your external system:
4
Set sync direction
Choose your sync behavior:
- Serval → External: Tickets created in Serval sync to external system
- External → Serval: Tickets created externally appear in Serval
- Bidirectional: Full two-way sync
Status mapping
Status mapping controls how ticket statuses translate between Serval and the connected system. Configure it in the ticket source’s Status mapping settings. Mappings are direction-aware, so incoming and outgoing changes can map differently:- Incoming (external → Serval): the Serval status a synced ticket takes when its status changes in the external system.
- Outgoing (Serval → external): the external status Serval sets when the ticket’s status changes in Serval.
Priority mapping
Configure priority mapping in the ticket source settings to control how a ticket’s priority translates between Serval and the connected system; your mappings are honored on every connector (Jira, Zendesk, Freshservice, Linear, Salesforce, ServiceNow). Outgoing, a priority with no mapping fails the sync rather than shipping a wrong default (a priority of None is never an error); incoming, Serval applies a matching mapping and otherwise leaves the priority unchanged. With no mappings configured, each system keeps its previous default behavior.Automatic Channel Sync on Ticket Transfers
When a ticket is moved to a different team, all configured channels for the destination team automatically sync with that ticket. The ticket follows the new team’s syncing configuration — so if the destination team syncs to Jira, the transferred ticket creates a corresponding Jira issue automatically.Sync Behavior
What Syncs Automatically
Ticket creation
Ticket creation
New tickets sync based on your configured direction. The linked ticket is created within seconds.
Status updates
Status updates
When a ticket status changes in either system, the corresponding status updates in the other. Status mapping is configurable.
Comments and replies
Comments and replies
Public comments sync between systems. Internal notes remain private to each system.
Assignments
Assignments
Assignee changes sync when the user exists in both systems.
File attachments
File attachments
Files attached to messages sync with the ticket for Jira, Zendesk, Freshservice, Linear, ServiceNow, and Salesforce. Attachments on internal notes sync only where the connected system supports private attachments (Zendesk and Freshservice). Files larger than the connected system’s size limit are skipped.
What Doesn’t Sync
- Custom fields not mapped in configuration
- Internal notes and private comments
- The external system’s own workflow automations (these run independently in each system)
Running Workflows on Synced Tickets
When a ticket syncs into Serval from a connected system, it becomes a regular Serval ticket and can drive Serval automation like a native ticket. This includes tickets escalated in ServiceNow or Freshservice. You can have Serval run a workflow in response:- Event-triggered workflows: build a workflow with an event trigger, such as Ticket created, so it runs automatically when a matching ticket arrives. See workflow types.
- Escalation workflow: a team can configure a workflow to run whenever a ticket escalates.
Best Practices
Map statuses carefully
Ensure your status mappings reflect equivalent workflow stages in both systems
Use Serval as the source of truth
Let Serval handle AI triage and routing, then sync resolved tickets to your system of record
Test with a single team first
Validate your sync configuration with one team before rolling out organization-wide
Monitor sync health
Check the integration status regularly to catch any sync failures early
Troubleshooting
Tickets not syncing
Tickets not syncing
- Verify the integration is connected in Settings → Integrations
- Check that the team has sync enabled and a project/queue selected
- Ensure the user creating tickets has permission to create in the external system
Status not updating
Status not updating
- Review your status mapping configuration
- Confirm the target status exists in the external system
- Check for any workflow rules in the external system that might prevent the update
Duplicate tickets
Duplicate tickets
- Ensure you’re not creating tickets in both systems manually
- Check that sync direction is configured correctly
- Review any automation rules that might be creating tickets

