Blog / Format
How to format phone numbers for a CRM import
Half the failed CRM imports are phone-format issues. The CRM expects E.164. Your CSV has parens and dashes. Or the opposite: the CRM wants the local format (no country code) and your file has plus signs. Each major CRM has its own preference; here's the right format per CRM and how to produce it.
The short answer: use E.164
If you remember nothing else: E.164 is the right format almost everywhere. It looks like +14155552671 — leading +, country code, national subscriber number, no spaces, no dashes, no parens. Every CRM either accepts E.164 directly or accepts it after a one-line auto-format on import. It's also what every messaging API (Twilio, MessageBird, Vonage) demands.
If your contacts came out of an iPhone via CSV export, you can convert everything to E.164 in Pluck by picking Country Code → Keep international in the Configure step.
Per-CRM preferences
HubSpot
HubSpot accepts any format on input but normalizes to E.164 internally. HubSpot's import docs recommend feeding it E.164 to avoid ambiguity. Field name in the import mapping: Phone Number (single phone) or Mobile Phone Number for the mobile-specific field. Multiple phones per contact require multiple custom properties or multiple rows.
Salesforce
Salesforce's Phone field is a free-form text field, but Sales Cloud and Service Cloud apply auto-formatting based on the user's locale. To prevent surprise reformatting, give Salesforce E.164 input. International numbers without the + may be misinterpreted as US numbers.
Pipedrive
Pipedrive accepts any format and stores what you send. The catch: phone-based search and Caller deduplication only match if formats are identical. If "John" was added once as +1 415 555 2671 and once as (415) 555-2671, Pipedrive sees them as different. Pipedrive's docs also recommend E.164 for the cleanest dedup.
Zoho CRM
Zoho's Phone field is a text field. Zoho's PhoneBridge integration assumes E.164. Same recommendation.
Mailchimp / Klaviyo / SendGrid (for SMS)
These are not CRMs but they often consume the same lists. SMS-capable platforms strictly require E.164 — anything else fails the API call.
Microsoft Dynamics 365
Phone fields accept any text but the Customer Service module expects E.164 for click-to-call. Auto-format on import via Power Query if your source is mixed.
The conversion: how to actually produce E.164
From an iPhone-exported CSV
The cleanest path is in Pluck before export. In the Configure step, pick:
- Country Code → Keep international (+234…) — converts all numbers to E.164.
- Country Code → Add country code to local numbers — useful when you have local-format numbers (no
+) that need a prefix added based on the contact's country.
Pluck uses the same parsing library Android does (Google's libphonenumber), so the conversion is consistent with what every major messaging API expects.
From a CSV you already have
If the file is already exported and you just want to reformat the phone column, options:
- Excel + Power Query with a custom function. Tedious but workable.
- Python script using the phonenumbers library: parse each row, format as E.164, write out. ~10 lines.
- Google Sheets formula:
="+"®EXREPLACE(A2,"[^0-9]","")works only if the country code is already implicit in the digits — not robust for mixed-country lists.
What about local format?
A few CRMs in regulated industries (healthcare, financial services in certain countries) require local format with no country code, because their telephony stack is single-country. In that case:
- Pluck's Country Code → Convert to local (0…) option strips the international prefix and replaces it with the local trunk prefix (e.g.,
+44 20 7946 0958becomes020 7946 0958for UK). - For US/Canada, "local" usually means just the 10-digit national number with no leading
1.
Edge cases that bite you
- Extensions. A number like
+1 415 555 2671 ext 234is not E.164. Strip extensions before import and store them in a separate column. - Toll-free numbers in international form.
+1 800 555 0199works as E.164 but is not callable from outside the US — some CRMs flag this. - Numbers with letters.
1-800-FLOWERSneeds to be converted to digits before import. Some libraries do this automatically (FLOWERS→3569377); most don't. - Premium-rate numbers. If your CRM does click-to-call, importing premium-rate numbers can rack up bills. Worth filtering out.
One toggle: every phone in E.164 format, ready for any CRM. $4.99.