What this workflow does
This workflow watches a Slack channel for messages with the ticket emoji 🎫.
It stops creating duplicate tickets by checking message IDs.
Using AI (ChatGPT), it makes a short title, description, priority, and suggestions for each ticket.
Then it creates a new support ticket in Linear.
It checks Slack every minute to handle tickets fast without needing people to run it.
This saves time and helps teams avoid missing or repeating tickets.
Who should use this workflow
This is for support teams who get many Slack messages needing ticketing.
Teams that spend too much time manually making tickets in Linear will benefit.
It suits users with Slack channels dedicated to tickets.
Users comfortable with basic n8n import and configuration will find this helpful.
Tools and services used
- Slack API: To search ticket messages in a specific Slack channel.
- Linear API: To get existing tickets and create new ones.
- OpenAI API (ChatGPT): To create clear ticket titles, summaries, and priorities.
- n8n: To automate the whole workflow of checking Slack and making tickets.
Inputs, processing, and outputs
Inputs
- Slack messages from channel #n8n-tickets having the ticket emoji 🎫.
- Existing support tickets from Linear.
Processing
- Search Slack channel every minute for messages with 🎫 emoji.
- Get existing Linear tickets to avoid duplicates.
- Extract message ID hashes from ticket descriptions for duplicate checking.
- Use AI (ChatGPT) to generate ticket title, summary, suggestions, and priority from Slack message text.
- Create new Linear tickets only if no duplicate hash found.
- Log metadata like username, timestamp, permalink for traceability.
Outputs
- New support ticket in Linear with AI-created title, detailed description, priority, and Slack message metadata.
Beginner step-by-step: How to use this workflow in n8n
Download and Import
- Click the Download button on this page to get the workflow file.
- Inside n8n editor, click on the menu and choose Import from File.
- Select the downloaded workflow file to import.
Configure Credentials and IDs
- Add your Slack API credentials in the Slack node.
- Insert your Linear API token in the Linear nodes.
- Paste your OpenAI API Key in the ChatGPT (Chain LLM) node.
- Adjust any channel names, Team IDs, and State IDs to match your account setup.
Test and Activate
- Run the workflow manually once to check it fetches messages and creates tickets properly.
- Look into node outputs for errors and fix any credential or configuration issues.
- After testing, activate the Schedule Trigger node to let workflow run every minute.
For self hosting n8n, see self-host n8n for setup help.
Common problems and edge cases
- No tickets found in Slack: Check channel name and Slack query syntax like
in:#n8n-tickets has::ticket:. - Duplicate tickets created: Verify the duplicate check logic uses correct message IDs and Linear descriptions.
- AI gives unstructured output: Confirm Structured Output Parser node matches JSON schema exactly.
- Slack rate limits: Adjust message fetch limit or schedule interval to avoid hitting API limits.
- Incorrect priority mapping: Update mapping to match your Linear priority IDs.
Customization ideas
- Change Slack channel or emoji in Slack node’s query to fit your support setup.
- Edit AI prompt to focus on different details or add other ticket fields.
- Modify priority mapping in Linear create node to fit company standards.
- Increase Slack search limit to handle higher message volumes.
- Add extra metadata before ticket creation using Set node for tags or customer info.
Summary
✓ Workflow automates Slack ticket messages into Linear tickets.
✓ Prevents duplicate tickets through ID hash checking.
✓ Uses AI for clear titles, summaries, and priorities.
✓ Saves about 5 hours weekly for support teams.
✓ Runs every minute without manual work.
