Skip to content

The moment it happens

Get Slack alerts for new Asana tasks and comments

As soon as a task is added or someone comments in your project, your team sees it in Slack.

Runs
The moment it happens
Apps
Asana
AI
Not needed
Access
read

Send this to your assistant

Create a ClickRuntime automation: post to #marketing in Slack whenever a task is created or someone comments on a task in my Asana Q3 Campaign project, with the task name and a link.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

A designer waiting on feedback keeps refreshing the Asana task. A project manager who needs to know when a client replies to a request is subscribed to so many tasks that email notifications blur into noise. Meanwhile an important comment, such as a stakeholder saying the launch date has moved, goes unread for a day because it sat in an inbox between two newsletters.

Asana sends events to ClickRuntime as they happen. ClickRuntime answers Asana's handshake when the webhook is created, then receives each task-added or comment event for your project, looks up the task name and comment text, and posts a message to Slack. The people watching that channel hear about the activity right away.

It fits teams that run client work in Asana and live in Slack during the day.

What you get out of it

  • Client replies get answered the same hour

    A comment from a customer on a task appears in Slack immediately, so the account manager responds while the customer is still online. Waiting a day for a reply costs goodwill.

  • Important changes are not buried in email

    Slack shows the task name and comment text in one line. A change such as a moved deadline is seen by the right people before they spend a day working on the old plan.

  • New tasks are noticed as they land

    When a teammate adds work to your project, the channel shows it. Nobody discovers a task three days later that was assigned to them in the middle of a busy week.

  • Notifications can be scoped to what matters

    Only the project you chose triggers messages, so you avoid the flood that comes from following everything. The team gets the signal without the noise of unrelated boards. You see only what matters.

  • Discussions can continue in Slack threads

    A quick reply to the alert keeps the short conversation in the channel, while the task remains the record of the decision. People pick the faster place without losing history.

How it works

What happens, step by step

  1. When a task is added or someone comments in your Asana project, Asana tells ClickRuntime straight away.

  2. ClickRuntime looks up the task or comment to get the name, author and text.

  3. A message goes to your Slack channel with who did what, the task name and a link.

Before it runs live

  • Connect Asana
  • Paste your automation's link into the other app's webhook settings

What you get

RunsThe moment it happens
Get Slack alerts for new Asana tasks and commentsjust nowSucceeded
Slack · #marketingJo on Acme launch email: Subject line approved, scheduling for Tuesday. app.asana.com/0/1207/1211

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • Your own rules

    Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.

  • Any number of apps

    One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.

  • AI where it helps

    Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.

  • On a schedule or on each event

    Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.

Changes you can ask for

  • Act only on the items that match your own rules, and skip the rest
  • Add an AI step, for example to summarize, sort or draft a reply
  • Add another app, for example also send it to Slack
  • Combine it with other Asana steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
new_task_comment_alerts_via_asana_webhook.pyexample
from clickruntime import on_event, http, credentials, notify

def asana(method, path, body=None, **params):
    r = http.request(method, f"https://app.asana.com/api/1.0{path}", params=params,
                     json={"data": body} if body else None,
                     headers={"Authorization": f"Bearer {credentials.secret('ASANA_TOKEN')}"})
    r.raise_for_status()
    return r.json().get("data")

@on_event
def handle(event):
    secret = event.header("X-Hook-Secret")
    if secret:  # Asana's handshake when the webhook is created
        return {"handshake": True}
    posted = 0
    for e in (event.json or {}).get("events", []):
        res = e.get("resource", {})
        if e.get("action") == "added" and res.get("resource_type") == "task":
            task = asana("GET", f"/tasks/{res['gid']}", opt_fields="name,permalink_url")
            notify.slack(f"New task: {task['name']}\n{task['permalink_url']}", channel="#marketing")
            posted += 1
        elif e.get("action") == "added" and res.get("resource_subtype") == "comment_added":
            story = asana("GET", f"/stories/{res['gid']}", opt_fields="text,created_by.name,target.name,target.permalink_url")
            notify.slack(f"{story['created_by']['name']} on {story['target']['name']}: {story['text'][:300]}\n"
                         f"{story['target']['permalink_url']}", channel="#marketing")
            posted += 1
    return {"posted": posted}

FAQ

Common questions

What is the handshake Asana requires?
When a webhook is created, Asana sends a request containing a secret header and expects it to be echoed back. ClickRuntime does this automatically, which is why the webhook can be confirmed without you writing code. Without that reply, Asana refuses to activate it.
Does it show who wrote the comment?
Yes. After receiving the event, ClickRuntime fetches the task and the comment from Asana, so the Slack message can include the author's name, the task title and the text. A link takes the reader straight to the task for context.
Will a webhook cover all projects in my workspace?
Asana webhooks are attached to a specific resource, such as one project or a task. For several projects, you register a webhook for each. Your AI assistant can set up the ones you need and post them all to the same channel.
What permissions does it need?
read. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run for each event the app sends.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Get Slack alerts for new Asana tasks and comments” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.