Asana Tables
The Asana integration uses the following tables and scopes
Tables
AsanaAttachments
Scoped Token Permissions: attachments:read;tasks:read
This table stores file attachments that have been uploaded to Asana tasks. Each record represents a single attachment, including metadata such as its name, size, the date it was uploaded, and the permanent URL used to access the file. Attachments are joined to their parent tasks through the AsanaTasks_AsanaAttachments bridge table because a single attachment may be linked to multiple tasks.
| Name | Type | Description |
|---|---|---|
| AttachmentGID | string | The unique global identifier (GID) for the attachment in Asana. |
| BatchDate | datetime | The date and time data was synced to our database. |
| ConfigID | integer | The ID of the configuration within Compyl. |
| CreatedAt | datetime | The date and time when the attachment was uploaded to Asana. |
| Name | string | The display name of the attachment as shown in Asana. |
| PermanentUrl | string | A long-lived URL that can be used to access the attachment without re-authenticating. |
| ResourceType | string | The Asana resource type for this record (e.g., attachment). |
| Size | interger | The size of the attachment in bytes. |
AsanaProjects
Scoped Token Permissions: projects:read;users:read;teams:read;workspaces:read
The AsanaProjects table stores information about projects in an Asana workspace. A project is a container for tasks and is the primary unit of work organization in Asana. This table captures project metadata (name, owner, status, dates, privacy settings, custom fields, etc.) and is the parent of tasks, project memberships, and project team memberships.
| Name | Type | Description |
|---|---|---|
| Archived | boolean | Indicates whether the project has been archived in Asana. |
| BatchDate | datetime | The date and time data was synced to our database. |
| Color | string | The color of the project as displayed in the Asana UI. |
| Completed | boolean | Indicates whether the project is currently marked as completed. |
| CompletedAt | datetime | The date and time when the project was marked as completed. |
| CompletedByGID | string | The Asana GID of the user who marked the project as completed. |
| ConfigID | integer | The ID of the configuration within Compyl. |
| CreatedAt | datetime | The date and time when the project was created in Asana. |
| CreatedFromTemplateGID | string | The Asana GID of the template the project was instantiated from, if any. |
| CurrentStatusJson | string | Serialized JSON payload describing the project's current status object as returned by Asana. |
| CurrentStatusUpdateJson | string | Serialized JSON payload describing the project's most recent status update object as returned by Asana. |
| CustomFieldSettingsJson | string | Serialized JSON payload describing the custom field settings configured on the project. |
AsanaProjectTeamMemberships
Scoped Token Permissions: projects:read;teams:read
This table stores the membership rows that link an Asana team to an Asana project. Each row represents one team that has access to a particular project, along with the level of access that team has.
| Name | Type | Description |
|---|---|---|
| AccessLevel | string | The access level granted to the team on the project (e.g., admin, editor, commenter, viewer`). |
| BatchDate | datetime | The date and time data was synced to our database. |
| ConfigID | integer | The ID of the configuration within Compyl. |
| ProjectGID | string | The Asana GID of the project the team has access to. |
| ProjectTeamMembershipGID | string | The unique global identifier (GID) for the project membership record in Asana. |
| ResourceSubtype | string | The Asana resource subtype for this membership (e.g., project_membership). |
| ResourceType | string | The Asana resource type for this record (e.g., project_membership). |
| TeamGID | string | The Asana GID of the team granted access to the project. |
AsanaProjectUserMemberships
Scoped Token Permissions: projects:read;users:read
This table stores the membership rows that link an Asana user directly to an Asana project. Each row represents a single user that has been added to a particular project, along with the access level that user has on that project.
| Name | Type | Description |
|---|---|---|
| AccessLevel | string | The access level granted to the user on the project (e.g., admin, editor, commenter, viewer`). |
| BatchDate | datetime | The date and time data was synced to our database. |
| ConfigID | integer | The ID of the configuration within Compyl. |
| ProjectGID | string | The Asana GID of the project the user has access to. |
| ProjectUserMembershipGID | string | The unique global identifier (GID) for the project membership record in Asana. |
| ResourceSubtype | string | The Asana resource subtype for this membership (e.g., project_membership). |
| ResourceType | string | The Asana resource type for this record (e.g., project_membership). |
| UserGID | string | The Asana GID of the user that has access to the project. |
AsanaStories
Scoped Token Permissions: stories:read;tasks:read;users:read
The AsanaStories table stores the activity feed (stories) recorded against Asana tasks. A story represents a single event on a task — a comment, a state change, an assignment, an attachment, a custom field change, etc. Each row captures the change including the old and new values, who performed the change, and when it occurred. Used for activity / audit reporting on Asana tasks.
| Name | Type | Description |
|---|---|---|
| Assignee | n/a | Navigation property only. Not persisted as an explicit column on this table; an EF Core shadow foreign key is generated for the related AsanaUsers row. |
| BatchDate | datetime | The date and time data was synced to our database. |
| ConfigID | integer | The ID of the configuration within Compyl. |
| CreatedAt | datetime | The date and time when the story was created in Asana. |
| CreatedBy | n/a | Navigation property only. Not persisted as an explicit column on this table; an EF Core shadow foreign key is generated for the related AsanaUsers row. |
| DependencyCreatedBy | n/a | Navigation property only. Not persisted as an explicit column on this table; an EF Core shadow foreign key is generated for the related AsanaUsers row. |
| DependencyGid | string | The Asana GID of the dependency-related task referenced by the story, when applicable. |
| DependencyName | string | The name of the dependency-related task referenced by the story. |
| DependencyResourceSubtype | string | The Asana resource subtype of the dependency-related task referenced by the story. |
| DependencyResourceType | string | The Asana resource type of the dependency-related task referenced by the story. |
| DuplicatedFromCreatedBy | n/a | Navigation property only. Not persisted as an explicit column on this table; an EF Core shadow foreign key is generated for the related AsanaUsers row. |
| DuplicatedFromGid | string | The Asana GID of the original task this task was duplicated from. |
AsanaTasks
Scoped Token Permissions: tasks:read;projects:read;users:read
The AsanaProjects table stores information about projects in an Asana workspace. A project is a container for tasks and is the primary unit of work organization in Asana. This table captures project metadata (name, owner, status, dates, privacy settings, custom fields, etc.) and is the parent of tasks, project memberships, and project team memberships.
| Name | Type | Description |
|---|---|---|
| ActualTimeMinutes | integer | Total tracked time on the task in minutes. |
| ApprovalStatus | string | For approval-style tasks, the current approval state (e.g., approved, rejected, pending). |
| AssigneeGID | string | The Asana GID of the user the task is assigned to. |
| AssigneeSectionGID | string | The Asana GID of the section the task currently lives in for the assignee. |
| AssigneeStatus | string | The status of the task in the assignee's My Tasks view (e.g., today, upcoming, later). |
| AttachmentCount | integer | The number of attachments on the task at the time of the most recent sync. |
| BatchDate | datetime | The date and time data was synced to our database. |
| Completed | boolean | Indicates whether the task is currently marked as completed. |
| CompletedAt | datetime | The date and time when the task was marked as completed. |
| CompletedByGID | string | The Asana GID of the user that marked the task as completed. |
| ConfigID | integer | The ID of the configuration within Compyl. |
| CreatedAt | datetime | The date and time when the task was created in Asana. |
AsanaTaskCustomFields
Scoped Token Permissions: tasks:read;custom_fields:read
Stores the per-task custom field values defined on Asana tasks. Each row represents one custom field on one task and captures the field's display value at the time of the sync. Multi-value custom fields produce multiple rows per task.
| Name | Type | Description |
|---|---|---|
| BatchDate | datetime | The date and time data was synced to our database. |
| ConfigID | integer | The ID of the configuration within Compyl. |
| CustomFieldGID | string | The Asana GID of the custom field definition. |
| CustomFieldName | string | The display name of the custom field as configured in Asana. |
| DisplayValue | string | The human-readable display value of the custom field for the parent task. |
| ResourceSubtype | string | The Asana resource subtype for the custom field (e.g., text, number, enum, multi_enum, date, people). |
| TaskGID | string | The Asana GID of the task this custom field value belongs to. |
AsanaTeams
Scoped Token Permissions: teams:read
The AsanaTeams table stores teams that exist within an Asana workspace / organization. A team is a group of users that collaborate on a shared set of projects. This table captures team metadata (name, description, visibility) and the access-level settings that control who can manage the team.
| Name | Type | Description |
|---|---|---|
| BatchDate | datetime | The date and time data was synced to our database. |
| ConfigID | integer | The ID of the configuration within Compyl. |
| Description | string | The team description as plain text. |
| EditTeamNameOrDescriptionAccessLevel | string | The access level required to edit the team's name or description. |
| EditTeamVisibilityOrTrashTeamAccessLevel | string | The access level required to edit the team's visibility or to trash the team. |
| Endorsed | boolean | Indicates whether the team is endorsed by the organization. |
| GuestInviteManagementAccessLevel | string | The access level required to invite guests to the team. |
| HtmlDescription | string | The team description rendered as HTML. |
| JoinRequestManagementAccessLevel | string | The access level required to manage join requests for the team. |
| MemberInviteManagementAccessLevel | string | The access level required to invite members to the team. |
| Name | string | The display name of the team. |
| PermalinkUrl | string | A direct URL that opens the team inside the Asana UI. |
AsanaTeamMemberships
Scoped Token Permissions: team_memberships:read;users:read;teams:read
The AsanaTeamMemberships table stores the membership rows that link Asana users to Asana teams. Each row represents one user that is a member of one team along with their guest / admin / limited-access flags.
| Name | Type | Description |
|---|---|---|
| BatchDate | datetime | The date and time data was synced to our database. |
| ConfigID | integer | The ID of the configuration within Compyl. |
| IsAdmin | boolean | Indicates whether the user is an admin of the team. |
| IsGuest | boolean | Indicates whether the user is a guest member of the team. |
| IsLimitedAccess | boolean | Indicates whether the user has limited access to the team. |
| ResourceType | string | The Asana resource type for this record (e.g., team_membership). |
| TeamGID | string | The Asana GID of the team the user belongs to. |
| TeamMembershipGID | string | The unique global identifier (GID) for the team membership in Asana. |
| UserGID | string | The Asana GID of the user that is a member of the team. |
AsanaUsers
Scoped Token Permissions: users:read
The AsanaUsers table stores user accounts that are visible to the configured Service Account across the synced workspaces. This includes the user's display name, email, profile photo metadata, and serves as the parent for workspace memberships, team memberships, and project user memberships.
| Name | Type | Description |
|---|---|---|
| BatchDate | datetime | The date and time data was synced to our database. |
| ConfigID | integer | The ID of the configuration within Compyl. |
| string | The email address of the user. | |
| Name | string | The display name of the user. |
| PhotoJson | string | Serialized JSON payload describing the user's profile photo (multiple sizes / URLs). |
| ResourceType | string | The Asana resource type for this record (e.g., user). |
| UserGID | string | The unique global identifier (GID) for the user in Asana. |
AsanaWorkspaces
The AsanaWorkspaces table stores the Asana workspaces / organizations visible to the configured Service Account. A workspace is the top-level container in Asana — every team, project, task, and user lives inside a workspace. The `IsOrganizationflag distinguishes Enterprise organizations from non-organization workspaces.
| Name | Type | Description |
|---|---|---|
| BatchDate | datetime | The date and time data was synced to our database. |
| ConfigID | integer | The ID of the configuration within Compyl. |
| EmailDomainsJson | string | Serialized JSON payload listing the email domains associated with the workspace (organizations only, otherwise null`). |
| IsOrganization | boolean | Indicates whether the workspace is an Asana organization (true) or a regular workspace (false). |
| Name | string | The display name of the workspace / organization. |
| ResourceType | string | The Asana resource type for this record (e.g., workspace). |
| WorkspaceGID | string | The unique global identifier (GID) for the workspace in Asana. |
AsanaWorkspaceMemberships
Scoped Token Permissions: workspaces:read;users:read
The AsanaWorkspaceMemberships table stores the membership rows that link Asana users to Asana workspaces. Each row captures the user's role within the workspace (active, admin, guest, view-only), the user's My Tasks list reference, and any vacation dates on file.
| Name | Type | Description |
|---|---|---|
| BatchDate | datetime | The date and time data was synced to our database. |
| ConfigID | integer | The ID of the configuration within Compyl. |
| CreatedAt | datetime | The date and time when the workspace membership was created in Asana. |
| IsActive | boolean | Indicates whether the user's membership in the workspace is currently active. |
| IsAdmin | boolean | Indicates whether the user is an admin of the workspace. |
| IsGuest | boolean | Indicates whether the user is a guest member of the workspace. |
| IsViewOnly | boolean | Indicates whether the user is restricted to view-only access in the workspace. |
| ResourceType | string | The Asana resource type for this record (e.g., workspace_membership). |
| UserGID | string | The Asana GID of the user that is a member of the workspace. |
| UserTaskListGID | string | The Asana GID of the user's My Tasks list within this workspace. |
| UserTaskListName | string | The display name of the user's My Tasks list within this workspace. |
| VacationDatesJson | string | Serialized JSON payload describing the user's vacation dates on file for this workspace. |
| WorkspaceGID | string | The Asana GID of the workspace the user is a member of. |
| WorkspaceMembershipGID | string | The unique global identifier (GID) for the workspace membership in Asana. |
Bridge Tables
AsanaProjects_AsanaTasks
Bridge table that links Asana tasks to the projects they belong to (a task can live in multiple projects).
| Name | Type | Description |
|---|---|---|
| ConfigID | integer | The ID of the configuration within Compyl. |
| ProjectGID | string | The Asana GID of the project that the task belongs to. |
| TaskGID | string | The Asana GID of the task that belongs to the project. |
AsanaTaskDependencies
Scoped Token Permissions: tasks:read
Self-referential bridge table that captures task-to-task dependency relationships within Asana. Each row links a dependent task to a blocking task; both ends point back to AsanaTasks.
| Name | Type | Description |
|---|---|---|
| BatchDate | datetime | The date and time data was synced to our database. |
| BlockingTaskGID | string | The Asana GID of the task that is blocking the dependent task (i.e., the prerequisite). |
| ConfigID | integer | The ID of the configuration within Compyl. |
| DependentOnTaskGID | string | The Asana GID of the task that depends on the blocking task (i.e., the task that is blocked). |
AsanaTasks_AsanaAttachments
Bridge table that links Asana attachments to the tasks they are attached to.
| Name | Type | Description |
|---|---|---|
| AttachmentGID | string | The Asana GID of the attachment. |
| ConfigID | integer | The ID of the configuration within Compyl. |
| TaskGID | string | The Asana GID of the task the attachment is on. |
Updated 5 months ago