Overview
Configuration is provided for establishing connections with the Asana service. The configuration is used in the REST Connection Manager.
Setup
Press icon to get more information about the connection parameters.
Obtain data
Use REST Source component to get data from service resource.
Insert data
Use REST Destination component to insert data into service resource.
Configuration
Base URL address: https://app.asana.com/api/1.0
.
- OAuth
-
The authentication uses an authorized token. The token will be refreshed with the following expression:
{{=Date.now() + (response.expires_in - 300) * 1000}}
.The following request parameters will be automatically processed during the authentication process:
-
Authorization:
Bearer {{=token.Access}}
Documentation: https://developers.asana.com/docs/oauth.
-
Authorization:
Based on resource template Base.
- [Read taskId] action
-
Endpoint URL address:
/tasks/{{=parameters.taskId}}/attachments
.The action has the following user-defined parameters:
- taskId: Required. Specify task identifier.
Documentation: https://developers.asana.com/docs/get-attachments-for-a-task.
- [Create] action
-
Endpoint URL address:
/tasks/{{=item.taskId}}/attachments
.The following request parameters will be automatically processed:
-
attachment:
{{=item.content}}
Documentation: https://developers.asana.com/docs/upload-an-attachment.
-
attachment:
- gid
A key field. Data type: DT_UI8
- name
Template: ShortText.
- content
Data type: DT_IMAGE The value is gathered from
{{=connection.execute({ url: '/attachments/' + item.gid }).data.download_url}}
address.- taskId
Data type: DT_UI8
- [Read] action
-
Endpoint URL address:
/events
.
The result is paginated.The action has the following user-defined parameters:
- resource: Required. Specify resource id.
The following request parameters will be automatically processed:
-
sync:
{{=parameters.iterator}}
Documentation: https://developers.asana.com/docs/get-events-on-a-resource.
- user
Template: ShortRef.
- resource
Template: ShortRef.
- type
Template: ShortText.
- action
Template: ShortText.
- parent
Template: ShortRef.
- created_at
Template: DateTime.
Based on resource template Base.
- [Read] action
-
Endpoint URL address:
/projects
.Documentation: https://developers.asana.com/docs/get-multiple-projects.
- [Read workspaceId] action
-
Endpoint URL address:
/workspaces/{{=parameters.workspaceId}}/projects
.The action has the following user-defined parameters:
- workspaceId: Required. Specify workspace identifier.
Documentation: https://developers.asana.com/docs/get-all-projects-in-a-workspace.
- [Read teamId] action
-
Endpoint URL address:
/teams/{{=parameters.teamId}}/projects
.The action has the following user-defined parameters:
- teamId: Required. Specify team identifier.
Documentation: https://developers.asana.com/docs/get-a-teams-projects.
- [Read taskId] action
-
Endpoint URL address:
/tasks/{{=parameters.taskId}}/projects
.The action has the following user-defined parameters:
- taskId: Required. Specify task identifier.
Documentation: https://developers.asana.com/docs/get-projects-a-task-is-in.
- [Read typeahead] action
-
Endpoint URL address:
/workspaces/{{=parameters.workspaceId}}/typeahead
.The action has the following user-defined parameters:
- workspaceId: Required. Specify workspace identifier.
- typeahead: Required. Specify typeahead query.
The following request parameters will be automatically processed:
-
type:
project
-
count:
100
-
query:
{{=parameters.typeahead}}
Documentation: https://developers.asana.com/docs/get-objects-via-typeahead.
- [Create] action
-
Endpoint URL address:
/projects
.Documentation: https://developers.asana.com/docs/create-a-project.
- [Update] action
-
Endpoint URL address:
/projects/{{=item.gid}}
.Documentation: https://developers.asana.com/docs/update-a-project.
- [Delete] action
-
Endpoint URL address:
/projects/{{=item.gid}}
.Documentation: https://developers.asana.com/docs/delete-a-project.
- gid
A key field. Data type: DT_UI8
- name
Template: ShortText.
- tasks
The gathered value is processed with
{{=connection.resourceManager['Task'].getData({ endpoint: 'projectId', parameters: ['projectId=' + item.gid], batchSize: parameters.batchSize })}}
expression. Field components:- An array.
-
Uses template:
ShortRef
.
- sections
The gathered value is processed with
{{=connection.resourceManager['Section'].getData({ endpoint: 'projectId', parameters: ['projectId=' + item.gid], batchSize: parameters.batchSize })}}
expression. Field components:- An array.
-
Uses template:
ShortRef
.
- task_counts
The value is gathered from
/projects/{{=item.gid}}/task_counts
address. The gathered value is processed with{{=response.data}}
expression. Field components:- Contains the following components: num_completed_milestones, num_completed_tasks, num_incomplete_milestones, num_incomplete_tasks, num_milestones, num_tasks.
Based on resource template Base.
- [Read projectId] action
-
Endpoint URL address:
/projects/{{=parameters.projectId}}/sections
.The action has the following user-defined parameters:
- projectId: Required. Specify project identifier.
Documentation: https://developers.asana.com/docs/get-sections-in-a-project.
- [Create] action
-
Endpoint URL address:
/projects/{{=item.project}}/sections
.Documentation: https://developers.asana.com/docs/create-a-section-in-a-project.
- [Update] action
-
Endpoint URL address:
/sections/{{=item.gid}}
.Documentation: https://developers.asana.com/docs/update-a-section.
- [Delete] action
-
Endpoint URL address:
/sections/{{=item.gid}}
.Documentation: https://developers.asana.com/docs/delete-a-section.
- gid
A key field. Data type: DT_UI8
- name
Template: ShortText.
Based on resource template Base.
- [Read taskId] action
-
Endpoint URL address:
/tasks/{{=parameters.taskId}}/stories
.The action has the following user-defined parameters:
- taskId: Required. Specify task identifier.
Documentation: https://developers.asana.com/docs/get-stories-from-a-task.
- [Create] action
-
Endpoint URL address:
/tasks/{{=item.target}}/stories
.Documentation: https://developers.asana.com/docs/create-a-story-on-a-task.
- [Update] action
-
Endpoint URL address:
/stories/{{=item.gid}}
.Documentation: https://developers.asana.com/docs/update-a-story.
- [Delete] action
-
Endpoint URL address:
/stories/{{=item.gid}}
.Documentation: https://developers.asana.com/docs/delete-a-story.
- gid
A key field. Data type: DT_UI8
- created_at
Template: DateTime. A read-only field.
- created_by
Template: ShortRef. A read-only field.
- text
Template: LongText.
- type
Template: ShortText. A read-only field.
Based on resource template Base.
- [Read] action
-
Endpoint URL address:
/tags
.Documentation: https://developers.asana.com/docs/get-multiple-tags.
- [Read taskId] action
-
Endpoint URL address:
/tasks/{{=parameters.taskId}}/tags
.The action has the following user-defined parameters:
- taskId: Required. Specify task identifier.
Documentation: https://developers.asana.com/docs/get-a-tasks-tags.
- [Read typeahead] action
-
Endpoint URL address:
/workspaces/{{=parameters.workspaceId}}/typeahead
.The action has the following user-defined parameters:
- workspaceId: Required. Specify workspace identifier.
- typeahead: Required. Specify typeahead query (alias for "query").
The following request parameters will be automatically processed:
-
type:
tag
-
count:
100
-
query:
{{=parameters.typeahead}}
Documentation: https://developers.asana.com/docs/get-objects-via-typeahead.
- [Create] action
-
Endpoint URL address:
/tags
.Documentation: https://developers.asana.com/docs/create-a-tag.
- [Update] action
-
Endpoint URL address:
/tags/{{=item.gid}}
.Documentation: https://developers.asana.com/docs/update-a-tag.
- [Delete] action
-
Endpoint URL address:
/tags/{{=item.gid}}
.Documentation: https://developers.asana.com/docs/delete-a-tag.
- gid
A key field. Data type: DT_UI8
- name
Template: ShortText.
- tasks
The gathered value is processed with
{{=connection.resourceManager['Task'].getData({ endpoint: 'tagId', parameters: ['tagId=' + item.gid], batchSize: parameters.batchSize })}}
expression. Field components:- An array.
-
Uses template:
ShortRef
.
Based on resource template Base.
- [Read] action
-
Endpoint URL address:
/projects/{{=parameters.projectId}}/tasks
.The action has the following user-defined parameters:
- projectId: Required. Specify project identifier.
- ExtraFields: Optional. Specify comma delimited list of additional fields.
The following request parameters will be automatically processed:
-
opt_fields:
{{=Asana.getOptFields(parameters)}}
Documentation: https://developers.asana.com/docs/get-tasks-from-a-project.
- [Read tag] action
-
Endpoint URL address:
/tags/{{=parameters.tagId}}/tasks
.The action has the following user-defined parameters:
- tagId: Required. Specify tag identifier.
- ExtraFields: Optional. Specify comma delimited list of additional fields.
The following request parameters will be automatically processed:
-
opt_fields:
{{=Asana.getOptFields(parameters)}}
Documentation: https://developers.asana.com/docs/get-tasks-from-a-tag.
- [Read section] action
-
Endpoint URL address:
/sections/{{=parameters.sectionId}}/tasks
.The action has the following user-defined parameters:
- sectionId: Required. Specify section identifier.
- ExtraFields: Optional. Specify comma delimited list of additional fields.
The following request parameters will be automatically processed:
-
opt_fields:
{{=Asana.getOptFields(parameters)}}
Documentation: https://developers.asana.com/docs/get-tasks-from-a-section.
- [Read typeahead] action
-
Endpoint URL address:
/workspaces/{{=parameters.workspaceId}}/typeahead
.The action has the following user-defined parameters:
- workspaceId: Required. Specify workspace identifier.
- typeahead: Required. Specify typeahead query (alias for "query").
The following request parameters will be automatically processed:
-
type:
task
-
count:
100
-
query:
{{=parameters.typeahead}}
Documentation: https://developers.asana.com/docs/get-objects-via-typeahead.
- [Read workspace] action
-
Endpoint URL address:
/workspaces/{{=parameters.workspaceId}}/tasks/search
.The action has the following user-defined parameters:
- workspaceId: Required. Specify workspace identifier.
- ExtraFields: Optional. Specify comma delimited list of additional fields.
The following request parameters will be automatically processed:
-
opt_fields:
{{=Asana.getOptFields(parameters)}}
Documentation: https://developers.asana.com/reference/searchtasksforworkspace.
- [Create] action
-
Endpoint URL address:
/tasks
.Documentation: https://developers.asana.com/docs/create-a-task.
- [Update] action
-
Endpoint URL address:
/tasks/{{=item.gid}}
.Documentation: https://developers.asana.com/docs/update-a-task.
- [Delete] action
-
Endpoint URL address:
/tasks/{{=item.gid}}
.Documentation: https://developers.asana.com/docs/delete-a-task.
- gid
A key field. Data type: DT_UI8
- name
Template: ShortText.
- assignee
Template: ShortRef.
- assignee_status
Template: ShortText.
- approval_status
Template: ShortText.
- created_at
Template: DateTime. A read-only field.
- completed
Data type: DT_BOOL
- completed_at
Template: DateTime. A read-only field.
- due_on
Data type: DT_DBDATE
- start_on
Data type: DT_DBDATE
- resource_type
Template: ShortText.
- resource_subtype
Template: ShortText.
- due_at
Template: DateTime.
- created_by
Template: ShortRef.
- completed_by
Template: ShortRef.
- external
Field components:
-
Uses template:
ShortText
. - Contains the following components: gid, data.
-
Uses template:
- followers
Field components:
- An array.
-
Uses template:
ShortRef
.
- hearted
Data type: DT_BOOL
- hearts
A read-only field. Field components:
- An array.
-
Uses template:
UserRef
.
- modified_at
Template: DateTime. A read-only field.
- start_at
Template: DateTime.
- notes
Template: LongText.
- num_hearts
Data type: DT_I4 A read-only field.
- num_likes
Data type: DT_I4 A read-only field.
- num_subtasks
Data type: DT_I4 A read-only field.
- workspace
Template: ShortRef.
- actual_time_minutes
Data type: DT_I4
- memberships
Field components:
- An array.
- Contains the following components: project, section.
- parent
Template: ShortRef. Field components:
-
Uses template:
ShortText
. - Contains the following components: resource_type, resource_subtype, created_by.
-
Uses template:
- is_rendered_as_separator
Data type: DT_BOOL
- liked
Data type: DT_BOOL
- likes
Field components:
- An array.
-
Uses template:
UserRef
.
- dependencies
Field components:
- An array.
-
Uses template:
ShortRef
.
- dependents
Field components:
- An array.
-
Uses template:
ShortRef
.
- custom_fields
Field components:
- An array.
-
Uses template:
ShortRef
. - Contains the following components: resource_subtype, enum_options, enabled, representation_type, id_prefix, is_formula_field, date_value, enum_value, multi_enum_values, number_value, text_value, display_value, description, precision, format, currency_code, custom_label, custom_label_position, is_global_to_workspace, has_notifications_enabled, asana_created_field, is_value_read_only, created_by, people_value.
- subtasks
A read-only field. The value is gathered from
/tasks/{{=item.gid}}/subtasks
address. The gathered value is processed with{{=response.data}}
expression. Field components:- An array.
-
Uses template:
ShortRef
.
- stories
A read-only field. The gathered value is processed with
{{=connection.resourceManager['Story'].getData({ endpoint: 'taskId', parameters: ['taskId=' + item.gid], batchSize: parameters.batchSize })}}
expression. Field components:- An array.
-
Uses template:
ShortRef
.
- projects
Field components:
- An array.
-
Uses template:
ShortRef
.
- tags
Field components:
- An array.
-
Uses template:
ShortRef
.
- [External]
-
The external fields list is extracted from:
{{=Asana.getTaskCustomFields(parameters)}}
.- custom.{{=external.name}}
Template: {{=Asana.getFieldTemplate(external.resource_subtype)}}.
Based on resource template Base.
- [Read organizationId] action
-
Endpoint URL address:
/organizations/{{=parameters.organizationId}}/teams
.The action has the following user-defined parameters:
- organizationId: Required. Specify organization identifier.
Documentation: https://developers.asana.com/docs/get-teams-in-an-organization.
- [Read userId] action
-
Endpoint URL address:
/users/{{=parameters.userId}}/teams
.The action has the following user-defined parameters:
- userId: Required. Specify user identifier.
Documentation: https://developers.asana.com/docs/get-teams-for-a-user.
- gid
A key field. Data type: DT_UI8
- name
Template: ShortText.
- users
The gathered value is processed with
{{=connection.resourceManager['User'].getData({ endpoint: 'teamId', parameters: ['teamId=' + item.gid], batchSize: parameters.batchSize })}}
expression. Field components:- An array.
-
Uses template:
ShortRef
.
Based on resource template Base.
- [Read] action
-
Endpoint URL address:
/users
.Documentation: https://developers.asana.com/docs/get-multiple-users.
- [Read workspaceId] action
-
Endpoint URL address:
/workspaces/{{=parameters.workspaceId}}/users
.The action has the following user-defined parameters:
- workspaceId: Required. Specify workspace identifier.
Documentation: https://developers.asana.com/docs/get-users-in-a-workspace-or-organization.
- [Read teamId] action
-
Endpoint URL address:
/teams/{{=parameters.teamId}}/users
.The action has the following user-defined parameters:
- teamId: Required. Specify team identifier.
Documentation: https://developers.asana.com/docs/get-users-in-a-team.
- [Read typeahead] action
-
Endpoint URL address:
/workspaces/{{=parameters.workspaceId}}/typeahead
.The action has the following user-defined parameters:
- workspaceId: Required. Specify workspace identifier.
- typeahead: Required. Specify typeahead query (alias for "query").
The following request parameters will be automatically processed:
-
type:
user
-
count:
100
-
query:
{{=parameters.typeahead}}
Documentation: https://developers.asana.com/docs/get-objects-via-typeahead.
- [Create] action
-
Endpoint URL address:
/workspaces/{{=item.workspaceId}}/addUser
.The following request parameters will be automatically processed:
-
user:
{{=item.name}}
Documentation: https://developers.asana.com/docs/add-a-user-to-a-workspace-or-organization.
-
user:
- [Delete] action
-
Endpoint URL address:
/workspaces/{{=item.workspaceId}}/removeUser
.
The action uses POST method.The following request parameters will be automatically processed:
-
user:
{{=item.name}}
Documentation: https://developers.asana.com/docs/remove-a-user-from-a-workspace-or-organization.
-
user:
- gid
A key field. Data type: DT_UI8
- name
Template: ShortText.
- workspaceId
A key field. Data type: DT_UI8
- workspace_memberships
The value is gathered from
/users/{{=item.gid}}/workspace_memberships
address. The gathered value is processed with{{=response.data}}
expression. Field components:- An array.
- Contains the following components: gid, user, workspace.
Based on resource template Base.
- [Read] action
-
Endpoint URL address:
/webhooks
.Documentation: https://developers.asana.com/docs/get-multiple-webhooks.
- [Create] action
-
Endpoint URL address:
/webhooks
.Documentation: https://developers.asana.com/docs/establish-a-webhook.
- [Delete] action
-
Endpoint URL address:
/webhooks/{{=item.gid}}
.Documentation: https://developers.asana.com/docs/delete-a-webhook.
- gid
A key field. Data type: DT_UI8
- resource
Template: ShortRef. A read-only field.
- target
Template: ShortText. A read-only field.
- active
Data type: DT_BOOL
Based on resource template Base.
- [Read] action
-
Endpoint URL address:
/workspaces
.Documentation: https://developers.asana.com/docs/get-multiple-workspaces.
- [Update] action
-
Endpoint URL address:
/workspaces/{{=item.gid}}
.Documentation: https://developers.asana.com/docs/update-a-workspace.
- gid
A key field. Data type: DT_UI8
- name
Template: ShortText.
- is_organization
Data type: DT_BOOL
- workspace_memberships
The value is gathered from
/workspaces/{{=item.gid}}/workspace_memberships
address. The gathered value is processed with{{=response.data}}
expression. Field components:- An array.
- Contains the following components: gid, user, workspace.
- [Read] action
-
The result is extracted from:{{=response.data}}
.
The result is paginated.The following request parameters will be automatically processed:
-
limit:
{{=parameters.batchSize}}
-
offset:
{{=parameters.iterator}}
-
_includeUserParameters:
{{=parameters}}
-
limit:
- [Create] action
-
The result is extracted from:{{=response.data}}
.
The action uses POST method.The following request parameters will be automatically processed:
-
_includeUserParameters:
{{=parameters}}
-
item:
{{=item}}
-
_includeUserParameters:
- [Update] action
-
The result is extracted from:{{=response.data}}
.
The action uses PUT method.The following request parameters will be automatically processed:
-
_includeUserParameters:
{{=parameters}}
-
item:
{{=item}}
-
_includeUserParameters:
- [Delete] action
-
The action uses DELETE method.The following request parameters will be automatically processed:
-
_includeUserParameters:
{{=parameters}}
-
_includeUserParameters:
- ShortText
Data type: DT_WSTR ( length 250 )
- LongText
Data type: DT_WSTR ( length 1000 )
- DateTime
Data type: DT_DBTIMESTAMP
- Number
Data type: DT_R8
- ShortRef
Field components:
-
Uses template:
ShortText
. - Contains the following components: gid, resource_type, name.
-
Uses template:
- UserRef
Field components:
-
Uses template:
ShortRef
. - Contains the following components: gid, user.
-
Uses template:
- EnumOption
Template: ShortRef. Field components:
-
Uses template:
ShortText
. - Contains the following components: enabled, color.
-
Uses template:
What's New
- New: Support for Task custom fields.
- Fixed: Various fixes and improvements (Thank you, Stewart).
- Fixed: Incorrect identifier field definition (Thank you, Stan).
- New: Introduced connection.
COZYROC SSIS+ Components Suite is free for testing in your development environment.
A licensed version can be deployed on-premises, on Azure-SSIS IR and on COZYROC Cloud.