AI mapping
AI mapping that fixes the values, not just the columns
A basic importer matches column names to field names and stops there. Sloose's AI also reads your values. Where a column needs a different case, a split or a join to fit its field, it proposes a formula. Where a picklist is spelled five ways, it translates each spelling to an option your CRM really has. You see what every row becomes before anything is written.
How AI data mapping works
One button, Draft everything, proposes the whole import. Every proposal waits for you.
- Names first, for free
Sloose matches columns to fields by name, spelling and values. This part uses no AI and no credits.
- Then the AI reads your data
It reads your column names and sample values, and proposes a field for each column it can place.
- A formula where the values need work
Where a column needs a different case, a split or a join to fit its field, the proposal comes with a formula. It also translates the values of each picklist it maps.
- Checked against your CRM
Every field it proposes is checked against your CRM's real fields before you see it, so it cannot invent one. Every picklist option it names is checked against the field's real options.
- You decide
Each proposal shows the values it would produce from your rows. Use it, change it or turn it down. Nothing is used until you press a button.

Split full name into first and last name
Contact lists rarely agree on how to write a name. This file has surnames in capitals, a name all in lower case, titles, and a Spanish double surname.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Name | Company | Address | Phone | Country |
| 2 | WALSH, Connor | Kestrel Ridge Hire | PO Box 118, Toowoomba QLD 4350 | +61 491 570 313 | AU |
| 3 | mary-jane o'neill | Copperleaf Studio | Level 3/88 Sample Rd Surry Hills NSW 2010 | (02) 5550 3302 | Australia |
| 4 | OKAFOR, Chidi | Northgate Signs Ltd | Unit 7, 14 Example Road, Leeds LS1 4AP | 0113 496 0123 | UK |
| 5 | Ms. Hannah Price | Fernhill Bakery Ltd | 22 Placeholder Lane Bristol BS1 5TR | 07700 900456 | United Kingdom |
| 6 | maria garcía lópez | Solera Tapas LLC | 1200 Sample Ave Ste 300, Austin, TX 78701 | (512) 555-0142 | USA |
| 7 | Dr. Anna-Lena Schröder | Bergmann Werkzeuge GmbH | Musterstraße 12, 80331 München | DE | |
| 8 | Aroha Ngata | Kauri Bay Tours | PO Box 4021, Paihia 0247 | NZ |
A formula is one rule per field, written in JavaScript like a spreadsheet formula. This pair handles names written Last, First:
First name
helpers.proper(helpers.split(row.Name, ',', 1))Last name
helpers.proper(helpers.split(row.Name, ',', 0))The outputs show it is right for two rows of seven. The other five have no comma, so their first name comes out empty. You see that before the run, beside each row, not after the import in your CRM.

| Name | First (first try) | Last (first try) | First (second try) | Last (second try) |
|---|---|---|---|---|
| WALSH, Connor | Connor | Walsh | Connor | Walsh |
| mary-jane o'neill | (empty) | Mary-Jane O'Neill | Mary-Jane | O'Neill |
| OKAFOR, Chidi | Chidi | Okafor | Chidi | Okafor |
| Ms. Hannah Price | (empty) | Ms. Hannah Price | Hannah | Price |
| maria garcía lópez | (empty) | Maria García López | Maria | García López |
| Dr. Anna-Lena Schröder | (empty) | Dr. Anna-Lena Schröder | Anna-Lena | Schröder |
| Aroha Ngata | (empty) | Aroha Ngata | Aroha | Ngata |
The second try: also handles "First Last" and a title
First name
row.Name.includes(',')
? helpers.proper(helpers.split(row.Name, ',', 1))
: helpers.proper(row.Name.replace(/^(Mr|Mrs|Ms|Dr)\.?\s+/i, '').split(' ')[0])Last name
row.Name.includes(',')
? helpers.proper(helpers.split(row.Name, ',', 0))
: helpers.proper(row.Name.replace(/^(Mr|Mrs|Ms|Dr)\.?\s+/i, '').split(' ').slice(1).join(' '))Excel address in one cell to multiple columns
Sloose has no built-in address parser, and it does not pretend to. Addresses go the same way as names: a formula for each address field, built from helpers such as split and join. The outputs show each row's result, so an address written another way is visible before the run. In the file above, the German address puts the postcode before the city, and the Bristol address runs across three lines in one cell.
Ask the AI in the formula editor to write or change a rule in words, or write it yourself.The expressions reference lists every helper.
Import date format: dd/mm or mm/dd?
Nothing can tell from 03/04/2026 alone whether it means 3 April or 4 March. Sloose does not guess. It reads each date the way you say, and shows you the result for every row.
- From an Excel file, a cell stored as a date arrives as
2026-03-04, which can only mean one thing. - From text, an administrator sets the organisation's date order once: day/month/year, month/day/year or year/month/day. A date such as
2026-03-04is read as written. - From a file that mixes countries, a formula can read each row's country and choose the order for that row.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Registration ID | Country | Attendee email | Registered | Session date | Fee paid |
| 2 | R-2001 | Australia | lena@kestrelridge.example | 04/03/2026 | 12/05/2026 | A$250.00 |
| 3 | R-2002 | United States | maria@solera.example | 03/04/2026 | 05/12/2026 | $165.00 |
| 4 | R-2003 | Germany | a.schroeder@bergmann.example | 04.03.2026 | 12.05.2026 | 150,00 € |
| 5 | R-2004 | United Kingdom | chidi@northgate.example | 4 Mar 2026 | 12 May 2026 | £130.00 |
| 6 | R-2005 | New Zealand | aroha@kauribay.example | 2026-03-04 | 2026-05-12 | NZ$275 |
| 7 | R-2006 | United States | dana@lakeside.example | 46085 | 5/12/26 | USD 165 |
| 8 | R-2007 | Japan | k.mori@hoshino.example | 2026/03/04 | 2026/05/12 | ¥26,000 |
| 9 | R-2008 | Ireland | niamh@cliffside.example | 04/03/26 | 12/05/26 | €150 |
Registered
helpers.date(row.Registered,
row.Country === 'United States' ? 'MM/DD/YYYY'
: row.Country === 'Japan' ? 'YYYY/MM/DD'
: 'DD/MM/YYYY')| Country | Written | Becomes |
|---|---|---|
| Australia | 04/03/2026 | 2026-03-04 |
| United States | 03/04/2026 | 2026-03-04 |
| Germany | 04.03.2026 | 2026-03-04 |
| United Kingdom | 4 Mar 2026 | 4 Mar 2026 (not read) |
| New Zealand | 2026-03-04 | 2026-03-04 |
| United States | 46085 | 46085 (not read) |
| Japan | 2026/03/04 | 2026-03-04 |
| Ireland | 04/03/26 | 2026-03-04 |
Six rows become 4 March 2026. Two cannot be read as a date: 4 Mar 2026 and the Excel serial number 46085 stay as written. Validate lists every row where a date field would get a value that is not a real date, so you fix those two cells before the run.

Validate passes a date that is real in either order, such as 03/04/2026, because it cannot know which order a file used. That is why the order is your decision.
Picklist values that don't match your CRM
"N.S.W.", "new south wales" and "Tassie". "Calif." and "CA". "google", "Adwords" and "Google Ads". A value that is not one of the picklist's options can fail the row, or be kept as typed where reports and filters built on the field's options miss it. Sloose translates the values before the import runs.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | First name | Last name | Company | Country | State / region | Lead source |
| 2 | Marcus | Bell | Saltbush Solar Co. | Australia | N.S.W. | |
| 3 | Grace | Liu | Orchard Lane Catering | AU | new south wales | Adwords |
| 4 | Ravi | Patel | Willowmere Dental Group | Australia | Tassie | |
| 5 | Maria | García | Solera Tapas LLC | US | Calif. | Google Ads |
| 6 | Dana | Whitfield | Lakeside Rowing Club | USA | CA | linkedin.com |
| 7 | Priya | Shah | Maple Row Clinics | Canada | ON | Trade show |
| 8 | Anna-Lena | Schröder | Bergmann Werkzeuge GmbH | Deutschland | Bayern | Messe München |
| 9 | Hannah | Price | Fernhill Bakery Ltd | UK | Gtr Manchester | word of mouth |
Free matching first
Translate values lists every distinct value for each picklist field, with how many rows hold it. The free matcher offers the option for a value that differs from it only in case, spacing, punctuation or accents, so "new south wales" is offered as "New South Wales" without the AI. Words such as "N/A" and "TBA" are offered as blank.
Then the AI, for what spelling cannot reach
No amount of spelling gets from "Tassie" to "Tasmania" or from "Calif." to "California". The AI reads what the values mean. Every option it names is checked against the field's real options before you see it, so it cannot propose a value your CRM would refuse. Answers it is sure of can be used in one click; the rest are offered as choices, best first.
Your decision, kept
You can also leave a value blank on purpose. A value nobody has mapped stops the run at Validate, rather than failing rows in your CRM. Value maps are saved with a template, so "Calif. is California" is a decision you make once.

Phone numbers with and without a country code
The same contact list has numbers written with +61, without it, with brackets and with spaces.
Sloose has no built-in phone formatter. helpers.digits keeps only the digits, and a formula can read the Country column too, so one rule adds +61 or +44 where a number has none:
Phone
row.Phone.trim().startsWith('+')
? '+' + helpers.digits(row.Phone)
: ['AU', 'Australia'].includes(row.Country)
? '+61' + helpers.digits(row.Phone).replace(/^0/, '')
: ['UK', 'United Kingdom'].includes(row.Country)
? '+44' + helpers.digits(row.Phone).replace(/^0/, '')
: row.Phone| Country | Written | Becomes |
|---|---|---|
| AU | +61 491 570 313 | +61491570313 |
| Australia | (02) 5550 3302 | +61255503302 |
| UK | 0113 496 0123 | +441134960123 |
| United Kingdom | 07700 900456 | +447700900456 |
| USA | (512) 555-0142 | (512) 555-0142 |
The US number is left as written because the rule covers two countries. Add a line for each country your files hold, or keep the rule in a helper library your team shares.
Mapping without the AI
Without the AI
Matches columns to fields by name, spelling and values. It is free, instant, and nothing leaves your browser. It is careful on purpose, so expect it to leave some work for you.
Names your organisation taught
After a run where nothing failed, Sloose offers to remember the column names you used, such as "ACCT #" for Account Number. An administrator confirms, and every later import into that connection finds them by name.
Free value matching
Translate values matches spellings that differ only in case, spacing, punctuation or accents, without the AI and without credits.
What the AI sees, and what it costs
Samples, not the file
The AI features send samples, not your file. One setting for the organisation decides how much: all values, masked values, or none. Your data and the model has the detail.
It proposes; you accept
Nothing is written to your CRM on the AI's say-so. Every proposal waits until a person uses it, and the import writes only when you run it.
Credits only when you ask
Draft everything and each Ask AI use credits from your plan. The free matching, the formula outputs, Validate and the import itself do not. Running a saved import again uses no AI credits. See pricing.
Related
Messy spreadsheets
Title rows, totals rows, grouped layouts and workbooks with several sheets.
One file, two ways
Contacts, accounts and deals from one sheet, by hand and with Sloose.
Validate and dry run
Every row checked before anything is written.
Docs: Map fields
Every part of the mapping step, in detail.
Questions people ask
Does the AI write anything to my CRM?
No. Every AI feature proposes, and a person accepts. A proposal waits as a guess until you use it, and nothing is written to your CRM until you run the import. You can dry-run it first.
Does the AI see my whole file?
No. The AI features send samples, not the file. An administrator chooses how much the AI may see with one setting for the organisation: all values, masked values, or none. Your data and the model says exactly what is sent.
Can it split a full name into first and last name?
Yes, with a formula for each field. Sloose has no built-in name or address parser, so the formula is a rule you can read, and you see what it makes of every row before the import runs. A row it gets wrong is visible there, not in your CRM.
How does it handle dd/mm and mm/dd dates?
An administrator sets the organisation's date order once: day/month/year, month/day/year or year/month/day. A file that mixes countries can use a formula that reads each row's country. Nothing can tell from 03/04/2026 alone whether it means 3 April or 4 March, so the setting or the formula decides, and Validate lists every value in a date field that is not a real date.
Does AI mapping cost credits?
Asking the AI uses credits from your plan, and you are charged when it answers, whether or not you use what it proposes. Without the AI, the free value matching, the formula outputs, Validate and the import itself use no credits. Running a saved import again uses no AI credits. See Pricing.
Do I have to do the mapping again next month?
No. Save the import as a template and its mappings, formulas and value maps come back with next month's file. See Templates.
Bring a file that doesn't match your CRM
Start on the free plan and draft your first import. Nothing is written until you run it.