Skip to main content
Ticket replication sends Ravenna tickets to Freshservice with automatic sync of comments, status, priority, and assignee changes. When you enable replication for a channel, new tickets and their updates automatically push to your Freshservice instance.
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

1

Connect Freshservice integration

Install and configure the Freshservice integration in Settings > Integrations.
Follow the Freshservice setup guide to connect your Freshservice instance
2

Enable replication for a channel

Navigate to the channel where you want to enable replication:
  1. Open Channel Settings
  2. Go to Ticket Replication
  3. Enable replication for Freshservice
  4. Click Configure to set channel-specific preferences
3

Test replication

Create a test ticket in the channel to verify replication works correctly.

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 groupFreshservice status
OpenOpen (2)
In ProgressPending (3)
WaitingPending (3)
DoneResolved (4)
ClosedClosed (5)
When Ravenna receives a Freshservice status change via webhook, it maps the value back using the reverse mapping: Open (2) → Open, Pending (3) → In Progress, Resolved (4) → Done, and Closed (5) → Closed.
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 priorityFreshservice priority
LowLow (1)
MediumMedium (2)
HighHigh (3)
UrgentUrgent (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)
Not synced:
  • 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
This prevents replication from failing when Freshservice rejects empty required fields. Update the ticket in Ravenna to push the real values to the linked Freshservice ticket.

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
Status changes not syncing:
  • 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 not appearing:
  • Comments sync with a short delay
  • Check that the Freshservice ticket is linked to the Ravenna ticket
  • Verify the integration connection is active
Assignee not mapping:
  • 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
Last modified on June 22, 2026