Contacts: How to Bulk upload and Update Contacts via CSV

The Contacts CSV lets you add new contacts and update existing ones in bulk, including which customers each contact is assigned to.

What Are Contacts?

Contacts are individuals that are assigned to customers (the company). Contacts are the main point of communication between you and your customers. They can be owners, managers, lead baristas, or anyone who does the ordering for your customer.

How the Contacts CSV works

Email is how RoasterTools matches each row to a contact. There's no Id column in the Contacts CSV, so:

  • If the email already exists, that contact gets updated.
  • If the email is new, a new contact is created.
  • If you change an existing contact's email in the file, you'll get a new contact instead of updating the old one. To change an email address, edit the contact directly (Sales > Contacts > Edit).

How to upload new contacts

  1. Click your name in the top right corner, then go to Settings > Import & Export.
  2. Select Contacts from the menu on the left and click Download CSV.
  3. Open the file in Google Sheets and add each new contact on its own row. Email is required.
  4. To assign a contact to a customer, enter the customer's name in the Customer1 column. For more customers, use Customer2, Customer3, and so on. If you need more columns than the file has, add them, increasing the number by one each time.
  5. Go to File > Download > Comma Separated Values (.csv).
  6. Back in Settings > Import & Export > Contacts, click Upload CSV and choose your file.

How to update existing contacts

Updating works the same way as uploading, with a few rules to keep in mind:

  • Download a fresh CSV right before you edit. Your upload overwrites what's in RoasterTools with what's in your file, so an old copy can roll back recent changes.
  • Don't change the Email column. It's how RoasterTools finds the contact. Changing it creates a new contact.
  • Only include the contacts you're changing. Delete the other rows. A smaller file is easier to check.
  • Don't change the header row, and don't add a title row above it.

Then follow the same steps as above: edit, save as CSV, and upload.

Important: The upload can add contacts to a customer (company), but it can't remove them. Clearing a Customer column leaves that assignment in place. To remove a contact from a customer, go to Sales > Contacts, edit the contact, and click the × next to the customer's name.

Column guide

Column What it controls What to enter
* Email Which contact the row belongs to Required. For existing contacts, don't edit. A new email creates a new contact.
First Name The contact's first name Any text
Last Name The contact's last name Any text
Customer1, Customer2, and so on Which customers the contact is assigned to One customer name per column, matching the customer's name in RoasterTools exactly. The customer must already exist. Blank columns don't remove existing assignments.

What you can't update with the CSV

These need to be changed in RoasterTools directly:

  • Email address, on the contact's edit page (Sales > Contacts > Edit)
  • Phone number, on the contact's edit page
  • Removing a contact from a customer, on the contact's edit page
  • Primary contact. The first contact assigned to a customer becomes its primary contact by default. To change it, go to Sales > Customers > Edit and update it in the Contacts section.
  • Portal invites and sign-in settings. See Contacts: Creating, Assigning to a Customer and Inviting to the Portal.

Updating customer settings instead? See Customers: Bulk Update Customer Settings with the Customer CSV.

Checking your results

After you upload, you'll get a Bulk Contact Update Finished email listing each contact in your file with a Success or Failure. Fix any failed rows and re-upload just those. Then spot check a few contacts to make sure everything landed.

Contacts on inactive customers

If a contact is assigned to an inactive customer, it still exports, but "(Inactive)" is added to the customer's name, like this: "Star Coffee (Inactive)".

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.