Guide · Zoho CRM
Import linked Accounts, Contacts and Deals into Zoho CRM from one spreadsheet
A sheet that holds companies, the people who work at them and the deals they are in is one file to you and three imports to Zoho. This guide shows how Zoho CRM's own import handles it, then how to do it in one go with Sloose, and what Sloose does not do.
How Zoho CRM's own import handles it
Zoho's import takes one file for the module you pick, plus one for each dependent module such as subforms and multi-select lookups. Accounts, Contacts and Deals are separate modules, so a three-module sheet becomes three imports, accounts first. Zoho's own advice is to copy the account details to a file of their own, remove the repeats and import that first (Zoho FAQ).
The contacts and deals then link to those accounts through a lookup column in their own file: a record ID, a unique field, the account's name, or an external ID. It works, and Zoho's import is built in and free. The cost is the copying, the three uploads, and a company spelled two ways on two rows becoming two accounts.
Its limits: 1,000 rows a file on the Free edition up to 200,000 on Ultimate, files up to 25 MB, column names in the first row, and an undo for the records an import added (within 30 days; updates cannot be undone) (Zoho help, read 5 October 2026).
The Sloose way, step by step
- Connect your Zoho CRM once. A Zoho CRM administrator allows Sloose on Zoho's own screen and chooses the organisation. Sloose reads your modules and fields, custom ones included.
- Start an import and load the file. Choose the connection, tick Accounts, Contacts and Deals, and load the file as CSV, .xlsx or pasted text.
- Map the columns. Sloose matches columns to fields by name for free, or the AI proposes a mapping and formulas for the columns that need one. Nothing it proposes is used until you accept it. Asking the AI spends AI credits; running an import never does.
- Say how existing records are found. For each module, choose the field to match on (accounts on the company name, contacts on email), what happens when one record matches, and what happens when several do. A company on several rows becomes one account when accounts are matched on its name; names that differ by punctuation count as different until a formula tidies them.
- Link the records. Map each contact's and deal's Account as a lookup that searches by the field you choose. Each row's account is found or created first, and the contact and deal are linked to it. A link to a record the run has just made is found from the run's own records, not by a search, because Zoho's search does not always return a record created seconds earlier.
- Validate, then dry run. Validate checks the import before anything is written. A dry run goes through every row and rule and writes nothing; each row shows, for each module, Would create, Would update, Would skip or Would ask. A dry run does not count as a run.
- Run, then retry what failed. Failed rows are grouped by reason, and a retry runs only those rows. Every real run leaves a results file (a dry run's is there only while its panel is on screen): each row, what happened to it, the ID of the record written or found, and the CRM's own error where a record was refused.
What Sloose does not do
- It cannot undo an import. Validate and the dry run exist for that reason. Zoho's import can undo the records it added, for 30 days.
- It cannot create a field. Add the field in Zoho, then read the connection again.
- It does not read .xls or .ods. Re-save the file as .xlsx or CSV.
- The run happens in your browser. Keep the tab open until it ends.
- A dry run cannot prove Zoho will accept every record. Your CRM's own validation rules show only on a real write.
- It spends your Zoho API credits. Sloose writes through Zoho's API. A file of new records goes ten records a call, one credit a call, when every module it creates is set to create everything as new, no field looks up a record the same run creates, and no field is filled after the save. This import is not that: each contact and deal links to an account the run has just made, so it is written one record a call, and the searches that find existing records are calls too. Zoho counts credits over a rolling 24 hours, by edition (Zoho's API limits).
What it costs to try
A new organisation starts with a 14-day trial of Business, with 200 AI credits and no card. After that the Free plan allows 5 runs a month of up to 500 rows each. See pricing, or watch one file go in both ways, with the minutes marked as estimates. The Map fields guide has matching and linking in detail.
Bring the spreadsheet. We do the rest.
Start with a 14-day Business trial and 200 AI credits. No card needed.