How to Bulk add Organizations and Customers in Service Desk Cloud?

I have read this fairly limited article and can find no other more detailed articles - and it suggests that a bulk add of Customers is possible via the UI by pasting in a CSV file.  I say seems to, because of this brief comment "Alternatively, you can invite customers in bulk, adding multiple emails at once when inviting. You can copy/paste from a .csv, as they should parse into the invite window."  Key word there is "should".

Using the UI to do a .CSV file import just seems like a kludge, is there really no import from file option?

That article does not meet my goals, which are:

  1. Bulk create create a new Organizations, along with the associated Customers (what I'd call contacts).  This would be a One to Many relationship.  One Organization with Multiple Customers, and allow me to have a long list of Organizations.
  2. It also seems that this will immediately invite each Customer to the portal.  Is that true?  What is needed is that they are all created with NO emails being sent.  This would allow us to review them prior to the invite email being sent out.  Secondly it would allow us to invite a subset of the imported Customers on a phased roll out approach.  

Hopefully, someone will point me to how to do both of these (#1 being the most important).

Many thanks in advance!



3 answers

1 accepted

2 votes
Jack Brickey Community Champion Oct 19, 2016


if you have all of the customer's emails in a spreadsheet simply select them all, copy and paste into your "add customer" pop up. you can do the same to add customers into an Organization you created. At least it worked for me.

Let me make sure I understand what currently worked for you based on that.  The Organizations need to be manually created?  Once they exist, then the list of Customers can be imported via the UI?

Or is there a way in the xls (or CSV) to specify which Organization they belong to?

Did that immediately send them an invite email?

Jack Brickey Community Champion Oct 19, 2016

Yes, manually created. See if the following works.

If you have a spreadsheet that has all the customers listed AND if you have the organization, they belong to then do the following:

  1. Manually add the organizations in JSD project via customer page>Add organizations. I expect there are not that many.
  2. sort your spreadsheet by organization and copy all user in say Org-A
  3. in JSD go to the customer page and click Add customers
  4. in the pop up paste the customers and then choose which org they will go into.
  5. repeat 3-4 for each Organization you have defined.

I believe invites are sent when you use "Add customers". I suggest you test adding a single customer to verify that if it is important.

Important: If you do not want email notifications to be sent to all users in an organization when a request is created then before doing the above disable this feature - Project> Project Settings> Customer Notifications> Organization added (edit and disable this)

Jack Brickey Community Champion Oct 19, 2016

BTW, if the customers already exist in the JSD project then you can add them to the organization in a similar copy&paste means. Just select the Organization in the customer list and then select Add customers on the organization page. What happens is that these customers are moved out of the generic customer list and 'into' the organization.

Thanks for that last response for adding already created customers to an org. Was trying to figure this out for a while!

I am in the same position and from my research it would appear this new feature of Organisations has been very poorly implemented:


  • Organisations are per service desk project. They do not carry across projects, so we would need to set up 2000 customers by hand separately for each of our three service desk projects.
  • There is no LDAP integration
  • There is no API
  • There is no CSV import
  • There is no integration to parts of JIRA outside ServiceDesk. Even the user profile page has no indicator for the organisation.

At this point, my opinion is that this new feature is worse than useless. Why worse? Because now plugin developers will shy away from offering functionality in this area, in case Atlassian step on their toes.

Does anyone know if there is a ticket open to request these features? LDAP integration is super important.

Susan Hauth Community Champion Sep 01, 2017

Found one JSDCLOUD-1829

Has the situation with this improved at all?  We are migrating over and I'm gobsmacked that there is no way to import users linking them to their appropraite ORG and Full Name.  As well as being able to turn off notifications/invites to the users after you add them.

There has to be a better way.  As stated in the last reponse, there is no manner in which to import this essential data.   Crazy.


Here's a script I wrote last night to bulk import ~400 customers from ~50 different organizations and put them into the right service desk / organizations.

It's a bit rough but it did the job and was much easier than doing every customer and organization by hand. Feel free to tweak / improve it.

The script is based of these api docs which are current marked experimental but worked in the cloud just fine.

Thank you Simon!  

I'll give this a shot.  When you used the API to do all this do you know if their system still sent out notification emails to all the customers as they were added?

Looking further I see that the docs stipulate that invites are not sent.  This should work perfectly for me.   Thanks again.  Now if we could only set the customer language preference via the API I'd be golden :)


No worries. I wonder if you can see the customer language preference in the JSON returned by any kind of GET request. I'm willing to bet if you can see it in a GET you can set it in a POST. There may be something undocumented. I might look into it tomorrow

Hey Larry,

I was working with one of our developers to use this with Jira Service Desk standalone server and found several issues with the script. 

First of all, in server, the experimental header is 

X-ExperimentalApi: opt-in

I also realised that I have not implemented the create_organisation() method and need to add an additional step to add the organisation to the service desk. I will update the script shortly.

Is there an easier way to turn off the notifications? Besides having to run the script, was the script tried on Standalone Server version?? I currently have all the organizations added, and am currently adding customers to the Org, but I am not live, and do not want to send the customers emails, because they cannot access the site. Please advise.

Same issue here - we like to prepare everything before the official go-live and do not want to send any customer notifications upfront. 


Yes it was used successfully against the latest standalone server with some minor changes

- the X-ExperimentalAPI header used X-ExperimentalApi: opt-in
- had to change between using full name and display name for users

The api is still experimental and therefore not stable. Be prepared for the api to change between versions of JSD for server, or change without warning if you are using cloud - and to tune / adapt the script to the current state of the API.

If, like me, you are not strong with cURL I have found Postman to be an excellent tool for probing - The api is generally pretty good at providing intelligible error messages when something goes wrong or the input is malformed.


At the time of running the script, creating orgs / customers via the api did not send invitations

I tried the script against our standalone JIRA ServiceDesk server, but got only 401 / 403. Authentication unsuccessful, but I could not narrow down what goes wrong.

Any ideas?


Well 401 is unauthorised, 403 is forbidden.

You need to make sure the account you are using for authorisation has all the necessary permissions in jira and in the project. The API documents detail what permissions are needed to perform each operation but I think having an account with jira admin and project admin permissions mostly covers it

Do be careful doing this, its not good practice having an account with "god mode" permissions if you have the ability to elevate the permissions of the account you are using for authorisation be sure to restrict them again afterwards.

The logging could use some improvements. It may be helpful to log out the full body of the response when there is an error. eg ( logger.debug(response.body) )

I'll try to clean the script up a little bit. Like I said it was written under tight time constraints and isn't very polished, it relies on the user to be comfortable enough to troubleshoot and modify to their need accordingly 

Thanks for your Support, highly appreciated !

The user has global Administrator, Project Administrator and Services Desk Team rights/role.

I will try to debug the response.

Dear @Simon Merrick

Thank you!!! Works superbly well. I do get some errors however;

2017-11-30 11:18:02,320 - ERROR - Failed to process row: ['Organisation', 'Test name', ']
Traceback (most recent call last):
File "", line 205, in main
add_customer_to_servicedesk(args.servicedesk_id, customer)
File "", line 137, in add_customer_to_servicedesk"{} was added to service desk {}".format(customer["fullName"]))
KeyError: 'fullName'
2017-11-30 11:18:02,321 - INFO - The following rows not processed
['Organisation', 'Test name', ']

Regardless of the above errors.. the script functions. User gets created etc. I am just not sure what these errors actually mean and how to resolve them. Everything seems to work though.


Suggest an answer

Log in or Join to answer
Community showcase
Emilee Spencer
Published 5 hours ago in Marketplace Apps

Marketplace Spotlight: DeepAffects

Hello Atlassian Community! My name is Emilee, and I’m a Product Marketing Manager for the Marketplace team. Starting with this post, I'm kicking off a monthly series of Spotlights to highlight Ma...

26 views 0 3
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot