Setu Recipes: reusable workflows across every app.Browse templates
Setuसेतु

Integrations / Asana

Asana

Work management: projects and tasks.

5 actions OAuth 2 2 read3 write Calls app.asana.com

Connect

TypeScript
const conn = await setu.connections.initiate({ userId: "user_1", toolkit: "asana" });
console.log(conn.connectUrl); // show this to your user
await conn.waitUntilActive();

Permissions requested

ScopeWhy it is requested
defaultRead and write your Asana tasks and projects

Actions

Add commentwriteasana.add_commentAdd a comment to a task.

Needs scope: default

InputTypeDescription
task_gidstringRequired
textstringRequired
TypeScript
await setu.execute({
  userId: "user_1",
  action: "asana.add_comment",
  input: {
    "task_gid": "<task_gid>",
    "text": "<text>"
  },
});
Create taskwriteasana.create_taskCreate a task, optionally in a project and assigned to someone.

Needs scope: default

InputTypeDescription
namestringRequired
notesstringOptional
projectsarray of stringOptional
assigneestringOptionalUser GID or 'me'
due_onstringOptionalYYYY-MM-DD
TypeScript
await setu.execute({
  userId: "user_1",
  action: "asana.create_task",
  input: {
    "name": "<name>"
  },
});
List projectsreadasana.list_projectsList projects in a workspace.

Needs scope: default

InputTypeDescription
workspacestringRequiredWorkspace GID
limitintegerOptional
TypeScript
await setu.execute({
  userId: "user_1",
  action: "asana.list_projects",
  input: {
    "workspace": "<workspace>"
  },
});
List tasksreadasana.list_tasksList tasks in a project.

Needs scope: default

InputTypeDescription
projectstringRequiredProject GID
limitintegerOptional
TypeScript
await setu.execute({
  userId: "user_1",
  action: "asana.list_tasks",
  input: {
    "project": "<project>"
  },
});
Update taskwriteasana.update_taskUpdate a task's name, notes, due date or completion.

Needs scope: default

InputTypeDescription
task_gidstringRequired
namestringOptional
notesstringOptional
completedbooleanOptional
due_onstringOptional
TypeScript
await setu.execute({
  userId: "user_1",
  action: "asana.update_task",
  input: {
    "task_gid": "<task_gid>"
  },
});