{"id":50334,"date":"2021-04-23T11:00:00","date_gmt":"2021-04-23T15:00:00","guid":{"rendered":"https:\/\/live-jc-marketing-site.pantheonsite.io\/?p=50334"},"modified":"2023-10-12T15:49:16","modified_gmt":"2023-10-12T19:49:16","slug":"creating-users-through-automation-integromat-integration-tutorial","status":"publish","type":"post","link":"https:\/\/jumpcloud.com\/blog\/creating-users-through-automation-integromat-integration-tutorial","title":{"rendered":"Creating Users Through Automation – Integromat Integration Tutorial"},"content":{"rendered":"\n
As your organization matures and expands, you will likely find yourself trying to address the common challenges that most organizations face during these moments of growth. One of these common challenges is having a siloed IT infrastructure, where all of your systems are functioning independently and you, the IT admin or IT group, are solely responsible for operating each system and maneuvering essential data from one to the next. In short, your day is filled with manual, often menial and even uninspiring work that chews up time you\u2019d otherwise spend driving larger, proactive and interesting projects. <\/p>\n\n\n\n
The answer seems simple, yet unattainable: IT automation<\/a>. Simple in the sense that the logical processes to connect various systems seem obvious, yet unattainable if you have not dedicated much of your career or free time learning and mastering the programming languages needed to build out these integration points and automated processes. Fortunately, there have been huge strides in the way of middleware solutions<\/em>, or webhook platforms, that can be the conduit to connect systems so long as they can be accessed programmatically and via the internet.<\/p>\n\n\n\n In this basic level walk through, we will cover some entry level automations that you can start with today within your JumpCloud account. As a cloud-based directory platform with a robust API framework, you can leverage many of the automation tools out there, and they all bring a certain level of functionality depending upon what you want to accomplish. Tools like Zapier<\/a>, Workato<\/a>, Integromat<\/a> and Tray.io<\/a> are some robust webhook platforms. What\u2019s nice is you can usually demo these solutions before leveraging their features, and I would suggest playing with a few of them to see which one solves your specific need.\u00a0<\/p>\n\n\n\n But before we dig in, let’s take a quick moment to define a couple of key terms you\u2019ll need to know as you embark through this initial tutorial.<\/p>\n\n\n\n Webhooks are used to create communication between two different applications based on events or triggers. When an event happens in an application, it processes that event and sends the data to an API endpoint that can accept this data. <\/p>\n\n\n\n An API, or Application Programming Interface, is an intermediary endpoint between two applications. This allows an application to make POST, GET, UPDATE and sometimes even DELETE requests to an application and exchange data. It\u2019s a great way for applications to communicate and to automate with one another. <\/p>\n\n\n\n Let\u2019s take a real world scenario, such as user onboarding, to find a way to automate some of the more repetitive tasks that might consume our day. <\/p>\n\n\n\n Say you are in an organization where HR typically generates new employee tickets for IT to get their technology needs setup before their start date. That workflow probably looks something similar to this:<\/p>\n\n\n\n You would then need to follow those same steps in reverse order for user offboarding. In a growing organization where you may see multiple new hires a week (and possibly some departures as well), this can cause a lot of overhead and opportunities for something to be missed. By automating some of these tasks, you could both simplify the process as a whole while also reducing the potential for error which could spiral into additional troubleshooting and time spent, not to mention security risks.<\/p>\n\n\n\n In this case, we can use a triggered event (webhook) to send out user data from HR to JumpCloud (via an API). From there, you can assign the user to a device and groups to provision access into your SAML or SCIM applications. The amount of time dedicated to onboarding is drastically reduced by simply having the user automatically created within JumpCloud.<\/p>\n\n\n\n For this walkthrough, I will be showing how to use Google Sheets to create a User in JumpCloud. As a practical solution, you could have this Google Sheet filled out through a Google Form, or even populated by another integration from your ticketing system. This data will be collected by an automation tool (in this case we will be using Integromat) and then sent to JumpCloud in a JSON format in order to create a user. <\/p>\n\n\n\n Let\u2019s get started!<\/p>\n\n\n\n I will be using Google Sheets for this since that is pretty generic, but you will want to use whatever data source you have. Even an HRIS platform can be used for this if it allows for either a webhook or API calls. <\/p>\n\n\n\n The first thing you want to do is create an import template. You can do this simply by downloading the CSV Template from your JumpCloud admin console.<\/p>\n\n\n\n After you download and import the CSV file into Google Sheets, you will have a very basic user import template. You can use our Powershell Module<\/a> to create a more robust user import file that includes groups, systems, custom attributes etc if you like (we\u2019ll cover that in an upcoming post). You will then want to add some user information into the Google Sheet.\u00a0\u00a0<\/p>\n\n\n\n One thing to note: if you leave the password field blank, this will create a pending user in JumpCloud. When a user is Pending, it means they have not set or created a password for their JumpCloud user. In this tutorial we will be setting a temporary password.<\/p>\n\n\n\n You will need to configure the Integromat connection to your Google Sheet. The best way to do this is to follow their documentation<\/a> to establish a connection to set up your Google Sheet correctly. Make sure you are selecting \u201cWatch Changes\u201d during the initial selection. After you have that setup, we can hook up our automation into JumpCloud to create users. <\/p>\n\n\n\n Once you have followed the above documentation, your Integromat Diagram should look this this: <\/p>\n\n\n\n Now this will immediately push any changes from the Google Sheet to our automation. We will then use it to create a user in JumpCloud!<\/p>\n\n\n\n To accomplish this, we will keep it simple by using Integromats HTTP module<\/a>. Again, there are many other methods, so this is simply used to highlight a basic proof of concept. Add the HTTP module to your diagram and configure as seen below. You will find your API key in your JumpCloud Admin Panel<\/a>. <\/p>\n\n\n\n Congratulations! You have taken the first step in creating an automated IT infrastructure. From here you can take this basic proof of concept and mold it to fit your needs; for example, maybe have your HRIS platform simply push new users directly into JumpCloud through a direct connection or populated into this Google Sheet you\u2019ve created. From there, you can add user groups to the newly created JC user so they are automatically provisioned into SCIM integrations, RADIUS, and LDAP associations. <\/p>\n\n\n\n To understand what\u2019s possible or see some real world examples, you can look at some other automation tools that we have provided, such as our JumpCloud Powershell Module <\/a>and our Slack Application.\u00a0\u00a0<\/p>\n\n\n\n Watch this brief video of this integration doing it\u2019s work!<\/p>\n\n\n\nWhat are Webhooks and API\u2019s?<\/h2>\n\n\n\n
The Manual Process Around User Onboarding<\/h2>\n\n\n\n
\n
User Creation Tutorial<\/h2>\n\n\n\n
What you will need<\/h3>\n\n\n\n
\n
Setting up your Data Source<\/h3>\n\n\n\n
<\/figure>\n\n\n\n
<\/figure>\n\n\n\n
Connecting your Automation Tool<\/h3>\n\n\n\n
<\/figure>\n\n\n\n
Creating a New User<\/h3>\n\n\n\n
<\/figure>\n\n\n\n
Conclusion<\/h2>\n\n\n\n