> ## 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.

# Syncing to Your Ticketing System

> Connect Serval to external ticketing tools like Jira, Zendesk, ServiceNow, and more

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

<CardGroup cols={2}>
  <Card title="Jira Service Management" icon="jira" href="/sections/integrations/jira#ticket-syncing">
    Sync issues, statuses, and comments between Serval and Jira
  </Card>

  <Card title="Zendesk" icon="z" href="/sections/integrations/zendesk">
    Connect Zendesk tickets with Serval for AI-powered resolution
  </Card>

  <Card title="Freshservice" icon="leaf" href="/sections/integrations/freshservice">
    Integrate Freshservice incidents and service requests
  </Card>

  <Card title="ServiceNow" icon="gear" href="/sections/integrations/servicenow">
    Sync incidents and catalog items with ServiceNow
  </Card>

  <Card title="Linear" icon="timeline" href="/sections/integrations/linear#ticket-syncing">
    Sync Linear issues for engineering-focused ticketing
  </Card>
</CardGroup>

***

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

<Note>
  Sync settings are configured per team. Each team can connect to different external systems or projects.
</Note>

***

## Setting Up a Sync

<Steps>
  <Step title="Connect the integration">
    Navigate to **Settings** → **Integrations** and authenticate with your external ticketing system. See the integration-specific guide for setup details: [Jira](/sections/integrations/jira#ticket-syncing), [Freshservice](/sections/integrations/freshservice), [ServiceNow](/sections/integrations/servicenow), [Linear](/sections/integrations/linear#ticket-syncing), [Zendesk](/sections/integrations/zendesk).
  </Step>

  <Step title="Configure team mapping">
    In your team settings, select which external project or queue should receive tickets from this team.
  </Step>

  <Step title="Map ticket fields">
    Configure how Serval fields map to your external system:

    | Serval Field | Maps To                            |
    | :----------- | :--------------------------------- |
    | Status       | External status (configurable)     |
    | Priority     | External priority                  |
    | Assignee     | External assignee (if user exists) |
    | Labels       | Tags or labels                     |
    | Description  | Description or body                |
  </Step>

  <Step title="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
  </Step>
</Steps>

***

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

<AccordionGroup>
  <Accordion title="Ticket creation">
    New tickets sync based on your configured direction. The linked ticket is created within seconds.
  </Accordion>

  <Accordion title="Status updates">
    When a ticket status changes in either system, the corresponding status updates in the other. Status mapping is configurable.
  </Accordion>

  <Accordion title="Comments and replies">
    Public comments sync between systems. Internal notes remain private to each system.
  </Accordion>

  <Accordion title="Assignments">
    Assignee changes sync when the user exists in both systems.
  </Accordion>
</AccordionGroup>

### What Doesn't Sync

* Custom fields not mapped in configuration
* Internal notes and private comments
* Workflow automations (these run independently in each system)

***

## Best Practices

<CardGroup cols={2}>
  <Card title="Map statuses carefully" icon="list-check">
    Ensure your status mappings reflect equivalent workflow stages in both systems
  </Card>

  <Card title="Use Serval as the source of truth" icon="database">
    Let Serval handle AI triage and routing, then sync resolved tickets to your system of record
  </Card>

  <Card title="Test with a single team first" icon="flask">
    Validate your sync configuration with one team before rolling out organization-wide
  </Card>

  <Card title="Monitor sync health" icon="heart-pulse">
    Check the integration status regularly to catch any sync failures early
  </Card>
</CardGroup>

***

## Troubleshooting

<AccordionGroup>
  <Accordion title="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
  </Accordion>

  <Accordion title="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
  </Accordion>

  <Accordion title="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
  </Accordion>
</AccordionGroup>
