Seamless Migrations

Last updated: December 18, 2025

Overview

A Seamless Migration is a way to bring over open tickets as live tickets from a source platform while preserving the underlying conversation. We call this "seamless" because it's seamless for the end user, to them it well seem as if there was no disruption to the ticket they have open while you and your team migrate over.

They don't have to do anything on their end and can continue replying to the original message thread. This means we can migrate your tickets and keep the conversation live in Pylon and bring over the relevant data associated with each ticket.

However, this approach does have some caveats, and each platform handles this differently. For certain platforms we will be able to set up an automated workflow using a script or on a call and have the migration process done automatically. For other platforms, due to the limitations in their APIs or workflows, we will need to kick off these workflows manually.

How it Works

Email

For tickets tracking an email thread, the process is fairly simple. You will send out an email (either in bulk or manually) to all open tickets and do the following two things:

CC the new Pylon Support Email to ensure the thread gets into Pylon

  1. Make sure forwarding is set up for your email - Setup Email.

  2. Add the Ticket External ID to make sure the correct information is backfilled during the data migration. Our Migration vendor will then take the following steps to backfill any metadata.

    1. Check for existing ticket: Verify if an open ticket exists on Pylon with the same body_html value [external-<source-id>] as the imported ticket.

    2. If a matching ticket is found:

      1. Update all fields of the existing Pylon ticket with data from the imported ticket.

      2. Import all private comments associated with the imported ticket to the existing Pylon ticket.

Automated Vs Manual

On some platforms we have the opportunity to automate this process by setting up workflows to automatically send out this message. It will look like the following:

Overview: This process automatically sends tickets to Pylon when marked for migration, creating a seamless handoff.

Setup Steps:

  1. Create a custom checkbox field called Send to Pylon in your source platform that will set off the webhook.

  2. Configure a webhook/action event that:

    • Adds a comment to the ticket with the external id

    • CCs your Pylon support email (e.g., support@<your-company>.usepylon.com)

  3. Create an automation trigger that fires when the checkbox is checked:

    • Calls the webhook to create the comment with Pylon CC'd

    • Tags the ticket as sent_to_pylon to prevent duplicates

How it works: When an agent checks the Send to Pylon field, the automation fires, creating a comment that imports the ticket into Pylon as a live conversation.

Slack/Teams

Bringing over tickets from Slack and Teams is fairly straightforward. To bring old tickets over to your new platform make sure that:

  1. The Pylon Bot is in the channel where the ticket was first tracked.

  2. Ticket settings are set such that the Ticket Emoji can create tickets.

  3. Find all threads currently tracked as tickets in your platform and add the ticket emoji to them.

Data Backfilling: A limitation here is that we cannot backfill the Metadata on these migrated threads as of now.

Platforms and Limitations

Zendesk

Main Article

Zendesk has the simplest seamless migration as all tickets are tracking Emails and the workflows needed to set up the seamless migration are all native to Zendesk. We have a script we run on our end which will do the following on your Zendesk instance:

Overview:

Setup Steps:

  1. Create a custom checkbox field in Zendesk called [Pylon] Send Migration Email

  2. Create a webhook that targets the Zendesk Tickets API endpoint. Configure the webhook payload to:

    • Add a comment to the ticket

    • CC your Pylon support email (e.g., support@<your-company>.usepylon.com)

  3. Create a trigger with:

    • Conditions:

      • Ticket does not have tag sent_migration_email

      • [Pylon] Send Migration Email checkbox is checked

    • Actions:

      • Notify active webhook with the configured payload

      • Add tag sent_migration_email to ticket

How it works: When an agent checks the [Pylon] Send Migration Email field, the trigger fires the webhook, which creates a comment on the Zendesk ticket and CCs Pylon. This imports the ticket into Pylon as a live conversation.

Helpscout

Main Article - Internal including the webhook address etc.

In Helpscout we have a custom Zap set up to make the seamless migration automated, similar to Zendesk. The Helpscout migration requires a more detailed setup but follows the same main beats.

Prerequisites:

  • Create a custom dropdown field in Help Scout: [Pylon] Send Migration Email with values No (default) and Yes

  • Zapier account with Help Scout integration enabled

  • Get Secret key -> Create App: Go to My Apps > Create My App, give it a name and redirect URL (can be a placeholder), and click Create. You'll get your App ID and App Secret.

Setup Steps:

  1. Our team will give you a webhook URL and copy this webhook URL

  2. In Help Scout, go to Manage → Apps → webhooks paste the callback url provided to you.

    Screenshot 2025-12-10 at 3.33.12 PM.png
  3. Event: pick a conversation update that includes custom field changes (e.g., Conversation Updated / Custom Fields Updated).

Screenshot 2025-12-10 at 3.32.30 PM.png
  1. Click save and make sure that your SE has turned the Zap on.

Jira Service Management

We currently do not have any way to migrate JSM tickets as open. Clients will need to be told that open tickets can be replied to but there is no way to CC tickets into Jira at this point.