Data & imports
Getting records into CRM in bulk, noting the documents that belong to them, seeing who changed what, and finding a record again. Administrators meet the import wizard when onboarding a tenant; everyone else meets the file panels, the History tab and the search box in the course of normal work.
What you can do
Section titled “What you can do”The CSV import wizard
Section titled “The CSV import wizard”The Import Data wizard covers four objects — leads, contacts, accounts and products. Nothing else loads from a file: there is no CSV import for deals, cases, campaigns, activities or custom objects. The wizard has no menu entry today.
Four steps run across the top of the page — Upload → Mapping → Processing → Complete — though mapping and preview share the second screen.
Upload. Choose the object type, then pick a .csv file. The browser reads
the file; nothing is stored until you run the import.
Mapping. One row per column in your file, each with a dropdown of that
object’s fields. Fields the object treats as required are marked with an
asterisk, and every column can be set to — Do not import —. The server
suggests a starting mapping by lower-casing your header and replacing anything
that is not a letter or digit with an underscore, then matching that against the
field’s name or its label — so First Name, first-name and FIRST_NAME all
land on First Name. Columns it cannot place start unmapped. Underneath, the
page reports how many rows it found and shows the first five of them in a
table so you can see what you are about to load.
Processing and Complete. The run inserts row by row, then reports three
counters — Imported, Errors and Skipped — and lists the first 20
failures as Row N: message. Row numbers count the header line, so the first
data row is row 2.
What each object accepts
Section titled “What each object accepts”| Object | Required | Also accepts |
|---|---|---|
| Lead | First Name, Last Name | Email, Phone, Company, Job Title, Lead Source, Industry, Website, Street, City, State, Postal Code, Country, Description |
| Contact | First Name, Last Name | Email, Phone, Mobile, Job Title, Department, Account Name, Street, City, State, Postal Code, Country, Description |
| Account | Account Name | Website, Phone, Industry, Account Type, Employees, Annual Revenue, Billing Street / City / State / Postal Code / Country, Description |
| Product | Product Code, Product Name | Description, Product Family, List Price, Cost, Unit of Measure, Active |
Address columns are folded into the record’s single address field — the billing
address on an account. A number column that does not parse is left empty rather
than failing the row. For a product’s Active column, only the lower-case
values false and 0 mark the product inactive; anything else leaves it active.
What to plan around
Section titled “What to plan around”- Every row creates a new record. Matching against existing records and updating them in place is not implemented, so running the same file twice loads it twice. Products are the exception, and not a graceful one: a product code already in the tenant fails that row as a duplicate. Skipped is therefore always zero.
- Imported records bypass the app’s write path. Validation rules, duplicate rules, assignment rules and workflow rules do not run on them, and no change-history entry is written. Clean the file before you load it — nothing downstream will catch a bad row.
- The person running the import owns everything it creates, and imported leads start at status New.
- A contact’s Account Name is not used. The column can be mapped, but the importer ignores it, so imported contacts arrive with no account attached. Link them afterwards.
- The asterisks are advice, not enforcement. A row with no Last Name is still inserted, with the name left blank.
- Failures are per row and there is no rollback. A row that fails is counted and reported; the rows before it are already committed. Error logging stops at 100 failures, and the run stops with it. There is no dry run — the preview shows five rows of your file, not the outcome of loading it.
File format
Section titled “File format”Comma-separated, with the first line as the header. Wrap a value containing a
comma in double quotes and double any literal quote (""). Values are trimmed,
blank lines are ignored, and an empty cell leaves the field unset rather than
blanking it. A value with a line break inside its quotes is not supported —
the parser splits on line breaks first, so such a row breaks apart. The file
travels inside the request, which the API caps at 5 MB.
Attachments
Section titled “Attachments”A collapsible Files & Attachments panel sits on the detail pages for accounts, contacts and deals, with a count in its header. Each entry shows a type icon, its title, its type and the date it was added, plus Remove, which unlinks it from the record.
An entry is a reference, not a document. The form takes a Title, a File Type from a fixed list (PDF, Word, Excel, PowerPoint, image, contract, proposal and a couple more) and a Description — nothing is uploaded, and there is nothing to open, preview or download afterwards. The deal form says as much on the form itself. Use it to record that a signed contract exists and what it is called; keep the document itself wherever your organisation keeps documents.
Two limits worth knowing before you rely on the panel:
- Adding works on deals only. The Add File form on accounts and contacts sends a shape the API does not accept and fails with a validation message — and its URL box has nowhere to be stored in any case. Listing and removing work on all three.
- Behind the panels the API can link a file to eight record types — leads, accounts, contacts, deals, activities, campaigns, cases and quotes — but the three panels above are the only places it surfaces.
Change history
Section titled “Change history”Every record page that has it calls it History: a tab on leads, cases, accounts and contacts, and a panel at the foot of the deal page.
Entries run newest first. Each one names who did it, what they did and
how long ago. The action appears as its code — CREATE, UPDATE, DELETE,
RESTORE — and a change made by the system rather than a person is attributed to
system. An update also lists the fields that changed, one line each as
old → new, with unchanged fields dropped; creates and deletes show the action
alone. Field names are the API’s own (accountName, ownerUserUuid), not the
labels from your page layouts. The panel asks for the 50 most recent entries on
that record.
The log underneath is wider than those five pages. It records quotes, campaigns, activities, notes, deal and account teams, roles, forecast periods, approvals and more, and the API will read back nine object types — leads, accounts, contacts, deals, activities, notes, campaigns, cases and quotes. The five pages above are where it appears on screen.
History is written by the app’s normal write path, so anything that goes around it leaves no trace — the CSV importer above is the one that matters. There is no tenant-wide audit screen, no filtering by user or date, and no export: history is read one record at a time. Entries cannot be edited or deleted from the app.
Search
Section titled “Search”The box in the app header. Ctrl/⌘ + K focuses it and Esc dismisses it; it greys out while a dialog is open. Type at least two characters and results appear about a third of a second after you stop.
| Record | Matched on | Second line shows |
|---|---|---|
| Leads | Name, company, email | Company |
| Accounts | Name, account number | Industry |
| Contacts | Name, email | |
| Deals | Name | Stage |
| Cases | Subject, case number | Case number and status |
| Quotes | Name, quote number | Quote number and status |
| Products | Name, product code | Product code |
A match anywhere inside the value counts, not just at the start, and the hits are ordered by how close the match is to what you typed. The match itself is literal, though — a misspelling finds nothing, however close it is. You get up to five hits per record type, deleted records are excluded, and results never cross out of your tenant.
Only lead, account, contact and deal results open. A case, quote or product hit is listed — you can see that it exists — but it carries no type label and clicking it returns you to the dashboard instead of the record. Open those from the Cases, Quotes and Products lists.
Behind the box the API reaches further: 14 record types in all, adding campaigns, vendors, sales orders, purchase orders, activities, knowledge articles and users, plus a paginated “all results” call, each user’s recent queries, and the tenant’s most-searched terms over the last 30 days. None of that has a screen — the header dropdown is the only search surface in the app — though your successful searches are recorded as you make them, which is what feeds those two lists.
Getting data out
Section titled “Getting data out”Every list page carries a download button in the footer of its table, alongside the paging controls. It writes an Excel file using the columns you currently have visible, in the order you have arranged them, so hiding a column keeps it out of the export.
It exports the page you are looking at, not the whole list. If you want everything, raise the page size first and export once the full set is on screen.
Three screens do something richer:
- Reports — each of the built-in reports downloads to Excel through a column picker, and re-runs the query for the whole period rather than exporting what is on screen. See Reports & forecasting.
- Opportunities — the one list without the footer button. Its own Export button (tooltip: Export to CSV) downloads the rows on screen as CSV; the page loads up to 200 matching your current filters.
- Stock valuation — Export to Excel, with a totals row appended.
Who can use this
Section titled “Who can use this”Not everything on this page is governed by the role permission matrix. Treat the capabilities described here as tenant-wide when you plan access: do not rely on unticking a right to keep someone out of them, because signing in to the workspace is the real boundary. See Security & sharing.
Connects to
Section titled “Connects to”- Sales — leads, accounts, contacts and deals are what the importer loads and the search box finds.
- Automation — the validation, duplicate, assignment and workflow rules that imported rows skip.
- Security & sharing — record visibility, and how it relates to the gating above.
- Mobile — the Android app has no import, attachment or change-history screens.