Slack Leave Approvals

Did you know that you can conduct your entire leave approval process within Slack, and not have to even log into HR Partner to do so?  You can have leave requests from your staff sent to you as a Direct Message (DM) in Slack, or else have them sent to a specific Slack #channel where multiple team members can look at it and act on the request.

Setting Up Slack

The first thing you need to do is to set up integration between your HR Partner company and Slack.  We have an excellent tutorial on this right here: https://help.hrpartner.io/article/82-slack-integration

Once you have set up the integration, simply follow the steps below.

Activating Leave Integration

To set up the integration between the internal leave request system and Slack, go to Company -> Setup, and then click on the Integrations tab.

Towards the bottom of this tab, right above the Slack integration button, you will see some settings for how the integration will work.

Here is where you can set up where leave approvals are sent to.

  • Not Active - Leave requests will not be sent to Slack at all, and will have to be dealt with purely within HR Partner.
  • Direct Message to Admin - Leave requests will be sent directly to the admin user who is named in the 'Send Application To' when the employee is filling in the leave request.  (Note: We match the HR Partner login email address to the Slack account login email in order to match an HR Partner user to a Slack user.  It is not guaranteed, but is usually 90% accurate!).
  • Specific Slack #channel - Leave requests will be sent to the nominated Slack channel.  If you choose this option, you must fill in a valid Slack channel name in the field below. (Note: Don't include the '#' prefix in the channel name as we will do that for you).

That is it.  You can now click on the 'Save' button at the bottom to save these settings and you are ready to go.

Special Note About Using A Slack #channel

We have incorporated a neat feature with the Slack channels that you can send leave requests to.  Some of our larger customers have specific channels that are dedicated to a certain Department, or a certain office Location.  You can actually specify a dynamic field within the channel name which will automatically change the channel that the leave request gets posted to - all depending on your employee's settings.

For example: If you enter in the Slack channel name 'holiday_{ department }', then if your employee is in the 'Admin' department, their leave request will be sent to the #holiday_admin channel.  Similarly, if they are in the 'Operations' department, then their request will go to #holiday_operations.

Another example: If you enter in the Slack channel name '{ location }_hr', then users in your Sydney office will have their requests sent to #sydney_hr and London office workers will have their requests sent to #london_hr etc.

Here is a complete list of the special fields you can use.

Field Replaced With
{department} or {dep} The employee's assigned Department name
{location} or {loc} The employee's current Location name
{code} The employee's unique code
{paypoint} Whatever is in the Paypoint field entry for the employee

Note: Special fields have to be enclosed in curly brackets '{}'.

When the field replacement is made in order to work out the Slack channel name, any Department/Location name etc. will be made lowercase, and any whitespace or special characters will be stripped out.  e.g. 'New York' will be converted to 'newyork' before being included in the channel name.

What Do Your Employees Need To Do?

Nothing.  As far as your employees are concerned, nothing changes for them, and it is business as normal as they enter in their leave requests in the system.

As soon as they hit 'Submit' though, then that is where the magic happens!

Slack Notifications

As soon as a leave request is submitted, you should receive a Slack notification advising you of the fact.  This notification will either be sent to you as a direct message, or appear in the specified Slack #channel.

The notification will appear as a Slack 'interactive message'.  This is a special message which has the ability to capture input from the Slack user and send it back to our app.  All you need to do here is to click 'Approve' or 'Reject' accordingly on this message.  It is that simple.

Tip: You can also click on the Employee's name on this message to be taken straight to their profile in HR Partner.  Clicking on the 'Leave Request' line above the name will also take you to the Leave Requests page within HR Partner if you wish to finish off the approval process there.

Leave requests sent to you as a Direct Message (DM) can only be approved by you.  Leave requests in a public or private channel can be approved by any user in that channel.  It is on a 'first come, first served' basis.  You can see who has approved/rejected the request as soon as they click on it.

And that is all! Pretty simple, isn't it?  Once the integration has been set up, there is not really a lot else to maintain, and everything should work automatically.

Possible Limitations

To keep Slack leave approvals smooth and easy, there were a couple of things we had to leave out.  (1) You cannot set the leave request to 'Pending' as you can do on the actual HR Partner site, and (2) You cannot enter in a description for when you are approving or rejecting the request (this is actually a limitation of the Slack user interface).  Instead, your employee will see the message 'Approved/Rejected via Slack by @slackuser' when they look at the history of their leave requests, or when they check their response email.