Intercom vs Freshservice (2026): Architecture, TCO & Migration Guide
Intercom handles external customer support. Freshservice manages internal ITSM. Compare architecture, TCO, API limits, and migration paths for 2026.
Planning a migration?
Get a free 30-min call with our engineers. We'll review your setup and map out a custom migration plan — no obligation.
Schedule a free call- 1,500+ migrations completed
- Zero downtime guaranteed
- Transparent, fixed pricing
- Project success responsibility
- Post-migration support included
Intercom vs Freshservice (2026): Architecture, TCO & Migration Guide
Intercom is an external customer service platform built around conversations and AI-driven resolution. Freshservice is an internal IT service management (ITSM) platform built around ITIL processes, assets, and a CMDB. They solve fundamentally different problems for different audiences. If you're comparing them, it's likely because your organization needs both internal and external service management — or you're consolidating tooling and wondering whether one can replace the other.
The short answer: they don't overlap enough to substitute. Intercom is for your customers. Freshservice is for your employees. This guide breaks down where each platform fits, how their architectures and costs compare, and what a migration between them actually involves at the data level.
If your search was really "Intercom vs Freshworks for customer support," you're comparing the wrong Freshworks product. Start with Freshdesk vs Intercom instead.
Mid-2026 context: Intercom rebranded to Fin in May 2026. Salesforce signed a definitive agreement to acquire Fin (Intercom) for approximately $3.6 billion on June 15, 2026 — the deal is pending regulatory approval and expected to close in Salesforce's Q4 FY2027. Pricing, API endpoints, and product behavior have not changed as a result of the rebrand or the pending acquisition. If you're signing a multi-year Intercom contract, factor in potential post-acquisition changes. (salesforce.com)
Who Each Platform Is Actually For
This is the single most important distinction. Getting it wrong leads to a bad purchase, not just a suboptimal one.
Freshservice: Internal IT and Business Service Desk
Freshservice is Freshworks' ITSM tool — an internal service desk for IT, HR, facilities, and other back-office teams, built around incidents, assets, and ITIL processes. It is not Freshdesk, which is the customer-support help desk.
Freshservice users are employees raising service requests — password resets, laptop provisioning, onboarding workflows, change requests. The people answering those requests are IT agents, HR operations staff, or facilities teams.
Key capabilities that don't exist in Intercom:
- Incident, problem, and change management (full ITIL lifecycle)
- CMDB and asset management — Freshservice's CMDB serves as the single source of truth for all Configuration Items (CIs), tracking hardware, software, and cloud resources from a centralized platform
- Service catalog with approval workflows
- Automated asset discovery across cloud and on-premises environments
- Release management and deployment planning
Intercom: External Customer Communication
Intercom is a customer service platform that combines live chat, help desk, help center, and marketing automation into one tool. It helps businesses support, engage, and convert users across multiple channels — website chat, email, SMS, and WhatsApp. It's best known for its modern messenger widget, AI agent Fin, proactive support campaigns, and automations. (intercom.com)
Intercom users are customers asking questions about your product, reporting bugs, or requesting account changes. The people answering are customer support reps and success teams.
Key capabilities that don't exist in Freshservice:
- In-app messenger embedded in your product via native iOS, Android, and web SDKs
- Proactive outbound messaging (product tours, in-app posts, targeted campaigns)
- Fin AI Agent — autonomous resolution of customer queries, powered by Intercom's proprietary Apex model
- Lead qualification and conversion (though Intercom has de-emphasized this)
- Customer-facing help center with article-based self-service
Don't confuse Freshservice with Freshdesk. Freshworks sells both. Freshdesk is the external customer support tool (Intercom's actual competitor). Freshservice is the internal ITSM tool. If you're evaluating Intercom against Freshworks for customer support, compare it to Freshdesk, not Freshservice. (If you're preparing to move between those two, see our guides on migrating from Intercom to Freshdesk or from Freshdesk to Intercom).
Architecture: ITIL Object Model vs Conversation Stream
The data model difference is what makes any migration between these platforms genuinely complex — and what makes them so different in daily operations.
Freshservice: ITIL-Aligned Object Model
Freshservice organizes data around discrete objects with defined relationships:
| Object | Description |
|---|---|
| Ticket | Incident or service request, with priority, category, SLA policy |
| Problem | Root cause record linked to multiple incidents |
| Change | Change request with CAB approval, risk assessment, rollback plan |
| Release | Groups changes into a deployable release |
| Asset / CI | Hardware, software, cloud resource — tracked in the CMDB |
| Requester | Employee who submits tickets (unlimited, free) |
| Agent | IT staff who resolve tickets (paid seats) |
| Service Item | Catalog entry with associated workflows |
Every ticket requires structured metadata: category, subcategory, item, impact, urgency. Tickets are linked to assets, problems, and changes. This relational depth — Ticket → Asset → Change → Problem — is what makes Freshservice work for IT operations.
The natural question in Freshservice is: what type of service object is this, which policy applies, what approval path is required, and what asset or change is it linked to?
SLA management is a first-class feature in Freshservice. SLA policies define response and resolution time targets per ticket priority (Urgent, High, Medium, Low). When an SLA is breached, Freshservice triggers automatic escalation rules — notifying supervisors or reassigning tickets. SLA clocks pause on pending states (e.g., awaiting customer response) based on configurable business hours. Intercom has no native SLA tooling; teams requiring SLA enforcement must rely on third-party integrations or manual monitoring.
Strengths: Deep relational linking, strict state machines for approvals and routing, built-in employee onboarding and offboarding workflows, full SLA lifecycle management.
Limitations: High friction for quick transactional questions. Not designed for external website visitors or anonymous leads. Chat is an add-on channel, not the native interface.
Intercom: Conversation-First Model
Intercom organizes data around conversations and contacts:
| Object | Description |
|---|---|
| Conversation | A thread of messages between a contact and your team |
| Ticket | A structured work item (added in 2023), separate from conversations |
| Contact | A user or lead interacting with your product |
| Company | Grouping of contacts by organization |
| Article | Help center content |
| Tag | Flat label applied to conversations or contacts |
When a user opens your app and asks a question, Intercom appends that message to their ongoing history. The UI is optimized for real-time chat, AI bot deflection (Fin), and proactive outbound messaging. There's no strict concept of a "ticket" with a required priority, category, and impact matrix in the ITIL sense. Intercom's ticket categories are Customer, Back-office, and Tracker — designed for customer service workflows, not ITIL compliance. (developers.intercom.com)
The natural question in Intercom is: how do we handle this customer thread and what should Fin or an agent do next?
Strengths: Extremely fast context switching for agents. Native event tracking (e.g., User clicked 'Upgrade'). Built for asynchronous and synchronous chat. Native mobile SDKs for iOS and Android for in-app support.
Limitations: No native asset management (CMDB). Poor handling of complex multi-department approvals. No incident-to-problem-to-change linking. No SLA enforcement tooling.
Why This Matters for Migration
You're not mapping equivalent objects — you're mapping across fundamentally different data philosophies. A Freshservice incident has a category tree, SLA clock, linked assets, and may be tied to a problem record. An Intercom conversation has a thread of messages, tags, and a contact. There is no 1:1 mapping, and no off-the-shelf sync tool handles the transformation cleanly.
Pricing and Total Cost of Ownership
Pricing verified as of mid-2026. Both vendors adjust pricing periodically. Confirm current rates directly before signing.
Freshservice Pricing
Annual per-agent pricing in 2026:
- Starter: $19/month
- Growth: $49/month
- Pro: $99/month
- Enterprise: Custom quote
Monthly billing runs higher — roughly $29/$59/$119 for Starter/Growth/Pro. All seats are billed per agent (your IT staff); requesters who raise tickets are unlimited and free.
What's gated behind tiers:
- Starter ($19): Incident management, knowledge base, SLA management, basic workflow automation
- Growth ($49): Asset management, service catalog, approval workflows, custom roles
- Pro ($99): Problem, change, and release management, project management, advanced analytics
- Enterprise (custom): Freddy AI Agent included, sandbox environment, audit logs
Hidden cost drivers:
- AI add-ons: Freddy Copilot is approximately $29/agent/month on Pro plans (verify directly with Freshworks; pricing is not listed on the public pricing page and is quoted on request)
- Asset management packs: approximately $75 per 500 assets (quoted by Freshworks sales; confirm before purchasing)
- Orchestration Center add-on for advanced third-party integrations — billed separately by usage volume, not included in any standard plan
- These add-ons can increase total cost by 30–50% depending on usage
Intercom Pricing
Three Customer Service Suite plans (annual billing):
- Essential: $29/seat/month
- Advanced: $85/seat/month
- Expert: $132/seat/month
Every plan includes access to Fin AI Agent, but Fin usage is not unlimited. Fin is billed at $0.99 per resolution — you pay only when Fin resolves a conversation without human escalation. (intercom.com)
Defining "resolution" for Fin billing: Intercom defines a resolution as a conversation that Fin closes without requiring escalation to a human agent, within a defined conversation window. Conversations that end without explicit closure but receive no reply for a set period may also count as resolved depending on your configuration. This definition matters significantly for cost modeling: a conversation that Fin partially handles before a human intervenes is not billed as a resolution. Clarify the exact resolution criteria with Intercom before modeling high-volume costs.
Hidden cost drivers:
- Fin AI usage at scale: 1,500 resolutions/month = $1,485/month on top of seat costs
- Proactive Support Plus add-on: $99/month for product tours, surveys, in-app posts, mobile push — not included in any base plan
- Channel-specific pricing for SMS, WhatsApp, phone, and email campaigns
- Lite seats (included in Advanced and Expert) cannot reply to conversations, create tickets, or use Copilot
Collaboration economics worth noting: Intercom Advanced and Expert include limited free Lite seats, but Lite users have restricted functionality. Freshservice supports unlimited Occasional Agents who burn a day pass only on days they log in, priced from $3 to $18 depending on plan. If finance, engineering, or approvers touch the system sporadically, Freshservice is significantly cheaper to govern than a pure named-seat model. (support.freshservice.com)
10-Agent TCO Comparison
| Cost Component | Freshservice Pro | Intercom Advanced |
|---|---|---|
| Base seats (annual billing) | $99 × 10 = $990/mo | $85 × 10 = $850/mo |
| AI add-on | ~$29/agent Copilot = $290/mo | $0.99/resolution × ~1,500 = $1,485/mo |
| Orchestration / Add-ons | ~$200/mo (estimated) | $99/mo Proactive Plus |
| Estimated monthly total | ~$1,480/mo | ~$2,434/mo |
| Estimated annual total | ~$17,760 | ~$29,208 |
These are illustrative estimates. Freddy Copilot and asset pack pricing are not publicly listed and are quoted on request by Freshworks sales. Intercom's variable Fin cost assumes 1,500 resolutions/month — your actual volume may be higher or lower. Freshservice's cost is more predictable (per-agent); Intercom's scales with AI resolution volume.
The real TCO question isn't "which is cheaper" — it's whether you're paying for the right tool. Spending $17K/year on Freshservice for internal IT is a different budget line than spending $29K/year on Intercom for customer conversations. The cheaper line item is irrelevant if the operating model is wrong.
AI Capabilities: Fin vs Freddy
Both platforms have invested heavily in AI, but the implementations target different workflows.
Intercom's Fin AI Agent
Fin resolves complex customer queries end-to-end across every channel — live chat, email, WhatsApp, SMS, phone, and Slack. It's powered by Intercom's proprietary Apex model, purpose-built for customer support. Intercom publishes customer case studies where Fin resolved over 76% of support volume without human escalation — see Intercom's published customer stories for specific examples, as resolution rates vary significantly by industry and support complexity. (intercom.com)
Fin is billed per resolution ($0.99), so you pay only when it successfully handles a conversation without human escalation. This is cost-efficient when it works — but makes budgeting unpredictable for high-volume teams. See the "Defining resolution" note in the pricing section above before modeling costs.
Freshservice's Freddy AI
Freshservice ships Freddy AI in three pieces:
- Freddy AI Agent: An autonomous bot that resolves employee requests like password resets and access requests end-to-end
- Freddy AI Copilot: Agent-assist features — suggestions, summaries, draft replies
- Freddy AI Insights: Analytics and reporting intelligence
Freddy's AI Agent works inside Microsoft Teams and Slack, which makes sense for an internal service desk where employees already spend their working hours. It handles employee-facing automation: password resets, access provisioning, common IT requests — without requiring employees to open a separate ITSM portal.
The important caveat: Freddy AI Agent is gated to the Enterprise tier. Freddy AI Copilot is a paid add-on (approximately $29/agent/month on Pro plans; pricing is not publicly listed and must be confirmed with Freshworks sales). This is the most common complaint from users who expected AI to be included in their subscription.
Fin vs Freddy billing model: Intercom bills Fin on successful resolutions ($0.99 each) — costs scale linearly with volume. Freshservice bills Freddy Copilot as a flat per-agent monthly license (price on request). High-volume teams should model Intercom's variable costs carefully before committing. Low-volume teams may find Freshservice's flat AI fee inefficient relative to actual usage.
Compliance, Data Residency, and Identity Integration
Enterprise IT buyers operating under governance requirements and SaaS companies with GDPR obligations both need answers here before committing to either platform. This section covers the most common blockers.
Data Residency
Freshservice offers data residency options in the US, EU (Frankfurt), and Australia for Enterprise tier customers. Organizations that need EU data processing for employee data under GDPR can request EU-hosted deployments. Standard tiers default to US data centers. Freshworks publishes a Trust Center at freshworks.com/trust covering data processing agreements, sub-processor lists, and regional availability.
Intercom supports data residency in the US and EU. EU data residency is available on paid plans and must be configured at workspace creation — it cannot be changed after the fact. Intercom publishes GDPR documentation at intercom.com/legal. As a customer-facing platform handling personal data from end users, Intercom customers typically need a Data Processing Agreement (DPA) signed; Intercom provides a standard DPA available via their legal page.
Post-acquisition data residency consideration: Following Salesforce's expected acquisition of Intercom, EU customers should confirm whether existing data residency commitments carry over to the Salesforce infrastructure. Salesforce maintains its own EU data center commitments, but the migration timeline and contractual continuity are not yet defined.
SSO and Identity Integration
| Capability | Freshservice | Intercom |
|---|---|---|
| SAML 2.0 SSO | All paid plans | Available on paid plans |
| SCIM provisioning | Enterprise tier | Not natively supported; third-party identity providers can sync via API |
| Okta integration | Native connector, SCIM-based | Okta SSO supported; no SCIM for user lifecycle management |
| Azure AD / Entra ID | Native SCIM provisioning | Azure AD SSO supported; no SCIM |
| Google Workspace SSO | Supported | Supported |
| Just-in-time provisioning | Enterprise tier | SSO-triggered, no SCIM deprovisioning |
Freshservice's SCIM support on Enterprise means IT teams can automate agent provisioning and deprovisioning via Okta or Azure AD — when an employee leaves, their Freshservice access is revoked automatically through the identity provider. Intercom lacks native SCIM support, which means deprovisioning requires manual action or custom API scripts. For organizations with strict access governance requirements, this is a meaningful operational difference.
Compliance Certifications
Freshservice: SOC 2 Type II, ISO 27001, ISO 27017, ISO 27018, GDPR, HIPAA (Business Associate Agreement available on Enterprise). (freshworks.com/trust)
Intercom: SOC 2 Type II, ISO 27001, GDPR. HIPAA compliance is available for healthcare customers on qualifying plans with a BAA. (intercom.com/security)
API Architecture and Rate Limits
If you're building integrations or planning a migration, API constraints matter more than feature lists.
Freshservice API
Freshservice provides a RESTful API using JSON with standard HTTP conventions and full CRUD operations. (api.freshservice.com)
Rate limits by plan (requests per minute, account-wide):
| Plan | Rate Limit |
|---|---|
| Starter | 100/min |
| Growth | 200/min |
| Pro | 400/min |
| Enterprise | 500/min |
These limits are account-wide regardless of agent count or IP addresses. For migrations, Freshservice can temporarily raise the limit to 700 requests per minute through their data migration partner program. (support.freshservice.com)
Payload structure is heavily nested. Creating a ticket requires mapping custom fields to specific integer IDs, not human-readable string names. Webhooks are triggered via Automation Rules — you must manually configure business rules to fire webhooks on ticket creation or update.
Webhook delivery and retry behavior: Freshservice delivers webhooks via Automation Rules with a single delivery attempt. There is no built-in retry mechanism for failed webhook deliveries — if your endpoint is unavailable, the event is dropped. Design webhook consumers to be idempotent and implement your own catch-up mechanism (e.g., polling the API for recent changes) if delivery guarantees are critical to your integration.
Bulk migration endpoints (partner program only):
- Available for tickets and notes only
- Maximum 50 tickets or 50 notes per request
- Rate-limited to 10 requests per minute account-wide
- Attachments must be publicly accessible URLs
- Workflows and automations still fire during migration — this is critical to plan around
Freshservice migration edge case: Workflows are not automatically muted during bulk imports. If you load historical tickets without suppressing automations, your import can spam users, trigger escalations, or distort SLA reports. Build a migration-specific rule set, quarantine group, or isolated workspace path before loading data. (support.freshservice.com)
Intercom API
Intercom provides a modern REST API with cursor-based pagination.
Rate limits:
- 10,000 API calls per minute per app
- 25,000 API calls per minute per workspace
- Limits are distributed across 10-second windows (the permitted request count resets every 10 seconds)
Intercom exposes X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers — trust these rather than hard-coding assumptions. (developers.intercom.com)
Custom attributes are passed as simple key-value pairs. Webhooks are managed via the developer console with granular topic subscriptions (e.g., conversation.user.replied).
Webhook delivery and retry behavior: Intercom retries failed webhook deliveries up to 5 times with exponential backoff. After 5 failures, the webhook is marked as failed and no further retries occur. Intercom will disable a webhook endpoint that returns consistent failures — monitor delivery health via the developer console. This retry behavior is meaningfully more robust than Freshservice's single-attempt model.
Migration-specific constraint: Retrieving a conversation via API returns at most the 500 most recent conversation parts. Long-running conversations may need a hybrid extraction plan rather than a single API pass.
The transcript problem: Intercom's built-in export tools silently drop conversation message content. Their documentation states: "Conversation and ticket data exported to S3 will not contain a transcript." If you need full message histories — which you almost certainly do for a migration — you must use the REST API to iterate through conversations individually. For more detail, see our guide on how to export data from Intercom.
Intercom's rate limits (10,000/min) are an order of magnitude more generous than Freshservice's (100–500/min). This makes Intercom the faster side to extract data from in any migration.
Integration Ecosystems
Both platforms maintain app marketplaces that affect build-vs-buy decisions for integrations:
Freshservice Marketplace: 1,000+ apps covering ITSM workflows — Jira, Slack, Microsoft Teams, Azure DevOps, Okta, ServiceNow connectors, PagerDuty, and monitoring tools (Datadog, New Relic). The Orchestration Center enables multi-step workflow automations across third-party tools without custom code, but is billed separately by transaction volume.
Intercom App Store: 350+ apps focused on customer-facing workflows — Salesforce CRM, HubSpot, Stripe, Zendesk (for migrations), Jira (for bug tracking escalations), and product analytics tools (Amplitude, Mixpanel). Integration depth skews toward sales, marketing, and product tools rather than IT operations.
The ecosystem gap is significant: Freshservice integrates with monitoring and DevOps tooling that IT operations teams require. Intercom integrates with CRM and revenue tools that customer success teams require. Building the other direction (ITSM integrations in Intercom, or CRM integrations in Freshservice) requires custom development.
Migration: Intercom ↔ Freshservice
When Does This Migration Happen?
This is an uncommon migration because the platforms serve different audiences. But it happens in specific scenarios:
- Vendor consolidation. You're on Freshdesk for customer support and want to bring internal IT onto Freshservice — but some teams were using Intercom as a makeshift internal helpdesk.
- Spinning up customer support from an ITSM base. Your organization started with Freshservice for everything and now needs a customer-facing platform.
- Post-acquisition tooling consolidation. The acquired company used Intercom; the parent uses Freshservice (or vice versa).
- Outgrowing a tool's design boundaries. You realize you need structured ITIL processes instead of chat-first support, or the reverse.
Data Model Mapping
This is where the real complexity lives:
| Intercom Object | Freshservice Equivalent | Notes |
|---|---|---|
| Conversation | Ticket (Incident/SR) | Loses thread structure; becomes flat ticket with notes |
| Ticket | Ticket (Incident/SR) | Closer mapping, but Freshservice adds category trees |
| Contact (User) | Requester | Email is the natural join key; custom attributes need manual mapping |
| Contact (Lead) | No direct equivalent | Freshservice doesn't track leads |
| Company | Department (partial) | Freshservice organizes by department, not company |
| Article | Knowledge Base Article | Closest 1:1 mapping in the whole migration |
| Tag | Tag or Category | Freshservice has both; decide which fits your taxonomy |
| Conversation Parts | Ticket Notes/Replies | Each message part maps to a note or reply |
| Custom Attributes | Custom Fields | Must be recreated manually on the target |
No asset equivalent in Intercom. If you're migrating to Freshservice, you'll need to populate the CMDB and asset inventory separately. Intercom has no concept of hardware assets, software licenses, or configuration items.
Intercom → Freshservice: Step by Step
Step 1: Audit and scope. Inventory what you're moving: contacts, conversations (with transcripts), articles, tags, custom attributes. Decide what historical data matters — many teams only migrate the last 12–24 months of conversations.
Step 2: Extract from Intercom. Use the REST API to pull contacts, conversations (with message parts), and articles. The bulk export to S3 won't include transcripts — you must iterate through the Conversations API. Remember the 500-part limit per conversation; long threads may require special handling. At 10,000 calls/min, extracting 100K conversations with full message parts takes hours, not days.
Step 3: Transform. Map Intercom conversations to Freshservice tickets. Each conversation part becomes a ticket note or reply. Map contact email addresses to Freshservice requesters. Translate Intercom tags into Freshservice categories or tags. Handle custom attribute mapping.
Sanitize HTML payloads before loading — strip custom Intercom CSS classes (intercom-container, intercom-align-right) as Freshservice's rendering engine strips certain tags and may break the UI.
Step 4: Load into Freshservice. Use the Freshservice v2 API. Create dependent entities first (requesters), then tickets, then notes and replies. Respect rate limits — request the 700/min migration limit through Freshservice's partner program for large migrations. If using bulk endpoints, remember: only tickets and notes, max 50 per request, and automations will fire unless suppressed.
The most dangerous edge case in this step is automation firing during import. To suppress it, create a migration-specific automation rule that matches all tickets in a designated migration group and explicitly halts further rule processing. The snippet below shows rate limit handling; the comment marks where automation suppression logic must be implemented before the main import loop runs:
import time
import requests
def load_ticket_to_freshservice(api_key, domain, ticket_payload):
"""
Load a single ticket to Freshservice with rate limit handling.
IMPORTANT: Before running this function at scale, ensure you have:
1. Created a 'migration-group' in Freshservice
2. Added an automation rule that matches tickets in that group
and halts all further rule processing (prevents notification spam,
SLA clock distortion, and escalation triggers during bulk import)
3. Tagged all migration payloads with that group before calling this function
"""
url = f"https://{domain}.freshservice.com/api/v2/tickets"
headers = {
"Authorization": f"Basic {api_key}",
"Content-Type": "application/json"
}
response = requests.post(url, json=ticket_payload, headers=headers)
if response.status_code == 429:
retry_after = int(response.headers.get("Retry-After", 60))
print(f"Rate limit hit. Sleeping for {retry_after} seconds.")
time.sleep(retry_after)
return load_ticket_to_freshservice(api_key, domain, ticket_payload)
response.raise_for_status()
return response.json()Step 5: Handle attachments. Both platforms require a two-step process: download files from the source to intermediate storage, then re-upload to the target. Intercom CDN URLs expire — you cannot pass them directly into Freshservice payloads. Freshservice bulk endpoints require attachments as publicly accessible URLs. Download everything during extraction and stage it on intermediate storage.
Step 6: Validate and cut over.
- Spot-check conversation-to-ticket mapping, attachment accessibility, and requester associations
- Verify record counts match expectations
- Pause Intercom inbound routing
- Run a final delta sync using the
updated_attimestamp - Update DNS and mail forwarding rules to point to Freshservice
- Enable Freshservice inbound routing
Freshservice → Intercom: Step by Step
Step 1: Scope carefully. Freshservice has far more object types than Intercom can receive. Assets, problems, changes, and releases have no home in Intercom. Decide what's worth moving — typically just tickets (as conversations), requesters (as contacts), and knowledge base articles.
Step 2: Extract from Freshservice. Use the v2 API with page-based pagination (max 100 per page). On a Pro plan at 400 req/min, extracting 50K tickets with notes takes several hours. Use the updated_since filter for incremental extraction.
Step 3: Transform. Convert Freshservice tickets into Intercom conversations. Each ticket reply/note becomes a conversation part. Map requesters to Intercom contacts (create if they don't exist). Flatten Freshservice's category hierarchy into Intercom tags. Intercom's API supports created_at on both conversations and replies, so you can preserve historical timelines. (developers.intercom.com)
Step 4: Load into Intercom. Create contacts first via the Contacts API, then create conversations. Intercom handles creation well at 10,000/min, but creating conversations with multiple parts requires sequential calls per conversation. Note: Intercom's own documentation states there is no way to import a conversation with all related data in a single operation — even for Intercom-to-Intercom workspace moves.
Step 5: Handle knowledge base. Map Freshservice KB articles to Intercom Articles. This is the cleanest part of the migration — both platforms support HTML content with similar structure.
What doesn't travel cleanly: The ITSM core — incidents linked to problems, formal changes, release objects, service catalog requests, employee journeys, approvals, assets, and CMDB relationships. These become flattened tickets, archived records, or are left behind entirely.
When to Choose Which
Choose Freshservice if:
- Your primary audience is internal employees, not external customers
- You need ITIL processes — incident, problem, change, release management
- You need a CMDB with asset discovery, dependency mapping, and lifecycle tracking
- You need SLA management with breach escalation and business-hours-aware clocks
- You want predictable, per-agent billing without usage-based AI charges
- You're in a regulated industry that requires change advisory board (CAB) workflows
- You need a service catalog with approval chains for IT provisioning
- You require SCIM-based provisioning via Okta or Azure AD for access governance
- You need EU or AU data residency on a predictable per-agent contract
Choose Intercom if:
- Your primary audience is external customers interacting with your product
- You need in-app messaging embedded in your web or mobile app via native SDKs
- You want AI-first deflection of customer queries with Fin
- Your support model is conversation-based, not ticket-queue-based
- You need proactive outbound — product tours, targeted messages, in-app announcements
- You're a product-led SaaS company where support is part of the product experience
- You integrate with CRM and revenue tools (Salesforce, HubSpot, Stripe) as primary workflows
Run both if your company has two genuine service domains: customer support outside and employee/IT service inside. Many mid-market and enterprise organizations do this — Freshservice for internal IT operations and Intercom (or Freshdesk) for customer-facing support. Trying to force one tool into both roles means rebuilding missing primitives outside the platform. If you're in this position, the challenge is keeping data in sync between the two, not migrating from one to the other.
| Decision Factor | Freshservice | Intercom |
|---|---|---|
| Primary audience | Internal employees | External customers |
| Core data model | ITIL objects (tickets, assets, CIs) | Conversations + contacts |
| AI approach | Freddy (agent-assist + autonomous, ITSM-focused) | Fin (autonomous customer resolution) |
| Billing model | Per agent, predictable | Per seat + per AI resolution, variable |
| Asset management | Full CMDB + discovery | None |
| In-app messaging | None (Teams/Slack integration) | Native iOS/Android/web SDK |
| SLA management | Full lifecycle, breach escalation | None native |
| ITIL compliance | Full lifecycle support | None |
| SCIM provisioning | Enterprise tier (Okta, Azure AD) | Not supported natively |
| Data residency | US, EU, AU (Enterprise) | US, EU |
| Webhook retries | None (single attempt) | Up to 5 retries with backoff |
| Best for | IT ops, HR ops, facilities | SaaS customer support, product-led growth |
What the Salesforce Acquisition Means for This Decision
Salesforce signed a definitive agreement to acquire Intercom (now Fin) for approximately $3.6 billion on June 15, 2026. The transaction is expected to close in Salesforce's Q4 FY2027, pending regulatory clearance. Until it closes, Intercom continues to operate as its own product. (salesforce.com)
What to watch for:
- Pricing changes post-close — Salesforce acquisitions historically lead to enterprise-tier pricing adjustments and SKU rationalization
- API endpoint changes — Intercom's endpoints may eventually migrate to Salesforce's infrastructure; API clients should monitor deprecation notices
- Data residency continuity — EU customers in particular should confirm whether Intercom's existing data processing agreements carry over post-acquisition
- Product consolidation — overlap with Salesforce Service Cloud could lead to feature merges or deprecations of standalone Intercom capabilities
- Contract terms — if you're signing a new Intercom contract now, negotiate price-protection clauses and data portability rights
If you're on Freshservice and evaluating whether to add Intercom for customer support, the acquisition adds uncertainty. Freshdesk may be the lower-risk choice for Freshworks shops that want to stay in one ecosystem and avoid post-acquisition pricing adjustments.
Making the Decision
Selecting between Intercom and Freshservice is an architectural decision about who you are supporting and what kind of work the platform manages — not a feature dispute. Trying to force Intercom to act as an internal IT helpdesk results in a messy, unstructured queue with no SLA enforcement and no asset tracking. Trying to force Freshservice to act as a real-time, in-app customer engagement tool frustrates your product and support teams.
If you've inherited a stack where the wrong tool was deployed, the data migration is your next engineering hurdle. The structural differences between a conversation graph and an ITIL database require precise transformation scripts, not out-of-the-box sync tools. The compliance, identity, and webhook differences documented above determine whether those scripts need additional governance scaffolding before you cut over. Define the service model first; the tool choice follows directly.
For related comparisons, see our guides on ServiceNow vs Freshservice, Freshservice vs Jira Service Management, and Zendesk vs Freshdesk vs Intercom.
Frequently Asked Questions
- Is Freshservice the same as Freshdesk?
- No. Freshservice is Freshworks' internal IT service management (ITSM) platform for employees. Freshdesk is their external customer support help desk. They share a vendor but serve entirely different audiences and use cases.
- Can Intercom replace Freshservice for IT ticketing?
- Not effectively. Intercom lacks ITIL processes (problem, change, release management), asset management, CMDB, and service catalog — all core to IT service management. Intercom is designed for external customer support, not internal IT operations.
- How does Intercom Fin AI pricing compare to Freshservice Freddy AI?
- Intercom bills Fin AI per resolution at $0.99 each — costs scale with volume. Freshservice bills Freddy AI Copilot as a flat per-agent add-on (~$29/agent/month on Pro). High-volume teams must model Intercom's variable costs carefully, while low-volume teams may find Freshservice's flat fee inefficient.
- What are the API rate limits for Freshservice and Intercom?
- Freshservice allows 100–500 API requests per minute depending on plan (account-wide), with a temporary 700/min option for migration partners. Intercom allows 10,000 requests per minute per app and 25,000 per workspace. Intercom's limits are significantly more generous for bulk data operations.
- Can I migrate data from Intercom to Freshservice?
- Yes, but there's no 1:1 data model mapping. Intercom conversations become Freshservice tickets, contacts become requesters, and articles map to KB articles. Assets, CMDB data, and ITIL objects have no Intercom equivalent and must be populated separately. Intercom's S3 exports also exclude transcripts, so you must use the REST API for full message extraction.