Helpdesk migration
Field-level mapping, validation, and rollback between Request Tracker and Intercom. We move data and schema; workflows are rebuilt natively in Intercom.
Request Tracker
Source
Intercom
Destination
Compatibility
10 of 11
objects map 1:1 between Request Tracker and Intercom.
Complexity
CModerate
Timeline
3-5 weeks
Overview
Moving from Request Tracker to Intercom is a migration from a queue-centric, email-driven ticketing system to a messenger-first, conversation-centric support platform. Request Tracker organizes work around persistent Queues with granular staff and requestor permission models, while Intercom uses Teams, Contacts, and Conversations as its core objects. We extract RT data via tab-delimited spreadsheet exports or direct database queries (RT has no bulk REST API), sanitize delimiter collisions, and load into Intercom in the required order: Contacts first, then Conversations, then attachments. RT's Custom Fields, Articles, Time Tracking data, and transaction history all migrate, but RT Scrips and Templates are Perl server artifacts that cannot run in Intercom and do not transfer. We deliver a written inventory of every RT queue configuration and Scrip for the customer's admin to rebuild as Intercom Rules and macros post-migration.
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 Request Tracker 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.
Request Tracker
Ticket
Intercom
Conversation
1:1RT Tickets map directly to Intercom Conversations. The RT Subject becomes the conversation title, RT Status (new, open, resolved, rejected, etc.) maps to Intercom's open, closed, and snoozed states, and RT Priority maps to a custom conversation priority attribute. RT's Queue field becomes an Intercom Team assignment; if RT has multiple queues, we create multiple Intercom Teams during provisioning. We preserve RT ticket creation and last-updated timestamps as Created_at and Updated_at on the Intercom conversation. Every RT Transaction (reply, comment, status change) becomes an Intercom Conversation Part in chronological order.
Request Tracker
Queue
Intercom
Team
1:1RT Queues define organizational silos and ticket routing. Each RT Queue maps to an Intercom Team. We export Queue names, descriptions, and SLA configurations (if RT-Extension-SLA is present) and create corresponding Teams in Intercom during workspace provisioning. RT's per-queue access control lists (who can reply, who can own tickets) do not have a direct Intercom equivalent; we document the ACL structure in the handoff deliverable for the customer to recreate using Intercom's Team and teammate permission settings. Queue-specific custom fields require additional custom attribute creation per queue in Intercom.
Request Tracker
User (Privileged)
Intercom
User (Admin/Agent)
1:1RT Privileged users (staff with login access) map to Intercom Users with admin or agent roles. We extract Name, email, phone, and disabled status from the RT Users table. Matching is by email address. Any RT Privileged user without a matching Intercom User is placed in a reconciliation queue for the customer to provision before record import. Role assignment (superuser, staff, or requestor-only in RT) maps to Intercom's admin vs agent vs teammate access levels.
Request Tracker
User (Unprivileged)
Intercom
Contact
1:1RT Unprivileged users (requestors who submit tickets but do not have staff login) map to Intercom Contacts. RT stores Name, email, organization, and phone for each requestor. We export all distinct requestor addresses from the Tickets table, deduplicate by email, and create Intercom Contacts before importing any Conversations. Requestors without an email address require special handling; we flag these as an exception item during scoping.
Request Tracker
Custom Field
Intercom
Custom Attribute
lossyRT supports unlimited Custom Fields of types Select-Box, Freeform text, Date, IP Address, and others, scoped globally or to specific queues. We export CF definitions and values and create equivalent custom attributes in Intercom. Global CFs become Intercom custom attributes on the Contact or conversation data object depending on whether the CF applies to users or tickets. Queue-specific CFs require per-queue Team attribute configuration in Intercom. Select-Box CFs with enumerated values map to Intercom dropdown or multiple-choice custom attributes. We document any CF that has no clean Intercom type equivalent as a flag item for scoping review.
Request Tracker
Article
Intercom
Help Center Article
1:1RT Articles live in named classes (e.g., General) with Name, Summary, Content, and Custom Fields. We export Articles as structured JSON using RT::Extension::Import::CSV with the --article-class flag and map them to Intercom Help Center Articles. RT Article classes become Intercom Collections, and the Article Name and Summary map to Article title and summary. Content with embedded commas triggers CSV parsing errors; we pre-process with quoting-aware sanitization before import. RT Article custom fields map to Intercom Article attributes.
Request Tracker
Group / Role
Intercom
Team
1:1RT Groups organize users for queue-level or ticket-level permission grants (AdminCc, Cc, OwnerDelegated). Group membership does not export in a single flat file—we reconstruct it from the GroupMembers table. Intercom Teams function differently from RT Groups; Intercom Teams define inbox assignment and agent permissions rather than granular ACL grants. We map RT Groups to Intercom Teams where possible, and document the mapping in the handoff deliverable. Any RT Group that does not map cleanly to an Intercom Team is flagged for manual review.
Request Tracker
Transaction
Intercom
Conversation Part
1:1Every RT ticket action—reply, comment, status change, field update—creates a Transaction record. We export the full transaction log ordered by Created date and replay it as Intercom Conversation Parts. RT reply actions become Intercom part_type=comment from the contact; RT comment actions become internal notes (part_type=note in Intercom); RT status changes and field updates become conversation metadata updates. Attachment references in Transactions are resolved by querying the Attachments table and re-attaching to the corresponding Conversation Part.
Request Tracker
Attachment
Intercom
Conversation Attachment
1:1RT stores file attachments as base64-encoded blobs inside the Attachments database table linked to Transactions by ID. There is no file system path for RT attachments. We run a targeted SQL export per ticket's attachment IDs, decode the base64 blob, reconstruct the original filename and MIME type, and attach the resulting file to the corresponding Intercom Conversation Part. Large attachment blobs (over 10 MB per file) may require chunked extraction and upload due to RT database query timeouts and Intercom's attachment size limits.
Request Tracker
Time Tracking
Intercom
Conversation Data Attribute
1:1RT stores Estimated-minutes and Worked-minutes natively on each ticket. If RT-Extension-TimeTracking is installed, it adds structured time-entry records with User, Ticket, Time Worked, and Note. We export both native time values and TimeTracking extension entries and map them to custom numeric attributes on the Intercom conversation (rt_time_estimated_minutes, rt_time_worked_minutes). Intercom does not have a native time-tracking object, so these values appear as conversation metadata rather than a native timesheet feature.
Request Tracker
Template
Intercom
Macro
1:1RT Templates define email and notification text used by Scrips. We export Template names and content as text data, preserving token placeholders and conditional logic. Intercom has no direct equivalent to RT's server-side Templates, but Intercom Macros serve a similar notification-and-reply purpose. We deliver Template content mapped to suggested Macro actions as part of the handoff inventory, noting that the customer will need to recreate the templates as Macros manually since Intercom's macro model uses a different action schema. Scrip logic (Perl code) does not migrate and is inventoried separately for the admin's rebuild scope.
| Request Tracker | Intercom | Compatibility | |
|---|---|---|---|
| Ticket | Conversation1:1 | Fully supported | |
| Queue | Team1:1 | Fully supported | |
| User (Privileged) | User (Admin/Agent)1:1 | Fully supported | |
| User (Unprivileged) | Contact1:1 | Fully supported | |
| Custom Field | Custom Attributelossy | Fully supported | |
| Article | Help Center Article1:1 | Fully supported | |
| Group / Role | Team1:1 | Fully supported | |
| Transaction | Conversation Part1:1 | Fully supported | |
| Attachment | Conversation Attachment1:1 | Fully supported | |
| Time Tracking | Conversation Data Attribute1:1 | Mapping required | |
| Template | Macro1: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.
Request Tracker gotchas
Tab-delimited export instead of CSV
Attachments stored as database blobs
RT-to-RT upgrades require original RT directory
No native bulk REST API
Comma-heavy article content breaks CSV imports
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 RT export strategy
We audit the source RT instance across version (4.2 or 5.0), deployment type (self-hosted or cloud), queue count, custom field definitions (global and per-queue), article class structure, time tracking configuration, attachment volume, and transaction history size. We determine the export method: self-hosted RT with direct database access uses SQL queries for maximum fidelity; cloud-hosted RT without DB access uses the tab-delimited spreadsheet export combined with the RT REST API for users and custom field lookups. We produce a written migration scope document with record counts per object, an export method recommendation, and a timeline estimate based on data volume.
RT data extraction and sanitization
We run data extraction from RT using the agreed method. Tab-delimited exports pass through our sanitizer to convert to proper CSV with consistent quoting for comma-heavy fields. Database exports query the Tickets, Transactions, Attachments, Users, Groups, GroupMembers, Articles, CustomFields, CustomFieldValues, and TimeTracking tables directly. We extract attachment blobs as base64, decode them, and reconstruct filenames and MIME types. RT Templates are exported as text files with their Scrip associations noted. All raw exports are validated against RT record counts before transformation begins.
Intercom workspace provisioning and schema design
We provision the Intercom workspace, create Teams corresponding to RT Queues, and define custom attributes matching RT Custom Field names and types. We create Collections and Sections corresponding to RT Article classes. Custom attributes are created before any contact or conversation import so that attribute values can map correctly during data load. Intercom's default assignment settings are configured to keep migrated tickets unassigned or assigned to the appropriate team, matching RT's Owner assignment model.
Contacts-first migration
We load RT Users into Intercom in the required order: Unprivileged users (requestors) as Contacts first, then Privileged users as Users with admin or agent roles. We match by email address and flag any duplicates for manual resolution. RT Group membership is reconstructed from GroupMembers and applied as notes on the corresponding Intercom User record since Intercom Teams use a different permission model. The RT UserCF.Manager field (referenced in community forum discussions on LDAP integration) is preserved as a custom attribute on the Intercom Contact if present.
Conversation migration with transaction threading
We load RT Tickets as Intercom Conversations in queue order, resolving the Contact reference for each ticket's requestor. Transactions are replayed as Conversation Parts in chronological Created date order: RT comments become internal Intercom notes, RT replies become contact-visible comments, and RT status changes and field updates update conversation metadata. Attachments are re-uploaded to Intercom and linked to the corresponding Conversation Part. SLA timers from RT-Extension-SLA are mapped to Intercom SLA configuration if present. We run reconciliation reports comparing conversation count and transaction count against the RT source after each batch.
Cutover, validation, and Scrip handoff
We freeze RT ticket creation during cutover, run a final delta migration capturing any records modified during the migration window, and enable Intercom as the system of record. We deliver the Scrip and Template inventory document to the customer's admin team for Intercom Rules and Macro rebuild. We support a one-week hypercare window to resolve reconciliation issues. We do not rebuild RT Scrips as Intercom Rules inside the migration scope; that work is documented and handed off as a separate admin task. Post-cutover, the customer should disable any automated Outbound email campaigns in Intercom during the initial days of production use to avoid API rate-limit pressure from migration tooling.
Platform deep dives
Request Tracker
Source
Strengths
Weaknesses
Intercom
Destination
Strengths
Weaknesses
Complexity grading
Moderate Helpdesk migration. 4 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 Request Tracker and Intercom.
Object compatibility
4 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
Request Tracker: Not publicly documented.
Data volume sensitivity
Request Tracker 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 Request Tracker to Intercom migration scoping. Not seeing yours? Book a call.
Walk through your Request Tracker 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 Request Tracker
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.