Asana · Capability
Asana — Teams
Asana — Teams. 7 operations. Lead operation: Asana Create a team. Self-contained Naftiko capability covering one Asana business surface.
What You Can Do
POST
Createteam
— Asana Create a team
/v1/teams
GET
Getteam
— Asana Get a team
/v1/teams/{team-gid}
PUT
Updateteam
— Asana Update a team
/v1/teams/{team-gid}
POST
Adduserforteam
— Asana Add a user to a team
/v1/teams/{team-gid}/adduser
POST
Removeuserforteam
— Asana Remove a user from a team
/v1/teams/{team-gid}/removeuser
GET
Getteamsforuser
— Asana Get teams for a user
/v1/users/{user-gid}/teams
GET
Getteamsforworkspace
— Asana Get teams in a workspace
/v1/workspaces/{workspace-gid}/teams
MCP Tools
asana-create-team
Asana Create a team
asana-get-team
Asana Get a team
read-only
idempotent
asana-update-team
Asana Update a team
idempotent
asana-add-user-team
Asana Add a user to a team
asana-remove-user-team
Asana Remove a user from a team
asana-get-teams-user
Asana Get teams for a user
read-only
idempotent
asana-get-teams-workspace
Asana Get teams in a workspace
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Asana — Teams
description: 'Asana — Teams. 7 operations. Lead operation: Asana Create a team. Self-contained Naftiko capability covering
one Asana business surface.'
tags:
- Asana
- Teams
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
ASANA_API_KEY: ASANA_API_KEY
capability:
consumes:
- type: http
namespace: asana-teams
baseUri: https://app.asana.com/api/1.0
description: Asana — Teams business capability. Self-contained, no shared references.
resources:
- name: teams
path: /teams
operations:
- name: createteam
method: POST
description: Asana Create a team
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: opt_fields
in: query
type: array
description: This endpoint returns a compact resource, which excludes some properties by default. To include those
optional properties, set this query parameter to a comma-s
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: teams-team_gid
path: /teams/{team_gid}
operations:
- name: getteam
method: GET
description: Asana Get a team
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: opt_fields
in: query
type: array
description: This endpoint returns a compact resource, which excludes some properties by default. To include those
optional properties, set this query parameter to a comma-s
- name: updateteam
method: PUT
description: Asana Update a team
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: opt_fields
in: query
type: array
description: This endpoint returns a compact resource, which excludes some properties by default. To include those
optional properties, set this query parameter to a comma-s
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: teams-team_gid-addUser
path: /teams/{team_gid}/addUser
operations:
- name: adduserforteam
method: POST
description: Asana Add a user to a team
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: opt_fields
in: query
type: array
description: This endpoint returns a compact resource, which excludes some properties by default. To include those
optional properties, set this query parameter to a comma-s
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: teams-team_gid-removeUser
path: /teams/{team_gid}/removeUser
operations:
- name: removeuserforteam
method: POST
description: Asana Remove a user from a team
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: users-user_gid-teams
path: /users/{user_gid}/teams
operations:
- name: getteamsforuser
method: GET
description: Asana Get teams for a user
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: opt_fields
in: query
type: array
description: This endpoint returns a compact resource, which excludes some properties by default. To include those
optional properties, set this query parameter to a comma-s
- name: workspaces-workspace_gid-teams
path: /workspaces/{workspace_gid}/teams
operations:
- name: getteamsforworkspace
method: GET
description: Asana Get teams in a workspace
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: opt_fields
in: query
type: array
description: This endpoint returns a compact resource, which excludes some properties by default. To include those
optional properties, set this query parameter to a comma-s
authentication:
type: bearer
token: '{{env.ASANA_API_KEY}}'
exposes:
- type: rest
namespace: asana-teams-rest
port: 8080
description: REST adapter for Asana — Teams. One Spectral-compliant resource per consumed operation, prefixed with /v1.
resources:
- path: /v1/teams
name: teams
description: REST surface for teams.
operations:
- method: POST
name: createteam
description: Asana Create a team
call: asana-teams.createteam
with:
opt_fields: rest.opt_fields
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/teams/{team-gid}
name: teams-team-gid
description: REST surface for teams-team_gid.
operations:
- method: GET
name: getteam
description: Asana Get a team
call: asana-teams.getteam
with:
opt_fields: rest.opt_fields
outputParameters:
- type: object
mapping: $.
- method: PUT
name: updateteam
description: Asana Update a team
call: asana-teams.updateteam
with:
opt_fields: rest.opt_fields
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/teams/{team-gid}/adduser
name: teams-team-gid-adduser
description: REST surface for teams-team_gid-addUser.
operations:
- method: POST
name: adduserforteam
description: Asana Add a user to a team
call: asana-teams.adduserforteam
with:
opt_fields: rest.opt_fields
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/teams/{team-gid}/removeuser
name: teams-team-gid-removeuser
description: REST surface for teams-team_gid-removeUser.
operations:
- method: POST
name: removeuserforteam
description: Asana Remove a user from a team
call: asana-teams.removeuserforteam
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/users/{user-gid}/teams
name: users-user-gid-teams
description: REST surface for users-user_gid-teams.
operations:
- method: GET
name: getteamsforuser
description: Asana Get teams for a user
call: asana-teams.getteamsforuser
with:
opt_fields: rest.opt_fields
outputParameters:
- type: object
mapping: $.
- path: /v1/workspaces/{workspace-gid}/teams
name: workspaces-workspace-gid-teams
description: REST surface for workspaces-workspace_gid-teams.
operations:
- method: GET
name: getteamsforworkspace
description: Asana Get teams in a workspace
call: asana-teams.getteamsforworkspace
with:
opt_fields: rest.opt_fields
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: asana-teams-mcp
port: 9090
transport: http
description: MCP adapter for Asana — Teams. One tool per consumed operation, routed inline through this capability's consumes
block.
tools:
- name: asana-create-team
description: Asana Create a team
hints:
readOnly: false
destructive: false
idempotent: false
call: asana-teams.createteam
with:
opt_fields: tools.opt_fields
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: asana-get-team
description: Asana Get a team
hints:
readOnly: true
destructive: false
idempotent: true
call: asana-teams.getteam
with:
opt_fields: tools.opt_fields
outputParameters:
- type: object
mapping: $.
- name: asana-update-team
description: Asana Update a team
hints:
readOnly: false
destructive: false
idempotent: true
call: asana-teams.updateteam
with:
opt_fields: tools.opt_fields
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: asana-add-user-team
description: Asana Add a user to a team
hints:
readOnly: false
destructive: false
idempotent: false
call: asana-teams.adduserforteam
with:
opt_fields: tools.opt_fields
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: asana-remove-user-team
description: Asana Remove a user from a team
hints:
readOnly: false
destructive: false
idempotent: false
call: asana-teams.removeuserforteam
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: asana-get-teams-user
description: Asana Get teams for a user
hints:
readOnly: true
destructive: false
idempotent: true
call: asana-teams.getteamsforuser
with:
opt_fields: tools.opt_fields
outputParameters:
- type: object
mapping: $.
- name: asana-get-teams-workspace
description: Asana Get teams in a workspace
hints:
readOnly: true
destructive: false
idempotent: true
call: asana-teams.getteamsforworkspace
with:
opt_fields: tools.opt_fields
outputParameters:
- type: object
mapping: $.