Skip to main content
Serval integrates with your existing ticketing systems to provide a unified view of all requests. Sync tickets bidirectionally to keep both systems up to date without manual data entry.

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

Linear

Sync Linear issues for engineering-focused ticketing

How Syncing Works

When you connect an external ticketing system, Serval:
  1. Creates linked tickets - Tickets created in Serval can automatically create corresponding tickets in your external system
  2. Syncs updates bidirectionally - Status changes, comments, and assignments sync in real-time
  3. 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 SettingsIntegrations and authenticate with your external ticketing system. See the integration-specific guide for setup details: Jira, Freshservice, ServiceNow, 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:
Serval FieldMaps To
StatusExternal status (configurable)
PriorityExternal priority
AssigneeExternal assignee (if user exists)
LabelsTags or labels
DescriptionDescription or body
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

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

New tickets sync based on your configured direction. The linked ticket is created within seconds.
When a ticket status changes in either system, the corresponding status updates in the other. Status mapping is configurable.
Public comments sync between systems. Internal notes remain private to each system.
Assignee changes sync when the user exists in both systems.

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.
This is Serval running its own automation on the synced ticket. It’s separate from the external system’s native automations, which run independently and don’t carry over (see What Doesn’t Sync).

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

  • 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
  • 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
  • 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