How to import Zoho CRM data into Salesforce Leads
Move your Zoho CRM contacts to Salesforce. This template maps the core contact data: name, email, phone, mobile, company, title, and the full Mailing address. Zoho's free-text Description column (the per-contact notes attached to the record) and Tag column are composed into Salesforce's Description field as a labeled multi-line block, so the source notes and tag string travel with the lead instead of being dropped. Two things to know before you start: Salesforce requires LastName and Company on every lead, and Zoho contacts can have blanks in either column. The Before you start section below explains how to handle both.
Field-by-field mapping
This is the complete column mapping from Zoho CRM to Salesforce Leads. The left column is the header in your CSV export. The right column is the Salesforce Leads field it should map to.
Before you start
This template's destination has 2 required fields that need attention before upload. You can still use this template. The steps below tell you what to add and where.
- Last NameLastName
Salesforce requires LastName on every lead. Zoho exports the column, but contacts saved without a surname leave it blank, and Salesforce rejects those rows.
What to do. Before upload, fill any blank Last Name cells with a placeholder like 'Unknown' so every row passes Salesforce's import validation.
- Company
Salesforce requires Company on every lead. Personal contacts in Zoho often have no company set, leaving the column blank.
What to do. Before upload, fill blank Company cells with a placeholder like 'Individual'. Or set a default Company in Salesforce after import using bulk-edit on the new leads.
| First Name | First NameFirstName | |
| Last Name | Last Name*LastName | |
| Email TransformLowercased and trimmed | ||
| Phone | Phone TransformStandardized to international format (+1, +44, etc.) | |
| Mobile | Mobile PhoneMobilePhone MobilePhone is a standard Salesforce Lead field that's often hidden in the default layout. If you don't see it, add MobilePhone to your Lead page layout in Salesforce setup before importing. TransformStandardized to international format (+1, +44, etc.) | |
| Company | Company* | |
| Title | Title | |
| Mailing Street | Street | |
| Mailing City | City | |
| Mailing State | State/ProvinceState | |
| Mailing Zip | Zip/Postal CodePostalCode | |
| Mailing Country | Country | |
| Description, Tag | Description Two slots compose into Salesforce's Description field as a labeled multi-line block. Slot 1 is Zoho's own Description column (the per-contact notes attached to the record). Slot 2 is Tag (Zoho's comma-joined tag string). Each slot renders as '- column: value' on its own line. Empty slots are skipped, so a contact with only Description still lands with just that single line. Remove the row in the column mapper if you don't want it. If your Zoho descriptions exceed Salesforce's Description character limit, add a custom long-text Lead field and remap there. TransformComposed into a multi-line block |
Required by Salesforce Leads.
Columns we don't use
Your Zoho CRM export includes 1 column this template doesn't map. Each one below explains why, plus the workaround if you want the data in Salesforce Leads.
- Lead Source
Zoho's Lead Source column records how each contact came in (e.g. Website, Referral, Trade Show). Salesforce has a LeadSource field, but its picklist values are set per-org and may not match Zoho's exactly.
If you need it. Map Zoho's Lead Source to Salesforce's LeadSource after upload. Add any missing values to Salesforce's LeadSource picklist first so every row imports.
Formatting and cleanup
Zoho CRM exports rarely match the format Salesforce Leads expects. Fix these before you import.
- 1.Lowercases and trims email addresses
- 2.Standardizes phone numbers to international format (+1, +44, etc.)
- 3.Maps Zoho's Phone to Salesforce's Phone field and Mobile to MobilePhone
- 4.Maps Zoho's Mailing address fields to Salesforce's Street, City, State, PostalCode, and Country fields
- 5.Composes Zoho's Description column and Tag into Salesforce's Description field as a labeled multi-line block
Or skip the manual work
Operelio runs this cleanup and mapping for you. Upload your Zoho CRM export and download a clean, import-ready file for Salesforce Leads.
Zoho CRM to Salesforce Leads FAQ
How do I export contacts from Zoho CRM?
Go to your Contacts or Leads module, select the records you want, click the three-dot menu, and choose Export to CSV.
What about the Mobile phone number?
Mobile maps to Salesforce's MobilePhone field, which is a standard field that's often hidden in the default Lead layout. If you don't see it after import, add MobilePhone to your Lead page layout in Salesforce setup.
Where do Zoho's Description and Tag end up?
Both are composed into Salesforce's Description field as a labeled multi-line block. Slot 1 is Zoho's own Description column (the per-contact notes attached to the record); it shares the same name as the Salesforce target field, but the slot reads source-row values and writes the assembled string to the target field, so there's no conflict. Slot 2 is the Tag string. If your Zoho descriptions are longer than Salesforce's Description character limit, add a custom long-text field on the Lead and remap Description there.
Will custom Zoho fields transfer?
This template maps the standard Zoho contact fields shown above, plus Description and Tag through the multi-line block. Other custom Zoho fields appear in the export but need manual mapping in Operelio.
What about Zoho deals and accounts?
This template handles contact records only. Deals, accounts, and pipeline data require separate exports and different Salesforce import processes.
Can I migrate Zoho Leads and Contacts together?
Zoho Leads and Contacts are separate modules with different field structures. Export and import each module separately to avoid mixing record types.
Will this create duplicate leads in Salesforce?
Salesforce checks for duplicates based on your org's matching rules. Review your duplicate settings before importing to control how matches are handled.