> For the complete documentation index, see [llms.txt](https://docs.planetcrust.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.planetcrust.com/human-connections/asana/asana.md).

# Asana

<p align="center"><a href="https://polar.sh/checkout/polar_c_H3nQb2tAWLbZL6hB8OspjFzsVlxMoXznIlSzq43sZnx" class="button primary" data-icon="circle-caret-right">Try @Human</a><a href="https://polar.sh/checkout/polar_c_H3nQb2tAWLbZL6hB8OspjFzsVlxMoXznIlSzq43sZnx" class="button primary" data-icon="check">Buy @Human Subscription</a><a href="https://www.planetcrust.com/human-community" class="button primary" data-icon="comments">Join @Human Community</a></p>

<figure><img src="/files/0cx1u8Wa9TBdqRFTm1Wt" alt=""><figcaption></figcaption></figure>

<h3 align="center">Put Asana to Work with @Human Automations and @Human Agents</h3>

<p align="center">The Asana Connection documents all Triggers, Actions and Query Operations available for creating automations via the Asana API.</p>

{% embed url="<https://www.youtube.com/watch?v=CyuUuaBSZzA>" %}

#### What can you do with the Asana Connection?

* Connect to the Asana API in a few clicks
* Use the related Asana Operations (see below) in @Human Automations or @Human Agents

### Related Operations

#### Trigger Operations

**Task Created**

Triggers on: tasks/task\_created

Triggers when a new task is created in Asana.

**Task Updated**

Triggers on: tasks/task\_updated

Triggers when an existing task is updated in Asana.

**Project Created**

Triggers on: projects/project\_created

Triggers when a new project is created in Asana.

#### Action Operations

[Action: Create a Project](/human-connections/asana/asana/action-create-a-project.md)

[Action: Update a Project](/human-connections/asana/asana/action-update-a-project.md)

[Action: Create a Task](/human-connections/asana/asana/action-create-a-task.md)

[Action: Update a Task](/human-connections/asana/asana/action-update-a-task.md)

#### Query Operations

[Query: Get a Project](/human-connections/asana/asana/query-get-a-project.md)

[Query: Get a Task](/human-connections/asana/asana/query-get-a-task.md)

### Related Automations

Example link

### Obtaining Access Credentials

To obtain a **Personal Access Token (PAT)** for **Asana**, follow these steps:

#### **Prerequisites**

* An **Asana account** (free or paid).
* Admin permissions (if creating tokens for an organization).

#### **Steps**

1. **Log in** to your Asana account at [asana.com](https://asana.com).
2. **Click your profile icon** (top-right) → **Settings**.
3. Go to the **Apps** tab.
4. Under **Build new apps**, click **View developer console**.
5. Under **Personal access tokens,** Click **Create New Token**.
6. Enter a **name** (e.g., "API Integration") and set **expiration** (optional).
7. Click **Create Token**.
8. **Copy the token immediately** (it won’t be shown again).
9. **Done.** Use the token in API requests as a **Bearer Token** in the `Authorization` header.

### Configuring Webhooks

1. **Prepare a publicly accessible listener URL** (HTTPS) to receive event notifications.
2. **Implement the handshake response** to echo the `X-Hook-Secret` header back to Asana during the verification request.
3. **Register the webhook** by making an authenticated `POST` request to `https://app.asana.com/api/1.0/webhooks`.
4. **Use your Personal Access Token (PAT)** as a Bearer Token in the `Authorization` header.
5. **Specify the resource ID** (e.g., GID of a project or workspace) and the **target URL** in the JSON payload.
6. **Verify activation** by checking for a `201 Created` status from Asana once the handshake is successful.

### Code (Apache v2.0): Service Connectivity and Metadata

```
{
  "handle": "asana-api-v1",
  "status": "active",
  "meta": {
    "short": "Asana",
    "description": "Connect to Asana's API to manage tasks, projects, and teams.",
    "icon": "asana",
    "tags": ["project-management", "task-management", "collaboration"]
  },
  "service": {
    "baseURL": {
      "value": "https://app.asana.com/api/1.0"
    },
    "protocol": "https",
    "contentType": "application/json",
    "headers": {
      "Accept": {
        "value": "application/json"
      },
      "Content-Type": {
        "value": "application/json"
      }
    },
    "auth": {
      "method": "api_token",
      "params": {
        "apiToken": {
          "token": {
            "value": "{{apiToken}}",
            "placeholders": [
              {
                "name": "apiToken",
                "type": "String",
                "description": "Asana Personal Access Token",
                "required": true
              }
            ]
          },
          "headerName": {
            "value": "Authorization"
          }
        }
      }
    }
  }
}

```

### Code (Apache v2.0): List of External Resources and Internal Mapping

```
[
  {
    "handle": "tasks",
    "meta": {
      "short": "Tasks",
      "description": "Manage tasks in Asana, including creation, updates, and retrieval."
    },
    "endpoint": {
      "value": "/tasks",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "id"
        ],
        "meta": {
          "description": "The unique identifier for the task."
        }
      },
      {
        "name": "name",
        "type": "String",
        "selector": [
          "name"
        ],
        "meta": {
          "description": "The name of the task."
        }
      },
      {
        "name": "notes",
        "type": "String",
        "selector": [
          "notes"
        ],
        "meta": {
          "description": "Detailed description or notes for the task."
        }
      },
      {
        "name": "completed",
        "type": "Boolean",
        "selector": [
          "completed"
        ],
        "meta": {
          "description": "Indicates whether the task is completed."
        }
      },
      {
        "name": "due_on",
        "type": "String",
        "selector": [
          "due_on"
        ],
        "meta": {
          "description": "The due date of the task in YYYY-MM-DD format."
        }
      }
    ],
    "operations": {
      "list": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {},
        "queryParams": {},
        "bodyTemplate": null
      },
      "read": {
        "method": "GET",
        "path": {
          "value": "/{{id}}",
          "placeholders": [
            {
              "name": "id",
              "type": "String",
              "description": "The task ID.",
              "required": true
            }
          ]
        },
        "headers": {},
        "queryParams": {},
        "bodyTemplate": null
      },
      "create": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Content-Type": "application/json"
        },
        "queryParams": {},
        "bodyTemplate": {
          "value": "{\"data\": {\"name\": \"{{name}}\", \"notes\": \"{{notes}}\", \"due_on\": \"{{due_on}}\"}}",
          "placeholders": [
            {
              "name": "name",
              "type": "String",
              "description": "The name of the task.",
              "required": true
            },
            {
              "name": "notes",
              "type": "String",
              "description": "Detailed description or notes for the task.",
              "required": false
            },
            {
              "name": "due_on",
              "type": "String",
              "description": "The due date of the task in YYYY-MM-DD format.",
              "required": false
            }
          ]
        }
      },
      "update": {
        "method": "PUT",
        "path": {
          "value": "/{{id}}",
          "placeholders": [
            {
              "name": "id",
              "type": "String",
              "description": "The task ID.",
              "required": true
            }
          ]
        },
        "headers": {
          "Content-Type": "application/json"
        },
        "queryParams": {},
        "bodyTemplate": {
          "value": "{\"data\": {\"name\": \"{{name}}\", \"notes\": \"{{notes}}\", \"completed\": {{completed}}, \"due_on\": \"{{due_on}}\"}}",
          "placeholders": [
            {
              "name": "name",
              "type": "String",
              "description": "The name of the task.",
              "required": false
            },
            {
              "name": "notes",
              "type": "String",
              "description": "Detailed description or notes for the task.",
              "required": false
            },
            {
              "name": "completed",
              "type": "Boolean",
              "description": "Indicates whether the task is completed.",
              "required": false
            },
            {
              "name": "due_on",
              "type": "String",
              "description": "The due date of the task in YYYY-MM-DD format.",
              "required": false
            }
          ]
        }
      },
      "delete": {
        "method": "DELETE",
        "path": {
          "value": "/{{id}}",
          "placeholders": [
            {
              "name": "id",
              "type": "String",
              "description": "The task ID.",
              "required": true
            }
          ]
        },
        "headers": {},
        "queryParams": {},
        "bodyTemplate": null
      }
    },
    "webhooks": [
      {
        "event": "task_created",
        "path": "/webhooks/asana/task_created",
        "payload": [
          {
            "name": "task_id",
            "type": "String",
            "selector": [
              "data",
              "id"
            ],
            "meta": {
              "description": "The ID of the created task."
            }
          },
          {
            "name": "task_name",
            "type": "String",
            "selector": [
              "data",
              "name"
            ],
            "meta": {
              "description": "The name of the created task."
            }
          }
        ]
      },
      {
        "event": "task_updated",
        "path": "/webhooks/asana/task_updated",
        "payload": [
          {
            "name": "task_id",
            "type": "String",
            "selector": [
              "data",
              "id"
            ],
            "meta": {
              "description": "The ID of the updated task."
            }
          },
          {
            "name": "task_name",
            "type": "String",
            "selector": [
              "data",
              "name"
            ],
            "meta": {
              "description": "The name of the updated task."
            }
          }
        ]
      }
    ]
  },
  {
    "handle": "projects",
    "meta": {
      "short": "Projects",
      "description": "Manage projects in Asana, including creation, updates, and retrieval."
    },
    "endpoint": {
      "value": "/projects",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "id"
        ],
        "meta": {
          "description": "The unique identifier for the project."
        }
      },
      {
        "name": "name",
        "type": "String",
        "selector": [
          "name"
        ],
        "meta": {
          "description": "The name of the project."
        }
      },
      {
        "name": "notes",
        "type": "String",
        "selector": [
          "notes"
        ],
        "meta": {
          "description": "Detailed description or notes for the project."
        }
      }
    ],
    "operations": {
      "list": {
        "method": "GET",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {},
        "queryParams": {},
        "bodyTemplate": null
      },
      "read": {
        "method": "GET",
        "path": {
          "value": "/{{id}}",
          "placeholders": [
            {
              "name": "id",
              "type": "String",
              "description": "The project ID.",
              "required": true
            }
          ]
        },
        "headers": {},
        "queryParams": {},
        "bodyTemplate": null
      },
      "create": {
        "method": "POST",
        "path": {
          "value": "",
          "placeholders": []
        },
        "headers": {
          "Content-Type": "application/json"
        },
        "queryParams": {},
        "bodyTemplate": {
          "value": "{\"data\": {\"name\": \"{{name}}\", \"notes\": \"{{notes}}\"}}",
          "placeholders": [
            {
              "name": "name",
              "type": "String",
              "description": "The name of the project.",
              "required": true
            },
            {
              "name": "notes",
              "type": "String",
              "description": "Detailed description or notes for the project.",
              "required": false
            }
          ]
        }
      },
      "update": {
        "method": "PUT",
        "path": {
          "value": "/{{id}}",
          "placeholders": [
            {
              "name": "id",
              "type": "String",
              "description": "The project ID.",
              "required": true
            }
          ]
        },
        "headers": {
          "Content-Type": "application/json"
        },
        "queryParams": {},
        "bodyTemplate": {
          "value": "{\"data\": {\"name\": \"{{name}}\", \"notes\": \"{{notes}}\"}}",
          "placeholders": [
            {
              "name": "name",
              "type": "String",
              "description": "The name of the project.",
              "required": false
            },
            {
              "name": "notes",
              "type": "String",
              "description": "Detailed description or notes for the project.",
              "required": false
            }
          ]
        }
      },
      "delete": {
        "method": "DELETE",
        "path": {
          "value": "/{{id}}",
          "placeholders": [
            {
              "name": "id",
              "type": "String",
              "description": "The project ID.",
              "required": true
            }
          ]
        },
        "headers": {},
        "queryParams": {},
        "bodyTemplate": null
      }
    },
    "webhooks": [
      {
        "event": "project_created",
        "path": "/webhooks/asana/project_created",
        "payload": [
          {
            "name": "project_id",
            "type": "String",
            "selector": [
              "data",
              "id"
            ],
            "meta": {
              "description": "The ID of the created project."
            }
          },
          {
            "name": "project_name",
            "type": "String",
            "selector": [
              "data",
              "name"
            ],
            "meta": {
              "description": "The name of the created project."
            }
          }
        ]
      }
    ]
  },
  {
    "handle": "access-requests",
    "meta": {
      "short": "Access requests",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/access_requests",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the access request."
        }
      }
    ]
  },
  {
    "handle": "allocations",
    "meta": {
      "short": "Allocations",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/allocations",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the allocation."
        }
      }
    ]
  },
  {
    "handle": "attachments",
    "meta": {
      "short": "Attachments",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/attachments",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the attachment."
        }
      }
    ]
  },
  {
    "handle": "audit-log-api",
    "meta": {
      "short": "Audit log API",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/audit_log_api",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the audit log api."
        }
      }
    ]
  },
  {
    "handle": "batch-api",
    "meta": {
      "short": "Batch API",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/batch_api",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the batch api."
        }
      }
    ]
  },
  {
    "handle": "budgets",
    "meta": {
      "short": "Budgets",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/budgets",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the budget."
        }
      }
    ]
  },
  {
    "handle": "custom-field-settings",
    "meta": {
      "short": "Custom field settings",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/custom_field_settings",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the custom field setting."
        }
      }
    ]
  },
  {
    "handle": "custom-fields",
    "meta": {
      "short": "Custom fields",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/custom_fields",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the custom field."
        }
      }
    ]
  },
  {
    "handle": "custom-types",
    "meta": {
      "short": "Custom types",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/custom_types",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the custom type."
        }
      }
    ]
  },
  {
    "handle": "exports",
    "meta": {
      "short": "Exports",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/exports",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the export."
        }
      }
    ]
  },
  {
    "handle": "goal-relationships",
    "meta": {
      "short": "Goal relationships",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/goal_relationships",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the goal relationship."
        }
      }
    ]
  },
  {
    "handle": "goals",
    "meta": {
      "short": "Goals",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/goals",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the goal."
        }
      }
    ]
  },
  {
    "handle": "jobs",
    "meta": {
      "short": "Jobs",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/jobs",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the job."
        }
      }
    ]
  },
  {
    "handle": "memberships",
    "meta": {
      "short": "Memberships",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/memberships",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the membership."
        }
      }
    ]
  },
  {
    "handle": "organization-exports",
    "meta": {
      "short": "Organization exports",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/organization_exports",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the organization export."
        }
      }
    ]
  },
  {
    "handle": "portfolio-memberships",
    "meta": {
      "short": "Portfolio memberships",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/portfolio_memberships",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the portfolio membership."
        }
      }
    ]
  },
  {
    "handle": "portfolios",
    "meta": {
      "short": "Portfolios",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/portfolios",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the portfolio."
        }
      }
    ]
  },
  {
    "handle": "project-briefs",
    "meta": {
      "short": "Project briefs",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/project_briefs",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the project brief."
        }
      }
    ]
  },
  {
    "handle": "project-memberships",
    "meta": {
      "short": "Project memberships",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/project_memberships",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the project membership."
        }
      }
    ]
  },
  {
    "handle": "project-portfolio-settings",
    "meta": {
      "short": "Project portfolio settings",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/project_portfolio_settings",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the project portfolio setting."
        }
      }
    ]
  },
  {
    "handle": "project-statuses",
    "meta": {
      "short": "Project statuses",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/project_statuses",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the project statuse."
        }
      }
    ]
  },
  {
    "handle": "project-templates",
    "meta": {
      "short": "Project templates",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/project_templates",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the project template."
        }
      }
    ]
  },
  {
    "handle": "rates",
    "meta": {
      "short": "Rates",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/rates",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the rate."
        }
      }
    ]
  },
  {
    "handle": "reactions",
    "meta": {
      "short": "Reactions",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/reactions",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the reaction."
        }
      }
    ]
  },
  {
    "handle": "roles",
    "meta": {
      "short": "Roles",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/roles",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the role."
        }
      }
    ]
  },
  {
    "handle": "rules",
    "meta": {
      "short": "Rules",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/rules",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the rule."
        }
      }
    ]
  },
  {
    "handle": "sections",
    "meta": {
      "short": "Sections",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/sections",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the section."
        }
      }
    ]
  },
  {
    "handle": "status-updates",
    "meta": {
      "short": "Status updates",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/status_updates",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the status update."
        }
      }
    ]
  },
  {
    "handle": "stories",
    "meta": {
      "short": "Stories",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/stories",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the storie."
        }
      }
    ]
  },
  {
    "handle": "tags",
    "meta": {
      "short": "Tags",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/tags",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the tag."
        }
      }
    ]
  },
  {
    "handle": "task-templates",
    "meta": {
      "short": "Task templates",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/task_templates",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the task template."
        }
      }
    ]
  },
  {
    "handle": "team-memberships",
    "meta": {
      "short": "Team memberships",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/team_memberships",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the team membership."
        }
      }
    ]
  },
  {
    "handle": "teams",
    "meta": {
      "short": "Teams",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/teams",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the team."
        }
      }
    ]
  },
  {
    "handle": "time-periods",
    "meta": {
      "short": "Time periods",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/time_periods",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the time period."
        }
      }
    ]
  },
  {
    "handle": "time-tracking-entries",
    "meta": {
      "short": "Time tracking entries",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/time_tracking_entries",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the time tracking entrie."
        }
      }
    ]
  },
  {
    "handle": "timesheet-approval-statuses",
    "meta": {
      "short": "Timesheet approval statuses",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/timesheet_approval_statuses",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the timesheet approval statuse."
        }
      }
    ]
  },
  {
    "handle": "typeahead",
    "meta": {
      "short": "Typeahead",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/typeahead",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the typeahead."
        }
      }
    ]
  },
  {
    "handle": "user-task-lists",
    "meta": {
      "short": "User task lists",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/user_task_lists",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the user task list."
        }
      }
    ]
  },
  {
    "handle": "users",
    "meta": {
      "short": "Users",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/users",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the user."
        }
      }
    ]
  },
  {
    "handle": "workspace-memberships",
    "meta": {
      "short": "Workspace memberships",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/workspace_memberships",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the workspace membership."
        }
      }
    ]
  },
  {
    "handle": "workspaces",
    "meta": {
      "short": "Workspaces",
      "description": "An access request object represents a user's request to an item, such as a project or portfolio, that they do not have access to. The request is sent to the owner of the item for approval."
    },
    "endpoint": {
      "value": "/workspaces",
      "placeholders": []
    },
    "fields": [
      {
        "name": "id",
        "type": "String",
        "selector": [
          "gid"
        ],
        "meta": {
          "description": "The unique identifier for the workspace."
        }
      }
    ]
  }
]
```

<p align="center"><a class="button primary" data-icon="square-caret-right">Try @Human</a><a class="button primary" data-icon="check">Buy @Human Subscription</a><a class="button primary" data-icon="comments">Join @Human Community</a></p>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.planetcrust.com/human-connections/asana/asana.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
