n8n

How to Automate Linear to Slack Support Alerts?

Stay ahead of support risks by scanning issue discussions and alerting your team when the tone turns negative. The system tracks active tickets, saves sentiment to a simple record, and pings Slack when a risk rises. It suits team leads who need quick visibility without reading every thread.

A schedule checks Linear every 30 minutes through a GraphQL call and pulls issues updated in that window. Each issue’s comments are combined and sent to an AI model that sets a sentiment and writes a short summary. Results are saved in Airtable, keeping the latest and previous sentiment so changes stand out. When Airtable updates, an event looks for a move from neutral or positive to negative, removes duplicates by key and timestamp, and posts a Slack message. Split and batch nodes make sure each issue is handled cleanly.

Set up needs accounts and keys for Linear, OpenAI, Airtable, and Slack. Expect faster triage and fewer escalations because risky threads surface within 30 minutes. This is helpful for support and product teams that manage many issues and want early warning without extra staff.

What are the key features?

  • Schedule check runs every 30 minutes to find recently updated issues
  • GraphQL query pulls active issues from Linear using an updated time filter
  • Split and batch processing loops through each issue safely
  • AI based Information Extractor sets sentiment and a short summary from comments
  • Set node merges AI results with issue details for a clean payload
  • Airtable search and upsert stores current sentiment and moves the previous value
  • Airtable event trigger watches the Current Sentiment field for changes
  • Switch logic flags moves from non negative to negative sentiment
  • Deduplicate step prevents repeat Slack alerts for the same update
  • Slack message posts a clear alert to the chosen team channel

What are the benefits?

  • Reduce daily triage from 60 minutes to 5 minutes by auto scanning comments
  • Catch negative tickets within 30 minutes so you can act before they escalate
  • Connect Linear, Airtable, OpenAI, and Slack to cut context switching
  • Avoid repeat pings with built in dedup checks on issue and timestamp
  • Improve tracking accuracy by logging both current and previous sentiment
  • Scale to handle many issues per day with batch processing

How do you set it up?

  1. Import the template into n8n: Create a new workflow in n8n > Click the three dots menu > Select 'Import from File' > Choose the downloaded JSON file.
  2. You'll need accounts with Linear, OpenAI, Airtable and Slack. See the Tools Required section above for links to create accounts with these services.
  3. In the n8n credentials manager, open the Airtable nodes and create a new Airtable Personal Access Token credential. In your Airtable account, create a token with read and write access to the base, then paste it into n8n. Select this credential for both Airtable nodes and the Airtable trigger.
  4. Open the OpenAI Chat Model node. From the credential dropdown, click Create new credential, then paste your OpenAI API key from the OpenAI dashboard. Pick your preferred chat model.
  5. For the GraphQL node, create a new HTTP Header credential to connect to Linear. Add an Authorization header with your Linear API key. Use the endpoint https://api.linear.app/graphql.
  6. For Slack, open the Slack node and click Create new credential. Follow the on screen steps to authorize your workspace and allow the chat write permission. Choose the target channel for alerts.
  7. Open the Schedule Trigger and set the interval. The example runs every 30 minutes, but you can change it to fit your team’s needs.
  8. Check the GraphQL query and variables. The query filters by issues updated since now minus 30 minutes. Adjust filters to narrow by team, assignee, or state if needed.
  9. Verify the SplitOut node uses data.issues.nodes and that the batch node is connected so each issue flows through the AI and Airtable steps one at a time.
  10. Open the Information Extractor node. Confirm the text expression builds a single thread from all comments and that attributes include sentiment and sentimentSummary as required fields.
  11. Configure the Airtable upsert mapping. Make sure fields for Issue ID, Current Sentiment, Previous Sentiment, Summary, and Assigned match your table. The search step should look up by Issue ID.
  12. In the Airtable Trigger, set the base and table and pick Current Sentiment as the trigger field. This will fire when the row is updated.
  13. Open the Switch node and confirm the rule checks for a move from positive or neutral to negative. Keep the fallback to none so non matches stop there.
  14. In the Deduplicate node, use a key built from the issue identifier and the row last modified time so the same change does not alert twice. Then set the Slack message text and channel, and run a test. If nothing arrives, widen the time filter or verify permissions and field names.

Tools Required

$24 / mo or $20 / mo billed annually to use n8n in the cloud. However, the local or self-hosted n8n Community Edition is free.

Airtable

Sign up

Free (1,000 API calls / mo)

Linear

Sign up

Free: $0 / mo, includes API access (2 teams, 250 issues)

OpenAI

Sign up

Pay-as-you-go: GPT-5 at $1.25 per 1M input tokens and $10 per 1M output tokens

Slack

Sign up

Free plan: $0 / mo; limited to 10 apps (third-party or custom) and usable via Slack API

Similar Templates

Join Futurise to access 1,200+ automation templates

Get instant access to ready-made automation workflows for n8n, Make.com, AI agents, and more. Download, customise, and deploy in minutes.