Asana Integration with SmythOS
Want to put your project management on autopilot? Connect Asana to SmythOS and empower your agents to create projects, manage tasks, and track goals automatically.
List of Asana Components
Quickly compare Asana components by what they do and their key I/O. Click any component name to jump directly to its detailed guide.
Component | Action | What it Does | Inputs | Key Outputs | Use Case |
---|---|---|---|---|---|
Create Project | Write | Creates a new project in a specified workspace or team. | required workspace_gid , name | gid | Starting a new project when a client signs a contract. |
Create Task | Write | Creates a new task within a workspace. | required workspace_gid , name | gid | Automatically creating a "Follow Up" task after a sales call. |
Update Task | Write | Updates the details of an existing task. | required task_gid , Body | gid | Marking a task as complete from another system. |
Delete Task | Write | Permanently deletes a specific task. | required task_gid | Response | Cleaning up tasks that are no longer relevant. |
Get Task | Read | Retrieves the full details of a single task. | required task_gid | gid , name | Fetching task details to provide context to an agent. |
List Project Tasks | Read | Retrieves a list of all tasks within a specific project. | required project_gid | tasks | Generating a daily summary of all open tasks for a project. |
Get Project | Read | Retrieves detailed information about a specific project. | required project_gid | gid , name | Checking a project's status or members. |
Update Goal | Write | Updates the details of an existing goal. | required goal_gid , Body | gid , name | Updating the progress of a quarterly company goal. |
Prerequisites
Before you begin, please ensure you have the following:
- An active SmythOS account. (Sign up here).
- An Asana account.
- OAuth 2.0 credentials (
Client ID
andClient Secret
) from the Asana Developer Console.
Getting Started With Asana
The connection is handled via OAuth 2.0. This requires a one-time setup in the Asana Developer Console to get your credentials.
Step 1: Get Your OAuth 2.0 Credentials
- Go to the Developer Console: Log in to your Asana account and navigate to the Asana Developer Console.
- Create a New App: Click on + New App.
- Fill in Application Details:
- Give your application a Name (e.g., "SmythOS Workflow Agent").
- Redirect URL: Enter the SmythOS callback URL:
https://app.smythos.com/oauth/oauth2/callback
.
- Copy Your Credentials: Once created, you will be taken to the app's settings page. Here you will find your Client ID and Client Secret. Copy both values immediately.
Step 2: Store Your Credentials in SmythOS Vault
Your Client ID and Secret are sensitive credentials. Use the SmythOS Vault
to store them securely.
- In your SmythOS dashboard, navigate to the Vault.
- Create new secrets for your
Client ID
andClient Secret
, giving them memorable names likeasana_client_id
andasana_client_secret
. - For more details, see the Vault Documentation.
Step 3: Configure an Asana Component
- In your SmythOS agent graph, drag and drop any Asana component.
- Click the component to open its Settings panel.
- In the
Client ID
andClient Secret
fields, select the secrets you saved in the Vault. - Click Authenticate. You will be redirected to Asana to authorize the connection.
- Your connection is now ready to use across all Asana components.
Which Asana Component Should I Use?
If you need to… | Target | Use this Component | Why this one? |
---|---|---|---|
Create a new task for a team member | A workspace_gid and task name | Create Task | The primary method for adding new to-do items to Asana. |
Update the due date of a task | A task_gid | Update Task | Modifies specific fields of an existing task without overwriting it. |
Get all tasks for a specific project | A project_gid | List Project Tasks | Retrieves multiple tasks at once, scoped to a single project. |
Start a new project from scratch | A workspace_gid and project name | Create Project | The standard way to create a new project board, list, or timeline. |
Get the names and IDs of all users in your workspace | A workspace_gid | List Workspace Users | Useful for finding the correct GID to assign tasks to a user. |
Delete a task that is no longer needed | A task_gid | Delete Task | Permanently removes a task from Asana. |
Component Details
This section provides detailed information for each Asana component.
Create Project
Creates a new project within a specified team or workspace.
Component-Specific Settings
- Default View: Select the project's layout:
list
,board
,calendar
, ortimeline
.
Inputs
Field | Type | Required | Notes |
---|---|---|---|
workspace_gid | string | Yes | The Globally Unique Identifier (GID) of the workspace. |
name | string | Yes | The name of the new project. |
team_gid | string | Optional | The GID of the team to create the project in. |
Outputs
Field | Type | Description |
---|---|---|
gid | string | The GID of the newly created project. |
Response | object | The full, raw JSON response from the Asana API. |
Create Task
Creates a new task in a workspace, optionally assigning it to a project.
Component-Specific Settings
- Resource Subtype: Classify the task as
default_task
,milestone
,section
, orapproval
. - Approval Status: If it's an approval task, set its status (
pending
,approved
, etc.).
Inputs
Field | Type | Required | Notes |
---|---|---|---|
workspace_gid | string | Yes | The GID of the workspace for the task. |
name | string | Yes | The name/title of the task. |
notes | string | Optional | The description or body of the task. |
due_on | string | Optional | The due date in YYYY-MM-DD format. |
project_gid | string | Optional | The GID of the project to add this task to. |
Outputs
Field | Type | Description |
---|---|---|
gid | string | The GID of the newly created task. |
Response | object | The raw JSON response, containing the full new task object. |
Update Task
Updates specific fields of an existing task.
Component-Specific Settings
- Body: A JSON editor where you define the fields to update (e.g.,
{"notes": "New note.", "completed": true}
).
Inputs
Field | Type | Required | Notes |
---|---|---|---|
task_gid | string | Yes | The GID of the task to update. |
Outputs
Field | Type | Description |
---|---|---|
task_gid | string | The GID of the updated task. |
permalink_url | string | A direct URL to the task in the Asana app. |
Response | object | The raw JSON response, containing the full updated task object. |
List & Get Components
Includes a wide range of components like Get Project, Get Task, List Project Tasks, List Workspace Users, etc. These components are used to retrieve information from your Asana account.
Common Inputs
Field | Type | Required | Notes |
---|---|---|---|
project_gid | string | Varies | The GID of a project. |
task_gid | string | Varies | The GID of a task. |
section_gid | string | Varies | The GID of a section. |
workspace_gid | string | Varies | The GID of a workspace. |
Outputs
Field | Type | Description |
---|---|---|
data / tasks / etc. | array | An array of the requested resource objects (e.g., a list of tasks). |
gid , name | any | (For Get components) Specific details of a single retrieved resource. |
Response | object | The raw JSON response from the API. |
Delete Task
Permanently deletes a specific task.
Inputs
Field | Type | Required | Notes |
---|---|---|---|
task_gid | string | Yes | The GID of the task to be deleted. |
Outputs
Field | Type | Description |
---|---|---|
Response | object | A successful deletion returns an empty response. |
Headers | object | HTTP headers from the API response. |
Best Practices & Advanced Tips
- Secure Your Credentials: Always store your Asana
Client ID
andClient Secret
in the SmythOSVault
. - Use GIDs: Asana uses "Globally Unique Identifiers" (GIDs) for everything. You will often need to use a
List
component (e.g.,List Workspace Users
) to find the correct GID for a resource (like a user or project) before you can use it in another component. - Understand the Data Model: Asana's structure is hierarchical: Organizations contain Workspaces and Teams, which contain Projects, which contain Sections and Tasks. Understanding this structure is key to using the right GIDs in the right places.
- Use the
Body
for Updates: ForUpdate Task
andUpdate Goal
components, you must construct the JSON payload in theBody
setting. Refer to the official Asana API documentation for the correct schema.
Troubleshooting Common Issues
-
Error:
401 Unauthorized
/ Authentication Errors- Cause: Your
Client ID
orClient Secret
is incorrect, or the OAuth token has expired or been revoked. - Solution: Verify your credentials in the SmythOS Vault. Try re-authenticating the integration in the component settings to get a new token.
- Cause: Your
-
Error:
403 Forbidden
- Cause: The authenticated user does not have permission to perform the action on the specified resource (e.g., trying to create a task in a project they are not a member of).
- Solution: Check the user's permissions directly in Asana. Ensure they are a member of the relevant workspace, team, and project.
-
Error:
404 Not Found
- Cause: An incorrect GID (
project_gid
,task_gid
, etc.) was provided. - Solution: Double-check all GIDs for typos. Use a
List
component to verify that the resource you are trying to access exists and you have its correct GID.
- Cause: An incorrect GID (
-
Error:
400 Bad Request
- Cause: The JSON
Body
for a create/update operation is malformed, missing required fields, or contains invalid values. - Solution: Carefully validate your JSON structure against the official Asana API documentation. For example, when creating a task,
workspace
andname
are typically required.
- Cause: The JSON
What's Next?
You are now ready to build powerful project management automations with the SmythOS Asana Integration!
Consider these ideas:
-
Build an Agent That...
- Connects to your helpdesk software. When a new bug report is filed, it automatically creates a new task in your "Engineering Bugs" project in Asana and assigns it to the appropriate developer.
- Manages client onboarding. When a new client signs up, the agent creates a new Asana project for them from a template, complete with all standard kickoff tasks.
- Syncs with your calendar. The agent reads your Microsoft Calendar and creates Asana tasks for all upcoming meetings with a specific client.
-
Explore Other Integrations:
- When a task is marked as "complete" in Asana, trigger an agent to send a notification to a Microsoft Teams or Slack channel.
- Use an LLM component to summarize a long email thread, and then create a new task in Asana with the summary in the notes.
- When a new row is added to a Google Sheet, create a corresponding task in an Asana project.