InTouch Hub · Blue Isle Software

Asana

Read and create Asana tasks, projects, and workspaces via the Asana REST API.

Provided free and as is, without warranty of any kind — including merchantability, fitness for a particular purpose, and the accuracy or completeness of any result. See the licence. You are responsible for checking what this produces before relying on it.

productivityprojectsstatustasks

Asana

Read and create Asana tasks, projects, and workspaces from InTouch jobs and the AI assistant. Wraps the Asana REST API (https://app.asana.com/api/1.0) using the Python standard library only — no external dependencies.

Operations

operation What it does Asana endpoint Required inputs
me Get the authenticated user GET /users/me apiKey
list-workspaces List your workspaces/organizations GET /workspaces apiKey
list-projects List projects in a workspace GET /projects?workspace=… apiKey, workspace
list-tasks List tasks GET /tasks?project=… or ?assignee=…&workspace=… apiKey, then project or (assignee + workspace)
get-task Get one task by gid GET /tasks/{task_gid} apiKey, task
create-task Create a task POST /tasks with {"data": {...}} apiKey, name, and project or workspace

All Asana responses are wrapped in a {"data": ...} envelope; this tool unwraps that and returns the inner payload as the result output (a JSON string). status carries the HTTP status code. On a 4xx/5xx the raw error body is returned in result and an error key is added.

Inputs

input required notes
apiKey yes Personal Access Token, sent as Authorization: Bearer <token>.
operation yes One of the operations above.
workspace depends Workspace/organization gid.
project depends Project gid (filter tasks / place a new task).
assignee no Assignee gid or me (filter tasks / assign a new task).
task depends Task gid (for get-task).
name depends Task title (for create-task).
notes no Task description (for create-task).
limit no Page size, 1–100, for list operations.

Getting the apiKey

  1. Sign in to Asana and open My Settings → Apps (or go to https://app.asana.com/0/my-apps).
  2. Under Personal access tokens, click Create new token.
  3. Name the token and copy the value — it is shown only once.
  4. Use it as the apiKey input. It authenticates as your Asana user with your full access, so treat it like a password.

Usage examples

1. List the tasks in a project

operation: list-tasks
apiKey:    1/1234567890:abcdef0123456789abcdef0123456789
project:   1209876543210987
limit:     50

Returns the compact task records (gid + name) for that project as the result JSON string.

2. Create a task assigned to yourself in a workspace

operation: create-task
apiKey:    1/1234567890:abcdef0123456789abcdef0123456789
workspace: 1122334455667788
name:      Follow up with the design vendor
notes:     Confirm revised quote and lead time before Friday.
assignee:  me

Returns the newly created task record (including its gid) as the result.

Notes

Publishes

The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.

Input Properties

Every property this tool accepts, from its own tool.iml.

Property Type Required Default Description
apiKey string yes Asana Personal Access Token (sent as 'Authorization: Bearer'). Create one at https://app.asana.com/0/my-apps under 'Personal access tokens'.
operation string yes One of: me, list-workspaces, list-projects, list-tasks, get-task, create-task
workspace string no Workspace/organization gid. Required for list-projects, for list-tasks when using assignee, and for create-task when project is omitted.
project string no Project gid. Used to filter list-tasks, and to place a new task in create-task.
assignee string no Assignee gid (or 'me') for list-tasks. When set, workspace is required. For create-task, the gid to assign the new task to.
task string no Task gid. Required for get-task.
name string no Task name/title. Required for create-task.
notes string no Task description/notes body for create-task.
limit string no Page size (1-100) for list operations.