Helpdesk migration

Migrate from Seraph to Zendesk

Field-level mapping, validation, and rollback between Seraph and Zendesk. We move data and schema; workflows are rebuilt natively in Zendesk.

Seraph logo

Seraph

Source

Zendesk

Destination

Zendesk logo

Compatibility

58%

7 of 12

objects map 1:1 between Seraph and Zendesk.

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Seraph is an open-source PHP-based helpdesk platform built for IT support companies that need to track onsite visits and billing alongside tickets. It has no public API documented for automated export, no native multi-channel support, and no built-in knowledge base. Zendesk is a cloud-native customer service platform that organizes support around Tickets, Users, Organizations, and Views with multi-channel routing across email, chat, voice, and social. The structural differences between these platforms are significant: Seraph stores IT-company-specific fields (onsite visits, billing rates, contract tracking) that have no Zendesk equivalent, and Seraph has no documented REST API for bulk record extraction, which makes direct API migration impossible without a custom export layer built by Seraph or a third-party scraping tool. We work around this by building a custom JSON export pipeline from Seraph's MySQL database or file-based storage, then mapping that structure into Zendesk's REST API and applying custom field type translation. Workflows, automations, and billing configurations do not migrate; we deliver a written inventory of every Seraph automation and IT-company-specific field requiring manual rebuild in Zendesk.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Seraph logo

Seraph

What's pushing teams away

  • Self-hosting on the Basic tier requires the customer to manage infrastructure, backups, security patches, and uptime.
  • Premium tier (£299/month) is needed for full technical support and customisation — smaller teams may find that gap steep.
  • No public API documentation surfaced on seraphhelpdesk.com.
  • Small customer base relative to mainstream helpdesks (Freshdesk, Zendesk, Help Scout) — limited third-party benchmarking.
  • Customers scaling beyond the Premium tier or needing global multi-region deployment typically migrate to enterprise helpdesks.

Choosing

Zendesk logo

Zendesk

What's pulling them in

  • Mature omnichannel routing across email, chat, phone, messaging, and social — one unified inbox for support teams regardless of size or complexity.
  • Deep automation with Triggers, Automations, and SLA Policies lets high-volume teams enforce consistent workflows without manual ticket handling.
  • Large ecosystem of third-party integrations and a public app marketplace reduce friction for teams already using Salesforce, Jira, or Slack.
  • Industry-leading brand recognition and trust signal — many enterprise buyers default to Zendesk as a known quantity in vendor procurement cycles.
  • Generous documentation library and community mean onboarding teams can self-configure without needing a services engagement to get started.

Object mapping

How Seraph objects map to Zendesk

Each row shows how a Seraph object lands in Zendesk, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

Seraph

Ticket

maps to

Zendesk

Ticket

1:1
Fully supported

Seraph tickets map to Zendesk tickets with the subject, description, status, priority, and created/updated timestamps preserved. Seraph's internal ticket IDs are stored in a custom field seraph_original_id__c for cross-reference. If Seraph uses MySQL datetime columns for timestamps, we convert to Unix epoch before writing to Zendesk's ISO 8601 fields.

Seraph

User (agent)

maps to

Zendesk

User (agent)

1:1
Fully supported

Seraph agent accounts map to Zendesk agent profiles. We match by email address as the dedupe key. Any Seraph agent without a matching Zendesk user is placed in a reconciliation queue for the customer's Zendesk admin to provision before the agent import phase begins.

Seraph

User (end-user / requester)

maps to

Zendesk

End User

1:1
Fully supported

Seraph end-user accounts map to Zendesk end-user profiles in the users endpoint. Email address is the dedupe key. If Seraph stores user data across multiple tables (a common pattern in Laravel-based applications), we join on the user_id foreign key before writing to Zendesk.

Seraph

Organization

maps to

Zendesk

Organization

1:1
Fully supported

Seraph organizations (company records tied to tickets) map to Zendesk Organizations. Organization name becomes the Organization name field, and domain-based matching is applied post-import if Seraph stores domain data in the organization record.

Seraph

Comment

maps to

Zendesk

Comment

1:1
Fully supported

Seraph ticket comments map to Zendesk ticket comments. We identify public versus private comments using Seraph's visibility column and set the public boolean on the Zendesk Comment API payload accordingly. Comment ordering is preserved by timestamp.

Seraph

Attachment

maps to

Zendesk

Attachment

1:1
Fully supported

File attachments stored in Seraph's file directory or database blob columns migrate as Zendesk ticket attachments via the Attachments API. We extract the file name, MIME type, and binary content and POST each to the Zendesk Attachments endpoint before linking to the target ticket comment.

Seraph

Tag

maps to

Zendesk

Tag

1:1
Fully supported

Seraph tags attached to tickets migrate to Zendesk tags. Zendesk applies a tag limit policy (maximum tags per ticket varies by plan), so we flag any ticket with more than 50 Seraph tags for customer review before import.

Seraph

Custom Field (dropdown / single-select)

maps to

Zendesk

Custom Field (dropdown)

lossy
Fully supported

Seraph MySQL columns with ENUM or VARCHAR-backed choice fields map to Zendesk dropdown custom fields. We pre-create the Zendesk custom field with the exact option labels from Seraph before importing any ticket records. Option ordering is preserved when Seraph stores ordinal position.

Seraph

Custom Field (checkbox / boolean)

maps to

Zendesk

Custom Field (checkbox)

lossy
Fully supported

Seraph boolean columns or TINYINT(1) fields map to Zendesk checkbox custom fields. We map 1/true/yes to checked and 0/false/no to unchecked.

Seraph

Custom Field (numeric / billing rate)

maps to

Zendesk

Custom Field (numeric)

lossy
Fully supported

Seraph numeric columns used for billing rates, contract values, or hour tracking map to Zendesk numeric custom fields. Zendesk numeric fields have no length restriction, which accommodates billing and contract data without truncation.

Seraph

Onsite Visit Record

maps to

Zendesk

Custom Object or Ticket Comment

many:1
Fully supported

Seraph onsite visit records (location, scheduled time, assigned technician, visit outcome, and billing hours) are Seraph-specific with no Zendesk native equivalent. We migrate these as structured data merged into the parent ticket as internal comments with a standard prefix (e.g., [ONSITE VISIT DATA]:) and a custom Zendesk field set capturing the key visit metadata. The customer's Zendesk admin decides whether to keep this structure or replace it with a Service Hub field service integration post-migration.

Seraph

Billing / Contract Record

maps to

Zendesk

Custom Field + Ticket Comment

many:1
Fully supported

Seraph billing and contract tracking fields (hourly rate, contract type, billing status, invoice reference) are IT-company-specific and have no Zendesk standard object. We merge these into the Zendesk ticket as a structured internal comment and optionally create Zendesk custom fields for the customer's admin to configure. We do not create a separate billing module in Zendesk; this data is preserved as a structured handoff for the customer's admin to handle.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

Seraph logo

Seraph gotchas

High

Self-hosted extraction depends on customer-controlled database

Medium

Managed-hosted (Standard/Premium) customers extract through vendor

High

No public API or developer portal

Zendesk logo

Zendesk gotchas

High

Data export requires API scripting on non-Enterprise plans

Medium

Automations cap at 500 active rules and 1,000 tickets per hour

Medium

Help Center has no native export feature

High

Custom Objects and full data export are Enterprise-only

Pair-specific challenges

  • Seraph has no documented REST API for automated bulk export

    Unlike Zendesk, which provides a comprehensive REST API and Bulk API 2.0, Seraph does not have a publicly documented API for bulk record extraction. Most Seraph instances are built on Laravel and MySQL, meaning the migration requires a custom database export pipeline. We connect directly to the Seraph MySQL database (read-only), extract records in ordered batches, transform them to Zendesk-compatible JSON, and then import via the Zendesk API. If the Seraph instance uses file-based storage or a non-standard schema, the extraction script requires custom development before migration can proceed.

  • Onsite visit and billing data are Seraph-specific and require manual rebuild

    Seraph is designed for IT support companies tracking onsite visits, technician assignments, and billing rates alongside tickets. Zendesk has no native field service or billing module at the Suite Team, Suite Growth, or Suite Professional tiers without adding Service Hub. We preserve onsite visit metadata as structured internal comments and optional custom fields, but we do not create a Service Hub-equivalent structure. The customer's admin receives a written field inventory of every Seraph-specific billing and visit field requiring rebuild or replacement in Zendesk Service Hub or a third-party field service tool.

  • Custom field type mapping from MySQL to Zendesk must be explicit

    Seraph stores custom field data as raw MySQL columns (VARCHAR, TEXT, TINYINT, DECIMAL, DATE) without enforced field type semantics. Zendesk enforces custom field types at the API level. If a Seraph VARCHAR column contains a date string, it must be mapped to a Zendesk date field, not a text field, to preserve sorting and filtering behavior. We audit the Seraph MySQL schema before migration, classify each column by content type using a sample of non-null values, and create the corresponding Zendesk custom field before importing any records. Skipping this step results in Zendesk rejecting records with type-mismatched payloads.

  • Seraph deleted records are not recoverable in Zendesk

    If Seraph uses hard deletes in MySQL (permanent row deletion rather than a soft-delete flag column), any tickets, users, or comments removed in Seraph cannot be included in the migration. We recommend auditing the Seraph database for soft-delete patterns before scoping. Zendesk retains deleted ticket IDs for 90 days after permanent deletion via its own API, but this does not apply to records deleted from Seraph before migration begins. We do not attempt to recover hard-deleted records from Seraph.

Migration approach

Six steps for a successful Seraph to Zendesk data migration

  1. Database schema audit and custom export pipeline build

    We connect read-only to the Seraph MySQL database and audit the full schema, including every table, column type, foreign key relationship, and soft-delete pattern. We build a custom PHP or Python export script that extracts records in ordered batches (ordered by primary key or created_at timestamp), joins across related tables (users, tickets, comments, organizations, attachments), and emits Zendesk-compatible JSON. If Seraph stores files on disk rather than in the database, we map file paths to ticket IDs and prepare them for the Zendesk Attachments API.

  2. Zendesk environment setup and custom field creation

    We configure the Zendesk target environment before any data import. This includes provisioning agent and admin accounts, creating the Organization structure, setting up Views and ticket field configurations, and pre-creating every custom field with the correct Zendesk field type matched from the Seraph MySQL schema audit. We disable Zendesk triggers, automations, and SLA policies during the migration window to prevent unwanted customer notifications or ticket routing during import.

  3. Sandbox test migration and reconciliation

    We run a full test migration into the Zendesk Sandbox (or a trial environment) using a representative data sample of at least 500 records per object type. The customer's Zendesk admin reconciles record counts, spot-checks 25-50 records against the Seraph source for accuracy, and validates that custom field values, timestamps, and comment threading are intact. We correct any mapping errors identified during sandbox testing before production migration begins.

  4. User and Organization migration with dedupe

    We migrate Seraph agents to Zendesk agents (matching by email address) and Seraph end-users to Zendesk end-users. Organizations are migrated next using the organization name as the dedupe key. Any Seraph user without a matching Zendesk user email goes to a reconciliation queue. Owner assignments on tickets are resolved at this stage by mapping the Seraph user ID to the newly created Zendesk agent user ID.

  5. Ticket and comment migration in dependency order

    Tickets are migrated first (without comments), followed by comments (linked to the pre-created ticket IDs), followed by attachments (linked to the pre-created comment IDs). We process tickets in batches of 100 via the Zendesk REST API, applying exponential backoff on 429 rate-limit responses. Timestamp fields are normalized from Seraph MySQL DATETIME to Unix epoch and then to ISO 8601 strings compatible with Zendesk.

  6. Seraph-specific field handoff and cutover

    We migrate onsite visit metadata and billing field data as structured internal comments on the parent ticket, with the key values also captured in Zendesk custom fields created during the setup phase. We deliver a written inventory document listing every Seraph-specific field, its current value in Zendesk, and a recommendation for whether to keep it as a custom field, move it to a Service Hub field service module, or archive it. We freeze writes to Seraph, run a final delta migration of any records modified during the migration window, then enable Zendesk as the system of record.

Platform deep dives

Context on both ends of the pair

Seraph logo

Seraph

Source

Strengths

  • Free self-hosted Basic tier removes licensing cost.
  • 20-year vendor history with bundled helpdesk, credit control, HR, and analytics features.
  • Three tiers with clear positioning across team sizes.
  • Open-source posture allows code-level customisation by capable customers.
  • Managed hosting available at the £50/month Standard tier.

Weaknesses

  • Self-hosting on Basic tier requires meaningful IT effort.
  • Premium support level requires £299/month commitment.
  • No public API documentation.
  • Small customer base limits independent reviewer corpus.
  • UK-centric — overseas customers find limited regional support.
Zendesk logo

Zendesk

Destination

Strengths

  • Well-documented REST API with broad endpoint coverage for Tickets, Users, Organizations, and Help Center.
  • Rich automation primitives: Triggers (event-driven), Automations (time-based), and Macros with variable substitution.
  • Multi-brand support enables large organizations to route and isolate support by product line or subsidiary.
  • Scalable from small teams on Team plan to global enterprises on Enterprise Plus with sandbox and disaster recovery options.
  • Large partner ecosystem and marketplace with hundreds of pre-built integrations reduces integration work at deployment.

Weaknesses

  • Per-agent pricing with aggressive feature gating makes lower tiers feel artificially limited.
  • No native full-KB export — Help Center content requires API scripting to extract.
  • AI features are add-on priced and behave inconsistently, not deeply embedded in core workflows.
  • Implementation timelines for complex multi-channel setups routinely exceed initial estimates by weeks or months.
  • Knowledge base and help center functionality are separate from core ticketing with their own permission model and versioning.

Complexity grading

How hard is this migration?

Standard Helpdesk migration. All 7 core objects map 1:1 between Seraph and Zendesk.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Seraph and Zendesk.

  • Object compatibility

    A

    All 7 core objects map 1:1 between Seraph and Zendesk.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    7-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Seraph: Not publicly documented.

  • Data volume sensitivity

    B

    Seraph doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Seraph to Zendesk migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Seraph to Zendesk data migrations

Answers to the questions buyers ask most during Seraph to Zendesk migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Seraph to Zendesk migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Small migrations under 5,000 tickets with no onsite visit or billing data and fewer than 20 custom fields complete in two to four weeks. Migrations involving IT-company-specific fields, large attachment volumes, or a Seraph instance requiring a custom database export pipeline (because Seraph has no REST API) move to six to ten weeks. The most significant variable is whether we can connect to the Seraph MySQL database directly or need to build a custom extraction layer first.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Seraph.
Land in Zendesk, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day