With the launch of AI Studio in Asana, teams gained access to powerful automation tools that boost productivity and streamline workflows. But there’s a catch — every AI Studio action consumes credits, and for organizations scaling fast, that can become costly.
Fortunately, Asana introduced a game-changing feature: Script Actions (available exclusively on Enterprise plans). They let you build advanced automations without consuming AI credits, while also unlocking scenarios that were previously impossible.
In this article, you’ll learn:
- When a Script Action can replace AI.
- How Script Actions can work with AI Studio to reduce credit usage.
- New use cases that Script Actions make possible.
- Why Script Actions are now easier for everyone to use.
- A simple decision tree to help you choose between AI and Script Actions.
- A real story of how I saved 2 million AI Studio credits with one simple script.
⚙️ Example 1: Replacing (Some) Smart Conditions
AI Studio allows teams to set Smart Conditions — for example, “If a task meets certain criteria, then do X.”
However, every time this trigger runs, it consumes AI Studio credits, since the AI engine must analyze content to check the criteria.
Script Actions solution: when the condition is simple, a few lines of code can replicate the same logic.
Example: scanning hundreds of tasks each month for AI Studio to take action on only a few of them. Result: thousands of credits spent unnecessarily.
✅ Better approach: use a Script Action to handle the condition — same result, zero credits consumed.

🔄 Example 2: Sharing the Load with AI Studio
Script Actions don’t always have to replace AI Studio. Sometimes the most efficient strategy is to let them handle the heavy lifting, while keeping AI Studio focused on what truly requires intelligence.
Imagine a workflow where hundreds of incoming tasks need validation, enrichment, and triage:
- A Script Action manages all the structural work — parsing formats, checking fields, moving or tagging tasks.
- AI Studio steps in only when real reasoning is needed — such as interpreting text, prioritizing based on context, or summarizing a request.
The result:
- Script Actions handle deterministic logic.
- AI Studio provides understanding and natural language power.
- Credit consumption drops dramatically, while performance remains high.
💙 Pro tip: this hybrid model is often the most cost-efficient and scalable setup for Enterprise teams.

🚀 Example 3: Unlocking New Automation Scenarios
Script Actions aren’t just about saving AI Studio credits — they also unlock automation scenarios that were previously impossible in Asana.
You can now:
- Copy custom fields from a parent task into all its subtasks.
- Move a parent task only if a certain number of approvals is reached.
- Turn a task into a portfolio of projects after approval.
- Create conditional workflows that skip weekends.
All of these used to require complex workarounds or high credit consumption — now they’re achievable with a simple script.
🌍 Script Actions Are Now Accessible to Everyone
Here’s why this feature is revolutionary: you no longer need to be a developer to use it.
- Asana hosts the script directly — no need for external servers or integrations.
- With tools like ChatGPT, Gemini, or Claude, you can generate scripts in seconds.
- The built-in activity log tracks every execution, shows errors, and helps you improve your automations.
💙 Tip: Even non-technical teams can confidently create and manage their own scripts in Asana.
How to add a script action:

How to access the script action history (and error log):

🧭 Decision Tree: When to Use AI or Script Actions
Ask yourself:
Does my automation require reasoning or natural language processing?
- ✅ If yes → use AI Studio.
- ⚙️ If no → use Script Actions to save credits and boost speed.

This simple decision tree helps teams choose the right tool for the right task — keeping AI Studio credit usage under control.
💬 Real Story: How I Saved 2 Million AI Studio Credits
At i.DO, a simple AI Studio rule designed to classify tasks ended up consuming 2 million credits in one month.
- A simple I had set up to automatically classify my tasks ended up consuming 2 million credits in just one month…
- After our AI Studio features stopped, and we identified the responsible via the Admin Console, I realized a Script Action could achieve the same result.
- Script created in 5 minutes using ChatGPT
(Prompt: “Writes JavaScript (TypeScript-compatible) scripts for Asana’s “Run script” rule action. Convert the following condition into an Asana Script Action…” ) - The outcome: no credits consumed, and the workflow remained just as effective
A great example where Script Actions can be game changer, thus you can spend your credits where is the real added value of AI. See the AI Studio rule.
➡️ Replaced by that simple script:
async function run() {
log("▶️ Triage started (title-only version)");
// 1) Fetch task details (only task name this time)
const taskRes = await tasksApiInstance.getTask(task_gid, {
opt_fields: "name"
});
const task = taskRes.data;
const taskName = task.name || "";
log(`Task: ${taskName}`);
log(`project_gid (from env): ${project_gid}`);
// 2) Resolve section GIDs by name in the current project
log("Fetching sections for the project to resolve GIDs by name…");
const sectionsRes = await sectionsApiInstance.getSectionsForProject(project_gid, {
opt_fields: "name"
});
const sections = sectionsRes.data || [];
const byName = new Map(sections.map(s => [s.name, s.gid]));
log(`Sections found: ${sections.length}`);
const SESSIONS_NAME = "📆 Sessions / clients";
const sessionsGid = byName.get(SESSIONS_NAME);
if (!sessionsGid) {
log(`⚠️ Missing section: "${SESSIONS_NAME}"`);
}
// Helper to place task in a specific section of this project
async function moveToSection(sectionGid, sectionLabel) {
log(`➡️ Moving to "${sectionLabel}" (section_gid: ${sectionGid}) via addProjectForTask`);
// IMPORTANT: body FIRST, then task_gid
await tasksApiInstance.addProjectForTask({
data: { project: project_gid, section: sectionGid }
}, task_gid);
log(`✅ Move completed → "${sectionLabel}"`);
}
// 3) Rule — icons in title → Sessions/clients
const matchesRule =
taskName.includes("📆") || taskName.includes("📅") || taskName.includes("👤");
if (matchesRule) {
if (!sessionsGid) {
log("❌ Rule matched but destination section not found. No move.");
return;
}
log(`✅ Rule matched (based on task title)`);
await moveToSection(sessionsGid, SESSIONS_NAME);
return;
}
// 4) Nothing to do
log("ℹ️ Task did not meet any rule → No move performed.");
}
run();
🧩 Key Recommendations
At i.DO, we run over 30 AI Studio rules daily and see incredible value.
But optimization is key. Here’s what we learned:
- Use Script Actions for simple or repetitive logic.
- Reserve AI Studio for workflows that need real reasoning or language understanding.
- Start small: test a few workflows, then scale.
- Use ChatGPT, Claude, or Gemini to generate and refine your Script Actions.
- Consider upgrading to Asana Enterprise — Script Actions alone can justify it.
By combining AI Studio and Script Actions wisely, you’ll build smarter automations, reduce costs, and get the best ROI from your Asana setup.
References and next steps
i.DO Script Action gallery: ready-to-use examples you can try immediately.
- Great how-to (developer page): How to write a Script Action script
📞 Ready to Optimize Your Workflows?
Want help setting up your first Script Action or designing a credit-efficient AI automation system?
👉 Contact our team at i.DO — we help organizations make the most of Asana’s advanced features.
Unlock the full potential of your Asana licenses with the help of i.DO. Enjoy all our additional benefits: unlimited support, expert content, live Q&A sessions, and much more. Click here to learn more about it!