Helpdesk migration
Field-level mapping, validation, and rollback between Foqal and Zendesk. We move data and schema; workflows are rebuilt natively in Zendesk.
Foqal
Source
Zendesk
Destination
Compatibility
4 of 10
objects map 1:1 between Foqal and Zendesk.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Foqal to Zendesk requires translating a Slack and Teams-native conversational ticketing model into Zendesk's traditional portal-based ticket structure. Foqal organizes support as channel threads with message-level chronology; Zendesk uses Tickets with ordered Comments. We preserve the full conversation history by extracting each message from Foqal's GraphQL API and inserting it as a Zendesk Comment with the original timestamp and author attribution. Foqal's agent records map to Zendesk Users, and Foqal Teams map to Zendesk Groups with group-level SLA assignments. Automation rules (routing, approvals, SLA triggers) stored as configuration in Foqal are not first-class API objects and cannot be migrated programmatically; we export the rule definitions and deliver a written inventory for recreation in Zendesk. Custom Objects migrate as Zendesk Custom Objects only on Enterprise plans. Reports and Metrics in Foqal are query-computed and not exportable as standalone objects.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Foqal 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.
Foqal
Ticket
Zendesk
Ticket
1:1Foqal Tickets map directly to Zendesk Tickets. The Foqal ticket ID is preserved as a custom field zendesk_ticket_migration_src_id for cross-referencing. Status, priority, assignee, and timestamps transfer directly. We use Zendesk's /imports/tickets endpoint for historical tickets to avoid triggering automations and email notifications during the load phase.
Foqal
Conversation
Zendesk
Comment
1:manyFoqal Conversation messages attached to a ticket are extracted from the GraphQL API response and merged into Zendesk Comments on the corresponding ticket. Each Comment preserves the original author (resolved to a Zendesk User), the message body, the timestamp, and whether the message is public or internal. Threading order is maintained by sorting on the original Foqal timestamp before inserting. Attachments referenced in Foqal messages are downloaded and re-uploaded to Zendesk as ticket comments.
Foqal
Agent
Zendesk
User
1:1Foqal agent records (name, email, role, team assignment) map to Zendesk User records. The Foqal agent ID is stored on the Zendesk User as a custom field foqal_agent_id__c. We resolve agents by email match against the Zendesk user table. Agents on Foqal's Free plan who are inactive or archived are flagged during scoping; the customer decides whether to provision them as Zendesk end users or inactive-only records for historical attribution.
Foqal
Team
Zendesk
Group
1:1Foqal Teams map to Zendesk Groups. Team membership (agents assigned to a team) is preserved as Group membership in Zendesk. If the Foqal team has an associated SLA policy, we document the SLA assignment for manual recreation as a Zendesk SLA Policy attached to the corresponding Group. Team-level routing rules are captured in the automation inventory, not migrated directly.
Foqal
SLA Policy
Zendesk
SLA Policy
lossyFoqal SLA configurations (TTFR targets, wait times, tier definitions) are exported as structured settings. We map these to Zendesk SLA Policies, which are attached to Zendesk Groups rather than Teams. The customer configures the SLA attachment to Groups during the migration handoff. Zendesk SLA Policies support First Reply Time and Next Reply Time metrics matching Foqal's tier structure.
Foqal
Workflow
Zendesk
Trigger and Macro (documentation only)
lossyFoqal automation rules (routing, approvals, SLA triggers) are configuration-level records not exposed as queryable API objects. We export available workflow definitions from Foqal's UI-level settings where accessible and deliver a written inventory of each automation with its trigger, conditions, actions, and a recommended Zendesk Trigger or Macro equivalent. Zendesk Triggers and Macros are rebuilt by the customer's admin post-migration; we do not migrate them as executable code.
Foqal
ApprovalRequest
Zendesk
Ticket (with custom fields)
1:1Foqal ApprovalRequest objects use a URN identifier format and are referenced by workflow approval chains. We extract the ApprovalRequest URN and the related ticket context, then document the approval chain structure. In Zendesk, approval workflows require rebuilding using business rules, custom fields, or a third-party app from the Zendesk Marketplace; there is no native approval object equivalent.
Foqal
Integration (HubSpot sync)
Zendesk
Zendesk native sync or third-party connector (reconfiguration)
lossyFoqal's HubSpot bidirectional sync maintains relationships between Companies, Deals, Contacts, and ticket context. These relationships are documented as connection maps with source record IDs preserved in custom fields on the migrated tickets. The customer reconfigures HubSpot-to-Zendesk sync post-migration using Zendesk's native HubSpot integration or a certified connector from the Zendesk Marketplace.
Foqal
Custom integrations (Jira, ServiceNow)
Zendesk
Zendesk integration setup (reconfiguration)
lossyFoqal Jira and ServiceNow connections store ticket-linked external references. We preserve the external system ticket ID as a custom field on the migrated Zendesk ticket for cross-referencing. The customer rebuilds the integration using Zendesk's standard integration framework for each target system.
Foqal
Reports and Metrics
Zendesk
Explore dashboards (rebuild)
lossyFoqal productivity and CSAT reports are computed from ticket data at query time and are not exportable as standalone data objects. Historical ticket data migrates to Zendesk with full metadata, enabling the customer to rebuild equivalent reports in Zendesk Explore using the same underlying fields. We deliver a written mapping of each Foqal report metric to its Zendesk Explore equivalent for the customer's admin to configure.
| Foqal | Zendesk | Compatibility | |
|---|---|---|---|
| Ticket | Ticket1:1 | Fully supported | |
| Conversation | Comment1:many | Fully supported | |
| Agent | User1:1 | Fully supported | |
| Team | Group1:1 | Fully supported | |
| SLA Policy | SLA Policylossy | Fully supported | |
| Workflow | Trigger and Macro (documentation only)lossy | Fully supported | |
| ApprovalRequest | Ticket (with custom fields)1:1 | Fully supported | |
| Integration (HubSpot sync) | Zendesk native sync or third-party connector (reconfiguration)lossy | Fully supported | |
| Custom integrations (Jira, ServiceNow) | Zendesk integration setup (reconfiguration)lossy | Fully supported | |
| Reports and Metrics | Explore dashboards (rebuild)lossy | Not supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Foqal gotchas
Import from Zendesk and HappyFox requires manual arrangement
Workflow automation rules are not first-class API objects
Free plan severely limits agent seats and features
Origin header requirement blocks cross-origin API access
Zendesk gotchas
Data export requires API scripting on non-Enterprise plans
Automations cap at 500 active rules and 1,000 tickets per hour
Help Center has no native export feature
Custom Objects and full data export are Enterprise-only
Pair-specific challenges
Migration approach
Discovery and plan-tier confirmation
We audit the Foqal instance: active agent count and plan tier (Free, Premium, or Enterprise), total ticket volume, average conversation depth per ticket, SLA policy count, workflow rule count, and integration connections (HubSpot, Jira, ServiceNow). We also confirm the target Zendesk plan tier, which determines whether Custom Objects are available. The discovery output is a written scope with object counts, a migration object-mapping document, and a Zendesk plan-tier recommendation if Enterprise features are required for custom data structures.
Credential and API access setup
We receive Foqal API credentials from the customer (Bearer token from Settings > Users) and confirm the subdomain for Origin header injection. We create a Zendesk API token and confirm the destination subdomain. We validate read access to the Foqal GraphQL endpoint and write access to the Zendesk REST API before extracting any data. If the customer uses Zendesk Sandbox for pre-production validation, we configure the sandbox subdomain in parallel.
Foqal data extraction in dependency order
We extract Foqal data in reverse dependency order: Agents and Teams first (required for author attribution), then SLA Policies, then Workflow definitions (for documentation), then Tickets with full conversation threads. Conversation messages are fetched per-ticket from the GraphQL response and reconstructed into a flat comment array with author, timestamp, body, and visibility flag. Attachments referenced in messages are downloaded to local storage with reference preservation. All extractions use paginated queries with conservative pacing to avoid undocumented throttling.
Zendesk schema pre-configuration and user provisioning
Before any ticket import, we configure the Zendesk destination: Groups created to match Foqal Teams, SLA Policies created to match Foqal SLA definitions, User fields created for foqal_agent_id__c and zendesk_ticket_migration_src_id, and any Ticket custom fields required to hold Foqal metadata. The customer's Zendesk admin provisions the agent Users that correspond to the extracted Foqal agents. We validate that all Foqal agents have matching Zendesk Users before proceeding to ticket import.
Sandbox migration and reconciliation
We run a full migration into the Zendesk Sandbox (or a parallel non-production environment) using the complete extracted dataset. The customer reconciles record counts, spot-checks 25-50 random tickets for conversation completeness, attachment integrity, author attribution, and timestamp ordering. SLA policy attachments to Groups are validated. Any mapping corrections (field type mismatches, author resolution failures, attachment link breaks) are resolved before the production migration begins.
Production migration and cutover
We freeze Foqal writes during the cutover window and run a final delta extraction for any tickets modified during the sandbox phase. Tickets are imported into Zendesk using the /imports/tickets endpoint to suppress automation triggers and outbound notifications during the load. Comments are inserted in timestamp order immediately after each ticket. We run row-count reconciliation for tickets, comments, and attachments before declaring the migration complete. We deliver the Workflow inventory document and SLA configuration guide to the customer's Zendesk admin. We support a one-week hypercare window for reconciliation issues raised during the first days of Zendesk production use.
Platform deep dives
Foqal
Source
Strengths
Weaknesses
Zendesk
Destination
Strengths
Weaknesses
Complexity grading
Standard Helpdesk migration. All 7 core objects map 1:1 between Foqal and Zendesk.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Foqal and Zendesk.
Object compatibility
All 7 core objects map 1:1 between Foqal and Zendesk.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
7-object category — typical timelines run 2–7 days end-to-end.
API constraints
Foqal: Not publicly documented.
Data volume sensitivity
Foqal doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Foqal to Zendesk migration scoping. Not seeing yours? Book a call.
Walk through your Foqal to Zendesk migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Foqal
Other ways to arrive at Zendesk
Same-Helpdesk migrations
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.