CRM migration
Field-level mapping, validation, and rollback between folk and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
folk
Source
Salesforce Sales Cloud
Destination
Compatibility
10 of 14
objects map 1:1 between folk and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from folk to Salesforce Sales Cloud is a container-and-record migration with a structural twist: folk organizes records inside Groups with per-group custom fields, while Salesforce uses globally-defined custom fields attached to standard objects. We enumerate every Group's schema during discovery, build a unified field map across all Groups, and split folk's Contact subtypes into Salesforce Accounts and Contacts. The absence of a public bulk API in folk means large migrations rely on CSV extraction that drops attachments, relationship graphs, and activity timeline history — we document these gaps in a written export-gap inventory so the customer's admin knows what requires manual recreation or third-party re-enrichment. We do not migrate folk Sequences, email campaign performance data, Magic Field values, or enrichment data as these are not persistently stored records. We deliver a written inventory of folk Groups and pipeline views for the customer's Salesforce admin to rebuild as Campaigns, Lists, Record Types, and Sales Processes.
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 folk object lands in Salesforce Sales Cloud, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
folk
Contact (person subtype)
Salesforce Sales Cloud
Contact
1:1folk person-type Contacts map to Salesforce Contact. We extract every distinct email address and use it as the ExternalId for upsert. Standard fields (Name, Email, Phone, Title, LinkedIn URL) migrate directly. Custom fields per contact migrate as Salesforce custom fields on Contact, but only the union of all per-group field definitions becomes the Salesforce schema — contacts from groups with no custom fields receive the standard set only. Any contacts spanning multiple Groups inherit all custom field values from every Group membership, with a migration flag on records where field values conflict across Groups.
folk
Contact (company subtype)
Salesforce Sales Cloud
Account
1:manyfolk company-type Contacts map to Salesforce Account. The company name becomes the Account Name; domain/social handles become Website and LinkedIn fields. Person-type contacts at the same company require a manual AccountId link in folk; we use company name matching as a heuristic to link person-type Contacts to the newly created Account during migration. Any manually established folk relationship links are preserved in a custom field folk_relationship__c for the customer's admin to resolve post-migration. Teams with an account-based motion should set up Salesforce Account-Contact rules post-migration rather than relying on name-matching.
folk
Group
Salesforce Sales Cloud
Campaign or Public List View
1:1folk Groups are organizational containers analogous to Lists or Segments. We map each Group to a Salesforce Campaign (for marketing-oriented Groups with email sequence membership) or to a Public List View query (for operational Groups such as Leads or Clients). The mapping choice is made during scoping based on Group naming conventions and whether the group feeds email campaigns. Group membership (the list of contacts in each Group) migrates as CampaignMember records for Campaign targets, or as a custom List_Member__c junction object for List View targets. We document the complete Group-to-destination mapping in the written inventory.
folk
Custom Fields (per-group)
Salesforce Sales Cloud
Custom Fields (on Contact, Account, Opportunity)
lossyCustom fields in folk are defined per-group, not globally. A Contact in the Leads Group may carry a field that does not exist in the Clients Group. We enumerate every Group's field schema during discovery, compute the union across all Groups, and create Salesforce custom fields on the appropriate object (Contact for person-level fields, Account for company-level fields). The migration applies only the fields that exist per-contact per-Group membership. Contacts spanning multiple Groups with conflicting field values are flagged in the reconciliation report with the original Group and field value preserved for the admin to resolve.
folk
Pipeline View
Salesforce Sales Cloud
Opportunity + Record Type + Sales Process
lossyfolk Pipeline Views are defined per-Group with custom stage names and ordering. Each folk Pipeline View maps to a Salesforce Opportunity Record Type with a corresponding Sales Process that whitelists the stage values. Stage probability percentages transfer from folk to Salesforce StageProbability. We configure Record Types, Sales Processes, and stage values in a Salesforce Sandbox before migration so that the customer can validate the stage mapping before production cutover. Custom stage logic (e.g., auto-advance rules, stage-gated fields) is documented in the written automation inventory for rebuild in Salesforce Flow.
folk
Note
Salesforce Sales Cloud
Note
1:1folk Notes attached to Contacts migrate as Salesforce Note records. We preserve the note body text, creation timestamp, and author attribution. Notes are linked to the parent Contact or Account via ContentDocumentLink. If the note contains an attachment reference (URL), we attempt to download and re-upload as a ContentDocument; file size limits are constrained by the destination Salesforce edition's storage quota.
folk
Reminder
Salesforce Sales Cloud
Task
1:1folk Reminders carry a due date, assignee email, and text body. We migrate Reminders as Salesforce Task records with the subject as Task Subject, ActivityDate as the due date, and Status set to Not Started. Assignee resolution requires matching the folk Reminder assignee email to a Salesforce User record; any unmatched assignees are held in the reconciliation queue for the customer's admin to provision. Past-due Reminders migrate with their original timestamp preserved.
folk
Tag
Salesforce Sales Cloud
Multi-Select Picklist or Campaign
lossyfolk allows free-form tagging on Contacts. Tags migrate as a Salesforce multi-select picklist field on Contact (if fewer than 150 distinct tags) or to Salesforce Campaigns with CampaignMember records (if the tagging taxonomy is behavioral or segment-based, e.g., Tags = industry segments or event attendees). The customer chooses the tag strategy during scoping. We validate tag cardinality against Salesforce multi-select picklist limits (max 500 values per picklist) and adjust the strategy accordingly.
folk
Attachment (file)
Salesforce Sales Cloud
ContentDocument (via ContentVersion)
1:1folk file attachments can be exported as URLs or files via CSV. We attempt to download each attachment and re-upload via Salesforce ContentVersion/ContentDocument. File size limits are governed by the destination Salesforce edition (typically 25 MB per file on Standard/Professional). Attachments exceeding the size limit or unreachable via URL are flagged in the gap inventory. We do not guarantee attachment integrity for files stored in folk's internal attachment system that are not accessible via CSV export URL.
folk
Activity (email, meeting, call timeline)
Salesforce Sales Cloud
Task, Event, EmailMessage
1:1folk's contact timeline captures email events, meeting logs, and call records. We extract what is present in the CSV export (subject, timestamp, type) and map to Salesforce Task (for calls and general activities), Event (for meetings), or EmailMessage (for sent emails). Activity ordering is preserved by setting ActivityDate to the original folk timestamp. The full email body content is only available in folk's timeline if included in the CSV export; we flag any timeline gaps in the written export-gap inventory. folk's email tracking data (opens, clicks) is stored in folk's engine and not exported.
folk
Ticket
Salesforce Sales Cloud
Case
1:1If the source folk workspace includes Tickets (available on Premium), they migrate to Salesforce Case. Ticket pipeline stages map to Case Status values; the ticket pipeline becomes a Case Record Type. Conversation threads migrate as EmailMessage records linked to the Case. This mapping applies only if the destination Salesforce org includes Service Cloud or the customer adds the Service Cloud license during migration scoping.
folk
Owner (folk user)
Salesforce Sales Cloud
User
1:1folk Owners referenced on Contacts, Companies, Deals, and Pipeline views map to Salesforce User records by email match. We extract every distinct Owner email and query the destination Salesforce org's User table. Any Owner without a matching User is held in a reconciliation queue; the customer's Salesforce admin provisions the missing Users (active or inactive) before record import resumes. Ownerless records are assigned to a migration system user and flagged for reassignment post-migration.
folk
AI Magic Fields
Salesforce Sales Cloud
Not migratable
1:1Magic Fields in folk are AI-generated values computed at query time from source data and the AI model. They are not stored as persistent records and therefore have no export representation. We do not attempt to migrate Magic Field values. Customers who rely on Magic Field outputs should re-run Magic Fields against the source data after migration in the destination CRM or via a separate enrichment tool. The customer should also assess whether their post-migration AI strategy requires a Salesforce Einstein AI seat upgrade.
folk
Enrichment Credits and data
Salesforce Sales Cloud
Not migratable
1:1folk's enrichment data is live-fetched from external providers (LinkedIn, company databases) and not persistently stored in a way accessible for export. We do not migrate enrichment data. Customers relying on folk's enrichment credits for firmographic or contact data should plan for a replacement enrichment strategy in Salesforce using tools such as Apollo.io, Clearbit, or Salesforce Data Cloud.
| folk | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Contact (person subtype) | Contact1:1 | Fully supported | |
| Contact (company subtype) | Account1:many | Fully supported | |
| Group | Campaign or Public List View1:1 | Fully supported | |
| Custom Fields (per-group) | Custom Fields (on Contact, Account, Opportunity)lossy | Fully supported | |
| Pipeline View | Opportunity + Record Type + Sales Processlossy | Fully supported | |
| Note | Note1:1 | Fully supported | |
| Reminder | Task1:1 | Fully supported | |
| Tag | Multi-Select Picklist or Campaignlossy | Fully supported | |
| Attachment (file) | ContentDocument (via ContentVersion)1:1 | Fully supported | |
| Activity (email, meeting, call timeline) | Task, Event, EmailMessage1:1 | Fully supported | |
| Ticket | Case1:1 | Fully supported | |
| Owner (folk user) | User1:1 | Fully supported | |
| AI Magic Fields | Not migratable1:1 | Not supported | |
| Enrichment Credits and data | Not migratable1: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.
folk gotchas
No public bulk API for automated migration
Per-group custom fields create schema fragmentation
Workspace-wide AI credit limits affect all seats
Contact–company linking is not automatic
Email campaign history not exported
Salesforce Sales Cloud gotchas
Workflow Rules and Process Builder are retired
Bulk API batch quota exhaustion during large imports
Storage overage billing is non-obvious
Account-Contact many-to-many relationship mapping
Territory and team member import ordering dependencies
Pair-specific challenges
Migration approach
Discovery and schema enumeration
We audit every Group in the source folk workspace, enumerate all custom field definitions per Group, extract pipeline view names and stage definitions, and count distinct record types (person contacts, company contacts, tickets). We also extract Owner emails, tag cardinality, attachment URLs from the CSV, and note any enrichment or Magic Field dependencies the team uses. The discovery output is a written scope document including the full per-group field union, the Account-Contact split rule, the Group-to-Campaign-or-List mapping, and the export-gap inventory documenting every data type that cannot migrate via CSV.
Salesforce schema design in Sandbox
We design the destination Salesforce schema in a Full Copy or Partial Copy Sandbox. This includes creating all custom fields on Contact, Account, and Opportunity (with __c API names matched to folk field names for traceability), configuring Record Types and Sales Processes for each folk Pipeline View, setting up picklist value sets, and defining validation rules. The Account-Contact relationship model is established with Account record types and page layouts. We deploy the schema via metadata API before any data import begins and have the customer's Salesforce admin validate field-level security and page layout assignments.
Sandbox migration and reconciliation
We run a full migration into the Sandbox using the CSV extraction path, applying the per-group field union, the Account-Contact split, and the Group-to-Campaign mapping. The customer's RevOps lead reconciles record counts (person contacts in, company contacts in as Accounts, campaign members in), spot-checks 25-50 records against the folk source, and reviews the export-gap inventory. Any field mapping corrections, schema additions, or split rule adjustments happen in the Sandbox before production migration begins.
Owner reconciliation and User provisioning
We extract every distinct folk Owner email from Contacts, Companies, Deals, and Pipeline views and match by email against the destination Salesforce org's User table. Owners without a matching Salesforce User go to a reconciliation queue. The customer's Salesforce admin provisions any missing Users (active or inactive depending on whether the original folk user is still with the team). Migration cannot proceed past Contacts and Accounts because OwnerId references are required on most standard objects. We also flag any folk Users who do not have a Salesforce seat so the admin can plan licensing.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from folk company-type contacts), Contacts (person-type, with AccountId resolved via company name matching), Campaigns (from Groups, with CampaignMembers linking the contact list), Opportunities (with RecordTypeId, SalesProcessId, OwnerId, and AccountId resolved), Tasks and Events (from folk Reminders and activity timeline via Bulk API 2.0), Notes (with ContentDocumentLink), Attachments (via ContentVersion where file size permits). Each phase emits a row-count reconciliation report before the next phase begins. folk Sequences and email campaign performance data are not migrated; they appear in the written automation inventory delivered at this step.
Cutover, validation, and automation rebuild handoff
We freeze folk writes during the cutover window, run a final delta migration of any records modified during the migration, then enable Salesforce as the system of record. We deliver the automation inventory (folk Sequences, pipeline stage logic, per-group automation triggers) and the export-gap inventory to the customer's Salesforce admin. We support a one-week hypercare window for reconciliation issues raised by the sales team. We do not rebuild folk Sequences or pipeline automations as Salesforce Flow inside the migration scope; that work is handled by the customer's admin or a Salesforce partner in a separate engagement.
Platform deep dives
folk
Source
Strengths
Weaknesses
Salesforce Sales Cloud
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 3 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across folk and Salesforce Sales Cloud.
Object compatibility
3 of 8 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
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
folk: Not publicly documented.
Data volume sensitivity
folk 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 folk to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your folk to Salesforce Sales Cloud migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave folk
Other ways to arrive at Salesforce Sales Cloud
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.