CRM migration
Field-level mapping, validation, and rollback between Selligent by Marigold and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
Selligent by Marigold
Source
Freshsales
Destination
Compatibility
5 of 8
objects map 1:1 between Selligent by Marigold and Freshsales.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Selligent by Marigold to Freshsales is a migration from an omnichannel marketing automation platform to a sales-focused CRM. Selligent uses Individuals as the primary contact records with Organizations for company data and Action Lists for audience segmentation; Freshsales uses the standard CRM model of Contacts, Accounts, and Deals. We export the Selligent Individual records via the Individual API, resolve organization associations, and map Action List membership to Freshsales Deals with tag-based segmentation carried over as custom properties or topic assignments. Automated journeys, campaign templates, and behavioral event triggers are not portable and are documented for admin rebuild. We sequence the Selligent field schema extraction first so that Freshsales custom fields are registered before any record write to avoid import rejection.
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 Selligent by Marigold object lands in Freshsales, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Selligent by Marigold
Individual
Freshsales
Contact
1:1Selligent Individuals (primary contact records) map directly to Freshsales Contacts. The Selligent Individual API exposes standard addressability fields (email, mobile, first_name, last_name) plus custom profile properties. We export all standard fields and custom key-value props, then create the corresponding Freshsales contact fields before import. The Selligent USERID becomes a custom field selligent_user_id__c for audit and cross-reference. Email address serves as the dedupe key during upsert.
Selligent by Marigold
Organization
Freshsales
Account
1:1Selligent Organizations store company-level data, often as custom properties or relation tags rather than a native parent object in Selligent's Individual API model. We extract organization associations from the Individual record's organization property or tag array, then create Freshsales Accounts before Contact import so that the Account-Contact relationship is satisfied at insert time. Website, phone, and industry fields map where present.
Selligent by Marigold
Action List
Freshsales
Deal
1:manySelligent Action Lists contain LISTID-keyed records with USERID and ACTIONCODE plus custom fields. Each Action List maps to a Freshsales Deal record with the Action List name as the Deal name. Individual membership in an Action List is preserved as a contact tag or a custom multi-select field listing the Action Lists each contact belongs to. Action List-specific custom fields map to Deal custom fields. We resolve the parent Contact reference at migration time.
Selligent by Marigold
Dynamic Segment
Freshsales
Contact List or Custom Property
1:1Selligent Dynamic Segments are defined by behavioral and demographic rules; the segment definitions themselves are not API-exportable. We export the member contacts from each segment and note the segment criteria so the customer can rebuild the logic in Freshsales using contact filters. Segment membership is preserved as contact tags or as values in a custom segmented field. We flag segments with over 1,000 members for manual rebuild priority.
Selligent by Marigold
Tag
Freshsales
Contact Tag or Custom Field
lossySelligent tags drive personalization and segmentation. We export tag assignments per contact and write them as Freshsales contact tags (using Freshsales' native tag API) or as values in a custom multi-select field depending on the tag count. Tags used for behavioral classification migrate as a separate custom field; tags used for simple label assignment migrate as native tags.
Selligent by Marigold
Custom Field (FieldsDefinition)
Freshsales
Custom Field
lossySelligent supports arbitrary custom fields on Individuals and Action Lists, passed as key-value prop arrays without upfront schema registration. Freshsales requires custom fields to be defined before data can be written. We extract the full FieldsDefinition array from Selligent during scoping, generate the corresponding Freshsales field creation API calls, and sequence record imports after field registration completes. Field type mapping: string arrays map to multi-select picklists, dates map to date fields, numerics map to number fields.
Selligent by Marigold
Behavioral Event Summary
Freshsales
Custom Field (Contact level)
1:1Selligent tracks online behavior for anonymous and known visitors. Event data is available via integration endpoints but not as a standalone exportable object. We migrate the most recent event summary (last purchase date, last engagement channel, engagement frequency) as contact-level custom fields on the Individual record. Full behavioral event history (timestamps, event types, session data) is documented as a separate export for manual re-entry or BI tool use.
Selligent by Marigold
Email Campaign History
Freshsales
Activity Timeline Note or Custom Field
1:1Campaign history (subject, send date, audience size) can be exported from Selligent. We map campaign engagement (opens, clicks) to Freshsales contact activities stored as notes or custom activity fields on the contact. Full campaign content and design templates do not migrate; we flag them for manual re-upload at Freshsales. The Selligent campaign identifier is preserved for audit.
| Selligent by Marigold | Freshsales | Compatibility | |
|---|---|---|---|
| Individual | Contact1:1 | Fully supported | |
| Organization | Account1:1 | Fully supported | |
| Action List | Deal1:many | Fully supported | |
| Dynamic Segment | Contact List or Custom Property1:1 | Fully supported | |
| Tag | Contact Tag or Custom Fieldlossy | Fully supported | |
| Custom Field (FieldsDefinition) | Custom Fieldlossy | Fully supported | |
| Behavioral Event Summary | Custom Field (Contact level)1:1 | Fully supported | |
| Email Campaign History | Activity Timeline Note or Custom Field1: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.
Selligent by Marigold gotchas
API rate limits are documented but not fully quantified publicly
Enterprise contracts are non-cancelable with no refunds mid-term
Journeys and campaign templates are not API-exportable
SDC bulk message limit of 100 per request caps throughput
Custom field schema must be pre-created at destination before import
Freshsales gotchas
Freddy AI is Pro-tier only despite heavy marketing
Post-migration emails and sequences are disabled
Bot session credits are a one-time 500-session allocation
Phone credits charged per minute with no cap
File storage limits scale with plan tier
Pair-specific challenges
Migration approach
Discovery and Selligent environment audit
We audit the source Selligent environment: Individual record count, Organization structure (native vs tag-based), Action List count and schema, Dynamic Segment definitions, custom field definitions (FieldsDefinition array), tag taxonomy, and campaign history volume. We also identify active journeys and automated campaigns that require rebuild documentation. The output is a written migration scope with object mapping, record counts per phase, and a timeline estimate. We advise on contract timing if the customer is mid-term on a non-cancelable Selligent order.
Freshsales schema pre-creation
We create all required Freshsales custom fields, custom objects, and contact tags before any record import. This includes mapping Selligent's FieldsDefinition array to Freshsales field types, pre-creating Freshsales Accounts from the Selligent Organization list (or resolving from contact properties), and configuring Action List-to-Deal field mappings. Freshsales custom field creation uses the Freshsales CRM API. Schema is validated in a Freshsales sandbox or test account before production migration begins.
Selligent Individual and Organization export
We export Selligent Individuals via the Individual API in batches of 2,000 records, applying exponential backoff on 429 responses. Organization data is extracted either from the native Organization list or resolved from contact-level company properties. Each Individual record receives a selligent_user_id__c custom field for cross-reference. The export outputs a structured JSON file per Selligent list, with tag arrays preserved as tag fields.
Action List export and Deal creation
We export Action List records (LISTID-keyed with USERID and ACTIONCODE) for each active list. Each Action List becomes a Freshsales Deal record, with list-specific custom fields mapped to Deal custom fields. Contact membership in each Action List is written as contact tags. The parent Contact reference is resolved by matching Selligent USERID to the migrated contact's selligent_user_id__c.
Production import in dependency order
We import into Freshsales in record-dependency order: Accounts first (from Organizations or resolved company properties), then Contacts (with AccountId resolved), then Deals (with ContactId resolved). Tags are written after contacts to capture all membership. Each phase emits a row-count reconciliation report. We use the Freshsales CRM API with batch upsert and monitor for field-validation errors that indicate a custom field was missed during schema pre-creation.
Cutover, validation, and automation rebuild handoff
We freeze Selligent writes during cutover, run a final delta migration of any records modified during the migration window, then enable Freshsales as the system of record. We deliver the Journey and Campaign rebuild documentation to the customer's admin team with Freshsales workflow equivalents mapped. We support a one-week hypercare window for reconciliation issues. Workflows, automated campaigns, and journey logic are outside the migration scope; they are documented for admin rebuild.
Platform deep dives
Selligent by Marigold
Source
Strengths
Weaknesses
Freshsales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 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 Selligent by Marigold and Freshsales.
Object compatibility
2 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
Selligent by Marigold: Not publicly quantified; connector documentation shows batched behavior at 2500 requests or 10-minute windows.
Data volume sensitivity
Selligent by Marigold exposes a bulk API — large-volume migrations stream efficiently.
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 Selligent by Marigold to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your Selligent by Marigold to Freshsales migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Selligent by Marigold
Other ways to arrive at Freshsales
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.