Importing Contacts
Bring an existing list in with the template, column by column, without starting automation you didn’t mean to.
On this page
1Before you start
Importing brings an existing list into ClientTether as contacts, with lead sources, sales-cycle steps, action plans, tags and custom fields already set. It only works with ClientTether’s own template — the columns are fixed — and a row that’s wrong is skipped and reported, not guessed at. Two habits save hours: import three or four contacts first to prove the file is right, and decide what automation the imported contacts should get before you upload.
2The template
Open any contact list (any entry under Contacts except Archived), click Import, and download the template from the window that opens. Fill in the Header File sheet without editing the column headers; the Instructions sheet explains each column and the State Abbreviations sheet lists the accepted codes. The other sheets are placeholders — leave them alone.
| Column | Rules |
|---|---|
firstName, lastName | The contact’s names. A row with no name is still imported if it has an email or phone — it’s created as “No Name / Added By Import” so you can fix it later. A row with no name, email, phone or address is rejected. |
phone, second_Phone | 10 digits, numbers only — no +1, brackets, dashes or dots. phone is treated as the cell number. |
smsok | 1 if you have permission to text the contact, 0 if not. Defaults to 0. |
email | A valid address, unique per contact. |
address, city, state, zip, compName, job_title | Free text; state as the 2-letter code; zip as 5, 5-4 or Canadian A1A 1A1. |
tag | Comma-separated tags. Tags that don’t exist yet are created. |
action_plan_id, sales_cycle_id, lead_source_id | Numeric IDs copied from the matching Settings tabs. With action_plan_id filled in, the plan starts for that contact as soon as it’s imported; leave it blank and no plan is started by the import. |
contact_type | 1 Client, 2 Employee, 3 Partner, 4 Vendor, 5 Other. |
assigned_user_id | The user’s ID for API v2 (Settings → Users). |
deal_size, age, household_income, market_value, length_of_residence, high_net_worth | Whole numbers. |
creation_date, anniversary_1, anniversary_2, clients_date_last, clients_date_next | YYYY-MM-DD. If creation_date is blank or invalid the import date is used, and a note is added to the contact saying so. |
gender, material_status, presence_of_children, presence_of_pets, home_owner_status, education, occupation | Demographics: M/F; Single/Married/Divorced; 1/0; free text. |
whiteboard | Notes placed on the contact’s Whiteboard. |
new_lead_notification | 0 none (default), 1 in-app, 2 email + text + in-app. |
external_id | Your own system’s ID for the contact, for integrations. |
facebook, linkedin, twitter | Profile links. |
A thousand contacts on a plan with an immediate call is a thousand immediate calls
Whatever plan you put in action_plan_id starts for every row the moment the import finishes. Check the plan’s first steps before you upload — or leave the column blank and start plans deliberately afterwards from the Contacts List.
3Uploading
- Save the completed template.
- Back in the contact list, click Import, tick Click here if import have more than 1000 records when that’s the case, choose the file, and confirm.
- The import runs in the background. You get a notification when it finishes; the summary says whether any rows had errors.
While it runs, ClientTether validates each row, creates history notes, sets lead sources and sales-cycle steps, starts action plans and generates the resulting pending actions. Very large files can take a few hours to finish all of that. If Lead Routing is enabled, imported contacts are routed like any other new lead.
4Duplicates and errors
If duplicate check is switched on in Settings → Contact Profile, a row that matches an existing contact by email — or by first name, last name and phone — is not created; an error notification is raised instead, addressed to the existing contact’s assigned user. Rows that fail validation are skipped — the rest of the file still imports — so compare the result against your file and re-import the rows that are missing.
Queue Status in the user menu lists every import from the last 30 days: type (Import Clients or Big Import Clients), status (Waiting for Process, Successfully Processed, Import Failed) and the file.
5Updating existing contacts
The Update button next to Import uses the same template to change contacts that already exist instead of creating new ones. The first column of the file is how ClientTether finds each contact and must be one of email, phone, client_id or external_id; any other first column makes the whole update fail, and a row whose value isn’t found is reported in the finishing notification. Export first, keep one of those identifiers as column A, edit the columns you need, and upload through Update.
6Troubleshooting
The whole file was rejected
The column headers were edited, or the file isn’t the template. Download a fresh template and paste your data into it.
Some rows are missing
They failed validation or were duplicates. Check the notifications (a duplicate raises one per contact) and Queue Status, then fix and re-import those rows.
Contacts imported but nothing happened
No action_plan_id was set. Select the contacts in the list and use Change to start a plan.
7Related pages
- Contacts List — Import, Update and Export buttons.
- Action Plans — what starts when a plan ID is set.
- Tags and Custom Fields.