Helpdesk migration

Migrate from Foqal to HubSpot Service Hub

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

Foqal logo

Foqal

Source

HubSpot Service Hub

Destination

HubSpot Service Hub logo

Compatibility

58%

7 of 12

objects map 1:1 between Foqal and HubSpot Service Hub.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Foqal to HubSpot Service Hub is a structural migration that requires translating a Slack-and-Teams-native conversational ticketing model into HubSpot's traditional help desk schema. Foqal tickets live inside messaging channels and carry channel-origin metadata that has no direct HubSpot equivalent; we flatten that context into ticket properties and conversation records at migration time. The HubSpot-native integration that Foqal maintains (syncing Users to Contacts, Companies to Companies, Notes to Engagements, Deals to Deals, and Users to Owners) means that customers already using Foqal as a HubSpot layer may have dual-context records to reconcile during migration. We do not migrate Workflow automation rules, ApprovalRequest URN chains, or SLA policy definitions as executable code; we export those configurations and deliver a written inventory for the customer's admin to rebuild in HubSpot Service Hub's automation builder. Foqal's Origin header requirement for every API call and the absence of publicly documented rate limits add sequencing complexity that we handle through dynamic header injection and adaptive batch sizing during the export phase.

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

HubSpot Service Hub logo

HubSpot Service Hub

What's pulling them in

  • Unified CRM context means every support ticket links directly to the Contact and Company record without a separate integration
  • Free tier provides unlimited support seat access with basic ticketing and a shared inbox for small teams to validate fit before committing
  • Omnichannel routing consolidates email, live chat, Facebook Messenger, WhatsApp, and Instagram DM into one queue
  • Built-in customer success workspace gives health scores and portfolio views that other standalone helpdesks cannot match
  • AI-powered Breeze agent automates common resolutions and surfaces knowledge base articles without agent intervention

Object mapping

How Foqal objects map to HubSpot Service Hub

Each row shows how a Foqal object lands in HubSpot Service Hub, 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

HubSpot Service Hub

Ticket

1:1
Fully supported

Foqal Tickets map 1:1 to HubSpot Service Hub Tickets. Each ticket's status, priority, assignee, created timestamp, updated timestamp, and source channel metadata migrate as Ticket properties. Channel origin (Slack or Teams) is preserved as a custom property on the HubSpot ticket. The ticket's Foqal URN is stored as a custom property for cross-reference audit. Ticket pipelines in Foqal map to HubSpot Ticket pipelines configured at migration time.

Foqal

Conversation

maps to

HubSpot Service Hub

Conversation (Ticket conversations)

1:1
Fully supported

Foqal Conversation threads attached to each Ticket migrate as HubSpot Ticket conversations. Each message preserves its timestamp, the sender identity (agent or customer), and the message body. Attachment references migrate as URLs pointing to the original attachment storage; actual file binaries are downloaded from Foqal and uploaded to HubSpot as Ticket attachments. Thread chronology is preserved by ordering on the original message timestamp.

Foqal

Agent

maps to

HubSpot Service Hub

User (Owner)

1:1
Fully supported

Foqal Agent records (name, email, role, team assignment) map to HubSpot Users. We resolve agents by email match against the destination HubSpot portal's user table. Agents without a matching HubSpot User are held in a reconciliation queue for the customer's admin to provision before ticket import. The agent's Foqal role (Admin, Agent) maps to the HubSpot User role setting, and team membership maps to the HubSpot Team structure under Settings > Users & Teams.

Foqal

Team

maps to

HubSpot Service Hub

Team

1:1
Fully supported

Foqal Teams group agents and own specific SLA policies and routing rules. Team membership migrates to HubSpot Teams under Settings > Users & Teams. The team-to-SLA assignment that was implicit in Foqal (a Team owned a specific SLA tier) becomes explicit in HubSpot as a Pipeline-to-Team-to-SLA mapping that the customer's admin configures in Service Hub settings after migration.

Foqal

SLA Policy

maps to

HubSpot Service Hub

SLA Policy

lossy
Fully supported

Foqal SLA configurations (First Time to First Response targets, wait times, Enterprise/Premium/Free tier definitions per Team) are exported as structured records and mapped to HubSpot Service Hub SLA policies on the Professional+ tier. HubSpot SLA policies are scoped to Ticket pipelines rather than Teams. We document the Foqal SLA tier definitions and provide the customer with a mapping table showing which Foqal SLA applies to each HubSpot Ticket pipeline, including business hours configuration.

Foqal

Workflow (Automation Rules)

maps to

HubSpot Service Hub

Workflow (documentation only)

1:1
Fully supported

Foqal automation rules (routing triggers, approval chains, SLA escalation actions) are config-level objects not exposed as queryable API records. We export what is accessible via the GraphQL API (ApprovalRequest URNs and workflow names) and document the full rule logic from the Foqal UI-level configuration where available. HubSpot Service Hub workflows (Professional+) are rebuilt by the customer's admin using the written inventory we deliver. We do not migrate automation rules as executable code.

Foqal

ApprovalRequest

maps to

HubSpot Service Hub

Approval Process (documentation only)

1:1
Fully supported

Foqal ApprovalRequest objects use a URN identifier format (ApprovalRequestUrn) that references workflow approval chains. These URNs have no equivalent in HubSpot's approval model. We preserve the URN values as custom properties on the related Ticket for audit traceability, and document the approval chain structure (approver, threshold, escalation path) for manual recreation in HubSpot's approval process builder or via a custom Flow.

Foqal

HubSpot Sync (Users, Companies, Deals, Notes, Owners)

maps to

HubSpot Service Hub

CRM Records (deduplication)

many:1
Fully supported

Customers using Foqal's native HubSpot integration have records in both systems. Users sync as Foqal Agents to HubSpot Users; Companies sync as Foqal Companies to HubSpot Companies; Deals sync as Foqal Deals to HubSpot Deals; Notes sync as Foqal Engagements to HubSpot Engagements. During migration we deduplicate these cross-system records by email (for users/contacts) and domain (for companies) to ensure that a single HubSpot CRM record exists post-migration rather than a dual-record with conflicting timestamps.

Foqal

Report and Metrics

maps to

HubSpot Service Hub

Report (rebuild required)

lossy
Fully supported

Foqal's CSAT scores and productivity metrics are computed at query time from ticket data and are not exportable as standalone data objects. The underlying ticket data migrates, so historical CSAT and agent productivity metrics can be recalculated in HubSpot's Service Hub reporting once tickets are present. We do not migrate report snapshots or pre-built dashboards; we deliver a written list of Foqal report definitions for the customer's admin to rebuild in HubSpot's reporting module.

Foqal

Integration (Jira, ServiceNow)

maps to

HubSpot Service Hub

Integration (rebuild required)

lossy
Fully supported

Foqal's Jira and ServiceNow integrations are connection-level configs that store relationship pointers between tickets and third-party issue records. We capture which Foqal tickets are linked to Jira issues or ServiceNow records and preserve the external ID as a custom property on the migrated HubSpot ticket. The integration itself (OAuth credentials, sync rules, bidirectional updates) is not migrated and requires rebuilding with HubSpot's native integration options or a middleware tool like Zapier or Workato.

Foqal

Ticket (channel metadata)

maps to

HubSpot Service Hub

Ticket (custom properties)

lossy
Fully supported

Foqal tickets carry channel-origin metadata (the Slack or Teams channel where the ticket was created, the thread ID, the message ID). HubSpot Service Hub does not have native fields for messaging channel context. We create custom ticket properties (foqal_channel_source, foqal_channel_id, foqal_thread_id) to preserve this metadata so that teams with Slack or Teams integrations can use it to reconstruct channel-thread context for agents who reference the original conversation thread during support.

Foqal

Customer (end user)

maps to

HubSpot Service Hub

Contact

1:1
Fully supported

Foqal customers who submitted tickets (the end users, distinct from agents) are stored as user records in Foqal's system. These migrate to HubSpot Contacts. Where a customer email already exists in HubSpot (from the Foqal sync or prior CRM data), the record is matched and deduplicated rather than created as a duplicate. Customer contact properties from Foqal (name, email, company if linked) map to the corresponding HubSpot Contact properties.

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

HubSpot Service Hub logo

HubSpot Service Hub gotchas

High

Rate limits throttle large migration API calls

High

Side conversations and Zendesk macros have no HubSpot equivalent

High

HubSpot stores ticket history as fragmented engagement objects

Medium

Custom Objects require Enterprise tier in HubSpot

Medium

Ticket pipeline stage probability values do not export cleanly

Pair-specific challenges

  • Foqal Origin header requirement blocks unauthenticated API exports

    Every Foqal API request requires an Origin header matching the customer's specific subdomain (e.g., acme.foqal.app). We handle this by dynamically injecting the correct Origin header per API call using the subdomain collected during discovery. The Authorization header uses a Bearer token from Settings > Users in the Foqal dashboard. If the token is scoped to a specific Foqal plan tier (Premium or Enterprise required for full API access), the customer must ensure the token was generated under the correct plan before we begin the export phase. Without the Origin header, all API calls return 403 responses and no data can be exported.

  • Conversational ticketing model loses channel context in HubSpot

    Foqal tickets exist as threaded conversations inside Slack or Teams channels. When migrated to HubSpot Service Hub, the channel-thread structure is flattened into a linear conversation list on the ticket record. The channel identity (which Slack channel, which Teams team) and the thread hierarchy (parent message, reply chain depth) are preserved as custom properties on the HubSpot ticket but are not rendered as a navigable channel thread. Agents who relied on jumping back to the original Slack or Teams thread for full context will need to use the custom property values to manually locate the source thread. This is a structural limitation of any migration from a messaging-native ticketing platform to a traditional help desk.

  • Workflow automation rules are not API-migratable

    Foqal automation rules (routing conditions, approval triggers, SLA escalation actions) are stored as configuration settings in the Foqal UI, not as queryable API objects. The GraphQL API returns ApprovalRequest URNs but not the full rule definitions. We export what is accessible (rule names, URN references, team assignments) and attempt to document the UI-level configuration, but the routing logic, conditional branches, and escalation paths must be recreated in HubSpot Service Hub's workflow builder (Professional+ tier) by the customer's admin. We deliver a written automation inventory as part of the migration handoff package.

  • Foqal-to-HubSpot sync records require deduplication before migration

    Customers using Foqal's native HubSpot integration have been syncing Users to Contacts, Companies to Companies, Deals to Deals, Notes to Engagements, and Owners to Owners bidirectionally. At migration time these records may have diverged (different last-modified timestamps, different field values). We deduplicate by email (for Users/Contacts/Owners) and by domain (for Companies) before importing into HubSpot Service Hub, but the customer must decide which system's values take precedence for conflicting fields. We surface this decision during scoping and apply the chosen conflict-resolution strategy before any records are written to the destination.

  • No public rate limit documentation for Foqal API

    Foqal does not publish API rate limits publicly. We handle this by using adaptive batch sizing: we start with a conservative page size (20 records per request), monitor response times and HTTP 429 responses, and double or halve batch sizes dynamically based on observed throughput. This adds overhead to the export phase but prevents data loss from rate-limit-induced timeouts. For large migrations (over 50,000 tickets), this adaptive approach can extend the export timeline by several days compared to a platform with documented limits.

Migration approach

Six steps for a successful Foqal to HubSpot Service Hub data migration

  1. Discovery and subdomain token collection

    We collect the Foqal subdomain (required for Origin header injection), generate or retrieve the Bearer token from Settings > Users in the Foqal dashboard, and confirm the active plan tier (Free, Premium, or Enterprise). We audit the Foqal portal for ticket count, conversation volume, agent count, active teams, SLA policy definitions, and workflow rule names accessible via GraphQL. We also map existing Foqal-to-HubSpot sync records to identify which CRM data is already in HubSpot and requires deduplication rather than fresh import. The discovery output is a written scope document covering object counts, mapping decisions, and conflict-resolution strategy for synced records.

  2. Schema design and custom property provisioning

    We create the HubSpot Service Hub ticket pipeline, define custom ticket properties for Foqal channel metadata (foqal_channel_source, foqal_channel_id, foqal_thread_id, foqal_ticket_urn), and configure SLA policies using the exported Foqal SLA tier definitions as a reference. If the customer uses HubSpot Service Hub Professional+ or Enterprise, we also set up the SLA business hours configuration. We configure Teams in HubSpot matching the Foqal team structure and assign team membership during the agent import phase. Schema design happens in the production HubSpot portal with the customer's admin present for approval.

  3. Sample migration and deduplication validation

    We run a sample migration of 100-200 tickets with their full conversation threads and agent assignments into the HubSpot staging environment. The customer's support operations lead reviews the migrated tickets, verifies conversation chronology, checks agent attribution, and confirms that channel metadata custom properties are populated. We also run the deduplication pass on the synced-record batch (Users, Companies, Deals) to validate that the conflict-resolution strategy produces a clean CRM record set with no duplicates. Mapping corrections are applied before the full migration begins.

  4. Agent and team provisioning

    We extract every distinct Foqal agent and reconcile by email against the destination HubSpot portal's user table. Agents without a matching HubSpot User are held in a provisioning queue for the customer's admin to create. Team membership is mapped to HubSpot Teams during this phase. The customer's admin assigns the appropriate HubSpot seat licenses (Starter, Professional, or Enterprise) to each agent before we proceed to ticket import, because ticket OwnerId references require a valid HubSpot User ID.

  5. Full ticket and conversation migration

    We run the full production migration in record-dependency order: first Contacts (Foqal end users), then Agents mapped to HubSpot Users, then Tickets (with custom channel metadata properties), then Conversation messages (ordered by timestamp within each ticket). Attachment binaries are downloaded from Foqal and uploaded to HubSpot as ticket attachments during the conversation migration phase. Each phase emits a row-count reconciliation report. We use adaptive batch sizing for the Foqal export to handle undocumented rate limits, and HubSpot's REST API with exponential backoff for imports. SLA policy assignments are applied to tickets post-import using HubSpot's bulk property update endpoint.

  6. Cutover, validation, and workflow handoff

    We freeze Foqal write access during cutover, run a final delta migration of any tickets or conversations modified during the migration window, and enable HubSpot Service Hub as the system of record. The Foqal-to-HubSpot sync integration is disabled at this point. We deliver the workflow automation inventory document (routing rules, approval chains, SLA escalation definitions as documented from Foqal), the SLA policy mapping table, and the HubSpot integration rebuild checklist (Jira, ServiceNow) to the customer's admin team. We support a five-business-day hypercare window for reconciliation issues raised by the support team. Workflow rebuilding in HubSpot Service Hub, SLA policy fine-tuning, and third-party integration setup are outside standard migration scope and are handled as separate engagements.

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.
HubSpot Service Hub logo

HubSpot Service Hub

Destination

Strengths

  • Unified CRM object model means support context is always linked to sales and marketing data
  • Generous free tier with unlimited tickets and a shared inbox for small teams
  • Omnichannel inbox consolidates email, live chat, and major messaging platforms natively
  • Customer Success Workspace provides portfolio-level health scores without a separate tool
  • AI agent (Breeze) handles Tier-1 resolutions and knowledge base deflection automatically

Weaknesses

  • Per-seat pricing with mandatory onboarding fees inflates year-one cost significantly
  • Ticket history stored as fragmented engagement objects across APIs complicates export and migration
  • Custom Objects locked behind Enterprise tier limits portability for mid-market teams
  • Help desk depth—routing rules, SLA management, advanced reporting—trails dedicated tools like Zendesk
  • Setup and configuration requires real time investment; out-of-box defaults rarely fit existing workflows

Complexity grading

How hard is this migration?

Standard Helpdesk migration. 2 of 7 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Foqal and HubSpot Service Hub.

  • Object compatibility

    B

    2 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 HubSpot Service Hub 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 HubSpot Service Hub data migrations

Answers to the questions buyers ask most during Foqal to HubSpot Service Hub migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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

Book a free 30 minute consultation

Most migrations land between three and five weeks for accounts under 10,000 tickets and 500 agents with no complex SLA tiering and no existing Foqal-to-HubSpot sync records requiring deduplication. Migrations with large conversation histories (over 100,000 message records), multi-tier SLA configurations, active Foqal-to-HubSpot bidirectional sync records, or Jira and ServiceNow integration rebuild scope move to eight to twelve weeks because of thread flattening complexity, SLA documentation work, and deduplication reconciliation. The Foqal API's undocumented rate limits also extend the export timeline for large record sets compared to platforms with published throughput limits.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Foqal.
Land in HubSpot Service Hub, 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