Project mgmt × Project mgmt
JiraLinearAGNT

Automate Jira + Linear

The ticket system of record for engineering work. Fast issue tracking that deserves fast automation. Put an agent between them and the hand-off stops being manual: it reads, decides, acts, and shows its work.

Install Meeting Follow-Through → Get AGNT free

Meeting Follow-Through already works across Jira and Linear — free, and it runs on your machine.

Automations teams run

These are not field mappings. An agent reads the Jira side, works out what it means, and only then decides what — if anything — should happen in Linear.

When an issue is created or transitions in Jira…

…an agent can create issues with full context in Linear — after reading the context and deciding it should.

When a sprint starts in Jira…

…an agent can update status and assignees in Linear — after reading the context and deciding it should.

When a priority changes in Jira…

…an agent can write cycle summaries in Linear — after reading the context and deciding it should.

When an issue is created in Linear…

…an agent can create and update issues in Jira — with the reasoning recorded in the run’s receipt.

When a status changes in Linear…

…an agent can transition tickets with comments in Jira — with the reasoning recorded in the run’s receipt.

When a cycle ends in Linear…

…an agent can summarise sprint state in Jira — with the reasoning recorded in the run’s receipt.

Copy this Jira → Linear workflow

Start with a custom-api call to {yoursite}.atlassian.net and a custom-api call to api.linear.app. Configure the Jira source payload, the agent input, and the Linear operation. The sequential template does not implement conditional writes or approval by itself.

Jira to Linear: run on a schedule → review source and draft → call linear TRIGGER trigger-timer Run on a schedule Configure activation ACTION agnt-agent Review source and draft Configure inputs ACTION custom-api Call Linear Configure inputs
Setup template for Jira and Linear; verify data mapping and authorization using test accounts.
Jira → LinearSetup template · configure before activation

This is a schema-checked starting point, not an end-to-end tested automation. Replace every CONFIGURE_ value, choose the operations you intend, connect credentials and map source outputs into later inputs. An edge orders steps; it does not supply a condition, an approval gate or a field mapping. Add and test those controls explicitly before any write. Cloud APIs and model providers may receive data. Keep the workflow inactive until tested with fixtures.

{
  "id": "473c831a-ff5d-4461-a2a9-f6cd24a4d57e",
  "name": "Jira → Linear",
  "nodes": [
    {
      "id": "42da5bf2-6cf9-4214-a484-6f8838cfaa80",
      "text": "Run on a schedule",
      "x": 512,
      "y": 144,
      "isEditing": false,
      "type": "trigger-timer",
      "icon": "connect",
      "category": "trigger",
      "isSelected": false,
      "parameters": {
        "fireOnStart": "No",
        "scheduleType": "Interval",
        "schedule": "Every 15 Minutes"
      },
      "description": "Setup template for Timer Trigger. This trigger node fires the workflow at specified intervals or at a specific time. Configure credentials, inputs and output mapping before use.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    },
    {
      "id": "b9e80521-8192-4ce4-a7fc-7db599c03c10",
      "text": "Review source and draft",
      "x": 512,
      "y": 336,
      "isEditing": false,
      "type": "agnt-agent",
      "icon": "connect",
      "category": "action",
      "isSelected": false,
      "parameters": {
        "agentId": "CONFIGURE_AGENTID",
        "message": "Read the Jira item. Decide whether it warrants action in Linear, and explain why.\nSource input: CONFIGURE_SOURCE_INPUT. Produce a reviewable draft only; do not take external actions."
      },
      "description": "Setup template for Agent Chat. Chat with an AI agent from your agent library. Select an agent and send messages to interact with it within your workflow. Configure credentials, inputs and output mapping before use.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    },
    {
      "id": "683dde4c-1de8-4ce8-ac4b-0018e1d21674",
      "text": "Call Linear",
      "x": 512,
      "y": 528,
      "isEditing": false,
      "type": "custom-api",
      "icon": "connect",
      "category": "action",
      "isSelected": false,
      "parameters": {
        "url": "https://api.linear.app/graphql",
        "method": "GET",
        "authType": "None",
        "query": "",
        "headers": "{}"
      },
      "description": "Setup template for Custom API Request. This action node makes a custom API request to any endpoint with configurable method, headers, and authentication. Configure credentials, inputs and output mapping before use.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    }
  ],
  "edges": [
    {
      "id": "2fe60618-fcfa-4b2b-ac49-cf19dfd76266",
      "start": {
        "id": "42da5bf2-6cf9-4214-a484-6f8838cfaa80",
        "type": "output"
      },
      "end": {
        "id": "b9e80521-8192-4ce4-a7fc-7db599c03c10",
        "type": "input"
      },
      "startX": 800,
      "startY": 168,
      "endX": 512,
      "endY": 360
    },
    {
      "id": "b271639e-81ee-4f58-a609-1f429b349bc0",
      "start": {
        "id": "b9e80521-8192-4ce4-a7fc-7db599c03c10",
        "type": "output"
      },
      "end": {
        "id": "683dde4c-1de8-4ce8-ac4b-0018e1d21674",
        "type": "input"
      },
      "startX": 800,
      "startY": 360,
      "endX": 512,
      "endY": 552
    }
  ],
  "zoomLevel": 1,
  "canvasOffsetX": 0,
  "canvasOffsetY": 0,
  "isTinyNodeMode": false
}

Configure Custom API Request

This action node makes a custom API request to any endpoint with configurable method, headers, and authentication.

  • url — The URL of the API endpoint Current example: https://api.linear.app/graphql.
  • method — The HTTP method for the request Current example: GET.
  • authType — The type of authentication Current example: None.
  • query — Query parameters for the request (e.g., 'key1=value1&key2=value2') Current example: .
  • headers — Optional headers for the request. e.g., {"Content-Type": "application/json"} Current example: {}.

Install Meeting Follow-Through

Meeting Follow-Through already uses both Jira and Linear, 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

Build it in AGNT

  1. Download AGNT Community Core — free and local-first.
  2. Connect Jira with one OAuth sign-in and Linear with an API key pasted into the vault; both land in the local vault.
  3. Start from a marketplace workflow, or drop a custom-api node and a custom-api node onto the canvas with an agent between them.
  4. Put an approval gate on anything consequential, then run it — the receipt shows what was read in Jira and what was written to Linear.

Jira and Linear — common questions

Can I connect Jira to Linear without writing code?

No code is required. Add both connections in the vault (Jira uses one OAuth sign-in, Linear uses an API key pasted into the vault), 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 Jira to Linear automation?

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

Does my Jira and Linear 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 Jira, Linear and whichever model you chose — and pointing that at Ollama or LM Studio keeps everything on your hardware.

What does a Jira and Linear run leave behind?

A receipt: what was read in Jira, which tools ran with which arguments, what the agent concluded, and what it wrote to Linear. Anything consequential can sit behind an approval gate so a person signs off before it happens.

Give AI a job. Get the proof.