Bulk-add or update contacts by uploading a CSV or XLS file instead of entering them one at a time. This is the fastest way to populate your help desk with an existing customer list, or to update details for contacts you already have.
Available on all plans.
Before you start
- You need the Import Contacts permission. It is granted through Roles and Permissions, and it does not come enabled by default, even for the Account Administrator role. An agent with the Manage Agents permission can grant it to you or to other agents.
- Have your CSV or XLS file ready with the column headers described below.
Prepare your spreadsheet
HappyFox skips the first row of your file and starts importing from row two, so the first row must be your column headers.
Mandatory fields
Every row needs a value for each of these three fields. Column headers are not case sensitive.
| Field | Accepted headers | What it means |
|---|---|---|
| Name | Name, name, NAME | Must be a single column. HappyFox does not accept separate first name and last name columns, so combine them into one before uploading. |
| Email, email, EMAIL, e-mail, E-Mail, E-MAIL | The primary identifier HappyFox uses to match a row to an existing contact. | |
| Phone | Phone, phone, PHONE | Add a country code (for example +1 or +91) only if the number is from a different country than your account's default. Check your default under Manage > Account Settings > Basic > Country. |
Add contacts to a group
Add a Contact Group column to assign contacts to a group on import. Separate multiple groups with commas. If a group named in the column does not already exist, HappyFox creates it during the import.
Note The Contact Group column header is case sensitive. If HappyFox creates a new group for you during import, open it afterward and add its domain under Auto Add contacts from these domains so future contacts from that domain join it automatically. See Manage Contacts for how to edit a group.
Control contact portal access
Add a column to control whether each contact can log in to the contact portal.
| Column value | Result |
|---|---|
| true | Contact can log in to the contact portal. |
| false | Contact cannot log in to the contact portal. |
| Left empty | Defaults to true. |
| Column not included | Defaults to true. |
Add custom field data
You can populate contact custom fields and contact group custom fields in the same file. Each custom field column header must match the field name exactly, including case, as it appears under Manage > Custom Fields on the Contact or Contact Group tab. A mismatched name, even a small typo, means that column's values will not import.
Download Contact_Import_Sample.csv for a working example. It includes three custom fields: Brand, a dropdown with the values Brand 1, Brand 2, and Brand 3; Brand1 Dept, a dependent dropdown that only appears when Brand 1 is selected, with the values Brand 1 Sales, Brand 1 Support, and Brand 1 Enquiries; and Most Active Days, a multiple-select field listing days of the week (for example, "Monday, Tuesday").
Import your contacts
- Go to Contacts from the module switcher.
- Click Import Contacts in the top right of the Contacts page.


- Choose your CSV or XLS file.
- Click Upload.

When the import finishes, download the report from the same screen to see how many contacts were added and how many were updated.
Warning Contacts import in batches of 50. If you click Abort Import partway through, HappyFox finishes the current batch before stopping, so a few more contacts may be added after you cancel.

Update existing contacts
Note Re-uploading a file with an email address that already exists updates that contact instead of creating a duplicate. Include every mandatory field, Name, Email, and Phone, plus any custom fields, on every row, even if you are only changing one value such as portal login access.
Fix common import errors
HappyFox flags problem rows by row number and field name so you can find them quickly in your spreadsheet.
| Symptom | Likely cause | Fix |
|---|---|---|
| Error message names a row and field. | A mandatory field is empty, a column label is missing, or a value contains a semicolon or other special character. | Open that row in your spreadsheet, fix the flagged value, and re-upload the file. |
| Custom field values did not import, with no error shown. | The column header does not exactly match the custom field name in Manage > Custom Fields, including case. | Rename the column to match the custom field exactly, then re-upload. |
Contacts appear in your list as soon as the import finishes processing. To add or edit one contact at a time instead of uploading a file, see Add Customer Contacts.
Continue reading
Add Customer Contacts › What are contact custom fields? › What are contact group custom fields? › Export Contacts to spreadsheets ›
