Project mgmt × Development
AsanaGitHubAGNT

Automate Asana + GitHub

Team tasks, due dates and the follow-through between them. Where the code — and half the process — lives. 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 is a ready-made agent built around Asana; point its last step at GitHub to finish this hand-off.

Automations teams run

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

When a task is created or completed in Asana…

…an agent can comment on PRs and issues in GitHub — after reading the context and deciding it should.

When a due date nears in Asana…

…an agent can open issues with structured detail in GitHub — after reading the context and deciding it should.

When a project updates in Asana…

…an agent can draft release notes in GitHub — after reading the context and deciding it should.

When a PR opens or merges in GitHub…

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

When an issue is filed in GitHub…

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

When a release is cut in GitHub…

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

Copy this Asana → GitHub workflow

Start with a custom-api call to app.asana.com and the github-api node. Configure the Asana source payload, the agent input, and the GitHub operation. The sequential template does not implement conditional writes or approval by itself.

Asana to GitHub: run on a schedule → review source and draft → configure destination in github TRIGGER trigger-timer Run on a schedule Configure activation ACTION agnt-agent Review source and draft Configure inputs ACTION github-api Configure destination in GitHub Configure inputs
Setup template for Asana and GitHub; verify data mapping and authorization using test accounts.
Asana → GitHubSetup 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": "ebf7fd96-959c-4f37-a836-92313edbf816",
  "name": "Asana → GitHub",
  "nodes": [
    {
      "id": "14c49786-bf90-4be0-a408-55c8571ec3c8",
      "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": "88fa17bc-274b-4ec7-ad4d-2c43945eaf1a",
      "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 GitHub, 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": "31c39896-d6b5-471e-afc1-7636d0758954",
      "text": "Configure destination in GitHub",
      "x": 512,
      "y": 528,
      "isEditing": false,
      "type": "github-api",
      "icon": "connect",
      "category": "action",
      "isSelected": false,
      "parameters": {
        "action": "GET_AUTHENTICATED_USER",
        "owner": "CONFIGURE_OWNER",
        "repo": "CONFIGURE_REPO"
      },
      "description": "Setup template for GitHub API. Interact with GitHub: repos, branches, files, issues, comments, pull requests, reviews, releases, Actions/CI, and search. Configure credentials, inputs and output mapping before use.",
      "error": null,
      "isActive": false,
      "output": null,
      "outputs": {}
    }
  ],
  "edges": [
    {
      "id": "f0f52df7-969c-4adf-a744-7aec4741e562",
      "start": {
        "id": "14c49786-bf90-4be0-a408-55c8571ec3c8",
        "type": "output"
      },
      "end": {
        "id": "88fa17bc-274b-4ec7-ad4d-2c43945eaf1a",
        "type": "input"
      },
      "startX": 800,
      "startY": 168,
      "endX": 512,
      "endY": 360
    },
    {
      "id": "8f75e98f-9cc7-430e-afd7-4143f6c13b44",
      "start": {
        "id": "88fa17bc-274b-4ec7-ad4d-2c43945eaf1a",
        "type": "output"
      },
      "end": {
        "id": "31c39896-d6b5-471e-afc1-7636d0758954",
        "type": "input"
      },
      "startX": 800,
      "startY": 360,
      "endX": 512,
      "endY": 552
    }
  ],
  "zoomLevel": 1,
  "canvasOffsetX": 0,
  "canvasOffsetY": 0,
  "isTinyNodeMode": false
}

Configure GitHub API

Interact with GitHub: repos, branches, files, issues, comments, pull requests, reviews, releases, Actions/CI, and search.

  • action — The action to perform on GitHub Current example: GET_AUTHENTICATED_USER.
  • owner — The owner of the repository (not needed for account-level or search actions) Current example: CONFIGURE_OWNER.
  • repo — The name of the repository (for CREATE_REPO: the name of the new repository) Current example: CONFIGURE_REPO.

Install Meeting Follow-Through

Meeting Follow-Through is a working agent built around Asana. Install it, point its last step at GitHub, and you have this hand-off without building it from an empty canvas.

Runs on your own machine · See what it does

Build it in AGNT

  1. Download AGNT Community Core — free and local-first.
  2. Connect Asana with one OAuth sign-in and GitHub with one OAuth sign-in; both land in the local vault.
  3. Start from a marketplace workflow, or drop a custom-api node and github-api 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 Asana and what was written to GitHub.

Asana and GitHub — common questions

Can I connect Asana to GitHub without writing code?

Yes. Asana connects with one OAuth sign-in and GitHub 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, comment on PRs and issues” — and the agent handles the rest.

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

The difference shows up on the messy inputs. A rule chain needs every case enumerated in advance; an agent handles meeting decisions become assigned tasks the way a colleague would — reading the Asana context, judging it, then writing to GitHub with the reasoning recorded.

Does my Asana and GitHub data leave my machine?

AGNT Community Core is local-first, so there is no vendor middleman holding your Asana or GitHub 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 GitHub run leave behind?

You get an auditable trail rather than a success flag. It shows the Asana context the agent worked from, the judgment it made about first-pass review on every diff, and the exact change applied in GitHub, with approvals attached where you required them.

Give AI a job. Get the proof.