opencode

Connect OpenCode to Asana and Google Sheets

Give OpenCode your Asana and Google Sheets at once, so it can drive project work from a spreadsheet and write results back. It reads ranges, appends rows, and builds new sheets, then uses that data to add dependencies, followers, or portfolio items in Asana. The sheet is your source of records, Asana is where the work is organized. The agent turns rows into actions and logs actions into rows.
Loading preview…
Opens a workflow with 206 tools ready to use.

What happens next

Set up in minutes

The open button drops you into a guided setup. It asks exactly this, nothing else:
  1. Choose where it runs

    On your computer through your own OpenCode, or hosted in the cloud. The rest of setup adapts to your choice:

  2. Pick what it can do in Asana

    A preset of real Asana operations. Each one becomes a tool the agent can call, and it can't touch anything outside the list.

  3. Pick what it can do in Google Sheets

    A preset of real Google Sheets operations. Each one becomes a tool the agent can call, and it can't touch anything outside the list.

  4. Connect Asana

    One sign-in. The agent acts through your account, scoped to the operations you picked.

  5. Connect Google Sheets

    One sign-in. The agent acts through your account, scoped to the operations you picked.

  6. Add your personal MCP link

    The last step mints a private MCP URL for this agent and walks you through exactly this, with your real link filled in. The page flips to Connected the moment your OpenCode first calls in.

    1. Run this in your terminal

    $opencode mcp add

    2. Choose Remote and paste your server URL

    https://mcp.noclick.app/s/<your-link>

    3. Choose No when asked about OAuth authentication — the link itself is the key

    <your-link> is your personal server URL — setup mints it for you.

Exact capabilities

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.

Google Sheets

85 tools
Read Sheet Data

Configuration for reading data from a Google Sheet

Write Sheet Data

Configuration for writing data to a Google Sheet

Append Rows to Sheet

Configuration for appending rows to a Google Sheet

Clear Sheet Range

Configuration for clearing values from a range

Create New Spreadsheet

Configuration for creating a new spreadsheet

Fetch Spreadsheet Metadata

Configuration for getting spreadsheet metadata

Read Multiple Sheet Ranges

Configuration for reading multiple ranges at once

Write to Multiple Sheet Ranges

Configuration for writing to multiple ranges at once

Add Spreadsheet Sheet

Configuration for adding a new sheet/tab

Delete Spreadsheet Sheet

Configuration for deleting a sheet/tab

Copy Sheet to Spreadsheet

Configuration for copying a sheet to another spreadsheet

Rename Spreadsheet Sheet

Configuration for renaming a sheet/tab

Duplicate Sheet in Spreadsheet

Configuration for duplicating a sheet within the same spreadsheet

Find and Replace in Spreadsheet

Configuration for find and replace in a spreadsheet

Insert Sheet Rows

Configuration for inserting rows

Delete Sheet Rows

Configuration for deleting rows

Clear Multiple Sheet Ranges

Configuration for clearing multiple ranges at once

Insert Sheet Columns

Configuration for inserting columns

Delete Sheet Columns

Configuration for deleting columns

Format Cells

Configuration for formatting a range of cells

Update Sheet Properties

Configuration for sheet-level display properties

Auto-Resize Columns Or Rows

Configuration for auto-sizing columns or rows to fit their contents

Set Column Width Or Row Height

Configuration for setting an explicit column width or row height

Merge Cells

Configuration for merging cells

Unmerge Cells

Configuration for unmerging cells

Add Or Remove Borders

Configuration for drawing borders on a range

Add Alternating Colours

Configuration for alternating row colours

Set Filter

Configuration for adding a filter to a range

Clear Filter

Configuration for removing a filter

Add Conditional Formatting

Configuration for a conditional formatting rule

Sort Range

Configuration for sorting a range

Add Dropdown Or Input Rule

Configuration for adding a dropdown or input rule to a range

Remove Dropdown Or Input Rule

Configuration for removing dropdowns / input rules from a range

Remove Conditional Formatting

Configuration for removing conditional formatting rules

Remove Alternating Colours

Configuration for removing alternating row colours

Convert Range To Table

Configuration for turning a range into a Sheets table

Delete Table

Configuration for removing a table

Edit Conditional Formatting

Configuration for editing or reordering a conditional formatting rule

Recolour Alternating Colours

Configuration for recolouring existing banding in place

Edit Table

Configuration for changing a table's name, range or column types

Update Spreadsheet Properties

Configuration for spreadsheet-level properties

Add Named Range

Configuration for naming a range

Update Named Range

Configuration for changing a named range

Delete Named Range

Configuration for removing a named range

Protect Range

Configuration for protecting a range from edits

Update Protected Range

Configuration for changing a protected range

Unprotect Range

Configuration for removing range protection

Cell Notes

Configuration for putting a hover note on cells

Insert Smart Chips

Configuration for inserting people or link smart chips

Pivot Table

Configuration for anchoring a pivot table

Copy And Paste Range

Configuration for copying a range onto another

Cut And Paste Range

Configuration for moving a range

Paste Delimited Text

Configuration for pasting delimited text

Auto-Fill Range

Configuration for extending a series

Split Text To Columns

Configuration for splitting a column of text

Trim Whitespace

Configuration for trimming whitespace

Remove Duplicate Rows

Configuration for removing duplicate rows

Randomise Range

Configuration for shuffling rows

Insert Cells

Configuration for inserting cells and shifting the rest

Delete Cells

Configuration for deleting cells and shifting the rest

Move Rows Or Columns

Configuration for moving rows or columns

Append Rows Or Columns

Configuration for appending blank rows or columns

Add Chart

Configuration for adding a chart

Edit Chart

Configuration for changing an existing chart

Move Or Resize Chart

Configuration for moving or resizing a chart

Set Chart Border

Configuration for a chart's border colour

Delete Chart

Configuration for removing a chart

Append Rows After Data

Configuration for appending rows of cells after the last row of data

Filter View

Configuration for creating a saved filter view

Update Filter View

Configuration for changing a filter view

Duplicate Filter View

Configuration for copying a filter view

Delete Filter View

Configuration for removing a filter view

Group Rows Or Columns

Configuration for grouping rows or columns

Collapse Or Expand Group

Configuration for collapsing or expanding a group

Ungroup Rows Or Columns

Configuration for ungrouping rows or columns

Add Slicer

Configuration for adding a slicer control

Update Slicer

Configuration for changing a slicer

Add Developer Metadata

Configuration for tagging a sheet, row or column with durable metadata

Update Developer Metadata

Configuration for changing developer metadata

Delete Developer Metadata

Configuration for removing developer metadata

Connect BigQuery Data Source

Configuration for connecting a BigQuery data source

Repoint Data Source

Configuration for repointing a data source

Delete Data Source

Configuration for disconnecting a data source

Refresh Data Source

Configuration for refreshing connected data

Cancel Data Source Refresh

Configuration for cancelling a running refresh

Starting points

What you can build

Read a planning sheet in Google Sheets and add the matching task dependencies in Asana so the order of work follows the plan.
Append a row to a Google Sheet each time you add someone as an Asana project member, keeping a running log of who joined what.
Create a new Google Spreadsheet tracking a portfolio and add each entry to the Asana portfolio as you go.
Read a roster range from Sheets and add those people as followers on the related Asana task.

Meet the runner

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

Good to know

Frequently asked questions

Keep exploring

More ways to connect

Make it yours

Open your OpenCode agent in one click.

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