Hi everyone!
The Platform team is exploring initiatives around App Actors—giving agents, bots, and third-party apps their own unique, non-human identities within Asana.
Our main goals are to decouple integrations from human creator lifecycles (so things don’t break when a developer leaves the company) and, over time, build granular resource scopes directly into these App Actors so you can limit exactly what they can read, write, or create.
We know the community has come up with some incredibly creative workarounds using Personal Access Tokens (PATs), Service Accounts, or paying for “dummy” human user accounts to act as bots. We want to hear about your real-world friction points to make sure we design this solution to solve your actual day-to-day problems.
We’re looking for your use cases!
If you’ve run into limitations with PATs or Service Accounts, please reply and tell us about it. Specifically, we’d love to know:
-
The Orphaned Integration Problem: Have you ever had a critical business workflow or webhook silently crash because the employee who generated the PAT left the company or changed roles? How did you scramble to fix it?
-
The “Sacrificed Seat” Tax: Have you ever felt forced to purchase an extra Asana user license just to create a dummy account (like
asana-bot@company.com) to run your internal scripts safely? -
Security & Scoping Roadblocks: Has your IT or Security compliance team ever blocked an integration because a PAT or Service Account inherited “all-or-nothing” expansive permissions? What specific project-level or action-level limits do your security teams ask for?
-
Audit Trail Confusion: Do you have custom scripts where actions look like they were performed by a real human (the token owner) instead of the automation itself, causing confusion in the task story feed?
Whether you are building complex enterprise syncs, simple web-form intakes, or advanced AI agents, your feedback will directly shape how we build non-human identity into the Asana API.
Drop your stories, frustrations, and ideal workflows below! ![]()