Helpdesk migration

Migrate from Foqal to Zoho Desk

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

Foqal logo

Foqal

Source

Zoho Desk

Destination

Zoho Desk logo

Compatibility

75%

9 of 12

objects map 1:1 between Foqal and Zoho Desk.

Complexity

CModerate

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Foqal to Zoho Desk is a platform-model translation, not a simple record copy. Foqal runs ticketing inside Slack and Microsoft Teams as a messaging-native layer; Zoho Desk is a traditional multi-channel helpdesk with a department-centric hierarchy, department-scoped SLAs, and a REST API that expects helpdesk-standard ticket and thread schemas. We export ticket threads from Foqal's GraphQL endpoint in paginated batches, reconstruct the conversation chronology as Zoho Desk Ticket Threads, and resolve the Foqal Teams model against Zoho Desk Departments before any records land. Approval request URNs, SLA tier definitions, and HubSpot integration relationship pointers migrate as documented references for manual recreation. Workflows and automation rules do not migrate as code; we deliver a written inventory of every active Foqal automation for Zoho Desk Blueprint and macro reconstruction by the customer's admin.

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

Foqal logo

Foqal

What's pushing teams away

  • Small vendor with limited company scale (1–10 employees) raises concerns about long-term support continuity and product roadmap stability.
  • The conversational ticketing model loses structure when migrated out — automation rules, workflow triggers, and SLA configurations are not fully portable to traditional helpdesk platforms.
  • Alternatives like Zendesk, Salesforce Service Cloud, and Zoho Desk offer more mature feature sets, larger ecosystems, and stronger enterprise-grade guarantees.
  • Rate limits and API restrictions are not publicly documented, making it difficult to plan bulk migrations or automate large-scale data exports reliably.
  • No public pricing transparency for Enterprise tier creates uncertainty for organizations that need predictable cost scaling.

Choosing

Zoho Desk logo

Zoho Desk

What's pulling them in

  • Deep Zoho ecosystem integration lets support data tie directly to CRM contacts, invoice records in Zoho Books, and custom apps built in Zoho Creator, providing a unified customer view without third-party middleware.
  • Pricing undercuts comparable platforms significantly: Enterprise at roughly $40 per agent per month versus Zendesk at comparable tiers, making it attractive for cost-sensitive teams scaling past 10 agents.
  • Blueprints and multi-level escalations allow teams to codify support workflows and enforce SLA routing automatically, reducing manual triage for mid-size support operations.
  • Multi-channel ticket ingestion unifies email, social media, live chat, and phone into a single queue view, giving agents one inbox without context-switching across channels.
  • The free tier up to 3 agents lets small teams validate the platform before committing, reducing financial risk for startups and micro-businesses evaluating help desk software.

Object mapping

How Foqal objects map to Zoho Desk

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

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

Foqal

Ticket

maps to

Zoho Desk

Ticket

1:1
Fully supported

Foqal Tickets map directly to Zoho Desk Tickets with status, priority, assignee, created time, and modified time preserved. We extract tickets from the Foqal GraphQL API using cursor-based pagination (typically 100 records per page) and insert them into Zoho Desk via the Tickets REST endpoint. The Foqal ticket channel (Slack DM, Teams channel, emoji shortcut, floating bar) is stored as a custom field foqal_channel__c to preserve origin context. Parent-child ticket splits from Foqal migrate as Zoho Desk Related Tickets.

Foqal

Conversation

maps to

Zoho Desk

Ticket Thread (Comment)

1:1
Fully supported

Foqal Conversation messages map to Zoho Desk Ticket Comments. Each message carries author attribution, timestamp, message body, and direction (Agent or Customer). We reconstruct the thread chronology by ordering on Foqal's createdAt timestamp and inserting as Zoho Desk Comments with the IsPublic flag set to true for customer-visible messages and false for internal notes. Foqal's internal-agent comments map to Zoho Desk Internal Notes. Thread direction (Incoming vs Outgoing) from Foqal maps to Zoho Desk Comment Direction.

Foqal

Agent

maps to

Zoho Desk

Agent (User)

1:1
Fully supported

Foqal Agents map to Zoho Desk Agents (agent-level user profiles). We resolve by email address: if a Zoho Desk user with the matching email already exists, we associate the migrated ticket's assignee to that user; if not, we create the agent profile via the Users API before ticket import. Agent role (Admin, Agent) and team membership are translated to Zoho Desk Role and Department assignment. Foqal Free-plan agents with archived tickets are flagged for reconciliation during scoping.

Foqal

Team

maps to

Zoho Desk

Department

lossy
Fully supported

Foqal Teams map to Zoho Desk Departments, which are the primary organizational unit in Zoho Desk. Team membership and team-level SLA ownership translate to Department-scoped agents and Department-linked SLA policies. We create Zoho Desk Departments during the schema phase, map team names to department names, and configure the department-to-agent assignments after user provisioning but before ticket import so that ticket assignment rules resolve correctly.

Foqal

SLA Policy

maps to

Zoho Desk

Service Level Agreement

lossy
Fully supported

Foqal SLA tier definitions (TTFR, wait times, Enterprise/Premium/Free tier differentiation) map to Zoho Desk SLA records. Each Foqal SLA maps to a Zoho Desk SLA with First Response Time and Resolution Time thresholds per priority level. We export the SLA policy definitions from Foqal settings during discovery, then create corresponding Zoho Desk SLAs linked to the target Department. Priority mapping (Urgent, High, Medium, Low) is preserved between platforms.

Foqal

Approval Request

maps to

Zoho Desk

Custom Record (manual rebuild required)

1:1
Fully supported

Foqal ApprovalRequest objects use a URN identifier format (ApprovalRequestUrn) that is referenced by workflow approval chains. Zoho Desk does not have a native Approval Request object. We export the URN values and associate them with the related ticket as a custom field foqal_approval_urn__c for audit traceability, and we document the approval chain logic (approver, threshold, escalation) in the automation inventory so the customer's admin can recreate it as a Zoho Desk Blueprint approval step or a custom Zoho Creator application.

Foqal

HubSpot Integration (linked records)

maps to

Zoho Desk

Custom Field (lookup reference)

1:1
Fully supported

Foqal's native HubSpot sync creates linked references to Companies, Deals, Contacts, and Notes inside the Foqal ticket context. We capture the HubSpot record IDs and URL references as custom fields on the migrated Zoho Desk ticket (foqal_hubspot_company_id__c, foqal_hubspot_contact_id__c, foqal_hubspot_deal_id__c) rather than migrating the third-party records themselves. If the customer continues using HubSpot post-migration, they configure the Zoho Desk HubSpot integration separately; if they migrate HubSpot to Zoho CRM, that is a separate engagement.

Foqal

Workflow

maps to

Zoho Desk

Blueprint / Workflow Rule (documented, manual rebuild)

lossy
Fully supported

Foqal automation rules (routing triggers, SLA-based escalations, approval chains) are configuration-level settings not exposed as queryable API objects. We attempt to export automation definitions from the Foqal UI-level config where accessible and fall back to documenting the observed routing behavior from ticket pattern analysis. We deliver a written automation inventory with each rule's trigger condition, action, and recommended Zoho Desk equivalent (Blueprint stage, Workflow Rule, or Macro). The customer's admin rebuilds these in Zoho Desk post-migration.

Foqal

Attachment

maps to

Zoho Desk

Attachment

1:1
Fully supported

File attachments on Foqal tickets (images, PDFs, screenshots) are referenced by URL in the Foqal GraphQL response. We download each attachment to local storage, then upload to Zoho Desk via the Attachments API linked to the corresponding ticket. The original filename, MIME type, and uploaded-by attribution are preserved. Attachments from Slack-uploaded files require an additional authentication step against the customer's Slack workspace token.

Foqal

Report / Metrics

maps to

Zoho Desk

Not migrated

1:1
Fully supported

Foqal's productivity and CSAT reporting is computed dynamically from ticket data at query time and is not stored as an exportable data object. Zoho Desk's Reports module rebuilds reporting from the migrated ticket data. We do not migrate report snapshots or historical metric values; the customer's admin configures Zoho Desk reports post-migration using the imported ticket history as the data source.

Foqal

Tag

maps to

Zoho Desk

Tag

1:1
Fully supported

Foqal ticket tags migrate as Zoho Desk Tags. Tags are preserved as string values and linked to tickets via the Tags API in Zoho Desk. Tag-based filtering in Foqal translates directly to Zoho Desk tag filtering in custom views.

Foqal

Contact (customer)

maps to

Zoho Desk

Contact

1:1
Fully supported

Foqal tickets linked to end-customer contacts map to Zoho Desk Contacts. The contact name, email, phone, and company are extracted from the Foqal conversation author metadata and upserted into Zoho Desk Contacts. If a Contact with the same email already exists in Zoho Desk, we link the ticket to the existing record; if not, we create the Contact before ticket import so the lookup is satisfied.

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.

Foqal logo

Foqal gotchas

High

Import from Zendesk and HappyFox requires manual arrangement

Medium

Workflow automation rules are not first-class API objects

Medium

Free plan severely limits agent seats and features

Low

Origin header requirement blocks cross-origin API access

Zoho Desk logo

Zoho Desk gotchas

High

Agent email identity determines comment ownership after migration

High

Blueprints and SLA policies do not export via API

Medium

File upload capped at 10GB per migration batch

Medium

Tier-gated export and migration capabilities

Low

Inbound migration is two-phase with a hard Phase 2 cutoff

Pair-specific challenges

  • Foqal's GraphQL API requires Origin header injection and has no public rate limit documentation

    Every Foqal API request requires an Origin header matching the customer's subdomain (e.g., acme.foqal.app), and the Authorization header uses a Bearer token from Settings > Users in the Foqal dashboard. Additionally, Foqal does not publish API rate limits, so we implement conservative request throttling (30-second minimum between pages) and exponential backoff on any 429 or timeout response to avoid data interruption during bulk export. The combination of Origin header handling and undocumented rate limits means we run all export operations in a single coordinated session rather than in parallel worker threads.

  • Foqal's Zwitch import tool is unavailable for outbound migrations

    Foqal's own documentation states that importing from Zendesk and HappyFox requires contacting their support team for manual arrangement, and no equivalent outbound tool exists. Zoho Desk's Zwitch tool is designed for inbound migrations from specific supported sources (Zendesk, Freshdesk, Salesforce Service Cloud, and a narrow list). Foqal is not among them, which means there is no self-service path from Foqal to Zoho Desk through either platform's native tooling. A custom API-led migration is the only viable approach.

  • Conversation thread direction is not explicitly stored in Foqal's GraphQL schema

    Foqal's GraphQL schema returns conversation messages with author attribution and timestamp but does not expose an explicit Incoming/Outgoing direction flag. We infer direction by comparing the message author type (Agent vs Customer) from the Foqal data model. In cases where a message is authored by an agent via a shared Slack channel reply, we default to Outgoing direction. This inference is logged in a custom field foqal_thread_direction_note__c on each Zoho Desk Comment so the customer's admin can review and correct direction flags post-migration if needed.

  • Foqal Free-plan agent accounts may have created customer tickets that require remapping

    Foqal's Free tier limits agent seats intentionally, and archived or inactive Free-plan agents may have created tickets during the trial period that reference accounts now outside the migration scope. We scope all active and archived agents during discovery, identify tickets created by Free-plan agents, and flag any that reference non-existent or non-migrating contacts. These tickets are migrated to Zoho Desk as anonymous-contact tickets with a custom field foqal_originating_plan__c set to Free for the admin to handle post-migration.

  • Zoho Desk's credit-based API constrains batch size during ticket and attachment import

    Zoho Desk uses a credit-based API consumption model that varies by module and operation type. Ticket creation, Contact creation, and Attachment upload each consume a different credit amount. We monitor credit consumption during migration, pause when credits are depleted, and resume when the credit pool refreshes (typically within 24 hours). For large migrations, we pre-purchase additional Zoho Desk API credits or spread the migration over multiple days to avoid hitting the credit ceiling mid-import.

Migration approach

Six steps for a successful Foqal to Zoho Desk data migration

  1. Discovery and Foqal API access validation

    We audit the source Foqal portal to inventory ticket volume, conversation thread depth (message count per ticket), active and archived agent count, team count, SLA policy definitions, and HubSpot integration connection status. We validate access to the Foqal GraphQL endpoint by testing the Bearer token from Settings > Users and confirming the Origin header resolves correctly. We document every active automation rule observable in the UI and every SLA policy tier configuration. We also confirm whether any tickets reference Foqal Free-plan agents or archived users.

  2. Zoho Desk department and SLA schema design

    We create the target Zoho Desk Department structure to match the Foqal Teams hierarchy, with each Department linked to the corresponding SLA policy. We configure Zoho Desk Roles (Agent, Supervisor, Admin) to match the Foqal role model, create the priority mapping (Foqal Urgent/High/Medium/Low to Zoho Desk Critical/High/Medium/Low), and pre-create any custom fields required to carry forward context (foqal_channel__c, foqal_approval_urn__c, foqal_thread_direction_note__c, foqal_originating_plan__c, HubSpot lookup fields). Department setup is validated in Zoho Desk before any data is extracted from Foqal.

  3. Agent provisioning and contact pre-load

    We extract every distinct agent email from Foqal Tickets and Agents objects and provision corresponding agent profiles in Zoho Desk via the Users API, using the email as the dedupe key. We simultaneously extract all unique customer contact emails and names from Foqal conversation authors and upsert them into Zoho Desk Contacts before ticket import begins. This two-track pre-load ensures that every ticket assignee lookup and contact lookup in Zoho Desk resolves on the first pass without orphaned references.

  4. Ticket and conversation thread export in paginated batches

    We export Foqal tickets in cursor-based GraphQL pages (typically 100 records per page) with the Origin header injected per request. Each ticket record is enriched with its associated conversation messages, ordered by createdAt timestamp. We download any referenced attachments to local storage with filename and MIME type preserved. The exported batch is transformed into Zoho Desk ticket + comment payloads, with agent vs customer author type used to infer thread direction and assign IsPublic flags. We pause at each 429 or timeout response and retry with backoff before continuing.

  5. Zoho Desk import with credit monitoring

    We insert tickets into Zoho Desk via the Tickets REST API, then attach comments as Ticket Threads. We monitor Zoho Desk API credit consumption throughout and pause if the credit pool falls below a threshold that would interrupt an in-flight batch. We then insert attachments via the Attachments API linked to the correct ticket ID. Each completed batch emits a row-count reconciliation report (Foqal tickets out, Zoho Desk tickets in, Foqal messages out, Zoho Desk comments in) that we compare before advancing to the next batch.

  6. Cutover, validation, and automation inventory delivery

    We freeze Foqal write access during the cutover window, run a delta export for any tickets created or modified since the last batch, and apply the final delta to Zoho Desk. We perform a random-sample reconciliation of 30-50 tickets against the Foqal source (status, priority, assignee, thread completeness, attachment count). We deliver the automation inventory document listing every Foqal workflow, approval chain, and routing rule with a recommended Zoho Desk Blueprint or Workflow Rule equivalent for the customer's admin to rebuild. We do not rebuild Foqal workflows as Zoho Desk automations inside the migration scope; that is a separate engagement.

Platform deep dives

Context on both ends of the pair

Foqal logo

Foqal

Source

Strengths

  • Turns Slack and Teams channels directly into ticketing systems with no portal to maintain.
  • Includes AI-powered routing, automated replies, and approval workflows out of the box.
  • Offers 30-day free trial with direct Slack workspace installation.
  • Provides SLA tier configuration with differentiated response targets for Customer Support and IT.
  • Integrates natively with HubSpot, Jira, and ServiceNow for ticketing data context.

Weaknesses

  • Extremely small company footprint raises questions about long-term viability and support capacity.
  • Publicly documented API is thin — GraphQL endpoint lacks comprehensive schema documentation for all object types.
  • Conversational ticketing model does not translate cleanly to traditional helpdesk platforms when migrating away.
  • No publicly available rate limit documentation for the API.
  • Enterprise tier pricing is custom and opaque, requiring direct sales contact.
Zoho Desk logo

Zoho Desk

Destination

Strengths

  • Generous free tier for teams of up to 3 agents with no time limit, reducing financial risk for small support operations.
  • Per-agent flat pricing across tiers is significantly lower than Zendesk, Freshdesk, or Intercom at equivalent feature levels.
  • Tight integration with Zoho CRM, Zoho Books, and Zoho Creator provides a unified data ecosystem without third-party middleware.
  • Multi-channel ticket aggregation consolidates email, social, chat, and phone into a single queue view.
  • Assisted migration service handles the two-phase transfer process with Zoho's own migration team for inbound moves.

Weaknesses

  • The UI is frequently described as dated, clunky, and inconsistent across modules compared to modern SaaS competitors.
  • Advanced automation features including Blueprints, multi-brand, and live chat are tier-gated, limiting the free and Express plans to basic ticketing.
  • Non-Zoho integrations require custom Deluge scripting or external middleware, reducing flexibility for heterogeneous tech stacks.
  • Steep learning curve and complex customization options mean slower onboarding for new agents and ongoing training investment.
  • Export and migration capabilities are gated by plan tier, with data backup only available on higher plans.

Complexity grading

How hard is this migration?

Moderate Helpdesk migration. 4 of 7 objects need a mapping; the rest are 1:1.

C

Overall complexity

Moderate migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Foqal and Zoho Desk.

  • Object compatibility

    C

    4 of 7 objects need a mapping; the rest are 1:1.

  • 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

    Foqal: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Foqal to Zoho Desk 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 Foqal to Zoho Desk data migrations

Answers to the questions buyers ask most during Foqal to Zoho Desk migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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

Book a free 30 minute consultation

Migrations under 10,000 tickets and 50 agents typically land in three to five weeks. Migrations with large conversation histories (over 200,000 thread messages), multiple Foqal Teams requiring Zoho Desk Department setup, or complex SLA tier definitions extend to seven to twelve weeks because of GraphQL pagination sequencing, Department hierarchy design, and SLA policy translation work.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Foqal.
Land in Zoho Desk, 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