← Blog
TutorialMay 26, 20265 min read

How to Connect Linear to Slack Without Code (2025 Guide)

Automatically post Linear issue updates, new issues, and status changes to Slack channels — no developer required. Step-by-step guide using AI-generated integration code.


Why connect Linear to Slack?

Linear is the issue tracker of choice for fast-moving engineering teams. Slack is where those teams communicate. Keeping everyone in sync — posting updates when issues change status, alerting the right channel when a high-priority bug is filed, notifying a PM when their feature ships — requires a connection that doesn't exist out of the box.

This guide shows you how to connect Linear to Slack in under 10 minutes without writing a single line of code.

What you will build

A live webhook that automatically posts a message to a Slack channel whenever:

  • A new Linear issue is created in a specific team or project
  • An issue changes status (e.g., "In Progress" to "Done")
  • A high-priority issue is assigned
  • Step 1: Describe what you want

    Open APIlot (useapilot.com) and type your request in plain English:

    "When a new Linear issue is created with priority Urgent or High, post a message to our Slack channel #engineering-alerts with the issue title, assignee, and link."

    Or:

    "When a Linear issue status changes to Done, post a completion message to #product-updates on Slack with the issue title and who completed it."

    APIlot identifies that this requires the Linear Webhooks API and the Slack Web API.

    Step 2: Review the generated code

    APIlot generates:

  • index.ts — the webhook server that receives Linear events
  • linear-handler.ts — parses Linear webhook payloads, filters by event type
  • slack-client.ts — formats and sends Slack messages using the official Slack SDK
  • .env.example — LINEAR_WEBHOOK_SECRET, SLACK_BOT_TOKEN, SLACK_CHANNEL_ID
  • README.md — step-by-step setup instructions
  • Step 3: Configure environment variables

    Linear webhook secret:

    Go to Linear → Settings → API → Webhooks → Create a new webhook → Copy the signing secret.

    Slack bot token:

    Go to api.slack.com/apps → Create New App → Add chat:write OAuth scope → Install to workspace → Copy the Bot User OAuth Token.

    Slack channel ID:

    Right-click the Slack channel → View channel details → Copy channel ID (starts with C...).

    Step 4: Deploy

    Click the GitHub deploy button in APIlot. The code lands in a private GitHub repository. Deploy it to Railway, Render, or Fly.io to get a public URL.

    Step 5: Register the webhook in Linear

    In Linear → Settings → API → Webhooks:

    1. Set the URL to your deployed server's endpoint

    2. Select the event types you want

    3. Save and test with a sample issue

    That's it

    Your Linear to Slack integration is live. Every qualifying event in Linear now automatically posts to your Slack channel. The whole process takes under 10 minutes — no developer, no dev ticket.

    Want to modify the Slack message format? Edit slack-client.ts directly, or describe the change to APIlot and regenerate.

    Ready to ship your first integration?

    Free forever plan. No credit card required.

    Get started free →

    More articles

    How to Ship API Integrations Without a Developer (2025 Guide)

    7 min read · Product

    How to Connect Stripe to Notion Without Code (Step-by-Step)

    5 min read · Tutorial

    APIlot vs Zapier: Why PMs Are Switching to Code-Based Integrations

    6 min read · Comparison