Mindket

Slack ticket reactions turned into Linear issues by AI

Newversion 1 · updated

Overview

An n8n workflow that watches a Slack channel for the ticket reaction, has an AI model write a title, a summary, ideas and a priority, and creates the issue in Linear once per message.

Slack ticket reactions turned into Linear issues by AI is an n8n workflow in the Business category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

At a glance

Runs in
  • n8n Cloud: bring in the file, connect your accounts and switch it on
  • Your own n8n server: the same file, left running so the schedule fires
  • A local install: it works while n8n is running
  • One Slack channel and one Linear team for each copy of the workflow

Platform

Connects 3 apps

How it works

Trigger

A schedule

It starts on a timer, every 5 minutes. Set first:

  • A Slack user token that can search
  • An OpenAI key
  • A Linear key and the team for the issues

Actions

  1. The channel is searched for the newest 10 messages with a ticket reaction
  2. Each message gets an id from its link
  3. Linear is read for the ids saved in earlier tickets
  4. A message that already has an issue is skipped
  5. The model writes a title, a summary, up to three ideas and a priority
  6. The issue is created in Linear with the original message and its link

Result

A new Linear issue for each reacted message, with a title, a summary, ideas, a priority and a link back to Slack

Integrations

What you need before you start.

Slack

Team chat

Holds the messages and the reaction, and is searched for them.

NeedsSlack user token with the search:read scope

OpenAI

Language model

Writes the title, summary, ideas and priority.

NeedsOpenAI API key

Linear

Issue tracker

Lists the existing issues and receives the new one.

NeedsLinear API key and a team

Workflow check

Checked by Mindket on 13 Nov 2026

Steps
10 steps, starting on a schedule
AI
1 step calls an AI model: Generate Ticket Using AI
Sign-ins
Signs in to: Slack, Linear and OpenAI
API keys
No API key is left in the file
Step types
Mindket’s checker reads all 8 of its step types

Read from the workflow’s file, not from a run.

About

What it is

This n8n workflow turns a Slack reaction into a Linear issue. Someone marks a message in a support channel with the ticket emoji. Every five minutes the workflow searches the channel for such messages. For each one it has not seen, an AI model writes a short title, a summary, up to three ideas and a priority. The workflow then creates the issue in Linear. The id of the Slack message goes into the description, so no message is ticketed twice. Twelve nodes sit in it, beside seven sticky notes.

Who it suits

Support and product teams that talk to customers or colleagues in Slack and track work in Linear. They want a quick way to turn a chat message into a proper issue without copying text between tabs. It suits someone who can create a Slack user token and a Linear key. Skip it if your tickets live somewhere other than Linear. Skip it too if only some people should be able to open issues, because anyone who can add a reaction in the channel can create one.

Who uses it, and how
IndustryWho uses itHow they use itExample
SoftwareSupport engineersTurn a bug report from chat into an issueAn engineer reacts to a customer’s bug report and gets an issue with a title and a priority.
OperationsOffice managersLog a request from the team channelA manager reacts to a message about a broken printer and the request lands in the queue.
AgenciesAccount managersCapture a client’s change requestA manager reacts to a client’s message asking for a new banner size.
EducationSchool IT staffKeep track of requests from teachersAn IT lead reacts to a teacher’s message about a projector that will not start.

You need a Slack user token that can search, an OpenAI API key, a Linear API key and an n8n that stays switched on.

Where to use it

Any n8n that can run on a schedule will do, on n8n Cloud or on your own server, as long as it stays switched on. The workflow asks Slack and Linear for news, and nothing calls it, so it needs no public address. A local install works while it is running, and reactions wait for the next run.

  • n8n Cloud: bring in the file, connect your accounts and switch it on
  • Your own n8n server: the same file, left running so the schedule fires
  • A local install: it works while n8n is running
  • One Slack channel and one Linear team for each copy of the workflow

Setup

Download saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Import the file, add three credentials, choose your channel and team, and switch it on.

What you need first
NeedDetail
n8nOn n8n Cloud or on a server of your own
SlackA user token with the search:read scope, and a channel where people add the ticket reaction
OpenAIAn API key
LinearAn API key, and the team that should get the issues
  1. In n8n, create a workflow, open its menu, choose Import from File and pick workflow.json.
  2. Add a Slack API credential with your user token to Slack. In its query, replace support-tickets with your channel.
  3. Add an OpenAI credential to OpenAI Chat Model.
  4. Add a Linear credential to Get Existing Issues and to Create Ticket, then choose your team in Create Ticket.
  5. In the channel, react to a message with :ticket: and run the workflow once with Execute workflow. Look for the new issue in Linear.
  6. Switch the workflow on. It then runs every 5 minutes.

How to use it

Pick a message in the channel and react with the ticket emoji. On the next run an issue appears in Linear. It holds the AI’s title, summary, ideas and priority, plus the original message with its link. Nothing else to press. A message that has an issue already is skipped on every later run.

What to change for a different result
To changeWhere
The channel or the reactionThe query in Slack
How often it looksSchedule Trigger
How many messages one run readsThe limit in Slack
What the ticket saysThe prompt in Generate Ticket Using AI
The modelOpenAI Chat Model
The team, labels and priority mappingCreate Ticket

Example

A support team shares a Slack channel with a customer. On Monday the customer writes that the export button has done nothing since Friday, and a teammate adds the ticket reaction.

At the next run the workflow finds the message, sees that no issue holds its id and asks the model for a title, a summary, a few ideas and a priority. A few minutes later Linear shows a new issue called something like “Export button does nothing”, with a priority the model chose from the tone. The description holds the customer’s words and a link back to the message. Nobody retyped a word.

For newcomers and experts

If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. A reaction is the small emoji a person adds under a message. Linear is a tool where teams track issues. A structured output parser makes the model answer in fixed fields, here the title, summary, ideas and priority.

For experts. Each message is matched against the hash: lines in the descriptions Linear returns, so the check lives in Linear and the workflow keeps no state of its own.

Where to look closer
NodeWhat it doesWhat to know
SlackSearches the channel for messages with the reactionIt needs a user token, and it reads the newest 10 results
Get ValuesBuilds an id, the author, the link and the text from each messageThe id is the last part of the message link, without its query string
Get Existing IssuesReads issues from LinearIt reads the first 50, across all teams, once per run
Get Hashes OnlyPulls the saved ids out of the descriptionsAn issue without such a line is skipped
Create New Ticket?Lets a message through when its id is not foundA message with no issue yet becomes a ticket
Generate Ticket Using AIWrites the title, summary, ideas and priorityThe parser forces those four fields, and the priority is the model’s guess
Create TicketCreates the issueThe team is yours to choose, and the description carries the id line

Good to know

The notes come from Slack, OpenAI, Linear and n8n pages and source read on 12 November 2026, and nothing was run.

  • Not run: no Slack search, no model call and no Linear issue was made
  • Repairs: the model node named no model, so n8n would have used gpt-5-mini, which OpenAI shuts down on 11 December 2026, and it now names gpt-6-luna. The id check no longer stops the run on an issue with no hash: line, or when no issue has a description. The id ignores the query string of a thread link, the message is escaped by JSON.stringify, and the author’s private team and state ids were removed
  • Access: the search runs as the person whose token you use, so it sees what that person sees, and any member who can react in the channel can open an issue
  • Limits: the search returns 10 messages per run, and Linear is read 50 issues deep. On a busy workspace a message may get a second issue when its first one is not among them
  • Your data: the message text goes to OpenAI, and the message, the author’s name and id, the channel and a link go to Linear
  • Credentials: the JSON holds none

README and files

README

Slack ticket reactions turned into Linear issues by AI

An n8n workflow that watches one Slack channel for messages marked with a ticket reaction. For each message that has no
issue yet, an AI model writes a title, a summary, a few ideas and a priority, and the workflow creates the issue in
Linear. The Slack message id is saved in the issue, so no message is ticketed twice.

What is inside

  • workflow.json: the workflow as n8n exports it, 12 nodes and 7 sticky notes. It holds no credential.
  • README.md: these notes.

What we changed from the original copy

  • The model node named no model, so n8n would run its own default for that node version, gpt-5-mini. OpenAI's
    deprecations page, read on 12 November 2026, shuts it down on 11 December 2026. The node now names gpt-6-luna. It
    sits under a plain chain with a structured output parser and calls no tool, so that model fits. The chain is now called
    Generate Ticket Using AI.
  • Get Hashes Only looked for a hash: line in every issue Linear returned and took the first match by position, [1]. An issue
    with a description but no such line, such as one written by hand, made the match return null and stopped the run. So did
    a Linear workspace where no issue has a description, because the list was then missing. The expression now skips both.
  • The message id came from the last part of the Slack link. Slack's documentation shows links to a reply in a thread
    ending in a query string, ?thread_ts=...&cid=.... The saved hash: line is read back only up to that character, so
    such an id would never match and the same reply could be ticketed again at every run. The id now ignores the query
    string.
  • The message was placed into JSON by hand, with only quotes and line breaks escaped. A backslash or a tab in the text, as
    in pasted code, could break it. JSON.stringify now does the escaping.
  • The Linear team id and the state id belonged to the original author's workspace. The team is blank, so you choose
    yours, and the state is left out, so Linear chooses it.
  • Get Existing Issues now runs once per run. It had run once per message, and each run read the same issues.
  • The search channel, #n8n-tickets, is now #support-tickets. The notes on the canvas had links and an invitation to a
    community. They are rewritten, and one note now states the 5 minute schedule.

Before you start

  • An n8n instance that stays switched on, on n8n Cloud or on your own server. It asks Slack and Linear for news, so it
    needs no public address.
  • A Slack user token with the search:read scope. Slack's message search takes a user token, and a bot token cannot use
    it.
  • An OpenAI API key.
  • A Linear API key, and the team that should get the issues.

Set it up

  1. In n8n, create a workflow, open its menu, choose Import from File and pick workflow.json.
  2. Add a Slack API credential with your user token to Slack. In its query, replace support-tickets with your channel.
  3. Add an OpenAI credential to OpenAI Chat Model.
  4. Add a Linear credential to Get Existing Issues and to Create Ticket, then choose your team in Create Ticket.
  5. In the channel, react to a message with :ticket: and run the workflow once with Execute workflow. Look for the new
    issue in Linear.
  6. Switch the workflow on. It then runs every 5 minutes.

How a run goes

  1. Schedule Trigger starts the run, and Slack searches for the newest 10 messages in the channel that carry a ticket
    reaction.
  2. Get Values gives each message an id taken from its link, and keeps the channel, the author, the time, the link and the
    text.
  3. Get Existing Issues reads issues from Linear. Collect Descriptions gathers their descriptions, and Get Hashes Only
    pulls the saved ids out of them.
  4. Merge pairs every message with that list. Create New Ticket? lets a message through only when its id is not in it.
  5. Generate Ticket Using AI asks the model for a short title, a summary, up to 3 ideas and a priority.
    Structured Output Parser turns the answer into those fields.
  6. Create Ticket creates the issue. Its description holds the summary, the ideas, the original message with its author,
    the channel, the time, the link and the hash: line. The priority maps urgent to 1, high to 2, medium to 3 and low to 4.

Change the look

  • The channel or the reaction: the query in Slack.
  • How often it looks: Schedule Trigger.
  • How many messages one run reads: the limit in Slack.
  • What the ticket says: the prompt in Generate Ticket Using AI.
  • The model: OpenAI Chat Model.
  • The team, labels or priority mapping: Create Ticket.

Good to know

  • The facts below come from Slack, OpenAI, Linear and n8n pages and source read on 12 November 2026. Nothing was run: no
    Slack search, no model call and no Linear issue.
  • The search runs as the person whose token you use, so it sees what that person can see. Any member who can react in
    the channel can open an issue.
  • Slack's search returns 10 messages here, newest first by n8n's default. If more reacted messages than that are newer
    than one you wanted, raise the limit in Slack.
  • Linear is read with n8n's default limit of 50 issues, across all teams. If the issue for a message is not among them,
    the message can get a second issue. Raise the limit in Get Existing Issues, or turn on Return All.
  • The priority is the model's guess from the tone of the message, and the ideas are not checked.
  • gpt-6-luna costs USD 0.1 per million input tokens and USD 0.5 per million output tokens on OpenAI's page. A page's text
    can change, so check it before a large run.
  • Your data: the message text goes to OpenAI. The message, the author's name and id, the channel and a link go to Linear.
  • Credentials: the JSON holds none.
Files
NOTICE.md  660 B
README.md  6 KB
workflow.json  14 KB

3 files, 20 KB, downloaded as a zip.

What’s new

  • Version 1 · 2026-11-13

Reviews

No ratings yet

Write a review

No reviews yet.

More from Mindket

See all from Mindket

Nanosaur2-670M

well9472 · Kit

Makes illustrations from text prompts with a small 670M-parameter diffusion model, run through ComfyUI. Built as a low-budget research model for people who wan…

New

Reads handwritten Arabic text from images and returns it as text. A fine-tuned PaddleOCR-VL model for people digitizing Arabic handwriting.

New

Makes video clips from a text prompt or an image plus text, at up to 720P and 24 frames per second, in the Diffusers format for a single consumer GPU.

New

Similar in Business

See all in Business

pplx-decider-v1.1-27b

perplexity-ai · Kit

Picks the best option for a decision from text and images, such as which team should handle a request, with a probability for each choice, for developers who b…

New

NuExtract3

numind · Kit

Reads documents as text or images and fills a JSON template with the fields you ask for, or converts the pages to Markdown. A 4B model for teams that process s…

New

Drex DLM

nace-ai · Kit

Scores yes or no, multiple choice and rating questions about a document in one pass, with a probability for every option. An 8B decision model from Nace.AI tha…

New