opencode

Connect OpenCode to Asana and Discord

Give OpenCode your Asana and Discord at once and it can carry project work into the place your team and community talk. Asana is the tracker for tasks, projects, and portfolios, while Discord is the guild where people show up. The agent can add a member or comment on a task in Asana, then create the channel, thread access, or role in Discord that matches. Together they keep the plan and the conversation pointing at the same thing.

Loading preview…
Opens a workflow with 258 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.

Discord

137 tools
Send Message to Channel

Send a message to a Discord channel

Send Embed Message to Channel

Send an embed message to a Discord channel

Get Message by Id

Get a single message by ID

List Channel Messages

Get messages from a channel

Edit Message Content

Edit an existing message

Delete Message from Channel

Delete a message from a channel

Crosspost Message to Announcement Channel

Crosspost a message in an announcement channel

Pin Message in Channel

Pin a message in a channel

Unpin Message from Channel

Unpin a message in a channel

List Pinned Messages in Channel

Get pinned messages in a channel

Bulk Delete Channel Messages

Bulk delete messages (2-100 messages, less than 14 days old)

Add Reaction to Message

Add a reaction to a message

Remove Reaction from Message

Remove a reaction from a message

List Message Reaction Users

Get users who reacted with a specific emoji

Delete All Message Reactions

Delete all reactions from a message

Delete Emoji Reactions from Message

Delete all reactions for a specific emoji

Get Channel Info

Get information about a Discord channel

Create Channel in Guild

Create a new channel in a guild

Update Channel Settings

Modify an existing channel

Delete Channel

Delete a channel

Show Typing Indicator in Channel

Trigger typing indicator in a channel

Edit Channel Permission Overwrites

Edit channel permission overwrites

List Guild Channels

List all channels in a guild

Start Thread from Existing Message

Start a thread from an existing message

Start Thread in Forum Channel

Start a thread without a message (forum/media channels)

Join Thread

Join a thread

Leave Thread

Leave a thread

Add Member to Thread

Add a member to a thread

Remove Member from Thread

Remove a member from a thread

List Thread Members

List members in a thread

List Guild Active Threads

List all active threads in a guild

List User Guilds

List guilds (servers) the user/bot is a member of

Get Guild Info

Get information about a Discord guild (server)

Update Guild Settings

Modify guild settings

Get Guild Preview

Get guild preview (public guilds)

Get Guild Vanity Url

Get guild vanity URL

Get Guild Prune Count

Get guild prune count (inactive members)

Begin Guild Prune for Inactive Members

Begin guild prune (remove inactive members)

Get Authenticated User Info

Get information about the authenticated user

List Guild Members

Get members of a guild (server)

Get Guild Member Info

Get a specific guild member

Update Guild Member Info

Modify a guild member (nickname, roles)

Kick Member from Guild

Kick a member from a guild

Ban Member from Guild

Ban a member from a guild

Unban Member from Guild

Unban a member from a guild

List Guild Bans

Get all bans for a guild

Get Guild Ban

Get a specific ban

List Guild Roles

Get all roles in a guild

Create Role in Guild

Create a new role in a guild

Update Guild Role

Modify an existing role

Delete Role from Guild

Delete a role from a guild

Add Role to Guild Member

Add a role to a guild member

Remove Role from Guild Member

Remove a role from a guild member

Get Invite Info

Get information about an invite

Delete Invite

Delete an invite

List Channel Invites

Get all invites for a channel

Create Channel Invite

Create a new invite for a channel

List Guild Invites

Get all invites for a guild

Execute Webhook Send Message

Execute a Discord webhook to send a message

List Channel Webhooks

Get all webhooks for a channel

List Guild Webhooks

Get all webhooks for a guild

Get Webhook by Id

Get a webhook by ID

Create Channel Webhook

Create a new webhook

Update Webhook Settings

Modify an existing webhook

Delete Webhook

Delete a webhook

List Guild Emojis

List all emojis in a guild

Get Emoji from Guild

Get a specific emoji from a guild

Create Emoji in Guild

Create a new emoji in a guild

Update Guild Emoji

Modify an existing emoji

Delete Emoji from Guild

Delete an emoji from a guild

List Guild Stickers

List all stickers in a guild

Get Sticker from Guild

Get a specific sticker from a guild

Update Guild Sticker

Modify an existing sticker

Delete Sticker from Guild

Delete a sticker from a guild

List Guild Scheduled Events

List all scheduled events in a guild

Get Scheduled Event

Get a specific scheduled event

Create Scheduled Event

Create a new scheduled event

Update Scheduled Event

Modify an existing scheduled event

Delete Scheduled Event

Delete a scheduled event

List Scheduled Event Users

Get users interested in a scheduled event

List Guild Auto Moderation Rules

List all auto moderation rules in a guild

Get Auto Moderation Rule

Get a specific auto moderation rule

Create Auto Moderation Rule

Create a new auto moderation rule

Update Auto Moderation Rule

Modify an existing auto moderation rule

Delete Auto Moderation Rule

Delete an auto moderation rule

Get Guild Audit Log

Get the audit log for a guild

Create Stage Instance

Create a stage instance (go live)

Get Stage Instance for Channel

Get the stage instance for a channel

Update Stage Instance

Modify a stage instance

Delete Stage Instance

Delete a stage instance (end the stage)

List Available Voice Regions

List available voice regions

List Poll Answer Voters

Get voters for a poll answer

End Poll Immediately

Immediately end a poll

Play Soundboard Sound in Voice Channel

Play a soundboard sound in a voice channel

List Default Soundboard Sounds

List default soundboard sounds available to all users

List Guild Soundboard Sounds

List guild's soundboard sounds

Get Guild Soundboard Sound

Get a specific guild soundboard sound

Create Guild Soundboard Sound

Create a new soundboard sound for a guild

Update Guild Soundboard Sound

Modify a guild soundboard sound

Delete Guild Soundboard Sound

Delete a guild soundboard sound

Get Guild Template

Get a guild template by code

Create Guild from Template

Create a new guild from a template

List Guild Templates

Get all templates for a guild

Create Guild Template

Create a guild template

Sync Guild Template with State

Sync a guild template with current guild state

Update Guild Template

Modify a guild template

Delete Guild Template

Delete a guild template

Get Guild Onboarding Config

Get guild onboarding configuration

Update Guild Onboarding Config

Modify guild onboarding configuration

Create Direct Message Channel

Create a DM channel with a user

Create Group Direct Message Channel

Create a group DM channel

List Global Application Commands

Get all global application commands

Create Global Application Command

Create a global application command

Get Global Application Command

Get a specific global application command

Edit Global Application Command

Edit a global application command

Delete Global Application Command

Delete a global application command

List Guild Application Commands

Get all guild application commands

Create Guild Application Command

Create a guild application command

Get Guild Application Command

Get a specific guild application command

Edit Guild Application Command

Edit a guild application command

Delete Guild Application Command

Delete a guild application command

List Application Skus

List all SKUs for an application

List Application Entitlements

List entitlements for an application

Create Test Entitlement

Create a test entitlement

Delete Test Entitlement

Delete a test entitlement

Consume One Time Purchase Entitlement

Consume a one-time purchase entitlement

Get Guild Widget Settings

Get guild widget settings

Update Guild Widget Settings

Modify guild widget settings

Get Guild Welcome Screen

Get guild welcome screen

Update Guild Welcome Screen

Modify guild welcome screen

Update Current User Voice State

Modify current user's voice state

Update User Voice State

Modify another user's voice state

List Current User Guilds

Get current user's guilds

Leave Guild

Leave a guild

List User Connections

Get user's connections

List Guild Integrations

Get guild integrations

Delete Guild Integration

Delete a guild integration

What you can build

Add a member to an Asana project and add them to the matching Discord thread so they see the discussion.
Comment on an Asana task with a status update and create a Discord channel for that workstream.
Set task dependencies in Asana and give the assigned contributor a role in the Discord guild.
Add followers to an Asana project and create a Discord channel invite for those new members.

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 Discord wired in as tools. Connect your account and run.