JIRA Service Manager

The Thena JIRA Service Manager (JSM) Integration is designed for Product Support Agents and Customer Success Managers, facilitating better visibility of requests originating in Slack and enabling a bi-directional flow of information between Slack and JSM.

Use case

At a high-level, using JSM and Thena will enable a workflow where requests that are determined to be better suited for the Support Team to handle will be bi-directionally synced across the two platforms (Slack and JSM). The flow looks something like this:

  • A customer initiates contact in Slack.
  • A customer representative (likely a CSM or related role) in the channel determines the need for JSM support. They create a ticket using the workflow from Slack, the Web App, or the Triage Channel.
  • The ticket is created in both Thena and JSM. The Team sees a new ticket in JSM, enabling them to prioritize and resolve the issue.
  • All relevant context shared by the customer/team (files, links, etc.) is also transmitted to JSM.

Features

Ticket Creation

This functionality enables the effortless initiation of tickets directly from both Slack and the Webapp, ensuring a streamlined workflow and comprehensive information capture.

For a detailed guide on supported ticket creation methods, refer to this link.

πŸ“˜

JIRA Service Manager does not allow user impersonation. As a result, the tickets will be created in the name of the user who completed the O-Auth based integration. Within the JIRA ticket, Thena highlights who the message was sent from.

  1. Ticket fields

    The following form pops up when a user selects to create a JSM ticket:

Field Specifications

Field NameDefault ValueMandatory/OptionalType
TitleAI TitleMandatoryPlain Text
FormCustomizableMandatory
ProjectCustomizableMandatory
DescriptionExact MessageMulti-line Text
PriorityAI UrgencyRadio
Custom FieldsBased on the form fieldsDynamically fetched depending on the form selected.
  • Multiple Instances & Form handling

    The integration accommodates different forms associated with the specific JSM instance.
    Each channel can be linked to specific JSM forms based on the helpdesk, optimizing the integration for various business functions. When initiating a ticket, the displayed form pops up in Slack UI,

    • Choose relevant JSM helpdesk using Helpdesk field,
    • Specify which forms should be shown on specific channels or all channels based on the selected JSM instance using Form field.
  • Fetching Fields - Why All Fields Are Important?

    Even though we fetch fields based on selected forms, it's crucial to retrieve all fields, whether they are part of the form or not. This is because certain fields might be required at the time of ticket creation or closure. To achieve this, we utilize the JSM API.

    πŸ“˜

    We currently pull all fields that are configured in 'Issue Type' screen and not in the 'Request Type' section.

  • Loading Screen and Error Handling

    During field retrieval, users will experience a loading screen indicating the fetching process. This screen has a timeout of 30 seconds. In case of errors or if the JSM APIs do not respond within the specified time, an error screen appears.

  • Autofill Support for Field Values

    Thena supports autofill by fetching real-time field values from JSM. The fields that are fetched in real time are: assignee, and author.

Requirements and characteristics of fields in JSM

AttributeDefinitionUsage
requiredThis indicates that the field is necessary for closing the ticket.When this attribute is set, it means the corresponding field must be filled or selected before the ticket can be closed.
typeThis attribute provides information about the type of the field to be displayed.It helps define what kind of data or input is expected in the field. For example, it could indicate whether the field is for text, a dropdown, date, etc.
  • JSM and Thena Field Type Mapping

To enhance compatibility, the JSM field types are mapped to corresponding Thena/Slack field types:

JSM TypeThena/Slack Type to Use
Drop-down (tagger)Single Select
Multi-selectMulti Select
TextPlain Text
Multi-lineMulti-line Text
CheckboxCheckbox
NumericPlain Text
DecimalPlain Text
DateDate
RegexPlain Text

Ticket Update

A webhook is set up to notify Thena of any updates. The entire ticket object is pulled and mapped with the corresponding external ticket object in Thena, regardless of the update nature.

Updation of Standard & Custom Fields:

Users can modify various fields, including custom fields and standard fields.

FieldPossible ValuesUpdate SupportedDirectionality Supported
StatusIn Progress<>Closed<>On HoldYesBi Directional
Urgency/PriorityLow, Medium, High, Critical,...YesJIRA -> Slack
AssigneeUsernames or IDs of available agentsYesBi Directional
RequestorEmail addresses or usernames of usersYesBi Directional
TitleTextYesSlack -> JIRA
DescriptionTextYesSlack -> JIRA
Created DateDate and timeYesSlack -> JIRA
TagsArray of labels or tagsYesJIRA -> Slack
CSATRatings, e.g., 1 to 5No

Thena status will be mapped to JSM statuses

Updation of Comments:

Comments made on the ticket thread are synchronized between JSM, Slack, and Webapp. Any comment added to the ticket in JSM is posted as a comment in Slack and Webapp, and vice versa. Users can edit and delete comments, and these changes are reflected across all integrated platforms.

Workflow for Re-opening tickets

πŸ“˜

The Closed and Resolved statuses in JIRA are mapped as 'Closed' in Thena. To re-open a ticket, you can re-open it from JIRA (and from Slack, if your JSM flows allow it).

Bidirectional Ticket Integration

This document provides a comprehensive comparison of features in the bidirectional ticket integration between Slack and JSM.

Messages

Rich Text Formatting

FeatureSlack to JSMJSM to Slack
Bold textβœ”βŒ
Italic textβœ”βœ”
Underlined text❌❌
Strikethrough textβŒβœ”
Colored text❌❌
Bulleted listsβœ”βŒ
Numbered listsβœ”βœ”
Indented textβœ”βœ”
Quoted textβŒβœ”
URLs in Messagesβœ”βœ”
Hyperlinks in Messages❌❌
Inline CodeβŒβœ”
Code BlocksβŒβœ”

Mentions and Notifications

FeatureSlack to JSMJSM to Slack
User mentions❌❌
Channel mentionsβŒβœ”
User Group mentionsβŒβœ”

Attachments

File Sharing

🚧

JSM does not allow attachments to be sent directly through its APIs. We are working on an alternate approach to support attachments from JSM to Slack.

FeatureSlack to JSMJSM to Slack
Image files (All types)βœ”βŒ
PDF filesβœ”βŒ
Word documentsβœ”βŒ
Excel spreadsheetsβœ”βŒ
PowerPoint presentationsβœ”βŒ
Audio filesβœ”βŒ
Video filesβœ”βŒ
Zip filesβœ”βŒ
Text filesβœ”βŒ
CSV filesβœ”βŒ
GIF filesβœ”βŒ
JPEG imagesβœ”βŒ
PNG imagesβœ”βŒ
BMP imagesβœ”βŒ
SVG imagesβœ”βŒ
PDF documentsβœ”βŒ
Word documentsβœ”βŒ
Excel spreadsheetsβœ”βŒ
PowerPoint presentationsβœ”βŒ
Text filesβœ”βŒ
MP3 audio filesβœ”βŒ
WAV audio filesβœ”βŒ
MP4 video filesβœ”βŒ
AVI video filesβœ”βŒ

Other

Emoji Support

FeatureSlackJSM
Standard emojisβœ”βœ”
Custom emojisβœ”βœ”
Animated emojisβœ”βœ”
Emoji reactions to messagesβœ”βœ”
Emoji shortcutsβœ”βœ”

Link Previews

FeatureSlackJSM
Website link previews❌❌
Video link previews❌❌
Image link previewsβœ”βŒ

🚧

File size exceeding limits

On JSM, allowable file size configurations vary depending on the setup (JIRA Server has between 10 MB - 2 GB basis setup, and JIRA Cloud has between 1-2 GB per file).

FAQs

Is CSAT supported for JSM tickets as of today?

No - JSM tickets do not have CSAT supported as of today. This will be rolled out as a feature shortly.