Three ways in
Every NOWAITN CRM tenant starts empty. You bring an existing customer list in through one of three paths, depending on where it lives today:
- CSV upload — works for anything. Export from Excel, Google Sheets, Salesforce, HubSpot, Mailchimp, OpenTable, Resy, anything that can write a spreadsheet.
- Gmail / Outlook sync — one-time OAuth consent. Pulls your address book and keeps it in sync so new contacts you meet outside CRM show up inside it.
- Other CRM connector (Admin tier) — direct pull from Salesforce, HubSpot, or Pipedrive via the platform_api integrations framework. See Integrations for the current list.
CSV layout
CRM accepts a wide range of column headers and maps them automatically. The minimum is one of email or phone — everything else is optional.
| Column | Required | Example |
|---|---|---|
| one of (email, phone) required | jane@example.com | |
| phone | one of (email, phone) required | +14155550123 |
| first_name | recommended | Jane |
| last_name | recommended | Rodriguez |
| company | optional (becomes the linked Account) | Acme Restaurants |
| title | optional | Operations Lead |
| tags | optional (comma-separated) | vip,wine-club |
| notes | optional | Allergic to shellfish |
Headers are case-insensitive. First Name, FirstName, and first_name all map the same way.
Deduplication on import
CRM matches incoming rows against existing contacts by email first, then by phone. If a match is found, the import updates the existing record rather than creating a second one. New non-empty fields fill in blanks; existing non-empty fields are preserved unless you check “Overwrite existing values” during import.
This same dedupe logic runs every time another NOWAITN app upserts a contact — so a guest who joins Queue and later books a Reservation lands on one contact record, not two.
Step by step
- Go to CRM > Contacts and click Import.
- Drop your CSV or click Connect Gmail / Connect Outlook.
- Confirm the column mapping. CRM pre-fills the mapping based on header names — fix any rows flagged as ambiguous.
- Choose how to handle duplicates: update existing (default) or skip.
- Click Import. For large files (>10k rows) the job runs in the background — the page will email you when it finishes.
After import
- Every imported contact shows a source tag (
csv,gmail,outlook, or the connector name) so you can filter the list later. - Contacts imported from a CSV have an import batch ID — from a contact's detail page you can roll back the entire batch if the import went wrong.
- Bulk campaigns, tag management, and export all become available once you have a non-empty contact list.
See Merging duplicate contacts for what to do if duplicates still slip through — typically when old data has typos in email addresses or carries outdated phone numbers.