Skip to content
All articles
Data

Import from another CRM (zero effort)

Bring 100% of your data from another CRM into SellioCRM with zero effort: connect the source, the system discovers the objects and fields, you map and review a preview, and only then is the data imported. Nothing is written without your confirmation, and every import can be undone.

💡 Board-based tools like Monday do not have fixed objects. After connecting, an extra step appears: assign each board to a CRM object (contact, company, deal, and so on) before importing. Boards left unassigned are not imported.

The import module brings your data from another CRM into SellioCRM in a few guided steps. It is optional: an admin turns it on when they want to use it, and it stays hidden for everyone until it is enabled.

Turn on the module

  1. In the menu, under Analytics, open Import from another CRM.
  2. If the module is off, click Turn on import (only workspace admins see this button).

Connect the source

  1. Pick the source CRM from the list and click Add.
  2. Click Connect: you are taken to that CRM to authorize access (or you enter an API key, depending on the provider).
  3. When you return, the connection shows its status and the identified account.
💡 Bitrix24: create an inbound webhook in your portal (Developer resources → Other → Inbound webhook) with CRM permissions and paste the full webhook URL (something like https://your-account.bitrix24.com/rest/1/xxxxxxxx/) into the API key field. It is stored encrypted, like any credential.

Discover the data

With the connection ready, click Discover data. SellioCRM reads from the source which objects exist (contacts, companies, deals, products), how many records each has, and which fields, including custom ones. Nothing is imported in this step: it is just a snapshot of what is there.

💡 Your credential is stored encrypted and never shown on screen. You can revoke access at any time with the Revoke button: the key becomes unrecoverable instantly, without affecting any other connection.

Map the fields

After discovering, click Map fields on each object. SellioCRM automatically proposes which field here each source field should go to, with a confidence percentage. Low-confidence fields are highlighted for you to check. AI helps with the ambiguous ones, but you always review and adjust before approving.

  1. Click Map fields on the object you want, then Propose mapping.
  2. Review the table: each source field on the left, the matching SellioCRM field on the right, and the confidence.
  3. Adjust whatever you need and click Approve mapping to freeze that version.
💡 The mapping is versioned: each approval becomes a version, and the import uses the approved version. You can re-propose and approve again at any time.

Review the preview (dry-run)

Before importing for real, click Preview on each object. SellioCRM reads a sample from the source, applies the approved mapping, and shows what the import WOULD do: how many records would be created, how many updated, and how many skipped, with examples. Nothing is written in this step.

💡 The preview uses the identity link: a record that was imported before shows as "update", not as a new one. That is how the import never duplicates.

Import for real (and undo)

With the mapping approved and the preview checked, click Start import. The import runs in the background, in batches, and you follow the progress (how many were created and updated) in the Imports list. Each object is written to SellioCRM preserving the source identity: re-importing never duplicates.

💡 Every import can be UNDONE: on the import card, click Undo import. Records the migration created are removed, and records it updated return to their previous state. It is your safety net.

The import also re-links relationships: an imported deal points to the correct company and contact, as long as those objects are also imported (that is why companies come before contacts, and contacts before deals).

Keep in sync (optional)

If you want to keep mirroring the source CRM after the migration, click Keep in sync. From time to time SellioCRM brings over what changed at the source and updates the matching records, without duplicating. You can stop the sync anytime on the sync card.

How to connect each CRM

Every connector below can be connected by you, without waiting for us. Open Analytics, Import from another CRM, choose the CRM, add a connection and the card shows the options that CRM accepts:

  • ActiveCampaign: API key
  • Agendor: API key
  • Attio: API key
  • Bitrix24: incoming webhook URL (API key)
  • Capsule: API key
  • ClickUp: personal API token
  • Close: API key
  • Copper: API key and account e-mail
  • Microsoft Dynamics 365: your own app registered in Microsoft Entra ID (Client ID, Client Secret, tenant ID and your organization URL)
  • Freshsales: API key and account address
  • HubSpot: private app token (Settings → Integrations → Private apps) or your own OAuth app
  • Insightly: API key
  • Kommo: API key
  • Less Annoying CRM: API key
  • monday.com: personal token (Avatar → Developers → My access tokens) or your own OAuth app
  • Nutshell: API key and account e-mail
  • Odoo CRM: instance URL, database, user and API key
  • Pipedrive: personal API token (Settings → Personal preferences → API) plus your company address, or your own OAuth app
  • Prospect CRM: API key
  • RD Station CRM: API token
  • Salesforce: your own Connected App (Client ID and Secret; login.salesforce.com, test.salesforce.com or your My Domain)
  • SugarCRM: instance URL, user and password
  • Twenty: API key
  • Vtiger: instance URL, user and access key
  • Zendesk Sell: personal access token (Settings → Integrations → OAuth → Access Tokens) or your own OAuth app
  • Zoho CRM: Self Client (Client ID, Client Secret and a code generated in the Zoho API console)
💡 When a CRM offers your own OAuth app, the card shows the redirect URL to paste in the provider console and the permissions the app needs. Credentials and tokens are stored encrypted for your organization and can be erased with one click.

Attachments: how the files come over

Files are imported in the last phase, after all records, activities, pipelines and owners are in. Most CRMs only let us ask for a record's files one record at a time, so SellioCRM sweeps your imported records in the background, at its own pace, and never competes with the import of your data. The import screen shows how many records were checked and how many files were saved, and it updates by itself.

Connectors that show the Attachments badge on their card bring files. Where the badge is missing, the source's public API does not expose file downloads and there is nothing SellioCRM can safely fetch.

  • Each file lands on the same record it belonged to, in the Files panel and in the timeline.
  • Up to 20 files per record and 25 MB per file. Larger files are skipped and counted, never silently lost.
  • Running the import again never downloads the same file twice.
  • If the source CRM runs out of API quota for the day, the phase pauses and the screen says until when. It resumes on its own, and nothing already imported is touched.
💡 Undo removes the imported files along with the records. If you only want to stop the file phase, cancel the sync and the records stay.

Some sources only hand over files when the connection has an extra permission. If files do not arrive, check the item for your CRM:

  • HubSpot: files come from notes and need the files permissions. If you connected before this feature existed, reconnect once so the consent screen includes them; the data import keeps working either way.
  • Attio: the API token needs the file:read scope.
  • Kommo: the integration needs the Access to files permission.
  • Bitrix24: the incoming webhook needs the crm and disk scopes.
  • Monday: the app needs the assets:read scope.
  • Close: files belong to the lead (imported as a company); contacts and opportunities have no files of their own.

Zoho CRM: connect in two minutes with a Self Client

Zoho does not require anything from SellioCRM's side: you create a Self Client in your own Zoho account and paste three values. The import brings contacts, companies, deals, products, leads, the pipeline stages, the owners (matched to SellioCRM users by e-mail), the history (tasks, calls, meetings and notes attached to each record) and the attachments, which arrive last and more slowly because Zoho only lists them record by record.

  1. Open api-console.zoho.com signed in as a Zoho administrator, click Add Client and choose Self Client.
  2. Copy the Client ID and the Client Secret.
  3. Open the Generate Code tab, paste the scopes shown on the SellioCRM screen, set the duration to 10 minutes, and click Create. Copy the code.
  4. In SellioCRM open Analytics, Import from another CRM, choose Zoho and add a connection. Pick your Zoho data center (the same domain you use to sign in), paste the Client ID, the Client Secret and the code, and click Connect to Zoho.
  5. Click Discover, review the field mapping, run the preview and start the import. Turn on Keep in sync if you want changes in Zoho to keep flowing in.
💡 The generated code expires quickly. If Connect fails with an invalid code, go back to the Zoho console, generate a new code and paste it again. Owners are only assigned when a SellioCRM user with the same e-mail exists; invite your team first if you want the owners to land on the right people.

Before you import

Next to the Start import button there is a readiness card. It points out the key field of each object that was left without a source (for example the deal Stage) when the source has a field that looks like it; and it says how many source fields are set to "do not import". The card does not block anything: the decision is yours, but you decide knowing what will not come across. To fix it, open Map fields, pick the destination and approve again.

Field-by-field check

When the import finishes, the system compares, for every mapped field, how many records had a value at the source and how many ended up with a value here. The result shows up in the Imports list and in the bell of whoever ran the import: total loss (none arrived), partial loss (arrived in less than half) and the list of what was left out on purpose. List values that did not exist here (for example a sale type of your own) become options of the field automatically; percentages and currencies become numbers; dates with a time zone are normalized; the deal status follows the outcome of the stage; and every record is created with its original creation date. If something is missing, fix the mapping and import again: nothing is duplicated, the records are updated through their link to the source.

💡 Open two or three imported records in the editor and compare them with the source before telling the team. The list shows the stored value; the editor shows what people will actually see.

Open this article inside the system

Read it and want to see it working?

The account is free and the whole manual is available inside the system, with an assistant that answers from this very content.

Create free account
Import from another CRM (zero effort) · Sellio