Skip to main content

Hi everyone,

I’m exploring the possibility of automating the process of syncing Slack thread messages with Asana tasks using Zapier. Specifically, I want to:

  1. Create a task in Asana, send it to Slack, and have a bot automatically detect related Slack threads, then sync all replies in that thread as comments on the same task in Asana in real-time.

  2. Additionally, I’d like to know if it’s possible to connect already existing Slack threads to specific tasks in Asana and automatically update future messages in those threads to the Asana task.

Has anyone set up a similar automation? If so, is this possible with Zapier, and could you share a step-by-step guide or any insights on how to configure this? Any advice or tips would be greatly appreciated!

Thanks in advance!

Hi @Basic 

You can easily send a Slack Channel Message for a new Asana Task.

Then you’d need another that to detect a new message posted to a Slack Channel.

Determine if the message is a thread message.

If it’s a thread message, then determine the parent message.

Parse the parent message to get the Asana Task ID from the Asana Task link.

Create a Comment on the Task.

 


Hi there @Basic, welcome to the Community! 🎉

How are you getting on with implementing Troy’s suggestions here? Were you able to get the desired workflows between Slack and Asana set up?

If you’re a little stuck or if there’s anything else we can help with just let us know - keen to help get things up and running! 🙂


@Troy Tessalone @SamB  Thank you both for your helpful suggestions and support. I apologize, but I haven't been able to successfully implement the automation as described in Troy's initial response.

I'm trying to achieve one of two automations (ideally the first one):

  1. Synchronization of Slack communication with Asana tasks: This would involve automatically adding messages from Slack threads related to a task as comments in the corresponding Asana task. The goal is to centralize all task-related communication in Asana, making it easier to track progress, respond to issues, and keep all information in one place.
  2. Automatic addition of Slack thread links to Asana tasks: This automation would automatically add a link to the relevant Slack thread in the Asana task when the task description is shared on Slack. This would allow for easy navigation between Asana and Slack, saving time and reducing errors from manual searching.

I'm still having trouble setting up either of these automations. Any further guidance or step-by-step instructions would be greatly appreciated. I'm particularly unsure about how to connect Slack and Asana in a way that allows for this kind of data transfer between the two platforms.


No worries @Basic, happy to help further on this! 😁

The approach I’d take would be to store a record of the task’s ID and corresponding message thread ID (timestamp) in a third party app. Something like Zapier Tables could work well for this. And there’s a Is Thread field that’s only present when the message is part of a thread so if you use a filter to check whether that field exists you can then add the comment in Asana. 

Here’s an outline of the triggers and actions I’m thinking of:
 

Zap 1 - posts a message in Slack when a new task is created in Asana and adds the Slack thread to the task

  • Trigger: New Task (Asana) - runs whenever a new task is added in Asana.
  • Action: Send Channel Message (Slack) - posts a message on Slack with a link to the Asana task (set to post the message as a bot).
  • Action: Create Record (Zapier Tables) - stores a record of the Slack message’s timestamp (Ts) and the corresponding task ID. 
  • Action: Create Comment/Story (Asana) - adds a comment to the existing task in Asana with a link to the Slack thread that was created. Note: In the Task ID field use the Custom value option to select the task ID from the New Task trigger.

That should ensure that new Asana tasks are added as a new message in Slack with a link to the Asana task and a link to the Slack thread is added to the task.

 

Zap 2 - creates a reply to the task message in Asana 

  • Trigger: New Message Posted to Channel (Slack) - runs whenever a new message is posted in a specific Slack channel (set to disregard bot messages).
  • Action: Only continue if… (Filter by Zapier) - only allows the Zap to continue if the Is Thread field Exists (meaning that a value exists for this field) so it will only continue for messages in a thread. See: Add conditions to Zaps with filters.
  • Action: Find Record (Zapier Tables) - searches based on the timestamp in the Thread TS field, which should match the timestamp of the original message that started the thread, to get the task ID.
  • Action: Create Comment/Story (Asana) - adds a comment to the existing task in Asana with text from the Slack message that triggered the Zap. Note: In the Task field use the Custom value option to select the task ID found by the previous Find Record action.

And this Zap should ensure that any replies in the task message threads will be added as comments on the relevant tasks in Asana.

Alternatively, instead of using a Find Record action you could parse the task link from the Slack message using a Retrieve Thread Messages (Slack) action followed by an action to extract the task link from the parent Slack message (like a Formatter (Text > Extract Pattern) action or a ChatGPT action etc.), but that would use an extra task to by retrieving the thread messages. Whereas Tables actions don’t cost any tasks when they’re run.


Hope that helps to get you started. If I’ve misunderstood what you’re after here or you run into any trouble on setting this up do let us know!