opencode

Connect OpenCode to Asana and Microsoft Teams

Give OpenCode your Asana and Microsoft Teams together and it can stand up the workspace around a project, not just track it. It reads the Asana project, creates a Teams channel or meeting for it, and adds the same people as members in both places. Asana is the system of record for the work while Teams is where the group talks and meets. The agent keeps membership and context aligned across the two.

Loading preview…
Opens a workflow with 158 tools ready to use.

Tools OpenCode gets

Pick the operations you want and each becomes a tool the agent can call directly while it works.

Asana

121 tools
Get Current User

Get the authenticated user (handy for testing credentials).

List Users

List users in a workspace (resolve assignees/followers).

Get User

Get a specific user by their gid.

List Workspaces

List workspaces and organizations the user can access.

List Teams

List teams in an organization.

List Custom Fields

List custom fields available in a workspace.

List Workspace Members

List all member records for a workspace.

Add Workspace User

Add a user (invite them) to a workspace or organization.

Remove Workspace User

Remove a user from a workspace or organization.

Typeahead Search

Search across all object types in a workspace (typeahead / autocomplete).

Get Team

Get a team's details.

Get Team Members

List users in a team.

Add Team Member

Add a user to a team.

Remove Team Member

Remove a user from a team.

List Projects

List projects, optionally filtered by workspace.

Get Project

Get a single project's details.

Create Project

Create a new project in a workspace (optionally in a team).

Update Project

Update a project's name, notes, or archived status.

Delete Project

Delete a project.

Duplicate Project

Duplicate a project (creates an async Job — poll the returned job_gid for completion).

Get Project Members

List members/memberships of a project.

Add Project Member

Add users to a project as members.

Remove Project Member

Remove users from a project.

Add Project Followers

Add followers to a project.

Remove Project Followers

Remove followers from a project.

Get Project Task Counts

Get task counts for a project (total, completed, incomplete, etc.).

Get Project Statuses

List status updates on a project.

Create Project Status

Post a status update on a project (On Track, At Risk, Off Track).

Delete Project Status

Delete a project status update.

Get Status Updates

List status updates for a project, portfolio, or goal (modern API).

Create Status Update

Create a status update for a project, portfolio, or goal (modern API).

Delete Status Update

Delete a status update.

Get Project Brief

Get a project brief.

Create Project Brief

Create a project brief (rich-text overview for a project).

Update Project Brief

Update a project brief's title or content.

Delete Project Brief

Delete a project brief.

List Project Templates

List project templates available in a workspace or team.

Create Project from Template

Instantiate a new project from a project template.

Save Project as Template

Save an existing project as a project template.

Get Job Status

Poll an async job (e.g. from duplicate_project / create_project_from_template). Returns the job status and a ``new_project`` link when complete.

Get Project Custom Fields

List custom field settings (definitions) attached to a project.

List Sections

List sections within a project.

Get Section

Get a single section by its gid.

Create Section

Create a section in a project.

Update Section

Rename or update a section.

Delete Section

Delete a section from a project.

Get Tasks in Section

List tasks in a specific section.

Search Tasks

Search tasks in a workspace by text.

Get Task

Get a single task with its fields.

Create Task

Create a task (name, notes, assignee, due date, projects).

Update Task

Update a task (rename, reassign, complete, set due date).

Delete Task

Delete a task.

Duplicate Task

Duplicate a task (optionally into the same project under a new name).

List Tasks in Project

List tasks belonging to a project.

Add Task to Project

Add a task to a project (optionally into a section).

Remove Task from Project

Remove a task from a project.

Add Task to Section

Move/place a task into a project section.

Set Task Parent

Set or change the parent task of a task (makes it a subtask).

Get Projects for Task

List projects that a task belongs to.

List Subtasks

List a task's subtasks.

Create Subtask

Create a subtask under a parent task.

Get Task Dependencies

Get tasks that a task depends on (its dependencies).

Add Task Dependencies

Set tasks that must be completed before this task (dependencies).

Remove Task Dependencies

Remove task dependencies.

Get Task Dependents

Get tasks that depend on this task (dependents / blocking tasks).

Add Task Dependents

Mark tasks as depending on this task (add dependents).

Remove Task Dependents

Remove dependent tasks from this task.

Add Followers

Add followers to a task.

Remove Followers

Remove followers from a task.

Get Tasks for Tag

List tasks that have a specific tag.

List Task Templates

List task templates in a project.

Create Task from Template

Instantiate a task from a task template.

Add Comment

Add a comment (story) to a task.

List Comments

List stories (comments + activity) on a task.

Get Story / Comment

Get a single story (comment or activity event) by its gid.

Update Story / Comment

Edit the text of a comment (story) on a task.

Delete Story / Comment

Delete a comment (story) from a task.

List Tags

List tags in a workspace.

Get Tag

Get a tag by its gid.

Create Tag

Create a new tag in a workspace.

Update Tag

Update a tag's name or color.

Delete Tag

Delete a tag.

Add Tag to Task

Tag a task.

Remove Tag from Task

Remove a tag from a task.

Get Tags for Task

List all tags on a task.

Get Custom Field

Get a custom field definition.

Create Custom Field

Create a custom field definition in a workspace.

Update Custom Field

Update a custom field's name, description, or settings.

Delete Custom Field

Delete a custom field definition from the workspace.

Set Task Custom Field

Set a custom field value on a task.

Add Custom Field to Project

Add a custom field to a project.

Remove Custom Field from Project

Remove a custom field from a project.

Get Task Attachments

List file attachments on a task.

Delete Attachment

Delete a file attachment.

Get Time Tracking Entries

List time tracking entries on a task.

Create Time Tracking Entry

Log a time entry on a task.

Update Time Tracking Entry

Update the duration or date of an existing time tracking entry.

Delete Time Tracking Entry

Delete a time tracking entry.

Get User Task List

Get a user's personal 'My Tasks' task list.

Get My Tasks

List tasks in a user's My Tasks list.

List Portfolios

List portfolios accessible to a user in a workspace.

Get Portfolio

Get a single portfolio's details.

Create Portfolio

Create a new portfolio.

Update Portfolio

Update a portfolio's name or public setting.

Delete Portfolio

Delete a portfolio.

Get Portfolio Items

List projects (items) in a portfolio.

Add Item to Portfolio

Add a project to a portfolio.

Remove Item from Portfolio

Remove a project from a portfolio.

Add Portfolio Members

Add members to a portfolio.

Remove Portfolio Members

Remove members from a portfolio.

List Goals

List goals in a workspace (requires premium/business plan).

Get Goal

Get a single goal's details.

Create Goal

Create a goal in a workspace or team.

Update Goal

Update a goal's name, status, notes, or dates.

Delete Goal

Delete a goal.

Get Parent Goals

List parent goals for a goal (supporting relationship traversal).

Set Goal Metric

Set a metric on a goal (defines how goal progress is measured).

Update Goal Metric Value

Update the current value of a goal's metric.

Add Goal Followers

Add followers / collaborators to a goal.

Remove Goal Followers

Remove followers / collaborators from a goal.

Trigger Rule

Trigger a rule that uses an 'incoming web request' trigger.

Microsoft Teams

37 tools
List Joined Teams

List teams the signed-in user is a member of.

Get Team

Retrieve a team's properties and settings.

Create Team

Create a new team (async; returns an operation location).

List Channels

List channels in a team.

Get Channel

Retrieve a single channel.

Create Channel

Create a standard / private / shared channel in a team.

Delete Channel

Soft-delete a channel.

List Channel Messages

List top-level messages in a channel.

Get Channel Message

Retrieve a single channel message.

Send Channel Message

Post a message to a channel (delegated ChannelMessage.Send).

Reply to Channel Message

Reply within a channel message thread.

List Channel Message Replies

List replies in a channel message thread.

List Chats

List the signed-in user's 1:1 / group / meeting chats.

Get Chat

Retrieve a single chat.

Create Chat

Create a new 1:1 or group chat with members.

List Chat Messages

List messages in a chat.

Send Chat Message

Post a message to an existing chat (delegated ChatMessage.Send).

List Team Members

List members and their roles in a team.

Add Team Member

Add a member to a team.

Remove Team Member

Remove a member from a team.

List Installed Apps

List apps installed in a team.

Install App

Install an app from the catalog into a team.

List Channel Tabs

List tabs pinned to a channel.

Add Channel Tab

Pin a configured tab to a channel.

Create Online Meeting

Create a Teams online meeting and get the join URL.

Get Online Meeting

Retrieve an online meeting's details.

Get User Presence

Get a user's availability / activity (e.g. Available, Busy).

Update Team

Update a team's properties (PATCH).

Archive Team

Archive a team (read-only for members; POST /archive).

Unarchive Team

Restore an archived team (POST /unarchive).

Update Channel

Update a channel's properties (PATCH).

List Channel Members

List the members of a channel (private/shared channels).

Get Chat Message

Fetch a single chat message.

List Chat Members

List the members of a chat.

Delete Channel Tab

Remove a tab from a channel.

Uninstall App

Uninstall an app from a team.

Get My Presence

Get the signed-in user's presence.

What you can build

Create a Teams channel for a new Asana project and add the project members to both.
Read an Asana task that needs a discussion, create a Teams online meeting, and add the attendees as followers on the task.
Spin up a Teams team for an initiative, add the members, and add those same people as followers on the Asana project.
Add a Teams channel tab pointing at an Asana portfolio and add the portfolio's members in Asana.

About OpenCode

OpenCode is an open, model-agnostic command-line coding agent. In NoClick it runs hosted and gains your apps as tools, so it can act on real systems rather than just edit files. Wire an integration into the agent and OpenCode can use that app’s operations directly while it works. It is a flexible choice when you want an open agent with broad model support and real tool access.

Open and model-agnostic
Flexible across many underlying models
Good general-purpose tool use
Lightweight to point at a focused task

Frequently asked questions

Open your OpenCode agent in one click

NoClick runs OpenCode for you with Asana and Microsoft Teams wired in as tools. Connect your account and run.