Integration reference
Asana Trigger and Action reference
Start from signed Asana project events and create, update, complete, organize, or comment on tasks.
Authentication
Connect an Asana account through OAuth and grant access to the required workspaces and projects.
- Trigger account type:
oauth2; reconnect byoauth. - Action connection type:
oauth2; available modes: Connected Asana account.
Create or reuse the account from a Trigger or Action dialog, or manage it under Settings → Connected accounts. See Authentication and permissions for scopes and access diagnostics, or Connected accounts for reuse, reconnect, revocation, and credential rotation.
Scopes and permissions
Base Trigger authorization requests: openid, email, profile, workspaces:read, projects:read, tasks:read, tasks:write, stories:write, users:read, webhooks:read, webhooks:write, webhooks:delete.
View 3 OAuth scopes used by current Actions
tasks:write, stories:write, tasks:read
View 3 provider permissions or credential requirements
tasks:write, stories:write, tasks:read
Operation-specific requirements appear in the tables below. Custom event selections can add scopes dynamically, so the current Trigger or Action dialog remains authoritative for the exact consent request.
Use Asana as a Trigger
The current provider manifest contains 18 available Trigger definitions. Representative definitions include:
- Task Added
- Task Changed
- Story or Comment Added
- Section Changed
- Project Changed
- Custom Project Events
View all 18 available Trigger definitions
| Trigger | Manifest key | Delivery | Additional scopes |
|---|---|---|---|
| Any Asana Project Event | asana.any_event.instant | instant | None declared |
| Custom Asana Project Events | asana.custom_webhook_events.instant | instant | None declared |
| Task Added | asana.task_added.instant | instant | None declared |
| Task Changed | asana.task_changed.instant | instant | None declared |
| Task Deleted | asana.task_deleted.instant | instant | None declared |
| Task Removed | asana.task_removed.instant | instant | None declared |
| Task Undeleted | asana.task_undeleted.instant | instant | None declared |
| Story or Comment Added | asana.story_added.instant | instant | None declared |
| Story or Comment Changed | asana.story_changed.instant | instant | None declared |
| Story or Comment Removed | asana.story_removed.instant | instant | None declared |
| Story or Comment Undeleted | asana.story_undeleted.instant | instant | None declared |
| Section Added | asana.section_added.instant | instant | None declared |
| Section Changed | asana.section_changed.instant | instant | None declared |
| Section Deleted | asana.section_deleted.instant | instant | None declared |
| Section Undeleted | asana.section_undeleted.instant | instant | None declared |
| Project Changed | asana.project_changed.instant | instant | None declared |
| Project Deleted | asana.project_deleted.instant | instant | None declared |
| Project Undeleted | asana.project_undeleted.instant | instant | None declared |
Choose the narrowest event definition that fits the Workflow. Configure provider-specific resource and event filters in the Source dialog before adding broader Workflow Filters.
Use Asana Actions
The current Action manifest contains 6 operations. Representative Actions include:
- Create Task
- Update Task
- Complete Task
- Add Comment
- Add Task to Project
- Custom API Request
View all 6 available Action definitions
| Action | Manifest key | Access and auth | Manifest rate limit |
|---|---|---|---|
| Create Task | asana.create_task | tasks:writeFastHook-managed account | 1/second |
| Update Task | asana.update_task | tasks:writeFastHook-managed account | 1/second |
| Complete Task | asana.complete_task | tasks:writeFastHook-managed account | 1/second |
| Add Comment | asana.add_comment | stories:writeFastHook-managed account | 1/second |
| Add Task to Project | asana.add_task_to_project | tasks:writeFastHook-managed account | 1/second |
| Custom API Request | asana.custom_api_request | tasks:readFastHook-managed account | 1/second |
The Action editor reads its required permissions, fields, remote resource pickers, output schema, and rate limit from the provider manifest. Available fields can change with the selected operation and authentication mode.
Build a Workflow
- Create a Source using a Asana Trigger definition.
- Create a Workflow with that Source as its Trigger.
- Add the required Asana Action and select the connected account.
- Map Trigger or earlier-Step data into the Action fields with the field picker.
- Add a Filter, Paths, Delay, or Transformation when the route needs it.
- Activate the Workflow, produce a controlled event, and verify the run in Audit and in Asana.
Troubleshooting Asana
- The account is missing or cannot be selected
- Confirm the active FastHook team, provider, account status, and authentication mode. A disabled or revoked account cannot execute an Action.
- A resource picker is empty
- Verify that the connected provider identity can access the resource itself. OAuth consent does not add workspace, repository, channel, drive, project, base, or record permissions.
- The editor asks for additional scopes
- Reconnect the same account from the affected Trigger or Action so FastHook can request its current manifest scopes. Then reopen the editor and select the resource again.
- An active Workflow returns 401, 403, or a permission error
- Compare the selected operation’s access requirements below with the account recorded in Audit. Check provider-side membership and object access before repeating the Action.
- The provider returns 429 or a temporary 5xx
- Inspect the Step attempt and retryability in Audit. FastHook can retry temporary failures, but provider quotas and idempotency rules still apply.
Provider-specific checks
- Each managed webhook is scoped to a selected project and a merged set of event filters.
- Asana can batch multiple events into one signed delivery; FastHook keeps the complete events array.
- Every Trigger exposes the resource name for cross-provider default mapping, while IDs are reused only when their resource type is proven.
- All 18 Trigger and 6 Action operations publish versioned schema.json contracts from a pinned official Asana OpenAPI source.