Helpdesk migration

Migrate from Octadesk to Intercom

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

Octadesk logo

Octadesk

Source

Intercom

Destination

Intercom logo

Compatibility

75%

9 of 12

objects map 1:1 between Octadesk and Intercom.

Complexity

CModerate

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Octadesk to Intercom is a cross-regional shift from a Brazilian-market helpdesk built for Portuguese-language omnichannel support to a globally-deployed conversational platform with per-seat pricing and an AI-first agent layer. The core migration challenge is structural: Octadesk separates Tickets and Chats as distinct objects with a 100-item pagination ceiling on the /chat endpoint, while Intercom collapses these into a single Conversation object with Parts as message events. We paginate through Octadesk's Chats in sequential batches, download conversation attachments, and replay them as Intercom Part records linked to the migrated conversation. Octadesk's automation rules, chatbot flows, and AI agent configurations are not exportable via API, so we deliver a written automation audit report listing every rule, trigger, and flow for the customer's admin to rebuild inside Intercom's workflow builder. Custom fields on Tickets use an array-based customField schema that we parse, type-match, and flatten into Intercom's custom attributes before import. The octa-agent-email header used for Octadesk API authentication requires per-agent token management during export; we assign agent context per request to avoid 401 errors on high-volume export windows.

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

Octadesk logo

Octadesk

What's pushing teams away

  • Switching to global platforms like Zendesk or Freshdesk for multinational teams needing multi-language support and enterprise-grade SLA guarantees
  • Customisation ceiling — teams with complex workflow requirements find Octadesk's no-code automation builder insufficient for advanced routing and conditional logic
  • Pricing at scale — per-user and per-channel costs increase significantly as teams grow, pushing cost-conscious organisations toward alternatives with flat-rate pricing
  • API limitations — restricted rate limits and pagination caps on endpoints like /chat (100 items max) frustrate teams with large conversation histories that need programmatic access
  • Latin American data residency concerns — some enterprise teams require explicit data residency guarantees that Octadesk's infrastructure does not prominently document

Choosing

Intercom logo

Intercom

What's pulling them in

  • Instant chat and message threading on websites and apps gives support teams a single inbox without context-switching, according to reviewers on Capterra and G2 who highlight fast response times as a primary benefit.
  • Fin AI handles repetitive inbound queries automatically, reducing agent workload measurably — G2 reviewers report fewer escalations and faster first-response times once Fin is configured.
  • Automation workflows (Outbound, Operator, and custom bots) allow teams to qualify leads and route tickets without manual intervention, appealing to growth-stage SaaS companies managing high ticket volumes.
  • Help center articles and self-service deflection are natively integrated, so knowledge base content and chat conversations live in the same workspace, simplifying reporting.
  • Multi-channel support (live chat, email, SMS, WhatsApp, Phone) consolidates customer touchpoints into one inbox, reducing the operational overhead of managing separate tools.

Object mapping

How Octadesk objects map to Intercom

Each row shows how a Octadesk 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.

Octadesk

Ticket

maps to

Intercom

Conversation

1:1
Fully supported

Octadesk Tickets map to Intercom Conversations. We preserve Ticket status (open, pending, resolved, closed), priority, channel metadata, assigned agent email, created_at, and updated_at. Octadesk Ticket IDs are stored in a custom attribute octadesk_ticket_id__c for audit traceability. Custom fields stored as Octadesk customField arrays are flattened and mapped to Intercom custom attributes, which must be pre-defined in the Intercom workspace before import. Ongoing conversations (status open at migration time) cannot be migrated per Intercom policy and must be manually recreated.

Octadesk

Chat

maps to

Intercom

Conversation

1:1
Fully supported

Octadesk Chats map to Intercom Conversations sourced from the WhatsApp, Instagram, Facebook, or webchat channel. The GET /chat endpoint returns MAX=100 items per page with no cursor workaround documented, so we paginate through all pages sequentially, storing the last seen cursor for resume on transient failures. Accounts with high chat volumes (above 50,000 records) require extended export windows and may move the migration into the eight-to-twelve-week tier. Chat events stored under /chat/{id}/events migrate as Intercom Part records within the corresponding Conversation.

Octadesk

Chat Event

maps to

Intercom

Part

1:many
Fully supported

Octadesk Chat events (messages sent and received, internal notes, status changes) map to Intercom Part records inside the parent Conversation. Each Part gets a type (comment, note, close, open) matched from the Octadesk event kind. Part author resolves by matching the Octadesk agent email to an Intercom User. Message timestamps preserve the original Octadesk event created_at for conversation timeline fidelity.

Octadesk

Contact

maps to

Intercom

Contact

1:1
Fully supported

Octadesk Contacts map directly to Intercom Contacts. We preserve name, email, phone, lifecycle stage, custom properties, and tags. If phone number validation is enabled in the Intercom workspace (Settings > Your Workspace > People Data > Phone), we disable it before import to prevent rejection of Brazilian-format phone numbers that Octadesk stores without a country code prefix. Contacts without an email address are created as partial contacts in Intercom with a note flagging the missing email for manual follow-up.

Octadesk

Company

maps to

Intercom

Company

1:1
Fully supported

Octadesk Company records map to Intercom Companies. Company name, domain, industry, size, and custom properties migrate as Company attributes. If the Octadesk Company has associated Contacts, we preserve the relationship by creating the Company in Intercom first, then linking Contacts during Contact import. Company-created_at timestamps migrate for audit purposes.

Octadesk

Agent

maps to

Intercom

User

1:1
Fully supported

Octadesk Agents map to Intercom Users (admins and agents). We resolve each Octadesk agent by email and create a matching Intercom User with the same display name, email, and role (agent or admin). Octadesk's octa-agent-email header is used for API authentication per-agent rather than per-org, so we assign agent context to each export API call individually to avoid 401 responses when agent tokens differ. Agent team membership migrates to Intercom Inboxes.

Octadesk

Team

maps to

Intercom

Inbox

lossy
Fully supported

Octadesk Teams map to Intercom Inboxes. Team name, agent membership, and SLA configuration migrate as Inbox settings. Each Inbox can have multiple assigned agents and routing rules. We configure the Inbox before Agent import so that agent assignment on Tickets and Conversations can reference the correct Inbox ID at migration time.

Octadesk

Custom Fields (Ticket)

maps to

Intercom

Custom Attributes

lossy
Mapping required

Octadesk Ticket custom fields are stored as customField array objects with name, value, and type sub-fields. We parse each array entry, match the field name to its data type (text, numeric, dropdown, date), and create a corresponding Intercom custom attribute of the matching type before import. Date fields stored as strings in Octadesk are flagged for type conversion before import. Dropdown fields become Intercom select or multiselect attributes with the options preserved from Octadesk.

Octadesk

Attachment

maps to

Intercom

Attachment

1:1
Fully supported

Attachments on Octadesk Tickets and Chats are referenced by URL and downloaded during migration, then uploaded to Intercom and linked to the corresponding Conversation Part. We preserve attachment filenames, MIME types, and original upload timestamps. Attachments that exceed Intercom's size limits are flagged for manual handoff.

Octadesk

Tag

maps to

Intercom

Tag

1:1
Fully supported

Tags from Octadesk Tickets and Contacts migrate to Intercom Tags. We normalise tag names to Intercom's character and length constraints. Tags that exceed the 80-character limit are truncated with a note. Tag assignment per record is preserved during import.

Octadesk

Automations/Rules

maps to

Intercom

Workflow (manual rebuild)

1:1
Not supported

Octadesk automation rules (triggers, macros, routing logic, SLA policies) are internal configuration with no public export API. We do not migrate them programmatically. We produce an automation audit report during scoping listing every active rule, its trigger conditions, actions, and Octadesk-specific ID references so that the customer's admin can reproduce each rule in Intercom's Workflow builder. This is a manual rebuild step outside the data migration scope.

Octadesk

AI Agent / Chatbot Flow

maps to

Intercom

Fin AI Agent (manual rebuild)

1:1
Fully supported

Octadesk's proprietary AI agent configurations and chatbot flows are built on internal schemas not exposed via public API. We do not migrate them. We export the flow structure as structured JSON documentation (nodes, edges, conditions, responses) where possible, but Intercom's Fin AI agent requires separate configuration using Intercom's Knowledge Hub and Fin setup workflow. The customer's admin or an Intercom implementation partner rebuilds the chatbot and AI agent post-migration.

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.

Octadesk logo

Octadesk gotchas

High

/chat endpoint pagination capped at 100 items

High

Automations and AI agents have no export API

Medium

Per-seat and per-channel pricing complicates migration sizing

Medium

Custom fields on Tickets use an array-based schema

Low

API authentication uses non-standard header

Intercom logo

Intercom gotchas

High

S3 JSON export omits conversation transcripts

High

Workspace isolation prevents workflow migration

Medium

Fin AI resolution fees compound with automation success

Medium

Two-year conversation history limit on historical export

Low

Private app rate limits share workspace quota

Pair-specific challenges

  • /chat endpoint paginates at 100 items with no cursor workaround

    The Octadesk GET /chat endpoint enforces a MAX=100 items per page with no documented server-side cursor for large result sets. Exporting conversation history for accounts with thousands of Chats requires sequential pagination through all pages, each as a separate API call. We manage this by batching export pages, storing the last seen record identifier for resume on transient failures, and implementing exponential backoff when rate limit responses arrive. Accounts with very high chat volumes will experience extended export windows and may push the migration into the eight-to-twelve-week timeline tier.

  • Octadesk automations and AI agent flows have no export API

    Octadesk's automation rules, chatbot flows, and AI agent setups are stored on proprietary internal schemas with no public API endpoint to retrieve them. Any migration from Octadesk requires manually documenting and rebuilding these configurations on Intercom. We produce a detailed automation audit report during scoping that enumerates every rule, trigger, condition, and action with enough context for an admin to reproduce it in Intercom's Workflow builder or Fin AI agent setup, but the migration itself cannot carry any automation logic programmatically.

  • Ticket custom fields use array-based schema requiring flattening

    Octadesk Tickets store custom field values as an array of customField objects rather than as flat key-value properties. Each entry contains name, value, and type sub-fields. Intercom expects custom attributes as flat, pre-defined attributes on the Contact or Conversation object. We parse the array, extract each field name and value, match the data type (text, numeric, dropdown, date), and pre-create the corresponding Intercom custom attribute before importing any records. Date fields stored as strings in Octadesk require explicit type conversion; mismatches are flagged for manual review before the import batch runs.

  • Phone number validation blocks Brazilian-format numbers on Intercom import

    Intercom enforces phone number format validation by default. Brazilian phone numbers stored in Octadesk without a +55 country prefix will fail Intercom's import validation if phone number validation is left enabled. We disable phone number validation in Intercom at Settings > Your Workspace > People Data > Phone before running the Contact import batch. Numbers are preserved exactly as stored in Octadesk. After migration, the customer's admin can re-enable validation or run a normalisation pass to add country codes.

  • Ongoing conversations cannot migrate between Intercom workspaces

    Intercom's data migration policy explicitly states that ongoing open conversations cannot be transferred between workspaces and must be manually recreated. Any Octadesk Ticket or Chat with a status of open or pending at migration cutover must be flagged as a reconciliation item. We enumerate all open records during the pre-migration audit, document them in a hand-off list, and advise the customer to close or manually recreate these conversations in Intercom after cutover. This is a platform-level constraint that cannot be worked around by any migration tooling.

Migration approach

Six steps for a successful Octadesk to Intercom data migration

  1. Discovery and Octadesk API audit

    We authenticate to the Octadesk API using the proprietary octa-agent-email header per-agent, enumerate all Tickets, Chats, Contacts, Companies, Agents, Teams, and Custom Fields via the REST API, and identify the active channel mix (WhatsApp, Instagram, Facebook, email, webchat) and agent count. We paginate through GET /chat to assess conversation volume and calculate the sequential export window. We document every active automation rule and chatbot flow for the automation audit report and flag any open or pending Tickets and Chats that cannot migrate per Intercom policy.

  2. Intercom workspace schema design

    We configure the Intercom workspace before import: creating all required custom attributes (matching Octadesk's customField names and types), setting up Inboxes mapped from Octadesk Teams, configuring tag normalisation rules, disabling phone number validation for import, and enabling default assignment settings for unassigned Tickets. If the customer uses Intercom's EU or AU regional hosting, we verify that the MCP server constraint (US-only for Fin AI data connectors) is acceptable or plan the Fin agent configuration accordingly.

  3. Data export in dependency order from Octadesk

    We export Octadesk data in record-dependency order: Companies first (to create Intercom Companies), then Contacts (linked to Companies), then Agents (mapped to Intercom Users), then Teams (mapped to Inboxes), then Tickets and Chats with customField arrays flattened per field. Chat export paginates through all pages sequentially, storing conversation events per Chat ID. Attachments are downloaded to local storage with reference to the parent Ticket or Chat. We run a reconciliation pass comparing exported record counts against Octadesk API totals before proceeding to import.

  4. Intercom import with rate-limit management

    We import into Intercom using the REST API v2.10 with batch chunking and rate-limit handling. Intercom's default limit is 1,000 requests per minute distributed over 10-second windows (166 operations per 10 seconds). We monitor X-RateLimit headers, throttle request frequency, and retry on HTTP 429 responses with exponential backoff. Contacts import first, then Companies, then Users (Agents), then Inboxes (Teams), then Conversations (Tickets and Chats), then Parts (Chat events), then Tags. Each phase emits a row-count reconciliation report.

  5. Attachment migration

    We upload downloaded Ticket and Chat attachments to Intercom via the conversation attachment endpoint, linking each file to the corresponding Conversation and Part record. Files exceeding Intercom's size limits are flagged in the reconciliation report for manual delivery. Attachment filenames and original timestamps are preserved as metadata on each Intercom attachment record.

  6. Cutover, validation, and automation handoff

    We freeze Octadesk writes during cutover, run a final delta migration of any records created or modified during the migration window, then enable Intercom as the system of record. We deliver the automation audit report documenting every Octadesk automation rule, chatbot flow, and AI agent configuration with a recommended Intercom equivalent. We support a one-week hypercare window for reconciliation issues. We do not rebuild Octadesk automations as Intercom Workflows or Fin AI agents inside the migration scope; that work is a separate engagement or an internal admin task.

Platform deep dives

Context on both ends of the pair

Octadesk logo

Octadesk

Source

Strengths

  • Unified omnichannel inbox combining WhatsApp, Instagram, Facebook, email, and live chat in a single agent interface
  • Built-in chatbot builder with no-code flow designer for both sales and post-sales automation scenarios
  • AI agent features for automated ticket classification, response suggestions, and routing without third-party AI integrations
  • Part of the Locaweb ecosystem — native integrations with Brazilian marketing and hosting tools reduce toolchain complexity
  • Dashboard and performance reporting built in for team-level SLA tracking and agent productivity metrics

Weaknesses

  • API is poorly documented externally and lacks a public developer portal with comprehensive endpoint coverage and versioning
  • No public bulk export or bulk import API — migration tooling must work around pagination limits and per-request caps
  • Automation and AI agent configurations are not exportable, meaning custom flows must be rebuilt manually on any new platform
  • Platform is primarily designed for Brazilian market — English documentation and multi-language support lag behind global competitors
  • Limited marketplace of third-party integrations compared to Zendesk or Freshdesk, requiring custom development for non-native connections
Intercom logo

Intercom

Destination

Strengths

  • Integrated AI agent (Fin) for automated resolution with per-resolution billing that rewards high automation rates.
  • Multi-channel inbox consolidating live chat, email, SMS, WhatsApp, and Phone into a single threaded view.
  • Native help center with articles, collections, and self-service deflection capabilities.
  • Workflow automation for routing, qualification, and proactive outbound messaging across channels.
  • Strong API ecosystem with 10,000 req/min rate limits for private apps enabling high-throughput migration pipelines.

Weaknesses

  • Pricing model compounds with seat count, AI resolution fees, channel costs, and multiple add-ons, making total cost hard to predict.
  • Workspace-level isolation prevents moving workflows or content between environments, requiring manual rebuilds.
  • S3 JSON export deliberately excludes conversation transcripts, necessitating REST API calls for full message history.
  • Outages are reported as frequent enough to be a concern for always-on support operations.
  • Setup complexity means teams often require internal guidance or professional services to configure bots and automation correctly.

Complexity grading

How hard is this migration?

Moderate Helpdesk migration. 3 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 Octadesk and Intercom.

  • Object compatibility

    C

    3 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

    Octadesk: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Octadesk to Intercom 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 Octadesk to Intercom data migrations

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

Can't find your answer?

Walk through your Octadesk to Intercom 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 20,000 Chats with a single active channel and no custom objects. Migrations with high conversation volumes (hundreds of thousands of chat events), multi-channel histories, complex custom field arrays, or large attachment libraries move to eight to twelve weeks because of sequential /chat pagination, per-record attachment handling, and schema design for Intercom custom attributes.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Octadesk.
Land in Intercom, 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