Build a Custom HRIS Integration With GoogleSheet
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
โ01-19-2024 02:57 AM - edited โ02-02-2024 07:18 PM
Hi Folks,
Happy New Year! I hope you all had a wonderful holiday and are recharged for the brand new 2024.
Reflecting on 2023, one topic frequently comes to mind: user onboarding โ itโs my favourite topic actually, yet a universal pain point, regardless of perspective.
From an SMEโs viewpoint, the main considerations are:
- How can we be prudent when investing in an HRIS?
- Will our existing HRIS integrate seamlessly with the critical systems, such as the core directory?
- How do we bridge any gaps between the directory and HRIS?
If youโre facing dilemmas around these points, Iโm here to help ๐
A Middle Ground Approach - Using the Spreadsheet
So, Iโm expanding on this topic by adding more use cases to the post I wrote last year, as I have learned over the time that itโs not uncommon for the firms to use a spreadsheet for:
- An interim HRIS solution.
- A mediator/broker between the HRIS / core directory & various applications.
Not judging here โ it probably works effectively. We can certainly achieve the goal of making user onboarding a better experience with the readily available essential data from that sheet.
You might have noticed there is a feature in JumpCloud where we can create a custom API integration for importing users. What if I told you that this could be integrated with the spreadsheet to automate the user onboarding โ on an hourly basis?
Here is how.
Get Started
You will need
- A workflow automation platform - i.e. Make.com (Iโll be using it as a demo), Tray.io, Zapier, Worakto, or many more out there.
- A spreadsheet specialised for onboarding, ideally hosted in Google drive.
- Make sure the spreadsheet has the columns like below:
- Employee Id
- First Name
- Last Name
- Cost Center
- company
- location
- department
- employeeType
- jobTitle
[Update - 3rd Feb 2024] You can download and import my workflow blueprint (for make.com) here. And the updated CSV template here.
Part 1 - On Workflow Engine (Make.com)
- Create a webhook for exposing the spreadsheet.
- Then, letโs protect the webhook with a self-generated โAPI keyโ. ( You can sign-up for a higher plan to use a โpasswordโ variable to avoid clear-texting.)
- Connect to your Google Sheet.
- Make the columns from Google Sheet as the values here.
- Create a JSON data structure like this:
- Done.
Part 2 - On JumpCloud
- Create a custom application for user importing:
- Once getting past the wizard, go the app you just created, follow the steps as below screenshots indicate:
- Once you fill in the actual employee data on that spreadsheet, you should be able to see this once you click the blue โPreviewโ button, before you save the whole thing.
- Done.
Part 3 - Start Importing the Users.
- Now you should see the โImport Usersโ section, and you have freedom to choose from manual import or automation on-a-hourly-basis.
- You will also be able to track the user import events in Directory Insights in 1 click:
Thatโs it, thanks for reading this far as usual, please comment below if you have any questions.
Happy Friday!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
โ02-02-2024 09:41 AM
This is really useful, thanks. Any chance you can share the link to the template please?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
โ02-02-2024 07:20 PM
Good callout Steven, I somehow missed the links ๐. Post updated with the links.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
โ02-05-2024 10:34 AM
Thanks ๐
I am having some trouble creating the JSON structure. Any chance you could go into a bit more detail? Im not sure how you got the Total Count part.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
โ02-05-2024 07:23 PM
no worries.
so the `Total Count` should came from the array module like this:
the array module will essentially pack each "new row" and count them hence that attribute is representing.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
โ02-14-2024 12:35 PM
Thanks for the updated information.
I am still having trouble with the Total Count. I dont seem to have __IMTAGGLENGHT__ in the Array. I am probably missing something really simple but i have tried a few times.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
โ02-16-2024 12:45 AM
sorry to hear that Steven, are you able to share a sanitised screenshot similar to my last reply?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
โ02-16-2024 05:42 AM
I have created this a clip of the scenario which you can view here
Thanks again for your help, it is much appreciated.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
โ02-16-2024 06:52 PM
all good, Steven. and thanks for uploading the video, it helps!
Now I know why ๐ - it seems you have not run the flow yet, hence there is no data been aggregated by the "array aggregator" module, so it can't tell the "total number" of object (basically how many rows of the record in Gsheet). probably you can try put in some placeholder data and run the scenario once to flow in the data?
You can do a POST from PostMan to the webhook we created in the very first step for testing purposes.
Or, you can run the gsheet module only to get the data - then it will be picked up by the "array aggregator":
let me know how it goes.
![](/skins/images/C210B62239BAF37B0AB0FAEB086BB5F1/responsive_peak/images/icon_anonymous_message.png)
![](/skins/images/C210B62239BAF37B0AB0FAEB086BB5F1/responsive_peak/images/icon_anonymous_message.png)