Skip to main content

Importing accounts, contacts and cases

Platform → Import brings in accounts, contacts and cases from a CSV file: a spreadsheet saved as CSV, or an export from another tool. You pick what the file holds, and Check the file shows what each row would do. Nothing changes until you choose Import.

Import in this order: accounts, then contacts (they join accounts by name), then cases.

The file​

The first row names the columns, in any order. Columns the desk doesn't know are left out, and the check says which. Commas and semicolons both work as separators (a spreadsheet set to Norwegian or Swedish saves with semicolons). Lists in a cell, like several domains or labels, are separated by semicolons. A file has at most 5,000 rows.

Accounts​

ColumnWhat
NameNeeded. An account with this name is updated instead of added.
DomainsEmail domains. People who write from them join the account.
External idThe account's id in another system. It finds the account before the name does.
Notes, Labels
A data propertyBy its label, like Customer number. See Data properties.
Service levelAn SLA by name (or the column SLA): the account's own SLA for all its services. Needs sla.assign.
Service level from, Service level untilThe first and last day it covers, like 2026-01-01. From is today when empty; Until is optional.
Service level contractThe contract's reference.
RegionA region by name: the one the account's cases count in. Needs sla.assign.

Domains and labels in the file are added to those the account has; none are taken away.

An account without its own SLA that is given the organization default, with no dates or contract, keeps following the defaults. One that already has the same SLA gets the file's dates and contract. Another SLA at the same time is refused, as on the account's page: end the first one there.

Contacts​

ColumnWhat
EmailNeeded. A contact with this email is updated instead of added.
Name, Phone, Notes
AccountAn account's name or external id, among the accounts you can see.
Languageen, no, sv or da: the language of their emails and case page.
A data propertyBy its label.

Cases​

ColumnWhat
SubjectNeeded.
Requester emailNeeded. An address the desk doesn't know becomes a new contact.
Requester name
UnitThe name of a unit you can see. Or pick a Unit for the rows without one.
Statusnew, open, pending, on hold, resolved or closed. Open when empty.
Prioritylow, normal, high or urgent.
CreatedWhen it was opened: 2026-03-31, or 2026-03-31T14:05.
DescriptionThe request.
AssigneeA staff member's email.
Labels

Imported cases are history from elsewhere: nobody is emailed, and automations and webhooks don't run for them. Open ones get service levels from the date they were created. Their source is Import.

What the check shows​

Each row is New, Changed (with what changes), Unchanged or Not imported (with why). Rows with a problem are left out of the import; the others go in. Accounts and contacts are matched, so importing the same file again changes nothing. Cases are always added: when a file was imported before, the check says when and by whom, and it goes in again only if you tick Import it again anyway.

Who can import​

Each kind needs its permission in the organization: accounts Change accounts, contacts Change contacts, and cases Log new cases in the units they go to. The page offers only the kinds you may import. Moving a contact who already has an account to another one also needs Change accounts. Import shows under Platform to people that may import one of the kinds; agents who may log cases see Platform with Import only.

Kept for later​

Earlier imports lists each import: when, who, the file's name, its SHA-256 checksum and what it did. The rows that weren't imported are kept with it, and each import is in the audit log.

From the API​

POST /api/v1/imports/accounts (or contacts, cases) with orgId, the file as csv, and dryRun: false to import; a dry run is the default. GET /api/v1/imports?orgId=… lists earlier imports. A token needs the permission itself (account.write, contact.write or case.create). See API tokens.