Project mgmt × Project mgmt
AsanaJiraAGNT

Automate Asana + Jira

Team tasks, due dates and the follow-through between them. The ticket system of record for engineering work. 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 Asana and Jira — free, and it runs on your machine.

Automations teams run

Each of these runs with a reasoning step between the two tools, so what reaches Jira is a decision about the Asana event rather than a transcription of it.

When a task is created or completed in Asana…

…an agent can create and update issues in Jira — after reading the context and deciding it should.

When a due date nears in Asana…

…an agent can transition tickets with comments in Jira — after reading the context and deciding it should.

When a project updates in Asana…

…an agent can summarise sprint state in Jira — after reading the context and deciding it should.

When an issue is created or transitions in Jira…

…an agent can create tasks with owners in Asana — with the reasoning recorded in the run’s receipt.

When a sprint starts in Jira…

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

When a priority changes in Jira…

…an agent can roll up project summaries in Asana — with the reasoning recorded in the run’s receipt.

Asana to Jira, setup template

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

Asana to Jira: run on a schedule → review source and draft → call jira TRIGGER trigger-timer Run on a schedule Configure activation ACTION agnt-agent Review source and draft Configure inputs ACTION custom-api Call Jira Configure inputs
Setup template for Asana and Jira; verify data mapping and authorization using test accounts.
Asana → JiraSetup 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": "c5e08f87-8ab4-4df4-ad16-1b19d8aef904",
  "name": "Asana → Jira",
  "nodes": [
    {
      "id": "f2b1dd14-2aa2-427d-a78c-06ebf59ba1ee",
      "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": "9187b2b9-e026-4fc8-a3cb-5cb1a646b188",
      "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 Asana item. Decide whether it warrants action in Jira, 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": "d60860a1-31c4-45af-a9d5-7b7aee3b7612",
      "text": "Call Jira",
      "x": 512,
      "y": 528,
      "isEditing": false,
      "type": "custom-api",
      "icon": "connect",
      "category": "action",
      "isSelected": false,
      "parameters": {
        "url": "https://{yoursite}.atlassian.net/rest/api/3/issue",
        "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": "60ed0ded-7bae-418c-ae6f-e7a737e2f34c",
      "start": {
        "id": "f2b1dd14-2aa2-427d-a78c-06ebf59ba1ee",
        "type": "output"
      },
      "end": {
        "id": "9187b2b9-e026-4fc8-a3cb-5cb1a646b188",
        "type": "input"
      },
      "startX": 800,
      "startY": 168,
      "endX": 512,
      "endY": 360
    },
    {
      "id": "dff77169-2108-49e7-a60a-6ebc985bbe72",
      "start": {
        "id": "9187b2b9-e026-4fc8-a3cb-5cb1a646b188",
        "type": "output"
      },
      "end": {
        "id": "d60860a1-31c4-45af-a9d5-7b7aee3b7612",
        "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://{yoursite}.atlassian.net/rest/api/3/issue.
  • 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 Asana and Jira, 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

What building this looks like

  1. Get AGNT Community Core. Free, local, no sign-up needed to run a workflow.
  2. Add both connections to the vault — Asana takes one OAuth sign-in, Jira takes one OAuth sign-in.
  3. Configure the nodes above, or start from a marketplace workflow and edit it. The agent in the middle is the part worth spending time on.
  4. Run it once with an approval gate in place. The receipt tells you what it read, what it concluded, and what it changed in Jira.

Asana and Jira — common questions

Can I connect Asana to Jira without writing code?

Yes. Asana connects with one OAuth sign-in and Jira with one OAuth sign-in, both from the local credential vault. You then describe the job in plain language — “when a task is created or completed, create and update issues” — and the agent handles the rest.

How is this different from a field-mapping Asana to Jira automation?

A field mapping copies values and breaks on the first record nobody anticipated. The middle step here reads the Asana item in full and decides — whether it matters, how to summarise it, and what belongs in Jira. Deciding to do nothing is a valid outcome, which no mapping can express.

Does my Asana and Jira data leave my machine?

AGNT Community Core is local-first, so there is no vendor middleman holding your Asana or Jira tokens. The runtime talks directly to both services. Choose a local model and the content of what it reads never leaves the machine at all.

What does a Asana and Jira run leave behind?

Every run is recorded end to end — the Asana items examined, the decision and its reasoning, the resulting Jira 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.