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.
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
When a task is added or someone comments in your Asana project, Asana tells ClickRuntime straight away.
ClickRuntime looks up the task or comment to get the name, author and text.
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
Build your own
Need it to work differently?
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
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?
Does it show who wrote the comment?
Will a webhook cover all projects in my workspace?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Create Asana tasks from anything you send
Text sent to your link becomes a task in your Asana inbox project, ready to sort later.
See how it worksTurn app errors into Asana tasks
Each new error becomes a task with a likely cause and a suggested fix, and repeats of the same error are skipped.
See how it worksTurn support requests into prioritised Asana tasks
Each request from your form becomes a task with a priority and summary, and your team sees it in Slack.
See how it worksKeep exploring
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.