Operelio

Free plan, no card required

Map your CSV to your CRM's fields

Upload a file, pick a CRM, and Operelio maps your columns for you. Direct push to HubSpot, Salesforce, and Pipedrive.

No credit card required.

The CRM Formatter's Map step in Operelio, a file's columns to HubSpot fields: Full Name split into first and last name, Direct Phone and Office Phone combined into Phone, using the first one with a value, and Lifecycle Stage set to Lead on every row.

Format for 8 major CRMs, direct push to 3

HubSpot
HubSpotPush
Salesforce
SalesforcePush
Pipedrive
PipedrivePush
Zoho CRMZoho CRM
monday CRMmonday CRM
FreshsalesFreshsales
CloseClose
CopperCopper

Not on the list? Use the built-in Generic format or build your own custom template with any field names and types.

Features

Map, clean, validate, push.

Map

Auto column mapping

Upload a file and Operelio reads your headers, then matches them to the right CRM fields. Handles variations like "First Name", "first_name", "fname", and "given_name" with little or no manual work for well-named columns.

168 source-to-CRM templates

Pre-built mappings for every major source platform (LinkedIn, Mailchimp, Shopify, ActiveCampaign, Constant Contact, and more) plus CRM-to-CRM migrations. Pick a template, upload, go.

Merge fields

Join columns with a separator, take the first one with a value, split a column, or set one value on every row. Where a CRM has a single Name field, the mapping screen offers First and Last Name combined as one column, so both halves reach the CRM.

Templates by CRM: HubSpotSalesforcePipedriveZoho CRMFreshsalesClosemonday CRMCopperCRM import limits

Lead data and prospecting templates: Apollo.io, ZoomInfo, Cognism, Lusha, LinkedIn Sales Navigator, LinkedIn Connections

Clean

Each rule is toggleable. Defaults are sensible; override any that don’t fit.

Email & phone standardization

Emails are lowercased and trimmed to match CRM format requirements. Phone numbers keep only their digits and the leading + for international codes. A 00 prefix becomes + and a trailing extension is dropped.

Name splitting & casing

"John Smith" in a single column becomes separate first and last name fields, and separate columns combine back into one Name for a CRM that has only one. Handles "Smith, John" and multi-word names. Names typed in lowercase are capitalized; names already in capitals stay as they are.

Country normalization

"UK", "GB", "Great Britain", and "england" all become "United Kingdom". Covers more than 80 countries with their abbreviations, ISO codes, and common misspellings.

Doing it in Excel instead? See how to format phone numbers and how to split first and last names.

Validate

The pre-push report

Before a single record is written you get three numbers that add up to your row count: new contacts, existing contacts updated, and rows not sent. Every row not sent gives its reason. Nothing is sent until you confirm.

Values your CRM won't take

Matching on email tells you nothing about whether the values are acceptable. The report checks them against your own account: a picklist entry that isn't on the list, text longer than the field allows, a field your account doesn't have or your user can't write to. Each one with a row count and an example.

Deduplication

Duplicate rows are detected by email address (or full-row match if no email column) and removed before export. On a push, a row also matches a HubSpot contact's other email addresses, the ones a merge left behind, so it updates that contact rather than making a second one. Near matches on name and company are flagged for you to look at, never merged for you.

Do Not Contact exclusion

On a paid plan your Do Not Contact list is applied before the file goes out and before a push, so suppressed people are held back and written to their own file you can check. Block by email, phone, website domain, company or country. Costs no credits.

Review before it runs

Review shows every row before and after clean-up, and the rows clean-up removes with the reason for each. Nothing reaches your CRM until you run it and push.

Required fields first

Every required CRM field is marked on the mapping step, and you can't continue until each one has a column. On a push, the rows your CRM won't take are counted before anything is sent.

Push

Direct CRM push

Starter

Connect HubSpot, Salesforce, or Pipedrive and write records straight from Operelio, with no CSV upload. People are matched on email, companies on website or name: a match updates the record, a new one is created, and a row with nothing to match isn't sent. Turn off Create new or Update existing if you only want one of them.

Your CRM data stays put

Starter

An update fills blank fields only unless you choose to overwrite, so a push never writes over a value you already have. On Pipedrive a person's other email addresses and phone numbers keep their labels and stay where they are, with your file's value set as the primary one.

Owners, notes, and companies

Starter

Assign everyone in the push to one rep, or take the owner from a column in your file. A notes column becomes a note on the record in HubSpot and Pipedrive, on records the push creates. A company column finds or creates the Pipedrive organization, or the Salesforce account a contact has to be linked to. On HubSpot, it can add a list of the contacts it sent.

Files big enough to migrate on

Starter

A push carries up to your plan's row limit, 50,000 rows on Starter and up to 150,000 on Agency (50,000 to Pipedrive or for HubSpot companies). It is split into batches and resumed for you, and the count climbs on screen while it runs.

Saved mappings

Starter

Save your column mapping, cleanup settings, and merge field config together. Next time you get a file from the same source, load the mapping and run it without re-mapping for typical files. Up to 25 on Starter, 150 on Pro, 300 on Agency.

Custom CRM templates

Starter

Define fields, types, and required flags. Email and phone fields are cleaned and validated; other types are stored as you enter them. Up to 5 on Starter, 25 on Pro, 75 on Agency.

How to use it

Four steps from file to CRM

1

Upload your file

Drop any CSV or Excel file, or pick one under Start from a recent file. Operelio reads the column headers for you. For a workbook with several tabs, pick one from the Sheet menu on the next step.

Drop a spreadsheet here

Browse files

.xlsx, .xls or .csv. Files up to 2 MB. After clean-up, the first 2,000 rows are kept.

Start from a recent file

All files

linkedin-sales-nav.csv

10 rows, 9.4 KB. Uploaded just now.

Use

Files are kept for 24 hours.

2

Pick your target CRM

Under From, pick where your file came from, such as LinkedIn, Mailchimp or Shopify, or No template, map columns directly. Under To, pick one of eight CRM platforms, or define your own custom template. Templates are a shortcut, not a requirement.

linkedin-sales-nav.csv

10 rows, 39 columns.

Replace file

From, your file

LinkedIn export

Recognized source

39 of 39 columns recognized

To, your CRM

HubSpot Contacts

18 fields

18 fields in a standard HubSpot layout.

3

Review mappings and toggle cleanup

Click any row to change a mapping. Then click Continue to review and turn clean-up rules on or off. Each one is explained in the column mapping guide.

From your fileHubSpot field
Email
EmailEmail
First Name
First NameText
Last Name
Last NameText
Company Name
CompanyText
Job Title
Job TitleText
4

Export or push to CRM

Get a file your CRM will accept on first import. Or connect HubSpot, Salesforce, or Pipedrive and push records directly without downloading anything. Read the report first: it says how many contacts will be created, how many updated, and what your CRM will refuse. Your job results keep the counts and the errors your CRM sent back.

Download CSV
10 rows
or push directly
HubSpot
Salesforce
Pipedrive
8 new contacts · 2 updated · 0 not sent

10 rows in this file, all accounted for.

The alternative

Doing it yourself

This is what a CRM import looks like without Operelio.

The Manual Way

1Export your data from the source (LinkedIn, Mailchimp, Shopify, event platform, internal system)
2Open in Excel and figure out which columns map to which CRM fields
3Rename each column header to match your CRM's required field names exactly
4Check every email address for valid format, fix or remove bad ones
5Standardize phone numbers: strip brackets, dashes and spaces
6Split full name columns into first and last name using Text to Columns or formulas
7Remove duplicate rows by sorting and scanning manually
8Fix country values ("UK" vs "United Kingdom" vs "GB")
9Save as CSV, upload to your CRM, wait for validation errors, fix, and re-upload

Every import, from scratch

Repetitive. Error-prone. Someone still has to redo it when the CRM rejects half the rows.

With CRM Formatter

1Upload your file to Operelio
2Pick a template (e.g. LinkedIn Sales Nav → HubSpot Contacts) or select a CRM format
3Review auto-detected column mappings, adjust any if needed
4Toggle cleanup: name splitting, phone standardization, country normalization, dedup
5Read the report: what will be created, what will be updated, what your CRM will refuse
6Download CRM-ready CSV or push directly to HubSpot, Salesforce, or Pipedrive

Save the mapping and next time the columns map themselves. Anyone on the team can run it.

Pricing

Free to start. Starter, Pro, and Agency add push and more room.

Free plan: every CRM format and object type, up to 2,000 rows, 5 jobs per month, CSV download. Starter from $39/month, Pro from $99/month, or Agency from $299/month: direct push to HubSpot, Salesforce, or Pipedrive, saved mappings, custom templates, bigger files, and more jobs.

FAQ

Common questions

Does the CRM Formatter work with my CRM?

There are built-in formats for eight CRMs: HubSpot, Salesforce, Pipedrive, Zoho CRM, monday CRM, Freshsales, Close, and Copper, on every plan including Free. For anything else, pick the Generic format or build a fully custom template with your own field names and types. Direct push covers HubSpot contacts, companies and deals, Salesforce contacts, leads, accounts and opportunities and Pipedrive people, organizations and deals. For the other five CRMs you download a formatted CSV and import.

I have a LinkedIn export. Can I just upload it?

Yes. Under From, your file, pick your source (LinkedIn, Apollo.io, ZoomInfo, Cognism, Lusha, Mailchimp, Shopify, Google Contacts, Outlook, Stripe, WooCommerce, ActiveCampaign, Constant Contact, Squarespace, Wix, Eventbrite, Calendly, Typeform, Intercom, and more), choose your target CRM, and the columns map across. 168 templates are available.

Do I have to map every column myself?

No. Operelio reads your column headers and auto-matches them to CRM fields. It handles common variations like "First Name", "first_name", and "fname". You can adjust any mapping it gets wrong, but most files need little or no manual work.

Can I push records straight into my CRM?

Direct push is available for HubSpot, Salesforce, and Pipedrive on Starter, Pro, and Agency plans. Connect your account, run the formatter, and push without downloading a file, for people, companies or deals: HubSpot contacts, companies and deals, Salesforce contacts, leads, accounts and opportunities and Pipedrive people, organizations and deals. A push matches every row against the CRM (people are matched on email address, companies on website or name): a row that matches an existing record updates it, a row that doesn't creates a new one, a row with nothing to match on isn't sent, and you can switch either half off. Updating fills blank fields only unless you ask for an overwrite, which on Salesforce also clears a field where your cell is blank. Without one, a push never writes over a value your CRM already holds. A push carries up to your plan's row limit to Salesforce, or of contacts to HubSpot (150,000 rows on Agency), and up to 50,000 rows to Pipedrive or of companies to HubSpot, split into batches and resumed for you, with a running count on screen. Pipedrive also limits API calls a day by plan and seats; if a push of contacts uses up the day's allowance, it pauses and finishes after Pipedrive resets it. For the other five platforms, you download a formatted CSV and import through your CRM.

Will I know what the push is going to do before it runs?

Yes, that is what the pre-push report is for. Before anything is written you get three numbers that add up to your row count: new contacts, existing contacts updated, and rows not sent. Every row not sent gives its reason, whether that is a blank email, the same address on an earlier row, or nothing left to fill. The report also names values the CRM won't accept before it is asked, such as a picklist entry that isn't on the list or text longer than the field allows, with the number of rows affected and an example. Nothing reaches your CRM until you confirm.

What does it do to clean up my data?

Emails are lowercased and trimmed. Phone numbers keep only their digits and a leading + (a 00 prefix becomes + and a trailing extension is dropped). Names typed in lowercase are capitalized, and names are split into first/last, or combined into one Name field for a CRM like Pipedrive that has only one. Comma format ('Smith, John') is handled, and names already in capitals, like JOHN SMITH, stay as they are. Duplicates are removed by email, or by a full row match when there is no email column. Country values can be normalized too, covering more than 80 countries, with that option turned on. You can toggle each option on or off.

Can I reuse the same setup for repeat imports?

Yes. Save your column mappings, cleanup settings, and merge field config together. Next time you get a file from the same source, load the saved mapping and run it without re-mapping for typical files. Starter plans support up to 25 saved mappings, Pro plans up to 150, and Agency plans up to 300.

What does the free plan include?

Free includes every CRM format and every object type (contacts, companies, leads, accounts, organizations), up to 2,000 rows and 5 jobs per month, with CSV download. Starter ($39/month), Pro ($99/month), and Agency ($299/month) add direct CRM push, saved mappings, custom templates, bigger files, and more jobs.

What happens if my file has bad data?

You can't continue until every required field of your CRM has a column mapped to it. A blank value in a row, an email without an @ sign or a phone with no digits stays as it is in the file, so check those columns before an import. On a push you see the rows your CRM won't take, so a row that was never going to land is counted under Not sent (on Salesforce, Not sent or refused) instead of promised as a contact. It gets its own line, apart from rows not sent for other reasons, because what you would do about each is different. You review everything before downloading or pushing, and nothing is dropped without saying so.

My source has separate first and last name columns but my CRM wants one name field. Can it handle that?

Yes. Merge fields combine multiple source columns into one target field with a separator you choose. Many of the built-in templates already include merge field configs, so this often needs no extra setup.

Is my data secure?

Files are encrypted in transit and at rest, and removed by a daily cleanup after the retention window for your plan: 24 hours on Free, 30 days on Starter and Pro, 90 days on Agency (Free files can last up to about a day past that). On Starter and above you can star a file to keep it, or delete it yourself at any time. OAuth connections never give Operelio your CRM password. Read the full security policy

Stop renaming columns.
Start pushing data.

Free plan, no card required. Starter, Pro, and Agency add direct push from $39/month.