Freshservice ticket replication is outbound only (Ravenna to Freshservice). Changes made directly in Freshservice do not sync back to Ravenna.
How ticket replication works
When replication is enabled for a channel, Ravenna automatically:- Creates tickets in Freshservice when new Ravenna tickets are created
- Syncs comments from Ravenna to Freshservice (create, edit, and delete)
- Updates status using the built-in status mapping
- Maps priority from Ravenna priority levels to Freshservice priority values
- Syncs assignee when users exist in both systems
Setup
Connect Freshservice integration
Install and configure the Freshservice integration in Settings > Integrations.
Follow the Freshservice setup guide to connect your Freshservice instance
Enable replication for a channel
Navigate to the channel where you want to enable replication:
- Open Channel Settings
- Go to Ticket Replication
- Enable replication for Freshservice
- Click Configure to set channel-specific preferences
Status mapping
Ravenna applies a fixed status mapping between Ravenna status groups and Freshservice statuses. You don’t need to configure anything — Ravenna applies the mapping automatically whenever a ticket’s status changes.| Ravenna status group | Freshservice status |
|---|---|
| Open | Open (2) |
| In Progress | Pending (3) |
| Waiting | Pending (3) |
| Done | Resolved (4) |
| Closed | Closed (5) |
Status mapping uses Ravenna’s built-in status groups rather than individual statuses, so any custom status that belongs to one of these groups syncs through the same mapping.
Priority mapping
Ravenna priority levels map to Freshservice priority values:| Ravenna priority | Freshservice priority |
|---|---|
| Low | Low (1) |
| Medium | Medium (2) |
| High | High (3) |
| Urgent | Urgent (4) |
Custom fields synchronization
Custom fields from Ravenna tickets sync to Freshservice as formatted HTML comments on the linked ticket. This ensures your custom field data is visible in Freshservice without requiring native custom field configuration. How it works:- When a ticket with custom fields is replicated to Freshservice, a comment is created with a formatted table showing all custom field values
- When custom fields are updated in Ravenna, the comment in Freshservice is automatically updated
- The comment displays as a formatted HTML table with field names and values
Custom field synchronization is one-way (Ravenna to Freshservice). Changes to the comment in Freshservice do not sync back to Ravenna.
What syncs
Automatically synced (Ravenna to Freshservice):- Ticket creation
- Comments (create, edit, and delete)
- Status changes (using the built-in status mapping)
- Priority updates
- Assignee changes (when users exist in both systems)
- Custom fields (synced as formatted HTML comments)
- Changes from Freshservice back to Ravenna
- Attachments
- Ticket history and audit logs
Empty title and description fallbacks
If a Ravenna ticket is replicated to Freshservice without a title or description, the integration substitutes placeholder values so Freshservice’s required fields are always populated:- Missing title (and subject) →
Empty title - Missing description →
Empty description
Troubleshooting
Tickets not syncing:- Verify the integration is connected in Settings > Integrations
- Check that replication is enabled for the channel
- Ensure the Freshservice domain is correct
- Confirm the Ravenna status belongs to one of the mapped status groups (Open, In Progress, Waiting, Done, Closed)
- Check that the mapped status code (2, 3, 4, or 5) is enabled in your Freshservice instance
- Confirm the issue type supports the status transition
- Comments sync with a short delay
- Check that the Freshservice ticket is linked to the Ravenna ticket
- Verify the integration connection is active
- The user must exist in Freshservice as an agent
- Ravenna matches users by email address
- If a user is not found in Freshservice, the assignee field is left empty
Best practices
- Test with one channel first to verify configuration before enabling across multiple channels
- Verify agent accounts exist in Freshservice for users who will be assigned tickets
- Monitor initial tickets to confirm replication, status mapping, and priority mapping work as expected