Answer common questions in a help channel
Most questions in an IT help channel are ones the team has answered many times before: how to connect to the VPN, how to reset a password, which Wi-Fi network to use. This guide builds a workflow that answers those in a thread, with answers your team wrote and keeps up to date. Any other request gets a 👀 reaction, so the person knows it was seen, and a Jira ticket for the IT team to pick up.
An AI Extract step sorts each message into a topic from a fixed list. The answers themselves are text your team wrote and saved as variables, so the model never writes an answer.
The finished workflow has these steps:
Before you start
Section titled “Before you start”- You need the Developer role in a KloudMate workspace whose plan includes workflows.
- You need a Slack connection and a Jira Cloud connection, both with the Workflows capability. Invite the KloudMate bot to your help channel.
- You need a Jira project for help desk tickets.
- Each message in the channel uses workflow credits, and the AI Extract step uses more. See Check workflow usage.
Step 1: Write the answers
Section titled “Step 1: Write the answers”Open Workflows → Variables, and create a Constant for each answer. The value is the message the bot posts, in Slack’s formatting, so a link is written as <address|text>:
| Name | Example value |
|---|---|
answer_vpn | To connect to the VPN, open the VPN app and sign in with your work account. <https://wiki.example.com/vpn|Full VPN guide> |
answer_password_reset | Reset your password at <https://id.example.com/reset|id.example.com/reset>. You'll need your phone for the verification code. |
answer_wifi | Connect to the network named Corp, and sign in with your work account. Guests use Corp-Guest. |
answer_new_software | Request new software in the <https://portal.example.com|software portal>. Approved requests are installed within a day. |
Also create a Constant named jira_url with your Jira site’s address, such as https://acme.atlassian.net, if you don’t have it already.
Keeping the answers in variables means the IT team can update an answer, for example when the VPN app changes, without editing the workflow. A value can hold up to 8 KB of text, over several lines.
Step 2: Import the workflow
Section titled “Step 2: Import the workflow”- Copy the YAML below.
- Open Workflows, click Import, paste the YAML, and click Import.
- Click Open workflow, and set these before you publish:
- On the trigger, pick your Slack connection under Account, and pick your help channel under Channel.
- On every Slack step, pick your Slack connection.
- On Open a ticket, pick your Jira connection, the Site, your help desk project, and an issue type such as Task.
How each step works
Section titled “How each step works”The trigger
Section titled “The trigger”The New message in a channel trigger runs for every message posted in your help channel. Ignore messages from bots is on, so the bot’s own answers don’t start a run.
Replies in a thread start a run too. A Branch checks that trigger.event.thread_ts is empty, so only a new message goes further. Slack sets thread_ts only on a reply, and the workflow leaves conversations in threads to people.
What is it about?
Section titled “What is it about?”An AI Extract step reads {{ trigger.event.text }} and returns a topic from a fixed list, with a title in case it becomes a ticket:
The Instruction tells the model to use other_request when it isn’t sure, so a doubtful message goes to a person rather than getting the wrong answer. not_a_request covers messages such as a thank-you, which need nothing.
Which answer?
Section titled “Which answer?”A Route has a path for each topic, and each path runs when steps.topic.output.topic equals its name. A topic’s path posts a reply in a thread on the message, with Reply to thread set to {{ trigger.event.ts }} and the answer from its variable:
The other_request path does more:
- A Slack Add Reaction step reacts to the message with 👀.
- A Slack Look Up User step finds the person’s name and email address.
- A Jira Create Issue step opens a ticket, with the title from the model, and the person and their message in the description.
- A Slack Post Message step replies in the thread with a link to the ticket.
The Route has no Otherwise, so a message with the topic not_a_request runs no path, and the workflow does nothing with it.
Step 3: Test and publish
Section titled “Step 3: Test and publish”- Open the trigger’s Test tab and click Test trigger. Then post a question in the help channel, such as
How do I connect to the VPN?. The message becomes the trigger’s sample. - Test What is it about? from its Test tab to see the topic the model picked.
- Click Publish. The first publish also switches the workflow on.
Then post a few different questions in the channel, and check that each one gets the right answer or a ticket. To see which topic a message got, open its run from Workflows → Runs.
Adapt the workflow
Section titled “Adapt the workflow”- Add an answer. Create a variable for it, add its topic to the
topicoptions in What is it about?, and add a Route path for it with a reply step that uses the variable. - Answer in several channels. Leave Channel set to one channel, and import the workflow again with a different
uidfor each channel. Each copy can use the same answer variables. - Only react, without a ticket. Remove Look up who asked, Open a ticket, and Reply with the ticket from the
other_requestpath, for a team that works from the channel itself.
Related
Section titled “Related”- AI Extract for output fields.
- Variables for constants.
- Run an IT help desk in Slack for tickets that people open by messaging the bot directly.