Spin up a Channel on the fly and Attach Slack Conversation History for a Major Incident Ticket
Major Incidents can cause outages and disruptions to the services that keep your business up and running. It is thus important to minimize the resolution time for such Incidents. Collaboration plays a crucial role here and getting the right people to work through the incident is critical.
Here’s a sample workflow to demonstrate the use of the Slack Orchestration app to automate creating a dedicated slack channel, looping in the right set of people and finally attaching the conversation history of that slack conversation to the Ticket when the Incident is resolved.
This Use case requires 2 workflows:-
The first workflow will trigger when an Incident is created and will spin up a slack channel and add the relevant people to it, so they can instantly start working through the incident.
Configurations for Workflow 1:
Create the Event when an Incident is raised.
Followed by the condition to ensure the incident is a Major Incident
You can then pull in the App Node which will have the following configurations:
App Name: Slack - Orch
App Action: Create Channel
Notes when Configuring Inputs:
To specify the Ticket ID as placeholders, we have to use liquid templates to convert the ID to a slack
channel name acceptable format. Channel names can only contain lowercase letters, numbers,
hyphens, periods, and underscores, and can only be 80 characters or less.
Liquid templates are used in this use case to change Ticket ID to the compliant format, this format is required during channel creation for Slack.
For example, a placeholder for the channel name will be, {{ticket.id | downcase}}.
Validating action using condition node with status code check
If channel creation is confirmed, we can go ahead and store the Slack channel ID to the newly created form field “Slack Channel ID”. Since this field is not required for either Agents or Requesters, it is recommended that you use a business rule to hide this field.
Finally to add users to the channel, pull in the App Node which will have the following configurations:
App Name: Slack - Orch
App Action: Add User to Channel by Email
Notes when Configuring Inputs:
Email: A comma-separated list of user emails. Up to 1000 users may be listed. This list of emails can be obtained from the requester, agent, a custom object via the new reader node and so on.
Finally, to validate the users successfully added to the channel, the condition node is added and the action node to add a public note on the ticket.
2. The second workflow will trigger when the incident is set to the resolved state and will attach the conversation history of the channel against the ticket and proceed to archive the channel.
Configurations for Workflow: Two
Create the Event when an Incident is resolved.
Followed by the condition to ensure that it is a Major Incident
You can then pull in the App Node which will have the following configurations:
App Name: Slack - Orch
App Action: Attach Conversation History to Ticket Note
Notes when Configuring Inputs:
Channel: Select the appropriate placeholder to append to the content and they will get converted into the appropriate data(Referring ticket field, stored post create channel action inside workflow one).
Freshservice_ticket_id: Unique ID of the ticket. Use '{{ticket.original_id}}' placeholder to refer to the numerical part of the current ticket id.
Attachment_note: The content of the ticket note to be added along with the attachment to the note.
Is_private_note: Specifies if the ticket note is private.(true or false)
Finally, to ensure action is successfully attached conversation history doc to ticket note, added condition node with basic status code checks.
Once condition node confirms attachment operation, add app action node with following configuration
App Name: Slack - Orch
App Action: Archive Channel
And the action node is added to create a public note on the ticket with some confirmation message.