Skip to main content

I’ve been trying to solve this thing for almost a month, coming from notion, and now asana because somehow asana offers a rule when due date is approaching, but unfortunately, it doesn’t apply to custom fields.

Here’s some context on what I’m trying to solve:
From asana, basically I want the same feature that the due date rule offers, but instead on the due date, I want it to run on a custom field with the date on it.

I basically want to send a slack message on a specified channel to remind everyone about the said date, for example, “asset deadline” is almost due.

And I basically want this to function on each task on all projects in the workspace. Like a workspace-wide kind of monitoring thing.

Based on the screenshot above, so far, I have come up with a scheduled trigger, don’t mind the by every hour, it’s supposed to be every day, and it finds a static task in asana where it will extract the custom field’s date. Right away, it’ll be updated to 3 days forward for tomorrows’ cycle. Next is the API request, where I try to filter all tasks that contains the extracted date from the find task, however the problem I’ve been facing is that the API completely ignores the condition, and it extracts everything without exception, for as long as that custom field date exists in a task, it will be dragged on the data output.

Hi @ZachPcs24 

Can you please clarify what your question is?

For us to have more context, we would need to see how your Zap step doing the API request is configured in EDIT mode.


Hi @Troy Tessalone ,

The Api Request looks like this


Don’t mind the filter condition below the API request, coz I only put it there since I can’t make the API just filter the referenced date I extracted from the Find Task ID step.


@ZachPcs24 

Asana API endpoint documentation: https://developers.asana.com/reference/searchtasksforworkspace

 

The URL field value should be everything before the ? for the link.

The Query String Params section should be each key/value pair that are after the ? for the link which are separated by &

 

You may need to extract the Date value from the Custom Fields value array.

Formatter > Text > Default Value

See screenshot below.

 

You need to know the Custom Field GID (Asana Internal ID for the Field)

See screenshot below and API endpoint docs.

 

TIP: You can ask ChatGPT for help structuring the API request.

 

 

 


The Gid based on my understanding is some kind of static ID of one specific field. So supplying one gid for that custom field would only return one output.

 

But I needed all the tasks that has the similar date as the extracted data.

 

As per the documentation, searching for multiple exact matches is not supported?


@ZachPcs24 

Appears as so

 


@ZachPcs24

Seems like the approach would have to be more like this with API requests:

  • Run on a schedule
  • Find all Asana Projects
  • Loop thru each Asana Project
  • Find the GID for the Custom Field (Date) in each Asana Project
  • Search for Tasks within each Asana Project by the Custom Field (Date)
  • Loop thru each Project Task
  • Filter
  • Send Slack Channel Message

 

NOTES

  • Asana API pagination may come into play (e.g. max 100 results per page)
  • May have to add Delays to conform to Asana API request limits
  • Could be Task intensive and waste full just to determine the few Tasks to actually process

It seems a lot can go wrong but worth trying. I'll give a shot tomorrow. Thanks!!!


@ZachPcs24 

The approach I outlined requires a solid understanding of APIs, Code, Webhooks, Looping, Arrays.