Helpdesk migration
Field-level mapping, validation, and rollback between Help On Task and Intercom. We move data and schema; workflows are rebuilt natively in Intercom.
Help On Task
Source
Intercom
Destination
Compatibility
10 of 12
objects map 1:1 between Help On Task and Intercom.
Complexity
CModerate
Timeline
2-4 weeks
Overview
Moving from Help On Task to Intercom is a migration from a lightweight shared-inbox tool into a conversation-driven customer engagement platform. Help On Task stores tickets as flat records with threaded replies, while Intercom uses a Contacts-to-Conversations hierarchy where every conversation must reference an existing Contact. We extract Help On Task data via CSV export (no public API exists), reconstruct the custom field schema manually from customer-provided definitions, and sequence the import so Contacts exist before Conversations. Attachment URLs require proactive download and re-upload because Help On Task uses time-limited signed URLs that expire on account closure. Workflows, automated rules, and SLA policies do not migrate; we deliver a written inventory of these for the customer's admin to rebuild in Intercom's Rules engine.
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 Help On Task object lands in Intercom, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Help On Task
Ticket
Intercom
Conversation
1:1Help On Task tickets map to Intercom Conversations. The ticket subject becomes the conversation title, ticket status (open, pending, resolved, closed) maps to Intercom's open, snoozed, closed conversation states, and ticket priority maps to a custom conversation priority attribute if the customer's Intercom plan supports priority weighting. The conversation channel is inferred from the original ticket's email thread or set to email by default since Help On Task is email-first. Conversation parts are created from the ticket's threaded replies in chronological order.
Help On Task
Customer
Intercom
Contact
1:1Help On Task customer profiles (name, email, phone, company) map to Intercom Contacts. Email is the dedupe key and is required on every Contact. We resolve by email match during import. If a customer has no email address in Help On Task, we flag that record for manual resolution since Intercom requires at minimum an email or user_id on Contact. Phone numbers migrate as a custom Contact attribute unless Intercom's built-in phone field is available in the customer's plan.
Help On Task
Agent
Intercom
Teammate
1:1Help On Task agent accounts map to Intercom Teammates. We resolve by email match against the Intercom workspace's Teammate list. The agent's name and role/status migrate as profile attributes. Any Help On Task agent without a matching Teammate in the destination goes to a reconciliation queue for the customer to provision before record import resumes.
Help On Task
Ticket Assignee
Intercom
Conversation Assignee (Teammate)
1:1Ticket assignee references are resolved by email against the Intercom Teammate list. If a Teammate record exists, the conversation is assigned at import time. If no match is found, the conversation imports unassigned and we note this in the reconciliation report for the customer to resolve manually post-migration.
Help On Task
Ticket Requester
Intercom
Conversation Contact
1:1The ticket requester maps to the Intercom Contact record that must exist before the conversation is created. This is why contacts must be imported first. If the requester email matches an existing Contact in Intercom, we link the conversation to that Contact. If no match exists, Intercom either creates a new Contact or rejects the conversation import depending on the workspace settings.
Help On Task
Tag
Intercom
Tag
1:1Help On Task tags on tickets map to Intercom Tags. Tag names migrate as-is and are recreated in Intercom's tag library. We note any tag limit differences: Intercom does not enforce a hard tag limit but performance may degrade above 5,000 unique tags in a single workspace. We flag this if the customer's Help On Task instance exceeds that threshold.
Help On Task
Custom Field (Ticket)
Intercom
Custom Attribute (Conversation)
lossyHelp On Task ticket custom fields require pre-creation of corresponding Intercom custom conversation attributes before data import. We extract custom field definitions (field types, options lists, required flags) from the customer during scoping and create the matching Intercom custom attributes via API before importing ticket data. This is a manual configuration step that must happen before migration begins because Intercom does not auto-create attributes during import.
Help On Task
Custom Field (Customer)
Intercom
Custom Attribute (Contact)
lossyHelp On Task customer-level custom fields map to Intercom custom Contact attributes. We extract the field schema from the customer during scoping, pre-create the attributes in Intercom, then import customer records with values mapped to the correct attribute API names. String, number, date, and dropdown field types map directly; multi-select and checkbox fields map to Intercom's list or boolean attribute types.
Help On Task
Conversation Thread
Intercom
Conversation Parts
1:1Help On Task ticket conversation threads contain a list of message entries with author, timestamp, and body text. We reconstruct the thread in Intercom as Conversation Parts, preserving the original message order by timestamp. Customer messages import as part from the user; agent replies import as part from an admin (Teammate). Internal notes in Help On Task map to internal notes in Intercom if that feature is available in the customer's plan.
Help On Task
Attachment
Intercom
Attachment
1:1Help On Task attachments are stored as signed or time-limited URLs that expire when the source account is deactivated. We download all attachments to a temporary blob store before any cutover activity, then re-upload them to Intercom's attachment API and link each file to the correct conversation part. We flag any attachments that cannot be downloaded (broken URLs, permission errors) in the reconciliation report.
Help On Task
Knowledge Base Article
Intercom
Help Center Article
1:1If Help On Task has a linked knowledge base, article titles, body content, categories, and publication status migrate to Intercom Help Center articles. We map categories to Intercom collections and preserve publication status (published, draft, scheduled). Any unscheduled articles are flagged in the handoff report. Articles with images re-host those images to Intercom's media library or the customer's configured CDN.
Help On Task
Ticket Timestamps
Intercom
Conversation Timestamps
1:1Ticket created_at and updated_at timestamps migrate to Intercom conversation created_at and updated_at. Comment timestamps migrate as individual conversation_part created_at values. Intercom preserves these timestamps, allowing the conversation timeline to reflect the original Help On Task activity dates rather than the import date.
| Help On Task | Intercom | Compatibility | |
|---|---|---|---|
| Ticket | Conversation1:1 | Fully supported | |
| Customer | Contact1:1 | Fully supported | |
| Agent | Teammate1:1 | Fully supported | |
| Ticket Assignee | Conversation Assignee (Teammate)1:1 | Fully supported | |
| Ticket Requester | Conversation Contact1:1 | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| Custom Field (Ticket) | Custom Attribute (Conversation)lossy | Fully supported | |
| Custom Field (Customer) | Custom Attribute (Contact)lossy | Fully supported | |
| Conversation Thread | Conversation Parts1:1 | Fully supported | |
| Attachment | Attachment1:1 | Fully supported | |
| Knowledge Base Article | Help Center Article1:1 | Fully supported | |
| Ticket Timestamps | Conversation Timestamps1:1 | Fully 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.
Help On Task gotchas
No documented public API for automated exports
Custom field schema not exposed in exports
Attachment URLs become stale after account closure
Intercom gotchas
S3 JSON export omits conversation transcripts
Workspace isolation prevents workflow migration
Fin AI resolution fees compound with automation success
Two-year conversation history limit on historical export
Private app rate limits share workspace quota
Pair-specific challenges
Migration approach
Discovery and export verification
We audit the Help On Task instance for ticket volume, customer count, agent count, custom field definitions (requested from the customer as a manual export or screenshot), tag inventory, attachment references, and any knowledge base content. We verify CSV export availability in the customer's plan tier. If CSV exports are not available or do not include the required fields, we escalate this as a blocker and request manual data extraction support before scoping continues. The discovery output is a written migration scope with record counts per object and a custom field schema reconciliation sheet.
Schema pre-creation in Intercom
Before any data moves, we pre-create the Intercom custom attribute definitions for both Contacts and Conversations based on the Help On Task custom field schema provided during discovery. We create Tags in Intercom's tag library. We provision the migration Teammate user in Intercom with the appropriate OAuth scopes and API access. We configure workspace settings including phone number validation (recommending disablement) and default assignment settings for unassigned conversations. Schema pre-creation is validated via API before proceeding.
Contact import
We import Help On Task customers as Intercom Contacts in the first migration phase. Each Contact is resolved by email as the dedupe key. Custom Contact attributes are mapped to the pre-created Intercom attributes. Any Contact records with missing or duplicate emails are flagged in the reconciliation report. Phone numbers are normalized to E.164 format before import. After the Contact phase, we emit a row-count reconciliation report comparing Help On Task customer count to Intercom Contact count and resolve any gaps before the Conversation phase begins.
Attachment download to temporary blob storage
We extract all attachment URLs referenced in Help On Task ticket data and download every file to a temporary blob store (S3-compatible). We run this concurrently with the Contact import to use the migration window efficiently. Any attachment that fails to download is flagged with the ticket ID and a reason code. We do not deactivate the Help On Task account until this phase is complete and verified.
Conversation import with thread reconstruction
We import Help On Task tickets as Intercom Conversations in the third phase, after Contacts are confirmed loaded. Each conversation references its requester Contact by email lookup. Threaded replies are imported as Conversation Parts in chronological order, with customer messages tagged as from_user and agent replies tagged as from_admin (resolving the admin by email against the Intercom Teammate list). Tags are applied at the conversation level after conversation creation. Custom conversation attributes are set during or after conversation creation depending on Intercom's API capabilities for the customer's plan tier.
Cutover, validation, and handoff
We freeze Help On Task writes during cutover, run a final delta migration of any tickets modified during the migration window, then re-upload downloaded attachments to Intercom and link each to the correct conversation part. We deliver a migration summary report with record counts per object, a list of any unresolved records (orphaned contacts, unassigned conversations, failed attachments), and the Workflow and Automation inventory (what Help On Task had in terms of rules or SLA policies, which we do not migrate but document for the customer to rebuild in Intercom's Rules engine). We support a three-day post-migration validation window for the customer to spot-check records before closing the migration.
Platform deep dives
Help On Task
Source
Strengths
Weaknesses
Intercom
Destination
Strengths
Weaknesses
Complexity grading
Moderate Helpdesk migration. 6 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Help On Task and Intercom.
Object compatibility
6 of 7 objects need a mapping; the rest are 1:1.
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
Help On Task: Not publicly documented.
Data volume sensitivity
Help On Task 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 Help On Task to Intercom migration scoping. Not seeing yours? Book a call.
Walk through your Help On Task to Intercom migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Help On Task
Other ways to arrive at Intercom
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.