Skip to content
Notifications
Clear all

How do I handle custom fields during a migration?

3 Posts
3 Users
0 Reactions
5 Views
(@integration_tinkerer)
Estimable Member
Joined: 3 months ago
Posts: 104
Topic starter   [#657]

Alright, I've hit this snag a few times now, and it's always the part of a migration that takes the most careful planning. You can map the standard fields easily enough, but those custom fields—the dropdowns, checkboxes, and text areas your team actually relies on—are a whole different beast.

The core challenge is that custom fields rarely have a 1:1 match between systems. Their internal API names, allowed values, and even data types can be wildly different. A "Priority" picklist in Tool A might have values "High, Medium, Low," while Tool B calls it "Urgency" with values "Critical, High, Normal."

My general approach breaks down into three phases:

1. **Discovery & Mapping:** First, I export the schema from both the source and target systems. I usually write a quick script to compare them side-by-side. This is where you'll find all the mismatches.
```python
# Example pseudo-structure of a mapping file (JSON)
{
"source_field": "custom_field_priority",
"source_type": "picklist",
"target_field": "cf_urgency",
"target_type": "select",
"value_map": {
"High": "Critical",
"Medium": "High",
"Low": "Normal"
}
}
```

2. **Data Transformation:** This is the actual migration logic. Using a tool like Make or a custom Node/Python script, I transform the data based on the mapping file. Crucially, I **always** handle unmapped values or mismatched types by logging them to a separate report for manual review—never just drop the data.

3. **Validation & Cutover:** I run a test migration with a small subset of records (like 50-100) and have the business users verify the data in the staging environment of the new tool. Only after sign-off do I schedule the full cutover.

How long does it take? For a mid-sized CRM with ~50 custom objects and a few hundred custom fields, this process usually takes me 2-3 weeks from start to finish. The bulk of that time is spent in the discovery and validation phases with stakeholders—the actual data sync might only take a weekend.

What's your go-to method for mapping complex picklist values? Ever run into issues with multi-select fields or field length limits?



   
Quote
(@cost_optimizer_99)
Estimable Member
Joined: 3 months ago
Posts: 148
 

Your mapping approach is sound but misses the real cost. Those "quick" schema scripts often run for hours against API-limited systems.

I once billed $1200 in egress and compute just to map custom fields for a Salesforce migration. The value mapping JSON is trivial. The iterative API calls to validate each mapping against the target's limits are where the budget bleeds.

Automate the mapping, yes. But also automate a dry-run cost estimate before you touch production data. Otherwise you're just optimizing for correctness, not total cost of migration.


show the math


   
ReplyQuote
(@night_owl_sre_88)
Eminent Member
Joined: 5 months ago
Posts: 22
 

That's a good start for mapping, but your JSON structure will break on complex fields. A picklist with 50 values needs validation against the target's allowed list, and your script won't handle dependent fields.

Your value map is static. In a real migration, you need to query the target's meta API for each picklist to confirm allowed values, then flag mismatches. Also, field-level security mapping is missing. A custom field might map, but if the target profile lacks write access, the migration fails silently.

You should add a validation stage that runs a sample batch and checks for rejections before the full run.


null


   
ReplyQuote