Admins can add many users in a bulk import rather than adding users manually one at a time. To do this, you create a comma-separated values (CSV) file that contains the user's data. In addition to essential user data, such as email address and phone number, you can also set user roles, define an agent's privileges, and add users to an organization. You can use bulk import to either add new users or update existing ones. Bulk import via a CSV file only works for Support users and roles.
You must be an administrator to bulk import users and organizations.
- To protect the data in your Zendesk account, data imports are not enabled by default . The account owner or an admin must contact Zendesk Customer Support to enable data exports and access to the imports page.
- If you want to bulk import both users and organizations, you must import organizations first.
Considerations for bulk importing users
Limitations of bulk importing users and organizations
You can import a core set of data about users and organizations. For example, using bulk import, you can import the data described in the table below; however, you cannot import timezones, photos, language preferences, etc. To import data not listed in the table below, you need to use the Zendesk REST API instead. See Importing users with the Zendesk API or Importing organizations with the Zendesk API.
- The maximum number of rows depends on the import method.
- When using the Bulk actions pages to import new and existing user and organization data, the import CSV data file can contain a maximum of 2,000 rows. That is, one header row and up to 1,999 rows of data.
- When using the data importer to import new and existing user and organization data, the import CSV file can't exceed 1 GB in size. We recommend a maximum of 500,000 rows. That is one header row and up to 499,999 rows of data. Furthermore, each row can't exceed 128 KB in size.
- When using the data importer, the following limitations also apply:
- The import CSV file can contain a maximum of 200 columns.
- The import CSV file can't guarantee import order for rows.
- Don't include the same user or organization more than once within a CSV file. Doing so can cause your import to fail.
- There's no guarantee that records are created or updated in the order they appear in the CSV file.
- You can only import one CSV file at a time. Therefore, if you have more data than the maximum number of rows supported for the CSV file, you must create separate files for each batch and import them one after another. When you're not using the data importer, up to two batches are queued and run in the background. If you want to import more than two batches, you need to wait until the first batches are finished importing to add more.
- You cannot use bulk importing to import contact information from end-user Facebook or X (formerly Twitter) accounts. Instead, use the Zendesk REST API. See Importing users with the Zendesk API.
Updating existing user profile data
How data is updated by the data importer
- phone (added as a secondary phone number)
- email (added as a secondary email address)
All other data is replaced by the data importer.
How data is updated by the bulk actions import
- name
- external_id
- role
- restriction
- organization
- custom fields
- tags (only when using the data importer)
- details
- notes
- tags
- phone (added as a secondary phone number)
- email (added as a secondary email address)
Deciding whether to send an email to users imported in bulk
Before you perform a bulk import of users, it's important to check your welcome email settings. When you add new users via a bulk import while Guide is enabled, each user receives the welcome email message. The welcome email contains a link to verify their email address, which prompts them to select a password and then sign in. You can prevent the welcome email from being sent to these users.
To prevent the welcome email message being sent to users
- In Admin Center, click
People in the sidebar, then select Configuration > End users.
- In the User welcome email section, deselect Also send a verification email
when a new user is created by an agent or administrator.
- Click Save.
Creating the CSV user data file
When you create a list of users to import, you'll probably generate this list from some other user management system such as an employee database. Most of these systems have some facility for creating a CSV export file. If you need to create the list from scratch you can use a program like Microsoft Excel or OpenOffice.org Calc.
- The file must be properly formatted CSV and saved using UTF-8 character encoding.
- The first row of the CSV file is the header row, and you must include it in the file.
- The header row must contain any required fields in the table below, plus any other fields listed in the table below that you want to include.
- Included fields must appear in the header row in the order they are listed below.
- If you are not importing data for a field, do not list it in the header row.
- Empty columns of data in the file will overwrite most existing data for that user. For exceptions, see Updating existing user profile data.
- Add line breaks to notes or multiline custom fields by pressing ALT+ENTER on Windows or CTRL+OPTION+RETURN on a Mac.
The following table lists the fields that you can include in the file. The name, email, and restriction fields are all required when importing new users. When existing users are updated via bulk import, only one unique identifier is required (such as an email or external ID).
Field | Description |
---|---|
name | Required for importing new users. User's full name. |
email (not data importer) |
Required for importing new users. User's full email address (someuser@mycompany.com). |
emails (data importer only) |
Required for importing new users. User's full email address
(someuser@mycompany.com). If including more than one email address for a user,
separate them by a pipe (|). For example:
first@yourcompany.com|second@yourcompany.com
|
ticket_restriction (data importer only) |
Required for importing new users. Restriction sets the
team member's or end user's privileges, the tickets they have access to, etc. This
is required to import new users when the user's role is set to Agent
On non-Enterprise plans, the following restriction values are supported:
Restriction values of "organization" and "requested" can be assigned
when the user's role is set to "End-user". All others apply only to team members.
Note: On Enterprise plans, agent roles override the standard agent restrictions.
This means that you can't use any of the standard restrictions listed in the
table above to import or update an agent. You must specify an agent role. If you
accidentally use a role name that doesn't exist in Support, the user's role
defaults to Light Agent.
|
restriction (not data importer) |
|
external_id | If you have an ID other than the user's email address (such as an employee ID
or customer reference number), you can include it here. External IDs must be
unique for each user, or data will be overwritten. If you need to configure multiple email addresses or phone numbers to a single user, you can do so by creating multiple entries for the user in the CSV file and using the same external_id column for all rows you want associated with a single user. With the exception of the additional email or phone numbers, the values in all other columns should remain the same for each row. If any external ID, email address, or phone number matches more than one existing user, that row is rejected from the bulk import.
Note: If you import users with the external_id
field as their only identifier (meaning you're not also including email
address), you still need to include the email field in the CSV file, with no
data. For example:
|
details | Detailed information concerning this user, e.g. an address. This information is visible to team members only, not to end-users. |
notes | Notes concerning this user. Notes are visible to team members only, not to end users. |
phone (not data importer) |
The user's telephone numbers. Unique phone numbers are added as direct lines. Phone numbers that already exist are added as secondary lines. To work with Talk, phone numbers should be formatted with the internationally standardized E.164 format. |
phones (data importer only) |
|
shared_phone_number (not data importer) |
If this is a shared phone number, set to "true". A shared phone number cannot be used as a user identity. |
shared_phone (data importer only) |
The user's shared telephone number. To work with Talk, phone numbers should be formatted with the internationally standardized E.164 format. |
role | Case sensitive: End-user, Agent, or Admin. If you don't set a role, the user is set to End-user. |
organization (not data importer) |
The name of the organization that the user will be added to. The
organization must already exist or the import will fail. On Professional and
Enterprise plans, you can add a user to multiple organizations by separating the
organization names with a pipe character. For example:
A user's default organization is set to the first organization alphabetically. It isn't possible to set a different default organization during a bulk import. However, the default organization for a user can be adjusted manually or with the Support API - Set Membership as Default endpoint. |
organizations (data importer only) |
|
default_group_id (data importer only) |
New team members (admins and agents) are automatically added to the account's default group. However, you can use this field to specify alternative default groups for users during bulk imports. End users can't be added to groups. |
tags | When user and organization tagging has been enabled for Zendesk Support (see see Adding tags and users to organizations), you can add user tags. Separate each tag with the comma. |
brand (not data importer) |
If the account has multiple brands, you can specify a brand subdomain. The
brand subdomain you specify determines the brand of the welcome email sent to the
user, as long as that brand is active and has an enabled help center. If the brand
subdomain you specify is not active, doesn't have an enabled help center, or
doesn't exist, the column is ignored and the welcome email is sent using default
brand. Specify only the name of the brand subdomain. For example, use mydomain and not mydomain.zendesk.com. |
custom_fields.<field key> | When you perform a bulk user import, you can import a custom user field by
specifying the custom_fields. prefix and the field key. For example, for the field key subscription_date, use the following to set the imported values for this field. custom_fields.subscription_date Note that custom field keys are case-sensitive and must be entered in lowercase letters. If you are importing information into a checkbox, enter 'true' to have it checked or 'false' to leave it unchecked. To set the value of drop-down list options, use the tag you added when you created the drop-down list. For custom date fields, use either the YY/MM/DD or YYYY-MM-DD format. To locate the key for a custom user field:
If a field value is not formatted correctly, the import will fail and you will receive an error report specifying which records failed to save.
Note: If the custom user field you're importing is a lookup relationship field, enter the ID
of the related object as the value for this field. For example, for an
organization, enter the organization's ID; for a user, enter the user's ID; for
a custom object record, enter the record's ID. To find an organization, user, or
custom object record ID, you can export data from your account or use the
Organizations API, Users API, or Custom Object Records
API.
|
Importing the CSV user data file
You can use a bulk import to create new users or update existing users.
Your import is added to the queue, and users are added to Zendesk Support when the import process is complete. The size of the CSV file and queue size determine how long it takes for each import to complete.
Using the data importer to import user data
You can use the data importer to import a CSV file that creates or updates existing users, and captures logs of all imports attempted through the Data importer page.
- In Admin Center, click
Objects and rules in the sidebar, then select Tools > Data importer.
- Click Import.
- Under Target destination, select Users.
- Under Import type, choose one of the following:
- Create only: Only new users are added. Any data in the CSV file pertaining to existing users is ignored.
- Update only: Update data for the existing users listed in your CSV file. The external_id is required to update users. Any data pertaining to new users is ignored.
- Create and update: Add new users and update data for the existing users listed in your CSV file.
Note: If any external ID, email address, or phone number matches more than one existing user, that row is rejected from the bulk import. Check your import history. - Under File upload, drag and drop your file or click to upload and
select your CSV file from the file browser.
If you need to change the file you've selected, click the delete icon (
) next to the file name.
- Click Next.
- Review the Field mapping list.
- If the field mapping is correct, click Next.
- If the field mapping isn't correct, click Back. Edit your CSV file to adhere to the format requirements and then reupload the file.
- Review the summary of import details in the confirmation dialog and then click
Start import.
After the import starts, the imported changes can't be reverted. To check the status of an import, check your import history.
Using a bulk actions import to import user data
Although we recommend using the data importer, you can still use the Bulk actions pages to import new and updated information for users.
- In Admin Center, click
People in the sidebar, then select Bulk actions > Import users.
- Select import options:
-
Create new users: This is selected by default and cannot be deselected. This is because users listed in the CSV file that don't exist in your Zendesk account are always created.
-
Update existing users: Select this import option if you also want to modify data for existing users.
An external_id or email address must be included in the CSV file for each user so that they can be identified. Other than user identification fields, only include the fields you want to update in your CSV file. If you don't enter a value for a field in your CSV file, that value is overwritten for the existing user. See Updating existing user profile data.
If any external ID, email address, or phone number matches more than one existing user, that row is rejected from the bulk import.
Note: If you don't want to add new users, you must use the data importer. When using the Bulk actions pages, if your CSV file contains information about new users, they are always added, regardless of the import option you select. -
- (Optional) Select Include external ID in CSV output file.
When the import process is complete, you will receive an email notification that includes a link to a separate CSV import results file. Use this link to download the file and view the results of your import. The file shows the status of the user data that you attempted to import (Created, Updated, Skipped). If you select this option, the report includes the email address or an external ID for each user that is created or updated.
If you don't select this option, external IDs are excluded from the CSV import results file. Instead, only the user's email address is listed for each user that is created or updated.
- Click one of the following: Choose File or Let me paste in data instead.
- Click Import.
Your import is added to the queue and the users are added to Zendesk Support when the import process is complete. You'll receive an email when the import is complete.
81 comments
François Bellavance
We were able to add a secondary email for everyone. Now my question is... Is there a method with that CSV to first remove all emails from our users and then import a new primary address?
We did add a new email but the problem is that email is not verified to all our users.
If it's possible then I will do that by evening.
0
Gabriel Manlapig
Both importing users via CSV or updating users in bulk via API will add new email address as secondary one. As it turns out, there isn't any native tool that would allow you to easily change the primary email addresses for the users in a bulk.
As a workaround, you could create a custom script that uses our APIs in order to change the primary address:
0
François Bellavance
Okay I see. Our government forced us to change all emails addresses in our place and many other. The @ and following changed and there is no method to change it easily. We pay tons of money to Zendesk. This is sad to ear.
1
Dima Lazarchuk
Hello All,
We have a wonderful app GDPR Compliance that manages Customers and Organisations.
1
Joshua J.
Hi there! I was hoping for some information regarding importing via .csv, specifically.
I create my list in Excel and format everything as it should be (I am only importing names, organization, email, and phone). I save my spreadsheet using the required UTF-8 character encoding.
Before importing the .csv file in the Admin portal, I open the file to verify the contents I am going to import. When I open this, the "phone" column is missing the required internationally standardized E.164 format (+). This is preventing any phone numbers from being imported; potentially causing duplicates in Support.
Here is my question: how can I keep the required international standardized formatting while also saving it as the required UTF-8 character encoding?
1
Josef Prandstetter
Hello,
We are a global company and in our company the default value on end-users for language is "English" and for Time zone is "GMT +01:00":
Our company has bought a new company in a different region and we are now in the process of replacing their existing support tool and migrating it to our global support platform based on Zendesk.
For this we have the need to set the language as well as the timezone during the import, because the default values are not applicable for the new users.
It seems that currently you can't define language and timezone during bulk import unfortunately - are there any plans for this to be supported in the near future?
If not, what other options/workarounds are there?
1
Dima Lazarchuk
Josef Prandstetter
We can help you with the data migration.
Here is our listing https://www.zendesk.com/marketplace/apps/support/120364/help-desk-migration/
1
Josef Prandstetter
Dima Lazarchuk: you could/should know we are using your services for ticket migration multiple times so far ;) and we will use it in the future as well, because your services are part of our processes to onboard new entities - with my posts we want to state that we want to see the functionality to set language and time zone in the standard functionality without using a third-party app/service.
1
Thomas Lee
Is it possible to bulk import Contributor users? I can find no reference to this in any of the information above - only "End-user", "Agent", or "Admin" roles are mentioned. I have tried importing with the role set to 'Contributor' but this defaults to End-user when viewing the user in support. I am able to create a Contributor user manually, so I don't think it's an account restriction.
0
Christine
Unfortunately, it is not possible to bulk import users with Contributor as their role. This is due to limited permissions in this role, you can only manually change the user role after they're imported to your account as end-users. Thanks!
0
שגיא סגל
Hi,
i have a question, i want to create new users via the bulk importing method,
I see the fields: name, email etc....
does the external_id is option or required field?
if it is required field how do i get them if I insert new users?
1
Mark Molloy
It is optional. As per the article:
"If you have an ID other than the user's email address (such as an employee ID or customer reference number), you can include it . External IDs must be unique for each user, or data will be overwritten.
If you don’t enable Include external ID in CSV output file, external IDs are excluded from the CSV import results file (see Importing the CSV user data file)."
BTW, "Include external ID in CSV output file" is now called "Include external IDs in import results file".
If you have to use an external_id, activate Include external IDs in import results file when doing a bulk import. Someone at your organization should know if external IDs are used to identify users in addition to the users' email addresses.
Personally, I have not included external IDs and everything is OK with bulk imports if users.
0
Frédéric
hello,
is there any empty template available. available?
thanks
0
Valeriia Sivachenko
Hello,
Is it possible to use the "Bulk import users" feature to suspend existing users? Is there a column I could include in the CSV file? I tried adding the "suspended" column with the value of "true", however, it didn't suspend the user.
Thank you,
Valeriia
0
Sydney Neubauer
In all the documentation, I do not see it listed that you can bulk offboard Agents as well. It could be implied except that there is a specific checkbox needed to be selected in order to do so (i tried uploading an image but get an error that it is too big even though it is 35kb and way under 2mb)
0
Dane
If you go to the bottom part of the article, it will provide you the default file. It will also be advisable to do a one time export of your users so that you can have all the values for your user info.
Hi Valeriia,
I have tried it on my end and the actual bulk import option does not support suspending users. I even tried to export a suspended user but it does not have the information that it is suspended. The only option is to use the User Update API and set the suspended attribute to "true".
0
Hector De Jesus
Is there a way to include a password during the bulk upload? As an admin I find it very tedious to edit users one by one because we want them all to have a certain password.
0
Dane
Unfortunately, we don't have that option for bulk import. You can look into the option of leveraging the User Password API.
0
Miki Kanomata
Hi Zendesk team,
Can I use the bulk upload method for Alias? (on the right side on the profile section below groups) It will be helpful when we add new agents in Zendesk.
Thanks,
Monika
0
Ray Gonzalez
You should be able to use the alias property within the Users object; it is available for all of the actions related to the Users endpoints. If you're having some trouble with this, feel free to submit a ticket at any time, and we'll be glad to dive in further!
0
Dom
Good day! I hope you are well. Dom here chiming in for my colleague Ray.
Do you need further assistance with this query of yours? If yes, please feel free to reach out to us anytime. Thank you!
0
mfg
What happens on a bulk import/update when one of the CSV headers is for a field that doesn't exist? We recently had an agent import some users and they titled the column 'FullName' instead of just 'name'. Does that data just get discarded?
The import threw an error because one of the records was for a new end user, and (since name is required, and wasn't included) they got an error: "Name: is too short (minimum one character)". I noticed that the headers were wrong so we shouldn't experience the issue further - but since Zendesk didn't throw an error about the column more generally, I'm curious what happened to the data passed to a variable that doesn't exist.
0
Phoebe Morin
You are correct. The value/field is just simply dropped from an update (discarded). We will try to update the other, genuine fields though.
0
Deepoo
Hi team, Is there an option to synchronize the customer profile data from 3rd party apps to Zendesk instead of bulk import/upload?
0
Viktor Osetrov
Potentially you can use the following API endpoints for that:
> Create Or Update User -
POST /api/v2/users/create_or_update
> Create Or Update Many Users -
POST /api/v2/users/create_or_update_many
Another idea is Setting up the Zendesk Events Connector for Amazon EventBridge
Hopefully it helps
0
Natalia Numa
Hi all, I have a question. If I import users with certain information from a subscription management system, does that info appears when the customer opens a new case? How would be the best way to keep that information up to date?
I want to expand my knowledge into Zendesk CRM functionalities. Can you help me?
0
Gas Gas
Hello, is it possible to give access to the function "bulk import users" to people with custom roles (not Admins only)?
If not, what's a good workaround this?
0
Pedro Rodrigues
Hello Gas Gas, unfortunately there isn't a custom role option to set those permissions. The workaround is leveraging the API to bulk import (or use a custom app to manage user licenses).
0
Frank Roberts
Can the user import be augmented to allow using the external_ID of the organization to be used alternatively to the name of the organization? see below
name,email,organization_external_id
First Last,first.last@email.domain,1|2|3|4|5
0
Joyce
For users and organizations import, the fields you can include in your CSV file are those in the article's table lists. The
organization
field cannot be replaced withorganization_external_id
. The name of the organization that the user will be added to will have to be indicated if necessary.We understand the importance of having the option to include the organization's external ID in your import file. I encourage you to create a new post in the General Product Feedback topic in our community to engage with other users who have similar needs and discuss possible workarounds. Conversations with a high level of engagement ultimately get flagged for product managers to review when they go through roadmap planning.
0