Over the coming weeks, our site will be refreshed with our new brand look while remaining fully operational.

Asana Script Actions

Unlock the power of Asana rules with custom Script Actions

While native Asana rules are powerful, our Script Actions and custom snippets offer additional flexibility for your workflows. These ready-to-use scripts stay native to Asana, making it easy to automate repetitive tasks, streamline approvals, and enhance productivity.

Need something specific? Reach out to bastien@ido-clarity.com  for custom snippets.

How To Use Our Asana Script Actions

Follow these simple steps to implement Script Actions and custom snippets in your Asana workflows. Designed to work seamlessly with Asana’s native rule system, our Script Actions help you automate tasks, streamline approvals, and customize workflows without complexity.

👉 Want to dive deeper? Check out Asana’s official guide on how to write a Script Actions script.

1- Create an Asana native rule

Set up a new rule in your Asana project or workspace

2- Add an action

Select "Do this" in your rule configuration

3- Navigate to "External action"

Choose external action from the action types

4- Choose "Run script"

Select the run script option for custom automation

5- Paste any snippet below

Copy and paste the desired script from our collection

Create Rule

When: Task is created
Then: Add action (do this)
External action
Run script
Script Code
async function run() {
// Paste your snippet here
// Custom automation logic
}

Asana Script Actions Collection

Explore our ready-to-use Script Actions designed to enhance your Asana workflows. These custom snippets let you duplicate tasks, manage approvals, mark milestones, and automate repetitive steps with ease.

Just copy, paste, and implement them directly into your Asana rules.

#1 – Duplicate

Duplicate an entire task including the assignee, attachments, dates, dependencies, followers, notes, parent, projects, subtasks and tags.


async function run() {
  const triggeringTask = await
tasksApiInstance.getTask(task_gid);

  await tasksApiInstance.duplicateTask({
   data:{
    name: triggeringTask.data.name + ' [duplicate]',
    include: "assignee, attachments, dates, dependencies, followers, notes, parent, projects, subtasks, tags"
   }
  }, task_gid)
}
run();

#2 – Cancel

Turn a task into an approval and reject it to cancel.


async function run() {
  await tasksApiInstance.updateTask({
    data:{
      resource_subtype: 'approval',
      approval_status: 'rejected'
    }
  }, task_gid)
}
run();

#3 – Mark as approval

Mark a task as approval


async function run() {
  await tasksApiInstance.updateTask({
    data:{
      resource_subtype: 'approval'
    }
  }, task_gid)
}
run();

#4 – Mark as milestone

Mark as milestone


async function run() {
  await tasksApiInstance.updateTask({
    data:{
      resource_subtype: 'milestone'
    }
  }, task_gid)
}
run();

#5 – Mark as task

Turn a milestone or approval task back into a regular task


async function run() {
  await tasksApiInstance.updateTask({
    data:{
      resource_subtype: 'task'
    }
  }, task_gid)
}
run();

Free Premium Scripts

Advanced automation scripts available upon request. These scripts provide sophisticated workflow enhancements and custom logic.

  • #6 – Block by all subtasks
  • #7 – Append an emoji to a task name
  • #8 – Complete all subtasks
  • #9 – Notify about weekends
  • #10 – Dependant task
  • #11 – Project status update
  • #12 – Delete all subtasks
  • #13 – Remove task from collaborators
  • #14 – Detect a word
  • #15 – Generate a random number
  • #16 – Copy fields into subtasks

Advanced Script Actions Available on Request

Need more complex automation? We provide long Script Actions (over 50 lines) tailored to advanced Asana workflows.

Email bastien@ido-clarity.com to request a custom Script Action that fits your team’s needs.

*Disclaimer: Use these scripts at your own risk. i.DO assumes no liability or responsibility for any consequences resulting from their use.