If you’re coming from a spreadsheet, another CRM, or a contact-management tool, you can import your customer list as a CSV in a single upload.Documentation Index
Fetch the complete documentation index at: https://docs.servicebooked.ca/llms.txt
Use this file to discover all available pages before exploring further.
CSV format
We accept any CSV with at least one of these columns: email, phone, first_name. (We need something to identify each contact by.) Recognized columns (case-insensitive, with common aliases):| Field | Aliases |
|---|---|
first_name | first, fname, given_name |
last_name | last, lname, surname |
business_name | company, business, organization |
email | email_address, e-mail |
phone | phone_number, mobile, telephone |
address | street, address_1, street_address |
city | town, locality |
province | state, region |
postal_code | zip, zipcode, postal |
notes | comments, description |
tags | labels (comma-separated within the cell) |
status | stage |
Run the import
Review the preview
We parse the first 5 rows and show you what we’ll do with them. Check that names landed in the right column, phones look right, etc.
Confirm import
Click Import. We process up to ~10,000 rows per upload (most customer lists are well under that). Progress shows live.
Review the results
After import you see:
- Imported — new contacts created
- Updated — existing contacts merged on email/phone match
- Skipped — rows that couldn’t be parsed (with row numbers + reasons)
Deduplication during import
Imports respect the same dedupe rules as everything else: a row whose email or phone matches an existing contact updates that contact rather than creating a duplicate. So you can re-import the same CSV without creating doubles.Tags during import
If your CSV has a tags column, we treat each cell as comma-separated. Sotags: vip,repeat,commercial applies all three tags. New tags are auto-added to your org’s tag library.
Status during import
If your CSV has a status column, we apply it as long as it matches one of your configured statuses. If a row has a status we don’t recognize, we skip the status (the contact still imports, just without a status applied). To see your configured statuses, go to Settings → Pipeline → Stages.Privacy
Imported data is only ever visible to your organization. We don’t share, sell, or analyze it for any purpose other than running ServiceBooked for you. If you delete an imported contact later, the row is removed (with a 30-day soft-delete window for recovery). After 30 days it’s permanently purged.Common gotchas
- Phone numbers in weird formats: we handle most variants (
(613) 555-0100,613-555-0100,6135550100,+16135550100) but some international formats trip us. Skipped rows will tell you why. - Business-only contacts: if your spreadsheet has rows that are companies without a person attached, set
first_nameto the company name (e.g., “Acme HVAC Inc.”) and leavelast_nameblank. Better than skipping the row. - Custom fields: not currently supported on import. If you have data ServiceBooked doesn’t model (e.g., “warranty expiration date”), put it in the
notesfield for now.
Next
Tags
Organize contacts after import.
Statuses
What each pipeline stage means.