Pause: Slack Integration

Project Overview
Along with a web and mobile app for our leave management tool– Pause, we built a Slack integration that enables users to manage leaves without switching tools and context. This initially started with few table stake features, but quickly grew to include other time-off related functions from the core product. We invested disproportionately in this feature to give Pause a competitive advantage in an otherwise red-ocean market. This is a narrative on how a small, but delightful feature grew to be one of our USP's.
Impact
Pause officially launched on 22 Jun 2021, before which we had 20 beta organisations onboarded for a period of 4 months. The following data is as per 15 Jul 2021.
  • 40% organisations onboarded on Pause and 85% of paying customers have integrated with Slack
  • Over 1000 leave applications have been filed on Slack alone since the integration launched in Jan 2021
  • Our Slack integration has been specifically recognised in reviews on G2 and Capterra
  • The integration is front and centre during sales calls and in cases has been the reason for deals to close
pause and slack
Pause: Slack Integration
Founding member
December 2020 – July 2021

My Role

Experience strategy and insights

Uncovered customer insights with our CEO and defined the feature stack for Slack. Also handled customer queries and suggestions to bring notable feature requests back into the product.

Design

Translated the most relevant features into effective slack commands, using the core app as an anchor. Also designed integration settings for our core app for all user types– admins, team approvers and team members.

Cross-functional collaboration

Partnered with our lead engineer to identify constraints and opportunities with Slack to execute its features effectively. Also worked to handle edge cases specific to the Slack bot.

UX Writing

Independently defined the ethos, brand and visual language of our Slack bot and brought it to life with expressive copywriting and type hierarchy.

Sales

Showcased the Slack integration across sales and demo calls with beta and potential users, converting a few to trial customers.

Leadership

Mentored a design intern to execute new Slack features.

"I was really lucky to have a great mentor like [Kanika]. She has been a strong influence on my Product design career. [She has] gotten me to a stage where I feel I can handle any task assigned to me" – Elson D'souza, Design Intern, ObviousX

Problem

Switching tools to carry out brief actions like applying and approving leaves is tedious & confusing

Leave applications & approvals are essential processes in any organisation. It isn't however, a core part of anyone's job. Complicated tools, lost emails, and slapdash spreadsheets make these a time consuming nightmare, taking away from what's really important. Switching context becomes that much harder when you have to switch tools too.

'Teammates on leave' is a team planning problem. Relevant information at the right time, in an unobtrusive way is crucial to make work happen efficiently.

Effective workplace communication is also about respecting boundaries and enabling teammates (and yourselves) to take the time off they need without disturbances. An 'away' setting on Slack isn't clear either– are you away from Slack? Your laptop? Desk? Country?

Our goal is to create a powerful Slack integration that enables teams to manage time-off seamlessly, and improve team communication around their breaks.

Solution

Ensure that Pause's Slack integration makes it easier for members to manage time-off directly in Slack using a simple '/pause' command.

It mimics Pause's core app in that it encompasses all relevant features like approving leaves, seeing who is on leave for a select duration and even auto-updating their Slack status when on leave, right where you work.

Let's dive deep into the details to see how we helped cut clunky leave processes some serious Slack!

Product principles

It mimics Pause's core app in that it encompasses all relevant features like approving leaves, seeing who is on leave for a select duration and even auto-updating their Slack status when on leave, right where users work.

principals

'Enable switching contexts without switching tools'

Despite us building a lightweight web & mobile platform, we prioritised everything to ensure users don't have to leave Slack—their most-used workplace tool—to manage leaves.

'Don’t make them pull, just push what’s relevant'

We thought (and iterated) long and hard about what goes into public channels and what’s better sent through our Slack bot. The final decision: information relevant to a wider team like a list of those on leave today goes to public channels. Only approval requests and individual leave status updates go over DMs. Later, you will see how the control of which channels information is sent to is also customisable by the company admin.

'Be pithy, be fun'

True to the brevity of a /pause command, Pause Bot was designed to keep communication crisp, clear and concise. This also meant that we kept notifications limited and customisable, so that we weren't distracting users with unnecessary information. We didn't forget to have some fun along the way, by adding camaraderie, uncharacteristic of leave tracking softwares.

Shipping V0

As with all our designs, we began with the Jobs to be done framework to ensure we covered all core functions and brought alignment within our team. The first version of our Slack bot only included table-stake features from our core product.

slack bot features

As this was an MVP, and a mere feature in our stack (we focused was disproportionately on web & mobile), the feature went straight to the engineer's table. So, while the feature shipped quickly and functioned well, it lacked personality and needed some well deserved love. We decided to tackle this in the next version of this integration. Below are some core differences from the before and after.

pause Version 0

Shipping V1: Growth and iteration

With our V0, we also learned that this integration was the reason we were closing many sales deals. As our product grew, Slack grew with it. New features we included:

  • Request comp-off
  • Lock dates (team approvers and admins)
  • View upcoming public holidays on demand
pause version 1pause version 1pause version 1

Most of our Slack users didn't visit Pause's core product, since they could carry out all their tasks through the bot. We therefore, began to use our bot itself to aid discovery for new and unused features:

  • Nudges to set weekly and daily notifications (for admins)
  • Nudge to add birthday and work anniversary dates
  • View the organisation's leave policy (to build transparency)
pause version 1

Post requests from our customers, we also included the following features:

  • Away from keyboard (AFK)
  • Notifications in private channels

AFK in particular already had an incredibly lightweight real-world implementation. Our customers simply sent, 'AFK for the next half an hour' or 'AFK for an hour 4pm onwards' in a chat or channel. Why then was this feature required? This was a conundrum we as a team went back and forth on. However, we agreed that our users considered using Pause for anything that related to time away from work.

Including this feature meant that a few on-the-fence customers would convert to full-time users– 'always be closing', as they say.

This is why, we built the feature to be equally lightweight, but allowed for flexibility where needed.

iterations to screens

Bringing celebration and care

With the design of notifications like birthdays, work anniversaries and public holidays, we had the opportunity to be fun and celebratory. Despite the reputation of SaaS products embodying a serious apathy, we chose to be more human and personable. This reflected in our notification design as seen below. But more importantly, we baked in the burnout alert feature, where team leads and admins would be notified if a team member hasn't taken time off. It also reminds the employee themselves to take time off. Using out product to nurture a healthier work culture was a core part of our company ethos, one we anchored product decisions in.

holiday calendar

Core app

Permissions

Our Slack bot required special permissions to integrate, and then a few more every time a new feature was added. Here's how we solved it on our core app:

setting app permissions

Notification settings

Consider this scenario: It's 9 AM on a Monday morning and you're planning for the week ahead with your team. You've got the plan down to the tee, only to realise 2 members will be on leave on Thursday and Friday. You're now over-planned and under staffed and will end up missing deadlines. If only you knew this while you were planning!

Receiving relevant information at the right time is crucial for work to happen effectively. When and where teams require this information vary. We therefore enabled admins to customise their notifications and decide where and when they would be informed of what information:

app notifications

Learning: Keep customers close

Leave notifications are sent on Slack daily/weekly at a defined time. This can be customised by the company admin. Now consider this:

An organisation–Airspace–receives daily leave notifications at 9:00 AM every morning, for that day. On a particular Tuesday, one of the team members–Sarah– feels unwell and applies for a sick leave at 10 AM for that same day. Her team approver is notified of this, so the leave can be approved by them. But the rest of Sarah's team doesn't receive a notification for her leave because the daily notification was sent before she applied for it. Bummer! Team communication has now broken and the daily notification feature has failed to alleviate pain around time-off communication.

Given that most leaves are 1-2 days long and this is how sick leave in particular works, this scenario seems overtly common, and it was. Admittedly, we missed it till our customers pointed it out to us.

slack channel

While we remedied this instantly, events like these emphasise the importance of keeping  lines of communication open with customers. Pause's active users reached out to us through Slack, Intercom or email and we were sure to take note of it.

While this isn't scalable, a founding team, in particular has a great deal to gain from direct and constant customer interaction.

Rejected features

As Pause became synonymous with time management, some customers requested a time-logging feature in Slack– like Jibble. We decided to keep this one on the back burner because:

  • Our backend was designed to consider 'time' in days (half and full), not hours.
  • Changing the code to account for hours would be an expensive undertaking, not wise for a $1 tool.
  • We were still very much a time-off tool and didn't want to dilute our positioning.

UX writing

Leave management tools are historically drab and unfriendly. Originally, our Slack copy too, was plain and direct.

While working on our marketing assets is when we defined our brand language to be affable, which then permeated into our Slack copy. We also used references like the Polly and Lattice bots on Slack for inspiration. Other aspects of our communication like customer service, demo videos, and emailers began to follow the same language (and emojis!).

Hear it from the horse's mouth

Our Slack integration has been garnering praise from our customers across platforms.

testimonials

Personal learnings

  • Working within Slack's system and designing Slack bot notifications
  • Better understanding APIs and the backend system for a third party app, especially in relation to permissions
  • Defining & trimming scope and feeding customer requests back into product
  • Drawing correlations between different verticals of business (marketing, product, sales) and their influence on each other
  • Improving brand-focussed UX writing