Project mgmt × CRM
AsanaSalesforceAGNT

Automate Asana + Salesforce

Team tasks, due dates and the follow-through between them. The enterprise system of record for revenue. 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 Salesforce 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 Salesforce.

When a task is created or completed in Asana…

…an agent can update records and fields in Salesforce — after reading the context and deciding it should.

When a due date nears in Asana…

…an agent can create tasks and notes in Salesforce — after reading the context and deciding it should.

When a project updates in Asana…

…an agent can extract report data in Salesforce — after reading the context and deciding it should.

When a lead or opportunity changes in Salesforce…

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

When a task is due in Salesforce…

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

When a report cycle begins in Salesforce…

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

The Asana and Salesforce hand-off, setup template

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

Asana to Salesforce: run on a schedule → review source and draft → call salesforce TRIGGER trigger-timer Run on a schedule Configure activation ACTION agnt-agent Review source and draft Configure inputs ACTION custom-api Call Salesforce Configure inputs
Setup template for Asana and Salesforce; verify data mapping and authorization using test accounts.
Asana → SalesforceSetup 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": "22c0282c-1615-4749-a10f-27c97df86aa2",
  "name": "Asana → Salesforce",
  "nodes": [
    {
      "id": "de3acbbd-ad21-422e-a8fc-ebf561894408",
      "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": "480626a9-7f09-4d41-afff-5ff6ea7e5256",
      "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 Salesforce, 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": "fb8b35e7-63c0-4a62-a921-ff6d0742780c",
      "text": "Call Salesforce",
      "x": 512,
      "y": 528,
      "isEditing": false,
      "type": "custom-api",
      "icon": "connect",
      "category": "action",
      "isSelected": false,
      "parameters": {
        "url": "https://{instance}.my.salesforce.com/services/data/v59.0/sobjects/Contact",
        "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": "be2c413c-a479-48c5-ad33-1c8bd9ea6dfa",
      "start": {
        "id": "de3acbbd-ad21-422e-a8fc-ebf561894408",
        "type": "output"
      },
      "end": {
        "id": "480626a9-7f09-4d41-afff-5ff6ea7e5256",
        "type": "input"
      },
      "startX": 800,
      "startY": 168,
      "endX": 512,
      "endY": 360
    },
    {
      "id": "488ef5dd-7ae2-4b12-a0aa-55d1d246ab9c",
      "start": {
        "id": "480626a9-7f09-4d41-afff-5ff6ea7e5256",
        "type": "output"
      },
      "end": {
        "id": "fb8b35e7-63c0-4a62-a921-ff6d0742780c",
        "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://{instance}.my.salesforce.com/services/data/v59.0/sobjects/Contact.
  • 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 is a working agent built around Asana. Install it, point its last step at Salesforce, 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 Salesforce with one OAuth sign-in; 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 Asana and what was written to Salesforce.

Asana and Salesforce — common questions

Can I connect Asana to Salesforce without writing code?

No code is required. Add both connections in the vault (Asana uses one OAuth sign-in, Salesforce 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 Asana to Salesforce 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 Salesforce. Deciding to do nothing is a valid outcome, which no mapping can express.

Does my Asana and Salesforce data leave my machine?

Your credentials stay in a vault on your own disk rather than in someone else’s cloud. The only calls made are the ones the workflow needs: Asana, Salesforce, and your chosen model provider — which can be a local one.

What does a Asana and Salesforce run leave behind?

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