Contextual Collaboration using Slack on Freshservice
Replacing the archaic comments and email notifications inside Freshservice and leveraging modern collaboration tools like Slack and Microsoft teams to communicate with your team
View prototype on Figma →
Freshservice is an intelligent service management solution for enterprises, built to bridge the gap between IT and the business thereby providing exceptional employee experience for your organization.
With Freshservice, IT agents in an organization typically work on multiple projects. Some of the real-world projects are -
- Business Implementation (Evaluating and implementing apps for various teams)
- Process Improvements (Preparing for security audits, improvements to existing processes)
- Tech implementation (SSO Configurations, System Integration projects)
Existing product experience
Typically in a mid-market or enterprise, multiple IT projects run on a regular basis and each project can have tens or hundreds of tasks assigned to multiple agents. In the existing projects module (a place where agents run projects and tasks) of Freshservice, we had an archaic comments section where agent-agent collaboration takes place. The conversations over here can be 1:1 or 1:many.
Hence, agents currently find it very useful to communicate about projects and tasks in Slack / MS teams by creating channels and discussing over there since it's modern and easy-to-use.
- With the advent of multiple modern age collaboration tools like Slack and Microsoft Teams, the usage and adoption of the native comments section deteriorated as agents were communicating more on those tools due to its' ease of use.
- An agent typically spends more time on Freshservice since that's the place where they complete projects and tasks, resolve tickets, and more. Keeping this in mind, it's a cognitive load for the agents to switch between Freshservice and tools like Slack / MS teams since they could lose the context of a particular task.
- Moreover, when an agent is involved in multiple IT projects and tasks, it's cumbersome for them to search slack on a regular basis to know the context, status, priority, and discussion of a particular task. Eventually, it gets very overwhelming when an agent is assigned multiple tasks to work on.
- In project management, sending email notifications to users whenever a comment is added on a task is sub-optimal in a world where we expect instant replies. Imagine when an agent is assigned to multiple tasks, email notifications become unmanageable.
- The goal was to craft an experience for an MVP that will integrate modern collaboration tools into Freshservice's project module by enabling bi-directional sync of conversations.
- Through this MVP, we wanted to check the adoption and get the actual feedback from Freshservice customers.
- Our north star goal was to extend this similar experience across multiple core modules of Freshservice like Tickets, Problems, Changes in the upcoming months.
Framing our flows
While designing the MVP of this feature, we framed a solution that we thought would be the ideal one. It helps to set the stage for our stakeholders towards a common goal.
Some of the key decisions we designing our MVP designs were -
- We let the agents link only a single channel to a task at a time.
- Agents can't discuss simultaneously in multiple channels from a single task.
- If a slack channel is already connected to a task, and if the user decides to link or create a new channel, we let the users unlink and then link a new channel.
- Another careful consideration we took was to not build a slack app right within Freshservice. The conversations should just supplement the agents working on project tasks and not be feature-loaded.
- Not everyone will have modern collaboration tools. Customers who don't have MS Teams/Slack can leverage the modern conversational interface wherein notifications will be sent via in-app and email.
Understanding agents who use Freshservice
To validate our problem statement, assumptions, and flows, we spoke to IT agents in our organization to quickly understand how they run projects, communicate and collaborate with their team.
- Number of teams in IT - 18-20 teams (7 people per team)
- Number of projects teams that could be running - 1 or 2 projects spanning a week or two or more, depending on the complexity
- Who did we speak to - 4 IT engineers and 1 IT Manager
Some of the key insights we received about their team -
- Every team within IT has its own channel (at least 1 channel).
- Teams prefer talking about tasks on team channels over DMs because it gives visibility to others.
- Sometimes projects could have multiple channels if there are stakeholders from other departments or external vendors involved, to isolate sensitive information.
- Specific tasks could have a separate channel if it needs a focused group of people to quickly respond to messages and take action. Once the task is done, the channel is usually archived.
- Some of the teams use Smartsheet since Freshservice projects lacked features like portfolio management, risk management, a consolidated dashboard for projects.
- Each team has daily stand-ups to understand project progress and ad-hoc communication happens on Slack, Email.
Some of the concerns the agents expressed after playing around with the screens -
"I could only link one channel at a time which doesn't help my workflow at all since as a team, we talk on multiple channels for different purposes."
"All these conversations are visible to everyone, why can't we hide sensitive information? I'm from IT department and I shouldn't view the conversations from HR, right?"
"Some of our projects and tasks have external stakeholders from other companies. They really shouldn't be seeing what we're discussing in our projects"
Designing the collaboration experience
Based on some incredible feedback from the IT team, we iterated on the existing design to further suit the target users' needs i.e. members of the IT team.
Some of the important decisions we took were -
- Created a new conversational experience wherein agents can communicate. However, we need to focus on all sorts of users when designing i.e.
- Experience for the users who have Slack in their workflow
- Experience for the users not using Slack in their workflow
The conversational experience for workflows that incorporate Slack and without Slack is very similar which reduces their time to learn. The shift is seamless.
- Incorporated the ability to view and communicate in multiple slack channels for the IT agents. Now that this is incorporated, the agents can create multiple private channels against a particular task to have a focussed discussion.
- Privacy was a concern for the agents since everyone who are part of the project had the access to view the conversations in the initial designs. In the new iteration, only agents who are part of the channel will be viewing the conversations thereby securing the private conversations.
- Notifications were a bit tricky since we should always keep in mind to not burden the user with endless notifications. Notifications should just help the agents know about the incoming message and should never be an information overload for them. Since we're working on a slack-based integration, one must consider that notifications can also be received on Slack Mobile / Desktop or any other platform it is present on. The important decisions we took were -
- When slack is integrated, notifications will be sent via in-app and no email notifications will be sent.
- When slack isn't integrated, notifications will be sent via in-app and email.
- Flexibility inside in-app notifications to manage discussion notifications
What type of notifications are we sending? For in-app, we added a separate section for Discussions which can later be scaled for other modules inside Freshservice. And agents will be notified when new discussions are started on tasks they are assigned to it or when they're mentioned in a task.
- Admins of Freshservice only have the ability to integrate Slack across their entire organization and we've made a distinct banner in the admin settings to catch their attention. We have a dedicated admin onboarding flow that describes the value proposition of this integration.
- Agents working on a project will be notified about this feature once they land on any project with a banner. Though they can't integrate Slack (only admins can), they will at least get to know what's new inside project management. If project members are interested in slack-based collaboration, they can reach out to the admin anytime!
- Agents using the native collaboration experience ( without Slack ) might end up having way too many notifications. To counter this, we're having a small inline banner that nudges the agents to know more about the Slack integration. By learning more about this, they can get in touch with the admin and have Slack integrated in their workflow. This in turn helps us with the slack collaboration adoption
- Let's talk about how Freshservice users experience Slack when it's integrated. Our ServiceBot serves the messages from Freshservice to Slack. Moreover, we learned Slack's BlockKit and designed the slack card in such a way that it provides essential information like Priority, Status, Start Date, End Date, Assignee about the task. The Slack card sets the context for all the project members in the slack channel. In addition to this, we're giving the users the flexibility to view and update certain task details right within Slack.