Can script actions make requests to 3rd party APIs?

No, script actions can only be used to make API calls to Asana’s API. If you are interested in using scripts to perform 3rd party API calls, let us know by filling out this feedback form.

What are the script action rate limits?

Scripts are rate limited per user of the “Scripts by Asana” app. Each individual rule creator must authorize the app and would be considered an app user. Read more about how Asana rate limits.

How does a Super Admin block script actions?

A Super Admin on Enterprise+ can block the “Scripts by Asana” app which will block all users from being able to authorize the app within the workspace. In short, when the app is blocked by the Super Admin from the Admin Console, no user in the workspace can use the script actions feature.

When does a script action timeout?

A script action has a timeout of 30s.

What about automation limits?

On the Enterprise and Enterprise+ tier there are no caps on the amount of rules a workspace can run. Read more about any rule based usage limits.

What about other programming languages?

Currently, we only have support for Javascript via our Node v3 client library.

What do the error messages mean?

By default, when a script succeeds we will show the success message and a runtime result. When an error occurs, you can expect to see any specified logs.

Why am I not seeing an error?

If your script appears to be running, and you are not seeing the expected output but you are also not seeing an Error in your run history, perhaps you have implemented or are using an example with a try and catch. This statement will continue to execute the script even if errors are found. Try removing the try catch to expose the error.

What Asana resource instances can I use?

Script action supports instance with the following naming convention *ApiInstance or *Api. For example, the following resources instances work with script actions: tasksApiInstance or TaskApi.

📘

NOTE

For the *Apiresource the resource itself is in title case. EX: ProjectsApi

For the *ApiInstance resource the resource itself is in camel case. EX: projectsApiInstance

Example 1:

const task = await tasksApiInstance.getTask(task_gid);

Example 2:

const task = await TasksApi.getTask(task_gid);