Integrate with AD, LDAP & other HRIS tools for centralized user management
- Annu
In large organizations, it is typically seen that they use 3rd party systems such as AD, LDAP, HRIS, DaaS software for centralized user management. In the case of UpRaise, it becomes easy for organizations to have seamless integration with such tools to manage users and teams. This is where we brought HRMS sync feature.
As of now, this sync was only available via a pre-configured SFTP server connection, where these 3rd party systems would push updated files on the SFTP, and UpRaise can pull data at a set frequency from the SFTP and update it within UpRaise Company directory.
Now along with the above option, we bring more flexibility to this feature. Now you can import xls, xlsx, and JSON files to UpRaise and sync the user and team data. Let us see how these options work.
Sync via SFTP
If you wish to use the SFTP option follow the below steps.
Setting up SFTP connection
As UpRaise Admin/super admin, navigate to the Company directory >> click on Import or sync HRMS data >> Import data tab.
By default Auto sync toggle is turned off. Turn on this toggle and you will notice more options to set up the SFTP connection.
Import file option is always available. When Auto sync option is turned on, clicking on Import file will display options to import files as shown in the below images.
Once you turn on the Auto-sync option, below fields are displayed.
Auto-sync - On/off, dictates whether UpRaise will connect to the SFTP server daily night 11 o'clock to retrieve the JSON files.
SFTP Server - Hostname or IP address
Port - Usually SFTP is configured at 22
username & password - To connect with the SFTP server
Directory - Relative path to the directory where the JSON/excel files will be available
Add the above information & click on Save. On a successful connection, the configuration will be saved. Otherwise, a relevant error message will be displayed.
Do note that, the SFTP user must have read & write permissions in order for the entire process to work properly.
How does Auto Sync work?
Once the above setup is done UpRaise will reach out to this SFTP server daily night 11 o’clock & pick up the file/s generated that day. After processing, all UpRaise administrators will be notified via email and sync status will be updated under Logs tab.
Do note that name of the file to be picked up by the system should have the following pattern -
UserData for user’s files and TeamsData for team’s file are mandatory as prefixes in the file names.
Syntax -
UsersDataYYYYDDMM.json
Eg. UserData20230422.json
UsersDataYYYYDDMM.xls/xlsx
Eg. UserData20230422.xls/xlsx
TeamsDataYYYYDDMM.json
Eg. TeamsData20230422.json
TeamsDataYYYYDDMM.xls/.xlsx
Eg. TeamsData20230422. xls/xlsx
The first time around, it may take a few trials & errors to get the JSON format right. For incremental updates, the process will be completed fairly quickly based on the updates.
You can download sample templates from the links provided on the Import or sync HRMS data tab as shown in the image below -
Once completed, UpRaise will generate a file with execution status in the same SFTP (for which it needs Write permissions on the SFTP).
Manual update via SFTP
Sometimes it is possible that you want to sync data immediately instead of waiting for the UpRaise job that runs every day. Or for the first-time sync, it may take some time to update files so you can also go for the manual update of the file.
Click on Import file
Select SFTP server (your SFTP server) here SFTP server (amoeboids10.files.com)
Update the File name
Click on Fetch
This will trigger the manual sync of the file from the SFTP server and the system will immediately retrieve the file on the SFTP server and start the sync.
You can check logs for the status from Logs tab.
Import files from your system
Apart from the auto sync, we have also introduced a file import function under this feature for the Cloud, Server (v8.7.0), and Data Center versions (v8.7.0) of UpRaise. You can import files in JSON, xls, and format. Regardless of whether the Auto sync is turned on/off, you can import files from your system and process the sync.
Let us see how you can import files to sync the data with HRMS tools.
Steps to import files
Navigate to Company Directory >> Import or sync HRMS data
Click on Import file option
Select Upload a file from the local computer
Click on Choose file button and upload the file from your computer
Click on Fetch
Once the is fetched it shows the number of records found and then records to verify input data. Once verify it and import. Once the file is triggered, it shows the success message. You can check the Logs tab for the status of the sync.
Do note that name of the file to be picked up by the system should have the following pattern.
UserData for user’s files and TeamsData for team’s file are mandatory as prefixes in the file names.
Syntax -
UsersData<filename>.json
Examples -
UsersData20230422.json
UsersDataupdatedfile.json
UsersData<filename>.xls/xlsx
Examples -
UsersData20230422.xls/xlsx
UsersDatanewdatafile.xls/xlsx
TeamsData<filename>.json
Examples -
TeamsData20230422.json
TeamsDatanewteamsfile.json
TeamsData<filename>.xls/.xlsx
Examples -
TeamsData20230422. xls/xlsx
TeamsDatachecknewdata. xls/xlsx
If you are importing User data via Excel, and you want to add multiple teams for certain users, then you need to repeat the blocks/cells of below two columns (in the same order) that are equal to the number of teams you want the user to be associated with. Please check below screenshot of excel sheet.
In the above image, you can notice, columns H-M are repeated for Team ID and Team Name. This means the user John Doe belongs to three teams and these three teams will be updated for him.
Standard file formats and content structure
The standard format & content of the files should be as explained below
Users data JSON structure
UpRaise expects to receive only the user records in which one or more of the following attributes have been updated - designation, manager, team, UpRaise role. If there are updates to other user attributes in the external system, UpRaise doesn't need to know.
Users Data JSON Structure
{
"users":[
{
"id":"11081",
"jirausername":"Jane.Doe",
"designation":{
"id":"94",
"name":"Consultant, eLearning & Systems"
},
"userrole":"USER",
"manager":{
"id":"9195",
"jirausername":"John.Doe"
},
"teams":[
{
"id":"10017",
"name":"HR"
}
]
}
]
}
Parameter details
Parameter | Type | Details |
---|---|---|
id | String | Id of the user in the external system. Should be unique for each user.
|
jirausername |
| Jira username of the corresponding user. UpRaise assumes that the users in the file are already part of Jira. |
designation | complex type | UpRaise can store only one designation per user |
id | String | Designation Id in the external system, Designation id is the unique identifier for the each designation. If at the time of processing, this id does not exist in UpRaise designations master, it will be created and assigned to the corresponding user. If it exists, the designation name would be updated if required. |
name | String | e.g. Software Engineer, Project Manager etc |
userrole |
| This parameter is mandatory in case user-based access is turned on. Possible options are 'USER' & 'NO_ACCESS' This is a case senetive paratmeter. User roles should be provided in capital letters. |
manager
| complex type | UpRaise can store only one manager per user |
Id | String | Manager id of the user in the external system. Should be unique for each user. UpRaise expects the manager to be a user himself in the external system. |
jirausername | String | Jira username of the corresponding user. UpRaise assumes that the users in the file are already part of Jira. |
teams | complex type | UpRaise can store multiple teams per |
id | String | Id of the team in the external system. Team id is the unique identifier for the team. If at the time of processing, this id does not exist in UpRaise teams master, it will be created and assigned to the corresponding user. If it exists, team name would be updated if required. |
name | String | Team name for e.g. Inside Sales, Software Development etc |
Team data JSON structure
UpRaise expects to receive team records in which one or more of the following attributes have been updated - team name, team id, team lead id & name, parent team name & id, team type & description. If there are updates to other team attributes in the external system, UpRaise doesn't need to know.
Employee Data JSON Structure
{
"teams": [
{
"id": "741",
"name": "Sales",
"teamLead": {
"id": "1",
"jirausername": "John.Doe"
},
"parentTeam": {
"id": "249",
"name": "Business Development"
},
"teamType": {
"name": "Department"
},
"description": {
"name": "Team responsible for bringing in Dollars."
}
}
]
}
Parameter details
Parameter | Type | Details |
---|---|---|
Team | Complex type | One team can have multiple users in it. |
id | String | Id of the team in the external system. Should be unique for each team. |
name | String | Name of the team. If the team does not exist in UpRaise already, it will be created and then updated in the database. |
teamLead | Complex type | Team lead is not predefined. One of the existing users is defined as team lead |
id | String | Id of the user in the external system. Team lead's user id in the system. It should be a unique id. |
jirausername | String | jirausername of the team lead. |
parentTeam | Complex type | One of the teams is assigned as parent of other multiple teams from the existing teams |
id | String | Id of the parent team in the external system. Should be unique for each team |
name | String | Name of the parent team. If the team does not exist in UpRaise already, it will be created and then updated in the database. |
teamType | String | team type e.g. department, division, team etc |
description | Complex type | This will be the free text defined to describe the team, its details, etc. |
name | String | Description of the team. |
Standard file formats and content structure
The standard format & content of the files should be as explained below
Users data JSON structure
UpRaise expects to receive only the user records in which one or more of the following attributes have been updated - designation, manager, team, UpRaise role. If there are updates to other user attributes in the external system, UpRaise doesn't need to know.
Users Data JSON Structure
{
"users":[
{
"id":"11081",
"jirausername":"Jane.Doe",
"designation":{
"id":"94",
"name":"Consultant, eLearning & Systems"
},
"userrole":"USER",
"manager":{
"id":"9195",
"jirausername":"John.Doe"
},
"teams":[
{
"id":"10017",
"name":"HR"
}
]
}
]
}
Parameter details
Parameter | Type | Details |
---|---|---|
id | String | Id of the user in the external system. Should be unique for each user.
|
jirausername |
| Jira username of the corresponding user. UpRaise assumes that the users in the file are already part of Jira. |
designation | complex type | UpRaise can store only one designation per user |
id | String | Designation Id in the external system, Designation id is the unique identifier for the each designation. If at the time of processing, this id does not exist in UpRaise designations master, it will be created and assigned to the corresponding user. If it exists, the designation name would be updated if required. |
name | String | e.g. Software Engineer, Project Manager etc |
userrole |
| This parameter is mandatory in case user-based access is turned on. Possible options are 'USER' & 'NO_ACCESS' This is a case senetive paratmeter. User roles should be provided in capital letters. |
manager
| complex type | UpRaise can store only one manager per user |
Id | String | Manager id of the user in the external system. Should be unique for each user. UpRaise expects the manager to be a user himself in the external system. |
jirausername | String | Jira username of the corresponding user. UpRaise assumes that the users in the file are already part of Jira. |
teams | complex type | UpRaise can store multiple teams per |
id | String | Id of the team in the external system. Team id is the unique identifier for the team. If at the time of processing, this id does not exist in UpRaise teams master, it will be created and assigned to the corresponding user. If it exists, team name would be updated if required. |
name | String | Team name for e.g. Inside Sales, Software Development etc |
Team data JSON structure
UpRaise expects to receive team records in which one or more of the following attributes have been updated - team name, team id, team lead id & name, parent team name & id, team type & description. If there are updates to other team attributes in the external system, UpRaise doesn't need to know.
Team Data JSON Structure
Parameter details
Parameter | Type | Details |
---|---|---|
Team | Complex type | One team can have multiple users in it. |
id | String | Id of the team in the external system. Should be unique for each team. |
name | String | Name of the team. If the team does not exist in UpRaise already, it will be created and then updated in the database. |
teamLead | Complex type | Team lead is not predefined. One of the existing users is defined as team lead |
id | String | Id of the user in the external system. Team lead's user id in the system. It should be a unique id. |
jirausername | String | jirausername of the team lead. |
parentTeam | Complex type | One of the teams is assigned as parent of other multiple teams from the existing teams |
id | String | Id of the parent team in the external system. Should be unique for each team |
name | String | Name of the parent team. If the team does not exist in UpRaise already, it will be created and then updated in the database. |
teamType | String | team type e.g. department, division, team etc |
description | Complex type | This will be the free text defined to describe the team, its details, etc. |
name | String | Description of the team. |
Sample file templates
Template/Format type | Upraise version | Sample template file |
---|---|---|
JSON | Cloud | User data file Teams data file
|
Excel | Cloud | User data file Teams data file
|
JSON | Server | User data file Teams data file
|
Excel | Server | User data file Teams data file
|
Check below documents for more details -