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.
Pick the operations you want and each becomes a tool the agent can call directly while it works.
Get the authenticated user (handy for testing credentials).
List users in a workspace (resolve assignees/followers).
Get a specific user by their gid.
List workspaces and organizations the user can access.
List teams in an organization.
List custom fields available in a workspace.
List all member records for a workspace.
Add a user (invite them) to a workspace or organization.
Remove a user from a workspace or organization.
Search across all object types in a workspace (typeahead / autocomplete).
Get a team's details.
List users in a team.
Add a user to a team.
Remove a user from a team.
List projects, optionally filtered by workspace.
Get a single project's details.
Create a new project in a workspace (optionally in a team).
Update a project's name, notes, or archived status.
Delete a project.
Duplicate a project (creates an async Job — poll the returned job_gid for completion).
List members/memberships of a project.
Add users to a project as members.
Remove users from a project.
Add followers to a project.
Remove followers from a project.
Get task counts for a project (total, completed, incomplete, etc.).
List status updates on a project.
Post a status update on a project (On Track, At Risk, Off Track).
Delete a project status update.
List status updates for a project, portfolio, or goal (modern API).
Create a status update for a project, portfolio, or goal (modern API).
Delete a status update.
Get a project brief.
Create a project brief (rich-text overview for a project).
Update a project brief's title or content.
Delete a project brief.
List project templates available in a workspace or team.
Instantiate a new project from a project template.
Save an existing project as a project template.
Poll an async job (e.g. from duplicate_project / create_project_from_template). Returns the job status and a ``new_project`` link when complete.
List custom field settings (definitions) attached to a project.
List sections within a project.
Get a single section by its gid.
Create a section in a project.
Rename or update a section.
Delete a section from a project.
List tasks in a specific section.
Search tasks in a workspace by text.
Get a single task with its fields.
Create a task (name, notes, assignee, due date, projects).
Update a task (rename, reassign, complete, set due date).
Delete a task.
Duplicate a task (optionally into the same project under a new name).
List tasks belonging to a project.
Add a task to a project (optionally into a section).
Remove a task from a project.
Move/place a task into a project section.
Set or change the parent task of a task (makes it a subtask).
List projects that a task belongs to.
List a task's subtasks.
Create a subtask under a parent task.
Get tasks that a task depends on (its dependencies).
Set tasks that must be completed before this task (dependencies).
Remove task dependencies.
Get tasks that depend on this task (dependents / blocking tasks).
Mark tasks as depending on this task (add dependents).
Remove dependent tasks from this task.
Add followers to a task.
Remove followers from a task.
List tasks that have a specific tag.
List task templates in a project.
Instantiate a task from a task template.
Add a comment (story) to a task.
List stories (comments + activity) on a task.
Get a single story (comment or activity event) by its gid.
Edit the text of a comment (story) on a task.
Delete a comment (story) from a task.
List tags in a workspace.
Get a tag by its gid.
Create a new tag in a workspace.
Update a tag's name or color.
Delete a tag.
Tag a task.
Remove a tag from a task.
List all tags on a task.
Get a custom field definition.
Create a custom field definition in a workspace.
Update a custom field's name, description, or settings.
Delete a custom field definition from the workspace.
Set a custom field value on a task.
Add a custom field to a project.
Remove a custom field from a project.
List file attachments on a task.
Delete a file attachment.
List time tracking entries on a task.
Log a time entry on a task.
Update the duration or date of an existing time tracking entry.
Delete a time tracking entry.
Get a user's personal 'My Tasks' task list.
List tasks in a user's My Tasks list.
List portfolios accessible to a user in a workspace.
Get a single portfolio's details.
Create a new portfolio.
Update a portfolio's name or public setting.
Delete a portfolio.
List projects (items) in a portfolio.
Add a project to a portfolio.
Remove a project from a portfolio.
Add members to a portfolio.
Remove members from a portfolio.
List goals in a workspace (requires premium/business plan).
Get a single goal's details.
Create a goal in a workspace or team.
Update a goal's name, status, notes, or dates.
Delete a goal.
List parent goals for a goal (supporting relationship traversal).
Set a metric on a goal (defines how goal progress is measured).
Update the current value of a goal's metric.
Add followers / collaborators to a goal.
Remove followers / collaborators from a goal.
Trigger a rule that uses an 'incoming web request' trigger.
Configuration for reading data from a Google Sheet
Configuration for writing data to a Google Sheet
Configuration for appending rows to a Google Sheet
Configuration for clearing values from a range
Configuration for creating a new spreadsheet
Configuration for getting spreadsheet metadata
Configuration for reading multiple ranges at once
Configuration for writing to multiple ranges at once
Configuration for adding a new sheet/tab
Configuration for deleting a sheet/tab
Configuration for copying a sheet to another spreadsheet
Configuration for renaming a sheet/tab
Configuration for duplicating a sheet within the same spreadsheet
Configuration for find and replace in a spreadsheet
Configuration for inserting rows
Configuration for deleting rows
Configuration for clearing multiple ranges at once
Configuration for inserting columns
Configuration for deleting columns
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.
NoClick runs OpenCode for you with Asana and Google Sheets wired in as tools. Connect your account and run.