Project mgmt × Communication
LinearSlackAGNT

Automate Linear + Slack

Fast issue tracking that deserves fast automation. Team chat where operations actually surface. Put an agent between them and the hand-off stops being manual: it reads, decides, acts, and shows its work.

Install First-Pass Reviewer → Get AGNT free

First-Pass Reviewer already works across Linear and Slack — free, and it runs on your machine.

Automations teams run

Unlike field-mapping automation, the step in the middle is an agent: it can summarise, classify, judge and draft, not merely copy values from Linear into Slack.

When an issue is created in Linear…

…an agent can post a rich channel message in Slack — after reading the context and deciding it should.

When a status changes in Linear…

…an agent can DM a teammate in Slack — after reading the context and deciding it should.

When a cycle ends in Linear…

…an agent can open a thread with findings in Slack — after reading the context and deciding it should.

When a message hits a channel in Slack…

…an agent can create issues with full context in Linear — with the reasoning recorded in the run’s receipt.

When a keyword or mention fires in Slack…

…an agent can update status and assignees in Linear — with the reasoning recorded in the run’s receipt.

When a reaction is added in Slack…

…an agent can write cycle summaries in Linear — with the reasoning recorded in the run’s receipt.

Linear to Slack, in three nodes

Concretely: a custom-api call to api.linear.app on one side, the slack-api node on the other, and an agent in between that can decline. Deciding not to write into Slack is a recorded outcome, not a silent one.

Linear to Slack: poll linear → read it and decide → act in slack TRIGGER trigger-timer Poll Linear Every fifteen minutes. ACTION agnt-agent Read it and decide Judged against your own rules. ACTION slack-api Act in Slack Runs SEND_MESSAGE.
Neither Linear nor Slack credentials leave your machine — both live in a local vault.
Linear → Slackpaste into a new workflow
{
  "id": "3ab2e748-6c48-4d4b-a9bf-e2c9af6dfaee",
  "name": "Linear → Slack",
  "nodes": [
    {
      "id": "ae15975f-5d14-4c2a-aa95-35193d7466a4",
      "text": "Poll Linear",
      "x": 512,
      "y": 144,
      "isEditing": false,
      "type": "trigger-timer",
      "icon": "connect",
      "category": "trigger",
      "isSelected": false,
      "parameters": {
        "interval": "15",
        "unit": "minutes"
      },
      "description": "Checks Linear on a schedule.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    },
    {
      "id": "1a7e5e95-2e4f-48f3-a189-eb629770f7e6",
      "text": "Read it and decide",
      "x": 512,
      "y": 336,
      "isEditing": false,
      "type": "agnt-agent",
      "icon": "connect",
      "category": "action",
      "isSelected": false,
      "parameters": {
        "instructions": "Read the Linear item. Decide whether it warrants action in Slack, and explain why."
      },
      "description": "Decides whether this Linear item warrants anything in Slack.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    },
    {
      "id": "86945190-2758-4efe-aa7a-5b12013ef2b4",
      "text": "Act in Slack",
      "x": 512,
      "y": 528,
      "isEditing": false,
      "type": "slack-api",
      "icon": "connect",
      "category": "action",
      "isSelected": false,
      "parameters": {
        "action": "SEND_MESSAGE"
      },
      "description": "Interact with Slack to perform various operations such as sending messages, uploading files, managing reactions, and more.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    }
  ],
  "edges": [
    {
      "id": "141175cf-bd14-40cb-a12a-64ba4ee58f3e",
      "start": {
        "id": "ae15975f-5d14-4c2a-aa95-35193d7466a4",
        "type": "output"
      },
      "end": {
        "id": "1a7e5e95-2e4f-48f3-a189-eb629770f7e6",
        "type": "input"
      },
      "startX": 800,
      "startY": 168,
      "endX": 512,
      "endY": 360
    },
    {
      "id": "aa531c70-9c03-4682-a87d-98147c67d0ec",
      "start": {
        "id": "1a7e5e95-2e4f-48f3-a189-eb629770f7e6",
        "type": "output"
      },
      "end": {
        "id": "86945190-2758-4efe-aa7a-5b12013ef2b4",
        "type": "input"
      },
      "startX": 800,
      "startY": 360,
      "endX": 512,
      "endY": 552
    }
  ],
  "zoomLevel": 1,
  "canvasOffsetX": 0,
  "canvasOffsetY": 0,
  "isTinyNodeMode": false
}

Install First-Pass Reviewer

First-Pass Reviewer already uses both Linear and Slack, so installing it gives you this exact hand-off wired up — connected, editable, and running on your own machine.

Runs on your own machine · See what it does

Wiring Linear to Slack

  1. Install AGNT — it runs on your own machine and needs no account to start.
  2. Authorise Slack (one OAuth sign-in) and Linear (an API key pasted into the vault). Nothing is stored anywhere but your disk.
  3. Describe the job in plain language, or paste the definition above; custom-api does the reading and slack-api the writing.
  4. Gate anything you would not want done unattended, then let it run and read the first receipt end to end.

Linear and Slack — common questions

Can I connect Linear to Slack without writing code?

No code is required. Add both connections in the vault (Linear uses an API key pasted into the vault, Slack uses one OAuth sign-in), then either install a marketplace workflow for this pair or drag the two nodes onto the canvas and put an agent between them.

How is this different from a field-mapping Linear to Slack automation?

Mapping tools move data; this reasons about it. Rather than copying a field into Slack, the agent can weigh what arrived from Linear, classify it against criteria you wrote in prose, draft something new, and act only when it is warranted.

Does my Linear and Slack data leave my machine?

Not to us. AGNT runs locally and both sets of credentials are encrypted on your own disk. Outbound traffic goes only to Linear, Slack and whichever model you chose — and pointing that at Ollama or LM Studio keeps everything on your hardware.

What does a Linear and Slack run leave behind?

Every run is recorded end to end — the Linear items examined, the decision and its reasoning, the resulting Slack write. That record is what makes it reasonable to let this run unattended, and what lets you widen its remit on evidence.

Give AI a job. Get the proof.