Skip to main content

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.

TL;DR

Securely link your Asana account to SmythOS by creating an application in the Asana Developer Console to get a Client ID and Secret. Then, use our suite of components to automate your entire project and task lifecycle.

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.

ComponentActionWhat it DoesInputsKey OutputsUse Case
Create ProjectWriteCreates a new project in a specified workspace or team.required workspace_gid, namegidStarting a new project when a client signs a contract.
Create TaskWriteCreates a new task within a workspace.required workspace_gid, namegidAutomatically creating a "Follow Up" task after a sales call.
Update TaskWriteUpdates the details of an existing task.required task_gid, BodygidMarking a task as complete from another system.
Delete TaskWritePermanently deletes a specific task.required task_gidResponseCleaning up tasks that are no longer relevant.
Get TaskReadRetrieves the full details of a single task.required task_gidgid, nameFetching task details to provide context to an agent.
List Project TasksReadRetrieves a list of all tasks within a specific project.required project_gidtasksGenerating a daily summary of all open tasks for a project.
Get ProjectReadRetrieves detailed information about a specific project.required project_gidgid, nameChecking a project's status or members.
Update GoalWriteUpdates the details of an existing goal.required goal_gid, Bodygid, nameUpdating the progress of a quarterly company goal.
INFO
Why Integrate Asana with Your Agent?

Asana is a central tool for coordinating team work. Integrating it with SmythOS allows you to connect your project management directly to your other business processes and data sources.

  • Automated Task Creation: Build agents that listen for triggers—a new email, a form submission, a customer support ticket—and automatically create corresponding tasks in the right Asana project, assigned to the right person.
  • Dynamic Project Scaffolding: When a new client is onboarded or a new initiative begins, an agent can automatically create a new Asana project from a template, complete with standard sections and introductory tasks.
  • Real-Time Progress Syncing: Keep Asana in sync with your other tools. An agent can monitor a GitHub repository and, when an issue is closed, find and mark the corresponding task in Asana as complete.
  • Automated Reporting: Schedule agents to run daily or weekly, fetch all tasks for a specific project or user, and generate a progress report that can be sent to stakeholders via email or Slack.

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 and Client 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

  1. Go to the Developer Console: Log in to your Asana account and navigate to the Asana Developer Console.
  2. Create a New App: Click on + New App.
  3. 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.
  4. 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.

  1. In your SmythOS dashboard, navigate to the Vault.
  2. Create new secrets for your Client ID and Client Secret, giving them memorable names like asana_client_id and asana_client_secret.
  3. For more details, see the Vault Documentation.

Step 3: Configure an Asana Component

  1. In your SmythOS agent graph, drag and drop any Asana component.
  2. Click the component to open its Settings panel.
  3. In the Client ID and Client Secret fields, select the secrets you saved in the Vault.
  4. Click Authenticate. You will be redirected to Asana to authorize the connection.
  5. Your connection is now ready to use across all Asana components.
Heads-up
The OAuth authentication flow connects your Asana account to SmythOS. You only need to complete this process once.

Which Asana Component Should I Use?

If you need to…TargetUse this ComponentWhy this one?
Create a new task for a team memberA workspace_gid and task nameCreate TaskThe primary method for adding new to-do items to Asana.
Update the due date of a taskA task_gidUpdate TaskModifies specific fields of an existing task without overwriting it.
Get all tasks for a specific projectA project_gidList Project TasksRetrieves multiple tasks at once, scoped to a single project.
Start a new project from scratchA workspace_gid and project nameCreate ProjectThe standard way to create a new project board, list, or timeline.
Get the names and IDs of all users in your workspaceA workspace_gidList Workspace UsersUseful for finding the correct GID to assign tasks to a user.
Delete a task that is no longer neededA task_gidDelete TaskPermanently 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.

INFO
This component uses the OAuth 2.0 flow detailed in the Getting Started section.

Component-Specific Settings

  • Default View: Select the project's layout: list, board, calendar, or timeline.

Inputs

FieldTypeRequiredNotes
workspace_gidstringYesThe Globally Unique Identifier (GID) of the workspace.
namestringYesThe name of the new project.
team_gidstringOptionalThe GID of the team to create the project in.

Outputs

FieldTypeDescription
gidstringThe GID of the newly created project.
ResponseobjectThe full, raw JSON response from the Asana API.
Use Case

When a new client is signed in your CRM, an agent automatically creates a new Asana project for them, using the client's name as the project name.

Create Task

Creates a new task in a workspace, optionally assigning it to a project.

INFO
This component uses the OAuth 2.0 flow detailed in the Getting Started section.

Component-Specific Settings

  • Resource Subtype: Classify the task as default_task, milestone, section, or approval.
  • Approval Status: If it's an approval task, set its status (pending, approved, etc.).

Inputs

FieldTypeRequiredNotes
workspace_gidstringYesThe GID of the workspace for the task.
namestringYesThe name/title of the task.
notesstringOptionalThe description or body of the task.
due_onstringOptionalThe due date in YYYY-MM-DD format.
project_gidstringOptionalThe GID of the project to add this task to.

Outputs

FieldTypeDescription
gidstringThe GID of the newly created task.
ResponseobjectThe raw JSON response, containing the full new task object.
Use Case

An agent receives an email flagged as urgent. It creates a new task in Asana with the email's subject as the name and the body as the notes, and assigns it to the support project.

Update Task

Updates specific fields of an existing task.

INFO
This component uses the OAuth 2.0 flow detailed in the Getting Started section.

Component-Specific Settings

  • Body: A JSON editor where you define the fields to update (e.g., {"notes": "New note.", "completed": true}).

Inputs

FieldTypeRequiredNotes
task_gidstringYesThe GID of the task to update.

Outputs

FieldTypeDescription
task_gidstringThe GID of the updated task.
permalink_urlstringA direct URL to the task in the Asana app.
ResponseobjectThe raw JSON response, containing the full updated task object.
Use Case

When a developer closes a related issue in GitHub, an agent finds the corresponding task in Asana and uses this component to update its status to completed: true.

Body Schema is Key

The JSON Body payload must follow the structure defined in the Asana API documentation. You only need to include the fields you wish to change.

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.

INFO
These components use the OAuth 2.0 flow detailed in the Getting Started section.

Common Inputs

FieldTypeRequiredNotes
project_gidstringVariesThe GID of a project.
task_gidstringVariesThe GID of a task.
section_gidstringVariesThe GID of a section.
workspace_gidstringVariesThe GID of a workspace.

Outputs

FieldTypeDescription
data / tasks / etc.arrayAn array of the requested resource objects (e.g., a list of tasks).
gid, nameany(For Get components) Specific details of a single retrieved resource.
ResponseobjectThe raw JSON response from the API.
Use Case: Listing Tasks

A manager agent runs every morning. It uses List Project Tasks to get all tasks for a high-priority project, then formats the list and sends it as a daily briefing to a Microsoft Teams channel.

Delete Task

Permanently deletes a specific task.

INFO
This component uses the OAuth 2.0 flow detailed in the Getting Started section.

Inputs

FieldTypeRequiredNotes
task_gidstringYesThe GID of the task to be deleted.

Outputs

FieldTypeDescription
ResponseobjectA successful deletion returns an empty response.
HeadersobjectHTTP headers from the API response.
Use Case

When a project is archived, a cleanup agent runs, finds all incomplete tasks within that project, and deletes them to keep the workspace tidy.

Irreversible Action

This action is permanent and cannot be undone. Use with caution.

Best Practices & Advanced Tips

  • Secure Your Credentials: Always store your Asana Client ID and Client Secret in the SmythOS Vault.
  • 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: For Update Task and Update Goal components, you must construct the JSON payload in the Body setting. Refer to the official Asana API documentation for the correct schema.

Troubleshooting Common Issues

  • Error: 401 Unauthorized / Authentication Errors

    • Cause: Your Client ID or Client 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.
  • 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.
  • 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 and name are typically required.

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.