Helpdesk migration

Migrate from Crisp to Salesforce Service Cloud

Field-level mapping, validation, and rollback between Crisp and Salesforce Service Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Service Cloud.

Crisp logo

Crisp

Source

Salesforce Service Cloud

Destination

Salesforce Service Cloud logo

Compatibility

50%

5 of 10

objects map 1:1 between Crisp and Salesforce Service Cloud.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Crisp to Salesforce Service Cloud is a schema remapping, not a straight record copy. Crisp organizes customer interactions as Conversations — threaded objects that bundle Messages, a Contact reference, and operator assignments in a single workspace-scoped record. Salesforce Service Cloud uses Cases as the primary ticket object, with a separate EmailMessage table for message history and Task records for activity tracking. We resolve the conversation-to-case mapping during scoping, collapsing each Crisp Conversation into a Case with the full message history stored in Salesforce's EmailMessage and Activity tables. Operator records map to Salesforce Users by email match, and Tags from Crisp become either a custom multi-select picklist on Case or Case Labels depending on the destination org's configuration. Crisp's chatbot flows, automation rules, and canned response templates do not migrate as code — we deliver a written inventory of each for the customer's admin to rebuild in Salesforce Flow or the Service Cloud macro system.

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

Crisp logo

Crisp

What's pushing teams away

  • Mobile app lacks parity with the desktop interface — essential features like the full conversation view and chatbot controls are missing on iOS.
  • AI features including Copilot and auto-reply suggestions consume a limited credit budget that resets monthly and does not roll over, making costs unpredictable.
  • Customer support quality has declined in recent reviews, with users reporting delayed responses and unresolved technical issues.
  • Price increases have frustrated long-time users who locked in lower rates on older plans and now face steeper renewal costs.
  • The CRM module (Contact profiles, custom fields, Segments) requires an Essentials or higher tier, limiting the utility of lower-cost plans.

Choosing

Salesforce Service Cloud logo

Salesforce Service Cloud

What's pulling them in

  • Deep Salesforce ecosystem integration with Sales Cloud, Marketing Cloud, and custom Apex apps creates a single pane of glass for enterprise customer data and cross-functional workflows.
  • Omnichannel case routing — email, chat, phone, social, and messaging — unified under one case object means agents do not lose context when customers switch channels mid-interaction.
  • AI for customer service (Einstein AI / Agentforce) offers automated case classification, suggested replies, and chatbot routing that reduces Tier-1 ticket volume without manual rule authoring.
  • Entitlement and milestone tracking enforces SLA compliance natively, automatically calculating breach windows and surfacing violations to supervisors in dashboards.
  • Salesforce's massive AppExchange ecosystem provides pre-built connectors, industry-specific managed packages, and third-party tools that extend Service Cloud beyond its out-of-box capabilities.

Object mapping

How Crisp objects map to Salesforce Service Cloud

Each row shows how a Crisp object lands in Salesforce Service Cloud, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

Crisp

Conversations

maps to

Salesforce Service Cloud

Case

1:1
Fully supported

Crisp Conversations are the primary thread object and map directly to Salesforce Service Cloud Cases. Each Conversation's website_id, contact reference, open/close state, and created_at timestamp become Case fields. We set Case Origin to match the Crisp channel metadata (chat, email, whatsapp, sms) stored on the Conversation. The conversation_id is preserved in a custom field crisp_conversation_id__c for audit and cross-reference.

Crisp

Messages

maps to

Salesforce Service Cloud

EmailMessage + Task

1:many
Fully supported

Crisp Messages are nested inside Conversations and include text content, attachment references, author metadata, and timestamp. We split each Message into a Salesforce EmailMessage record (the message body and attachments) linked to the parent Case, plus a Task record for the activity timeline entry. Operator-sent messages set the Salesforce User as the FromAddress; visitor-sent messages set the Contact email. Message sequence order is preserved via a custom position field.

Crisp

Contacts

maps to

Salesforce Service Cloud

Contact

1:1
Mapping required

Crisp Contacts (available from Essentials tier upward) map to Salesforce Contact. We extract all standard fields (email, name, phone, city) plus the full set of custom properties as typed Salesforce custom fields. For Free or Mini tier accounts where the CRM module is unavailable, we confirm API key access during discovery and pull Contact data directly from the /contacts endpoint. Accounts exceeding 200,000 Contacts require sequential export chunks with ID-range filters, deduplicated on contact_id before Salesforce import.

Crisp

Operators

maps to

Salesforce Service Cloud

User

1:1
Mapping required

Crisp Operators map to Salesforce User records by email match. We extract all distinct operators referenced in Conversations and Messages, resolve them against the destination Salesforce org's User table, and flag any operators without a matching User in a reconciliation queue. The customer's admin provisions missing Users before record migration proceeds. Role information (admin vs agent) maps to Salesforce Profile and we flag if the operator count exceeds the destination plan's seat allowance.

Crisp

Tags

maps to

Salesforce Service Cloud

Case Label or Multi-Select Picklist

lossy
Fully supported

Crisp Tags are applied to Conversations to categorize them (urgent, billing, onboarding). We export all Tags as a label set and map them to either Salesforce Case Labels (Service Cloud Lightning) or a custom multi-select picklist field on Case, depending on the destination org's feature level. The customer chooses the target format during scoping.

Crisp

Segments

maps to

Salesforce Service Cloud

Custom fields + Campaign List

lossy
Mapping required

Crisp Segments are dynamic Contact filter definitions built from CRM properties on Essentials+ accounts. We preserve the segment rule definitions as structured metadata in a written inventory document. Segments do not map directly to a Salesforce object; the customer's admin rebuilds equivalent Salesforce Reports, Campaigns, or List Views from the documented rule definitions.

Crisp

Canned Responses

maps to

Salesforce Service Cloud

Email Template or Macro

1:1
Mapping required

Crisp Canned Responses are pre-written operator templates with %placeholder% variable syntax. We export them as plain-text templates with placeholders preserved and map them to Salesforce Email Templates or Macros. The %placeholder% syntax requires manual adaptation to Salesforce's {!Contact.FirstName} merge field format during the post-migration review step.

Crisp

Attachments

maps to

Salesforce Service Cloud

ContentDocument + ContentVersion

1:1
Fully supported

File attachments on Crisp Messages are stored as URLs referencing Crisp's file storage. We download each attachment, re-upload to Salesforce as ContentVersion (the file binary), create a ContentDocument record, and link it to the parent Case and EmailMessage via ContentDocumentLink. This preserves the attachment as a Salesforce native file rather than an external URL reference.

Crisp

Websites

maps to

Salesforce Service Cloud

Configuration inventory (not migrated)

lossy
Mapping required

A Crisp Website represents a configured chat widget tied to a domain with routing rules, enabled channels, and widget behavior settings. We extract the Website configuration as a structured snapshot for the customer's admin to reference when setting up Salesforce Embedded Service Chat or a custom chat widget in the destination. Widget settings do not migrate as code because the destination chat solution requires separate configuration in Salesforce Setup.

Crisp

Chat Widget Settings

maps to

Salesforce Service Cloud

Configuration inventory (not migrated)

lossy
Mapping required

Crisp's chat widget theme, color scheme, greeting message, and behavior rules are tied to each Website object. We export these as configuration snapshots. Salesforce Embedded Service Chat requires separate setup via Setup > Embedded Service Deployments, so we deliver the Crisp widget settings as a written handoff document the customer's admin uses to configure the Salesforce equivalent.

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.

Crisp logo

Crisp gotchas

High

Contact export is gated behind the Essentials tier

Medium

Contact export ceiling of 200K records

Medium

Multi-level rate limits on the REST API

Low

Seat limits constrain operator record exports

Low

Canned Responses have Crisp-specific variable syntax

Salesforce Service Cloud logo

Salesforce Service Cloud gotchas

High

Data Export 512MB file size cap breaks large org exports

High

API Daily Request Limits vary by license edition

High

No automatic data backup in base Salesforce

Medium

Picklist dependencies silently break records when unmapped

Medium

Workflow rules fire unexpectedly during data load

Pair-specific challenges

  • Crisp's conversation model does not map directly to Salesforce Cases

    Crisp Conversations bundle Messages, Contact, and Operator assignments into a single threaded object, while Salesforce Case is a flat record with separate EmailMessage and Activity sub-records. The migration requires decomposing each Conversation into a Case parent, individual EmailMessage records for each inbound and outbound message, and Task entries for the activity timeline. We handle this decomposition as a pre-import transform, but the customer must validate that the resulting Case activity timeline reflects the original conversation ordering correctly in UAT.

  • Contact export requires Essentials+ tier or API key access

    Crisp's UI-based contact export is gated behind the Essentials plan. Free and Mini tier accounts cannot trigger a CSV export from the UI. We work around this by extracting Contact data via the REST API /contacts endpoint, which is accessible with an API key regardless of tier. During discovery we confirm API key availability and scope. Accounts exceeding 200,000 Contacts require multiple sequential API passes with ID-range filters, deduplicated on contact_id before the Salesforce import.

  • Crisp chatbot flows do not migrate to Salesforce Flow

    Crisp chatbot flows built in the Essentials or Plus chatbot builder are not transferable to Salesforce Flow because they use different trigger models, node types, and branching logic. We do not migrate chatbot flows as code. We deliver a written inventory of each Crisp chatbot flow with its trigger conditions, decision branches, and action nodes, plus a reference to the Salesforce Flow equivalent or Einstein Bot builder option. The customer's admin rebuilds the bots post-migration.

  • Salesforce Service Cloud requires Enable Set Audit Fields for historical timestamps

    Migrating CreatedDate, ClosedDate, and LastModifiedDate from Crisp requires the Enable Set Audit Fields upon Record Creation permission in Salesforce, which must be enabled by a Salesforce admin in Setup > User Interface. Without this permission, all migrated Cases show the migration date as CreatedDate instead of the original Crisp conversation timestamp. We flag this requirement in the pre-migration checklist and verify the setting is enabled before production migration begins.

  • Crisp multi-level API rate limits constrain export throughput

    Crisp enforces four tiers of rate limiting: load balancer, API global, API route, and plugin quota. For large migrations we throttle read operations below the global limit to avoid 429 responses that could disrupt live API access the customer still needs during the migration window. We implement exponential backoff and respect the Retry-After header. This adds modest latency but ensures the migration does not degrade Crisp's operational availability during the export phase.

Migration approach

Six steps for a successful Crisp to Salesforce Service Cloud data migration

  1. Discovery and tier verification

    We audit the source Crisp workspace across plan tier (Free/Mini/Essentials/Plus), active operator count, conversation volume (open and resolved), contact dataset size, active Tags and Segments, chatbot flow list, and canned response count. We confirm API key availability and scope for Free/Mini tier accounts. We also verify the destination Salesforce Service Cloud edition and confirm that Enable Set Audit Fields can be activated by the customer's admin. The discovery output is a written scope document with record counts, a mapping plan, and a pre-migration checklist for Salesforce admin actions.

  2. Schema pre-creation in Salesforce

    We pre-create the destination schema in Salesforce before any data moves. This includes custom fields on Case (c Crisp_conversation_id__c, crisp_channel__c, crisp_website_id__c), custom fields on Contact for any Crisp custom Contact properties, a multi-select picklist or Case Labels field for Crisp Tags, and a custom picklist for Crisp channel origin mapping. All fields use the Salesforce API naming standard (__c suffix) and are deployed to a Sandbox org first for validation.

  3. Operator-to-User reconciliation

    We extract every distinct Crisp Operator referenced in Conversations and Messages and match them by email against the destination Salesforce org's User table. Operators without a matching User go to a reconciliation queue for the customer's admin to provision. Migration cannot proceed past Case and EmailMessage import because OwnerId references are required on standard Case records. We flag any operator count that exceeds the destination Salesforce plan's seat allowance so the customer can deactivate accounts or upgrade before migration.

  4. Conversation decomposition and sandbox migration

    We run a full conversation-to-case decomposition migration into a Salesforce Sandbox. Each Crisp Conversation becomes a Case; each Message becomes an EmailMessage linked to the Case plus a Task for the activity timeline. Attachment URLs are downloaded and re-uploaded as ContentVersion records. The customer's admin validates 25-50 randomly selected Cases against the Crisp source for message ordering, channel attribution, and operator assignment before sign-off.

  5. Contact migration with chunking and deduplication

    We export Crisp Contacts via the REST API /contacts endpoint in sequential batches. Accounts with more than 200,000 Contacts use ID-range filters to chunk exports, deduplicated on contact_id across passes. All custom Contact properties from Crisp become typed Salesforce custom fields on Contact. We run Contact import after Case import so that the Contact lookup on Case is satisfied at insert time. Email addresses serve as the dedupe key.

  6. Canned responses, tags, and configuration inventory delivery

    We export Canned Responses as plain-text templates with Crisp %placeholder% syntax intact and map them to Salesforce Email Templates or Macros. Tags are mapped to Case Labels or the configured multi-select picklist. We deliver the Chatbot Flow inventory and Website/Widget Configuration snapshot as written documents for the customer's admin to use during Salesforce Flow and Embedded Service Chat setup. We do not rebuild these in Salesforce as part of the migration scope.

  7. Production cutover and validation

    We freeze Crisp writes during the cutover window, run a final delta migration of any Conversations or Contacts modified during the migration, then enable Salesforce Service Cloud as the system of record. We perform a row-count reconciliation across all objects and deliver a final migration report. We provide a one-week hypercare window to resolve any record-level issues reported by the customer's support team. Workflow, chatbot, and automation rebuilds remain a separate engagement or internal admin task.

Platform deep dives

Context on both ends of the pair

Crisp logo

Crisp

Source

Strengths

  • Per-workspace pricing model is predictable and avoids per-agent billing surprises common in competing platforms.
  • Chat, email, WhatsApp, and SMS channels converge in a single conversation thread across all paid tiers.
  • REST API covers Conversations, Contacts, Messages, and Websites with documented endpoints and webhook support.
  • Free tier with no time limit provides persistent access to core chat functionality without a credit card requirement.
  • E-commerce plugin ecosystem (Shopify, WooCommerce, PrestaShop) offers low-friction setup for online retail support teams.

Weaknesses

  • Mobile app is materially reduced compared to the desktop experience, limiting agent mobility for field or remote teams.
  • AI Copilot and auto-reply features are credit-gated and do not carry over unused credits between billing cycles.
  • CRM module (Contact profiles, custom fields, Segments) is only available on Essentials and above, restricting data exports for Free/Mini users.
  • Contact export via the UI is capped at 200,000 records per operation, requiring API-based batching for larger datasets.
  • Customer support responsiveness has deteriorated in recent user reviews, raising concerns for teams with critical migration timelines.
Salesforce Service Cloud logo

Salesforce Service Cloud

Destination

Strengths

  • Enterprise-grade security, compliance certifications, and audit logging available across all paid editions with Shield offering enhanced event monitoring.
  • Scalable multi-tenant cloud architecture supporting orgs from 5 users to 150,000+ seat enterprises without infrastructure management overhead.
  • Omnichannel contact center unifying email, live chat, phone, messaging, and social into a single Case timeline per customer interaction.
  • Rich workflow automation via Salesforce Flow, Process Builder, and Apex triggers enabling complex case escalation, routing, and field updates.
  • Native AI capabilities (Agentforce / Einstein) for case auto-routing, classification, suggested responses, and chatbot escalation without third-party add-ons.

Weaknesses

  • Per-seat pricing model with no contact limits creates unpredictable cost scaling for large organizations adding many agents over time.
  • No automatic data backup — organizations must purchase a third-party backup solution or build manual Data Loader exports to protect against data loss from human error, failed deployments, or integrations overwriting records.
  • Steep learning curve for non-technical users requiring dedicated admin resources and formal training investment before teams reach productive velocity.
  • Annual contract requirements and limited pro-ration on exit create significant switching cost friction, especially for organizations evaluating alternatives mid-cycle.
  • Add-on licensing (CPQ, Einstein Activity Capture, Shield, Data Cloud) can double effective per-seat cost without clear documentation of which features are included in base tiers.

Complexity grading

How hard is this migration?

Standard Helpdesk migration. 1 of 7 objects need a manual workaround.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Crisp and Salesforce Service Cloud.

  • Object compatibility

    B

    1 of 7 objects need a manual workaround.

  • 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

    Crisp: Multi-tier: load balancer (permissive), API global (per IP+user), API route (per IP+user, more restrictive), plugin quota (daily for permanent tokens). No exact published numbers — 429 responses with Retry-After header indicate exhaustion..

  • Data volume sensitivity

    B

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

Estimator

Estimate your Crisp to Salesforce Service Cloud 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 Crisp to Salesforce Service Cloud data migrations

Answers to the questions buyers ask most during Crisp to Salesforce Service Cloud migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Crisp to Salesforce Service Cloud 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 15,000 Conversations and 10,000 Contacts with no chatbot flows or custom Contact properties requiring extensive schema pre-creation. Migrations with large message histories (over 500,000 individual Messages), extensive custom Contact property sets, multiple Website configurations to document, or complex operator-to-User reconciliation move to six to ten weeks because of the conversation decomposition step and ContentDocument attachment handling.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Crisp.
Land in Salesforce Service Cloud, 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