Link management inside any ITSM platform like Freshservice is an age-old problem. We built Wira for the Freshworks Refresh app challenge keeping in mind the central theme of the hackathon - better organization for IT teams. Wira aims to provide an easy solution for the agents to store all the links in one place. We believe Automatic Link Extraction, Personal Clip & Group Clip features make Wira a complete solution for managing links in a Workspace. Let us look at these features a little more deeply.

What it does

At its core, Wira enables faster copying & pasting of links by making all the relevant links available at the click of the button.

Personal Clip for Agents

The Personal Clip acts as a link repository that saves the most used links for the Freshservice agent. The agent's "Personal Clip" is highly customizable and shows all the recent links in a structured manner. They can add new links using a simple form. All they have to do is add a title, a URL, and a few labels. To ensure that the link repository is always up to date, the agents can delete irrelevant links by clicking on the delete button.

Automatic Link Extraction

This feature brings Artificial Intelligence capabilities into Freshservice. Wira extracts the relevant links and labels from the agent's recent reply messages using state-of-the-art Natural Language Processing techniques. Every time an agent replies to a ticket, Wira scans the reply message for relevant links. They added to the agent's 'Personal Clip' along with a title and relevant labels. In the future, if they need it, the agents can copy the link from their 'Personal Clip' to the clipboard. The agents no longer have to open the link in another tab to find out what is in the link. The labels give a complete picture of whatever is inside the link. Neat, right?

Group Clip for Agent Groups

To foster collaboration amongst agents, Wira has a 'Group Clip' feature. The agents can view all the links that other agents in their group have added from the 'Group Clip' screen. This feature enables ease of access and efficiency for the agents as they don't have to go back and forth with other agents to find the correct link. All the group links are displayed separately.

Example Use Case

For example, the IT department of a big accounting firm has rolled an update to its proprietary software. Some employees are not able to login into the portal after the update. They report the issue to the customer support team of the IT department. It is an issue with their firewall. Employees need to follow a few simple steps to fix it. The agents need to tend to all these requests and reply with the appropriate link based on the Operating System the employee is using. For every reply, they have to find the relevant link and copy it. This process becomes tedious quite fast. Here is where Wira comes in to save the day! The agents can add all the links to their 'Personal Clip' and name them appropriately for each operating system. The other agents can find them in the 'Group Clip'. No more opening ten tabs, just two clicks to get the job done. Delete them once they are no longer needed.

How we built it

The Freshservice Development Kit (FDK), Crayon UI, and JavaScript(ES5) power the front end of the application. The links are stored in MongoDB and the backend is built with NodeJs. For the Natural Language Processing capabilities, we used Flask & Python.

Create Link

The title, URL, Tags, groups, Email are sent to the Nodejs backend to create a new link for the given user.

Personal Clip

All the links added by the agent are sent back to be displayed in Freshservice under the 'My Links' tab.

Group Clip

All the links added by the fellow agents in the same groups are sent back to be displayed in Freshservice under the 'Group Links' tab.

Extract Link

Once the agent creates a new reply, the text is sent to the Python backend. The link is extracted from the reply description using AWS Comprehend's Detect Personally Identifiable Information function. The extracted URL is stored in MongoDB for future usage.


Challenges we ran into

  1. Coming up with a simple yet elegant solution that get the job done.
  2. Choosing the right database to store all the links for the user.
  3. Setting up the frontend of our application to work with Freshservice.
  4. Finding out a way to relay requests from the NodeJs backend to the Python backend.

Accomplishments that we're proud of

Wira solves the age-old link management issue for Freshservice users. We were happy that we built a solution within the hackathon period that will potentially save a lot of agents valuable time. It will help them work more efficiently and in a hassle-free manner. In the future, we look forward to rolling out new releases and delivering a better product.

What we learned

  1. What is Freshservice and using the Freshservice Development Kit(FDK)
  2. Hands-on with Crayon UI
  3. Documenting the project in a structured manner.
  4. Video editing using Premiere Pro & Adobe Spark
  5. Using Docker compose to run the Nodejs backend along with the Python backend

What's next for Wira

Having completed the hackathon submission just in time, we will now focus on shipping the product to reach as many Freshservice customers as possible. Wira's backend architecture has been built for scale and deployed on AWS for better performance. We think Wira is suitable for mainstream adoption by the Freshservice community due to its widespread relevance. We also plan to extend our functionality to other Freshworks products like Freshdesk in the future.

Share this project: