Asana Connector for SSIS

In this article you will learn how to quickly and efficiently integrate Asana data in SSIS without coding. We will use high-performance Asana Connector to easily connect to Asana and then access the data inside SSIS.

Read and write data related to Tasks, Projects, Workspaces, Portfolios, TimeEntries, Memberships and more.

Let's follow the steps below to see how we can accomplish that!

Download Documentation

Video Tutorial - Integrate Asana data in SSIS

This video covers following and more so watch carefully. After watching this video follow the steps described in this article.

  • How to download / install required driver for Asana integration in SSIS
  • How to configure connection for Asana
  • Features about API Source (Authentication / Query Language / Examples / Driver UI)
  • Using Asana Connection in SSIS

Prerequisites

Before we begin, make sure the following prerequisites are met:

  1. SSIS designer installed. Sometimes it is referred as BIDS or SSDT (download it from Microsoft).
  2. Basic knowledge of SSIS package development using Microsoft SQL Server Integration Services.
  3. SSIS PowerPack is installed (if you are new to SSIS PowerPack, then get started!).

Read data from Asana in SSIS (Export data)

In this section we will learn how to configure and use Asana Connector in API Source to extract data from Asana.

  1. Begin with opening Visual Studio and Create a New Project.

  2. Select Integration Service Project and in new project window set the appropriate name and location for project. And click OK.

  3. In the new SSIS project screen you will find the following:

    1. SSIS ToolBox on left side bar
    2. Solution Explorer and Property Window on right bar
    3. Control flow, data flow, event Handlers, Package Explorer in tab windows
    4. Connection Manager Window in the bottom

    SSIS Project Screen
    Note: If you don't see ZappySys SSIS PowerPack Task or Components in SSIS Toolbox, please refer to this help link.
  4. Now, Drag and Drop SSIS Data Flow Task from SSIS Toolbox. Double click on the Data Flow Task to see Data Flow designer.

    SSIS Data Flow Task - Drag and Drop
  5. From the SSIS toolbox drag and API Source (Predefined Templates) on the data flow designer surface, and double click on it to edit it:
    SSIS API Source (Predefined Templates) - Drag and Drop

  6. Select New Connection to create a new connection:
    API Source - New Connection

  7. Use a preinstalled Asana Connector from Popular Connector List or press Search Online radio button to download Asana Connector. Once downloaded simply use it in the configuration:

    Asana
    Asana Connector Selection

  8. Proceed with selecting the desired Authentication Type. Then select API Base URL (in most cases default one is the right one). Finally, fill in all the required parameters and set optional parameters if needed. You may press a link Steps to Configure which will help set certain parameters. More info is available in Authentication section.

    Steps how to get and use Asana credentials
    Here is how to obtain a Personal Access Token (PAT) in Asana:
    1. Open My apps in Asana portal and click Create new token button: Create Personal Access Token in Asana
    2. Once a popup opens, name your new token: Name Personal Access Token in Asana
    3. Then click Copy button to copy the token: Use Personal Access Token to get Asana data via REST API
    4. Now go to SSIS package or ODBC data source and use this token in Personal Access Token authentication configuration.
    5. Choose Default Workspace and Default Project to work with.
    6. Click Test Connection to confirm the connection is working.
    7. Done! Now you are ready to use Asana Connector!

    Configuring authentication parameters
    Asana
    Personal Access Token [Http]
    https://app.asana.com/api/1.0
    Required Parameters
    Enter Token (Personal Access Token - PAT) Fill-in the parameter...
    Default Workspace Fill-in the parameter...
    Default Project Fill-in the parameter...
    Optional Parameters
    RetryMode RetryWhenStatusCodeMatch
    RetryStatusCodeList 429
    RetryCountMax 5
    RetryMultiplyWaitTime True
    ZappySys Http Connection
    Steps how to get and use Asana credentials
    Here is how to register an OAuth app in Asana:
    1. Open My apps in Asana portal and click Create new app button: Create new OAuth app in Asana
    2. Once a popup opens, name your app and check two options, and click Create app button: Name OAuth app in Asana
    3. Then copy Client ID and Client secret and save them in a file (we will need them for authentication): Use OAuth app to get Asana data via REST API
    4. Continue by selecting OAuth menu item on your left and click Add redirect URL button (you can have your own or use https://zappysys.com/oauth): Add redirect URL to Asana OAuth app
    5. Proceed by clicking on the Manage distribution section on your left.
    6. Then specify workspaces your app needs to access (use Any workspace to access them all): Choose distribution method in Asana OAuth app
    7. Once you do that, click Save changes button.
    8. Now go to SSIS package or ODBC data source and use Client ID, Client Secret, and Redirect URL in OAuth app authentication configuration.
    9. When you are done with that, click Generate Token button to generate Access and Refresh Tokens.
    10. Choose Default Workspace and Default Project to work with.
    11. Click Test Connection to confirm the connection is working.
    12. Done! Now you are ready to use Asana Connector!

    Configuring authentication parameters
    Asana
    OAuth app [OAuth]
    https://app.asana.com/api/1.0
    Required Parameters
    ClientId Fill-in the parameter...
    Client Secret Fill-in the parameter...
    Default Workspace (** Select after Token is generated **) Fill-in the parameter...
    Default Project (** Select after Token is generated **) Fill-in the parameter...
    Optional Parameters
    Permissions default
    Redirect URL https://zappysys.com/oauth
    RetryMode RetryWhenStatusCodeMatch
    RetryStatusCodeList 429
    RetryCountMax 5
    RetryMultiplyWaitTime True
    ZappySys OAuth Connection

  9. Select the desired endpoint, change/pass the properties values, and click on Preview Data button to make the API call.

    API Source - Asana
    Read and write data related to Tasks, Projects, Workspaces, Portfolios, TimeEntries, Memberships and more.
    API Source - Select Endpoint

  10. That's it! We are done! Just in a few clicks we configured the call to Asana using Asana Connector.

    You can load the source data into your desired destination using the Upsert Destination, which supports SQL Server, PostgreSQL, and Amazon Redshift. We also offer other destinations such as CSV, Excel, Azure Table, Salesforce, and more. You can check out our SSIS PowerPack Tasks and components for more options. (*loaded in Trash Destination)

    Execute Package - Reading data from Asana and load into target

Write data to Asana using SSIS (Import data)

In this section we will learn how to configure and use Asana Connector in the API Destination to write data to Asana.

Video tutorial

This video covers following and more so watch carefully. After watching this video follow the steps described in this article.

  • How to download SSIS PowerPack for Asana integration in SSIS
  • How to configure connection for Asana
  • How to write or lookup data to Asana
  • Features about SSIS API Destination
  • Using Asana Connector in SSIS

Step-by-step instructions

In upper section we learned how to read data, now in this section we will learn how to configure Asana in the API Source to POST data to the Asana.

  1. Read the data from the source, being any desired source component. In example we will use ZappySys Dummy Data Source component.

  2. From the SSIS Toolbox drag and drop API Destination (Predefined Templates) on the Data Flow Designer surface and connect source component with it, and double click to edit it.
    SSIS API Destination (Predefined Templates) - Drag and Drop

  3. Select New Connection to create a new connection:

    API Destination - Asana
    Read and write data related to Tasks, Projects, Workspaces, Portfolios, TimeEntries, Memberships and more.
    API Destination - New Connection

  4. Use a preinstalled Asana Connector from Popular Connector List or press Search Online radio button to download Asana Connector. Once downloaded simply use it in the configuration:

    Asana
    Asana Connector Selection

  5. Proceed with selecting the desired Authentication Type. Then select API Base URL (in most cases default one is the right one). Finally, fill in all the required parameters and set optional parameters if needed. You may press a link Steps to Configure which will help set certain parameters. More info is available in Authentication section.

    Steps how to get and use Asana credentials
    Here is how to obtain a Personal Access Token (PAT) in Asana:
    1. Open My apps in Asana portal and click Create new token button: Create Personal Access Token in Asana
    2. Once a popup opens, name your new token: Name Personal Access Token in Asana
    3. Then click Copy button to copy the token: Use Personal Access Token to get Asana data via REST API
    4. Now go to SSIS package or ODBC data source and use this token in Personal Access Token authentication configuration.
    5. Choose Default Workspace and Default Project to work with.
    6. Click Test Connection to confirm the connection is working.
    7. Done! Now you are ready to use Asana Connector!

    Configuring authentication parameters
    Asana
    Personal Access Token [Http]
    https://app.asana.com/api/1.0
    Required Parameters
    Enter Token (Personal Access Token - PAT) Fill-in the parameter...
    Default Workspace Fill-in the parameter...
    Default Project Fill-in the parameter...
    Optional Parameters
    RetryMode RetryWhenStatusCodeMatch
    RetryStatusCodeList 429
    RetryCountMax 5
    RetryMultiplyWaitTime True
    ZappySys Http Connection
    Steps how to get and use Asana credentials
    Here is how to register an OAuth app in Asana:
    1. Open My apps in Asana portal and click Create new app button: Create new OAuth app in Asana
    2. Once a popup opens, name your app and check two options, and click Create app button: Name OAuth app in Asana
    3. Then copy Client ID and Client secret and save them in a file (we will need them for authentication): Use OAuth app to get Asana data via REST API
    4. Continue by selecting OAuth menu item on your left and click Add redirect URL button (you can have your own or use https://zappysys.com/oauth): Add redirect URL to Asana OAuth app
    5. Proceed by clicking on the Manage distribution section on your left.
    6. Then specify workspaces your app needs to access (use Any workspace to access them all): Choose distribution method in Asana OAuth app
    7. Once you do that, click Save changes button.
    8. Now go to SSIS package or ODBC data source and use Client ID, Client Secret, and Redirect URL in OAuth app authentication configuration.
    9. When you are done with that, click Generate Token button to generate Access and Refresh Tokens.
    10. Choose Default Workspace and Default Project to work with.
    11. Click Test Connection to confirm the connection is working.
    12. Done! Now you are ready to use Asana Connector!

    Configuring authentication parameters
    Asana
    OAuth app [OAuth]
    https://app.asana.com/api/1.0
    Required Parameters
    ClientId Fill-in the parameter...
    Client Secret Fill-in the parameter...
    Default Workspace (** Select after Token is generated **) Fill-in the parameter...
    Default Project (** Select after Token is generated **) Fill-in the parameter...
    Optional Parameters
    Permissions default
    Redirect URL https://zappysys.com/oauth
    RetryMode RetryWhenStatusCodeMatch
    RetryStatusCodeList 429
    RetryCountMax 5
    RetryMultiplyWaitTime True
    ZappySys OAuth Connection

  6. Select the desired endpoint, change/pass the properties values, and go to the Mappings tab to map the columns.

    API Destination - Asana
    Read and write data related to Tasks, Projects, Workspaces, Portfolios, TimeEntries, Memberships and more.
    API Destination - Select Endpoint

  7. Finally, map the desired columns:

    API Destination - Asana
    Read and write data related to Tasks, Projects, Workspaces, Portfolios, TimeEntries, Memberships and more.
    API Destination - Columns Mapping

  8. That's it; we successfully configured the POST API Call. In a few clicks we configured the Asana API call using ZappySys Asana Connector

    Execute Package - Reading data from API Source and load into target

Load Asana data into SQL Server using Upsert Destination (Insert or Update)

Once you configured the data source, you can load Asana data into SQL Server using Upsert Destination.

Upsert Destination can merge or synchronize source data with the target table. It supports Microsoft SQL Server, PostgreSQL, and Redshift databases as targets. Upsert Destination also supports very fast bulk upsert operation along with bulk delete.

Upsert operation - a database operation which performs INSERT or UPDATE SQL commands based on record's existence condition in the target table. It inserts records that don't have matching records in the target table or updates them, if they do, by matching them by key columns.

Upsert Destination supports INSERT, UPDATE, and DELETE operations, so it is similar to SQL Server's MERGE command, except it can be used directly in SSIS package.

  1. From the SSIS Toolbox drag-and-drop Upsert Destination component onto the Data Flow designer background.

  2. Connect your SSIS source component to Upsert Destination.

  3. Double-click on Upsert Destination component to open configuration window.

  4. Start by selecting the Action from the list.

  5. Next, select the desired target connection or create one by clicking <New [provider] Connection> menu item from the Target Connection dropdown.

  6. Then select a table from the Target Table list or click New button to create a new table based on the source columns.

  7. Continue by checking Insert and Update options according to your scenario (e.g. if Update option is unchecked, no updates will be made).

  8. Finally, click Map All button to map all columns and then select the Key columns to match the columns on:

    Configure SSIS Upsert Destination component to merge data with SQL Server, PostgreSQL, or Redshift table
  9. Click OK to save the configuration.

  10. Run the package and Asana data will be merged with the target table in SQL Server, PostgreSQL, or Redshift:

    Execute Package - Reading data from API Source and load into target
  11. Done!

Deploy and schedule SSIS package

After you are done creating SSIS package, most likely, you want to deploy it to SQL Server Catalog and run it periodically. Just follow the instructions in this article:

Running SSIS package in Azure Data Factory (ADF)

To use SSIS PowerPack in ADF, you must first prepare Azure-SSIS Integration Runtime. Follow this link for detailed instructions:

Advanced topics

Actions supported by Asana Connector

Asana Connector support following actions for REST API integration. If some actions are not listed below then you can easily edit Connector file and enhance out of the box functionality.
 Get Workspaces
 Get Workspace (Single)
   [ Read more... ]
Parameter Description
Workspace Id
 Get Projects
   [ Read more... ]
Parameter Description
Workspace Id
Team Id
 Get Project (Single)
   [ Read more... ]
Parameter Description
Project Id
 Get Tasks
   [ Read more... ]
Parameter Description
QueryBy
Option Value
project project
tag tag
section section
user_task_list user_task_list
assignee_and_workspace assignee_and_workspace
Project Id The project to filter tasks on.
Workspace Id The workspace to filter tasks on. Note: If you specify workspace, you must also specify the assignee to filter on.
Assignee Id The assignee to filter tasks on. If searching for unassigned tasks, assignee.any = null can be specified. Note: If you specify assignee, you must also specify the workspace to filter on.
Section Id The section to filter tasks on.
Tag Id
UserTaskListId
Completed Since Only return tasks that are either incomplete or that have been completed since this time.
Option Value
2023-12-31 2023-12-31
2023-12-31T00:00:00 2023-12-31T00:00:00
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Modified Since Only return tasks that have been modified since the given time. Note: A task is considered “modified” if any of its properties change, or associations between it and other objects are modified (e.g. a task being added to a project). A task is not considered modified just because another object it is associated with (e.g. a subtask) is modified. Actions that count as modifying the task include assigning, renaming, completing, and adding stories.
Option Value
2023-12-31 2023-12-31
2023-12-31T00:00:00 2023-12-31T00:00:00
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
 Get Sub Tasks
Only enter TaskId if QueryBy=task else you may get error.    [ Read more... ]
Parameter Description
QueryBy
Option Value
project project
task task
tag tag
section section
user_task_list user_task_list
assignee_and_workspace assignee_and_workspace
Parent Task Id The parent task id for which you would like to fetch all sub tasks.
Project Id The project to filter tasks on.
Workspace Id The workspace to filter tasks on. Note: If you specify workspace, you must also specify the assignee to filter on.
Assignee Id The assignee to filter tasks on. If searching for unassigned tasks, assignee.any = null can be specified. Note: If you specify assignee, you must also specify the workspace to filter on.
Section Id The section to filter tasks on.
Tag Id
UserTaskListId
Completed Since Only return tasks that are either incomplete or that have been completed since this time.
Option Value
2023-12-31 2023-12-31
2023-12-31T00:00:00 2023-12-31T00:00:00
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Modified Since Only return tasks that have been modified since the given time. Note: A task is considered “modified” if any of its properties change, or associations between it and other objects are modified (e.g. a task being added to a project). A task is not considered modified just because another object it is associated with (e.g. a subtask) is modified. Actions that count as modifying the task include assigning, renaming, completing, and adding stories.
Option Value
2023-12-31 2023-12-31
2023-12-31T00:00:00 2023-12-31T00:00:00
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
 Get Workspace Tasks
Get tasks for all projects in a specified workspace (or default workspace).    [ Read more... ]
Parameter Description
Fields
Option Value
actual_time_minutes actual_time_minutes
subtasks subtasks
approval_status approval_status
assignee assignee
assignee.name assignee.name
assignee_section assignee_section
assignee_section.name assignee_section.name
assignee_status assignee_status
completed completed
completed_at completed_at
completed_by completed_by
completed_by.name completed_by.name
created_at created_at
created_by created_by
created_by.name created_by.name
custom_fields custom_fields
custom_fields.asana_created_field custom_fields.asana_created_field
custom_fields.created_by custom_fields.created_by
custom_fields.created_by.name custom_fields.created_by.name
custom_fields.currency_code custom_fields.currency_code
custom_fields.custom_label custom_fields.custom_label
custom_fields.custom_label_position custom_fields.custom_label_position
custom_fields.date_value custom_fields.date_value
custom_fields.date_value.date custom_fields.date_value.date
custom_fields.date_value.date_time custom_fields.date_value.date_time
custom_fields.description custom_fields.description
custom_fields.display_value custom_fields.display_value
custom_fields.enabled custom_fields.enabled
custom_fields.enum_options custom_fields.enum_options
custom_fields.enum_options.color custom_fields.enum_options.color
custom_fields.enum_options.enabled custom_fields.enum_options.enabled
custom_fields.enum_options.name custom_fields.enum_options.name
custom_fields.enum_value custom_fields.enum_value
custom_fields.enum_value.color custom_fields.enum_value.color
custom_fields.enum_value.enabled custom_fields.enum_value.enabled
custom_fields.enum_value.name custom_fields.enum_value.name
custom_fields.format custom_fields.format
custom_fields.has_notifications_enabled custom_fields.has_notifications_enabled
custom_fields.id_prefix custom_fields.id_prefix
custom_fields.is_formula_field custom_fields.is_formula_field
custom_fields.is_global_to_workspace custom_fields.is_global_to_workspace
custom_fields.is_value_read_only custom_fields.is_value_read_only
custom_fields.multi_enum_values custom_fields.multi_enum_values
custom_fields.multi_enum_values.color custom_fields.multi_enum_values.color
custom_fields.multi_enum_values.enabled custom_fields.multi_enum_values.enabled
custom_fields.multi_enum_values.name custom_fields.multi_enum_values.name
custom_fields.name custom_fields.name
custom_fields.number_value custom_fields.number_value
custom_fields.people_value custom_fields.people_value
custom_fields.people_value.name custom_fields.people_value.name
custom_fields.precision custom_fields.precision
custom_fields.representation_type custom_fields.representation_type
custom_fields.resource_subtype custom_fields.resource_subtype
custom_fields.text_value custom_fields.text_value
custom_fields.type custom_fields.type
dependencies dependencies
dependents dependents
due_at due_at
due_on due_on
external external
external.data external.data
followers followers
followers.name followers.name
hearted hearted
hearts hearts
hearts.user hearts.user
hearts.user.name hearts.user.name
html_notes html_notes
is_rendered_as_separator is_rendered_as_separator
liked liked
likes likes
likes.user likes.user
likes.user.name likes.user.name
memberships memberships
memberships.project memberships.project
memberships.project.name memberships.project.name
memberships.section memberships.section
memberships.section.name memberships.section.name
modified_at modified_at
name name
notes notes
num_hearts num_hearts
num_likes num_likes
num_subtasks num_subtasks
parent parent
parent.created_by parent.created_by
parent.name parent.name
parent.resource_subtype parent.resource_subtype
permalink_url permalink_url
projects projects
projects.name projects.name
resource_subtype resource_subtype
start_at start_at
start_on start_on
tags tags
tags.name tags.name
workspace workspace
workspace.name workspace.name
Workspace Id The workspace to filter tasks on. Note: If you specify workspace.
Completed Since Only return tasks that are either incomplete or that have been completed since this time.
Option Value
2023-12-31 2023-12-31
2023-12-31T00:00:00 2023-12-31T00:00:00
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Modified Since Only return tasks that have been modified since the given time. Note: A task is considered “modified” if any of its properties change, or associations between it and other objects are modified (e.g. a task being added to a project). A task is not considered modified just because another object it is associated with (e.g. a subtask) is modified. Actions that count as modifying the task include assigning, renaming, completing, and adding stories.
Option Value
2023-12-31 2023-12-31
2023-12-31T00:00:00 2023-12-31T00:00:00
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
 Search Tasks (Advanced Filter)
Search tasks with in a specified workspace (or default workspace) using advanced server side filters.    [ Read more... ]
Parameter Description
Fields
Option Value
actual_time_minutes actual_time_minutes
subtasks subtasks
approval_status approval_status
assignee assignee
assignee.name assignee.name
assignee_section assignee_section
assignee_section.name assignee_section.name
assignee_status assignee_status
completed completed
completed_at completed_at
completed_by completed_by
completed_by.name completed_by.name
created_at created_at
created_by created_by
created_by.name created_by.name
custom_fields custom_fields
custom_fields.asana_created_field custom_fields.asana_created_field
custom_fields.created_by custom_fields.created_by
custom_fields.created_by.name custom_fields.created_by.name
custom_fields.currency_code custom_fields.currency_code
custom_fields.custom_label custom_fields.custom_label
custom_fields.custom_label_position custom_fields.custom_label_position
custom_fields.date_value custom_fields.date_value
custom_fields.date_value.date custom_fields.date_value.date
custom_fields.date_value.date_time custom_fields.date_value.date_time
custom_fields.description custom_fields.description
custom_fields.display_value custom_fields.display_value
custom_fields.enabled custom_fields.enabled
custom_fields.enum_options custom_fields.enum_options
custom_fields.enum_options.color custom_fields.enum_options.color
custom_fields.enum_options.enabled custom_fields.enum_options.enabled
custom_fields.enum_options.name custom_fields.enum_options.name
custom_fields.enum_value custom_fields.enum_value
custom_fields.enum_value.color custom_fields.enum_value.color
custom_fields.enum_value.enabled custom_fields.enum_value.enabled
custom_fields.enum_value.name custom_fields.enum_value.name
custom_fields.format custom_fields.format
custom_fields.has_notifications_enabled custom_fields.has_notifications_enabled
custom_fields.id_prefix custom_fields.id_prefix
custom_fields.is_formula_field custom_fields.is_formula_field
custom_fields.is_global_to_workspace custom_fields.is_global_to_workspace
custom_fields.is_value_read_only custom_fields.is_value_read_only
custom_fields.multi_enum_values custom_fields.multi_enum_values
custom_fields.multi_enum_values.color custom_fields.multi_enum_values.color
custom_fields.multi_enum_values.enabled custom_fields.multi_enum_values.enabled
custom_fields.multi_enum_values.name custom_fields.multi_enum_values.name
custom_fields.name custom_fields.name
custom_fields.number_value custom_fields.number_value
custom_fields.people_value custom_fields.people_value
custom_fields.people_value.name custom_fields.people_value.name
custom_fields.precision custom_fields.precision
custom_fields.representation_type custom_fields.representation_type
custom_fields.resource_subtype custom_fields.resource_subtype
custom_fields.text_value custom_fields.text_value
custom_fields.type custom_fields.type
dependencies dependencies
dependents dependents
due_at due_at
due_on due_on
external external
external.data external.data
followers followers
followers.name followers.name
hearted hearted
hearts hearts
hearts.user hearts.user
hearts.user.name hearts.user.name
html_notes html_notes
is_rendered_as_separator is_rendered_as_separator
liked liked
likes likes
likes.user likes.user
likes.user.name likes.user.name
memberships memberships
memberships.project memberships.project
memberships.project.name memberships.project.name
memberships.section memberships.section
memberships.section.name memberships.section.name
modified_at modified_at
name name
notes notes
num_hearts num_hearts
num_likes num_likes
num_subtasks num_subtasks
parent parent
parent.created_by parent.created_by
parent.name parent.name
parent.resource_subtype parent.resource_subtype
permalink_url permalink_url
projects projects
projects.name projects.name
resource_subtype resource_subtype
start_at start_at
start_on start_on
tags tags
tags.name tags.name
workspace workspace
workspace.name workspace.name
Workspace Id The workspace to filter tasks on. Note: If you specify workspace.
Text Performs full-text search on both task name and description.
Projects (NOT) Comma-separated list of project IDs.
Projects (ALL) Comma-separated list of project IDs.
Projects (ANY) Comma-separated list of project IDs.
Sections (NOT) Comma-separated list of section IDs.
Sections (ALL) Comma-separated list of section IDs.
Sections (ANY) Comma-separated list of section IDs.
Tags (NOT) Comma-separated list of tag IDs.
Tags (ALL) Comma-separated list of tag IDs.
Tags (ANY) Comma-separated list of tag IDs.
Assigned By (NOT) Comma-separated list of user IDs.
Assigned By (ALL) Comma-separated list of user IDs.
Assigned By (ANY) Comma-separated list of user IDs.
Portfolios (ANY) Comma-separated list of portfolio IDs.
Teams (ANY) Comma-separated list of team IDs.
Due On ISO 8601 date string (e.g. 2025-12-31).
Option Value
2023-12-31 2023-12-31
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Due On Before ISO 8601 date string (e.g. 2025-12-31).
Option Value
2023-12-31 2023-12-31
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Due On After ISO 8601 date string (e.g. 2025-12-31).
Option Value
2023-12-31 2023-12-31
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Due On (Null) Search for DueOn [null] value.
Option Value
null null
Start On ISO 8601 date string (e.g. 2025-12-31).
Option Value
2023-12-31 2023-12-31
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Start On Before ISO 8601 date string (e.g. 2025-12-31).
Option Value
2023-12-31 2023-12-31
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Start On After ISO 8601 date string (e.g. 2025-12-31).
Option Value
2023-12-31 2023-12-31
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Start On (Null) Search for StartOn [null] value.
Option Value
null null
Created On ISO 8601 date string (e.g. 2025-12-31).
Option Value
2023-12-31 2023-12-31
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Created On Before ISO 8601 date string (e.g. 2025-12-31).
Option Value
2023-12-31 2023-12-31
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Created On After ISO 8601 date string (e.g. 2025-12-31).
Option Value
2023-12-31 2023-12-31
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Created On (Null) Search for CreatedOn [null] value.
Option Value
null null
Modified On ISO 8601 date string (e.g. 2025-12-31).
Option Value
2023-12-31 2023-12-31
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Modified On Before ISO 8601 date string (e.g. 2025-12-31).
Option Value
2023-12-31 2023-12-31
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Modified On After ISO 8601 date string (e.g. 2025-12-31).
Option Value
2023-12-31 2023-12-31
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Modified On (Null) Search for ModifiedOn [null] value.
Option Value
null null
Completed On ISO 8601 date string (e.g. 2025-12-31).
Option Value
2023-12-31 2023-12-31
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Completed On Before ISO 8601 date string (e.g. 2025-12-31).
Option Value
2023-12-31 2023-12-31
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Completed On After ISO 8601 date string (e.g. 2025-12-31).
Option Value
2023-12-31 2023-12-31
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Completed On (Null) Search for CompletedOn [null] value.
Option Value
null null
Due At ISO 8601 date string (e.g. 2025-12-31T23:59:59).
Option Value
2023-12-31 2023-12-31
2023-12-31T00:00:00 2023-12-31T00:00:00
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Due At Before ISO 8601 date string (e.g. 2025-12-31T23:59:59).
Option Value
2023-12-31 2023-12-31
2023-12-31T00:00:00 2023-12-31T00:00:00
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Due At After ISO 8601 date string (e.g. 2025-12-31T23:59:59).
Option Value
2023-12-31 2023-12-31
2023-12-31T00:00:00 2023-12-31T00:00:00
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Start At ISO 8601 date string (e.g. 2025-12-31T23:59:59).
Option Value
2023-12-31 2023-12-31
2023-12-31T00:00:00 2023-12-31T00:00:00
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Start At Before ISO 8601 date string (e.g. 2025-12-31T23:59:59).
Option Value
2023-12-31 2023-12-31
2023-12-31T00:00:00 2023-12-31T00:00:00
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Start At After ISO 8601 date string (e.g. 2025-12-31T23:59:59).
Option Value
2023-12-31 2023-12-31
2023-12-31T00:00:00 2023-12-31T00:00:00
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Created At ISO 8601 date string (e.g. 2025-12-31T23:59:59).
Option Value
2023-12-31 2023-12-31
2023-12-31T00:00:00 2023-12-31T00:00:00
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Created At Before ISO 8601 date string (e.g. 2025-12-31T23:59:59).
Option Value
2023-12-31 2023-12-31
2023-12-31T00:00:00 2023-12-31T00:00:00
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Created At After ISO 8601 date string (e.g. 2025-12-31T23:59:59).
Option Value
2023-12-31 2023-12-31
2023-12-31T00:00:00 2023-12-31T00:00:00
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Modified At ISO 8601 date string (e.g. 2025-12-31T23:59:59).
Option Value
2023-12-31 2023-12-31
2023-12-31T00:00:00 2023-12-31T00:00:00
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Modified At Before ISO 8601 date string (e.g. 2025-12-31T23:59:59).
Option Value
2023-12-31 2023-12-31
2023-12-31T00:00:00 2023-12-31T00:00:00
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Modified At After ISO 8601 date string (e.g. 2025-12-31T23:59:59).
Option Value
2023-12-31 2023-12-31
2023-12-31T00:00:00 2023-12-31T00:00:00
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Completed At ISO 8601 date string (e.g. 2025-12-31T23:59:59).
Option Value
2023-12-31 2023-12-31
2023-12-31T00:00:00 2023-12-31T00:00:00
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Completed At Before ISO 8601 date string (e.g. 2025-12-31T23:59:59).
Option Value
2023-12-31 2023-12-31
2023-12-31T00:00:00 2023-12-31T00:00:00
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Completed At After ISO 8601 date string (e.g. 2025-12-31T23:59:59).
Option Value
2023-12-31 2023-12-31
2023-12-31T00:00:00 2023-12-31T00:00:00
now now
now-24h now-24h
today today
yesterday yesterday
yearstart-10y yearstart-10y
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
monthend+1d-1y monthend+1d-1y
Is Blocked
Option Value
true true
false false
Is Blocking
Option Value
true true
false false
Is Subtask
Option Value
true true
false false
Has Attachment
Option Value
true true
false false
Completed
Option Value
true true
false false
Sort By
Option Value
due_date due_date
created_at created_at
completed_at completed_at
modified_at modified_at
likes likes
Sort Ascending
Option Value
true true
false false
 Get Task (Single)
   [ Read more... ]
Parameter Description
TaskId
 Get Workspace Teams
Returns records for all teams in the workspace visible to the authorized user.    [ Read more... ]
Parameter Description
Workspace Id
 Get Project Sections
   [ Read more... ]
Parameter Description
Project Id
 Get Project Section
   [ Read more... ]
Parameter Description
Project Id
Section Id
 Get Users
   [ Read more... ]
Parameter Description
Workspace Id
 Get User (Single)
   [ Read more... ]
Parameter Description
User Id
 Get Allocations
   [ Read more... ]
Parameter Description
Workspace Id
Project Id
User Id
 Get Attachments (For Project refer to Key-Resources Upload only)
There are three possible parent values for this request: project, project_brief, and task. For a project, an attachment refers to a file uploaded to the [Key resources] section in the project Overview. For a project brief, an attachment refers to inline files in the project brief itself. For a task, an attachment refers to a file directly associated to that task. Note that within the Asana app, inline images in the task description do not appear in the index of image thumbnails nor as stories in the task. However, requests made to GET /attachments for a task will return all of the images in the task, including inline images.    [ Read more... ]
Parameter Description
Parent Id (e.g. Id of Project, Task or ProjectBrief) Globally unique identifier for object to fetch statuses from. Must be a GID for a project, project_brief, or task.
 Download Attachment
Download a specific attachment by Id.    [ Read more... ]
Parameter Description
Attachment ID The attachment Id for the attachment to get.
Fields
Option Value
name name
resource_subtype resource_subtype
connected_to_app connected_to_app
created_at created_at
download_url download_url
host host
parent parent
parent.name parent.name
parent.resource_subtype parent.resource_subtype
permanent_url permanent_url
size size
view_url view_url
 Download Multiple Attachments
Download Multiple Attachments for a specified parent.There are three possible parent values for this request: project, project_brief, and task. For a project, an attachment refers to a file uploaded to the [Key resources] section in the project Overview. For a project brief, an attachment refers to inline files in the project brief itself. For a task, an attachment refers to a file directly associated to that task. Note that within the Asana app, inline images in the task description do not appear in the index of image thumbnails nor as stories in the task. However, requests made to GET /attachments for a task will return all of the images in the task, including inline images.    [ Read more... ]
Parameter Description
Parent Id (e.g. Id of Project, Task or ProjectBrief) Globally unique identifier for object to fetch statuses from. Must be a GID for a project, project_brief, or task.
OverwriteFile
Option Value
True True
False False
SaveFolder Specify a disk folder path to save file(s) to
Fields
Option Value
name name
resource_subtype resource_subtype
connected_to_app connected_to_app
created_at created_at
download_url download_url
host host
parent parent
parent.name parent.name
parent.resource_subtype parent.resource_subtype
permanent_url permanent_url
size size
view_url view_url
 Get Portfolios
   [ Read more... ]
Parameter Description
Workspace Id
Owner Id
 Get Goals
   [ Read more... ]
Parameter Description
Workspace Id
Project Id
Portfolio Id
Team Id
Is Workspace Level
Option Value
true true
false false
Time Periods (e.g. Id1,Id2)
 Get Workspace Custom Fields
   [ Read more... ]
Parameter Description
Workspace Id
 Get Project Custom Fields
   [ Read more... ]
Parameter Description
Project Id
 Get Portfolio Custom Fields
   [ Read more... ]
Parameter Description
Portfolio Id
 Get User Task Lists
   [ Read more... ]
Parameter Description
User Id
Workspace Id
 Get Memberships
   [ Read more... ]
Parameter Description
Project Id
PortfolioId
GoalId
Member or Team Id (Use with Project OR Portfolio OR Goal)
 Get Tags
   [ Read more... ]
Parameter Description
Workspace Id
 Get Time Tracking Entries
   [ Read more... ]
Parameter Description
Task Id
 Generic Request
This is generic endpoint. Use this endpoint when some actions are not implemented by connector. Just enter partial URL (Required), Body, Method, Header etc. Most parameters are optional except URL.    [ Read more... ]
Parameter Description
Url API URL goes here. You can enter full URL or Partial URL relative to Base URL. If it is full URL then domain name must be part of ServiceURL or part of TrustedDomains
Body Request Body content goes here
IsMultiPart Set this option if you want to upload file(s) (i.e. POST RAW file data) or send data using Multi-Part encoding method (i.e. Content-Type: multipart/form-data). Multi-Part request allows you to mix key/value and upload files in same request. On the other hand raw upload allows only single file upload (without any key/value) ==== Raw Upload (Content-Type: application/octet-stream) ===== To upload single file in raw mode check this option and specify full file path starting with @ sign in the Body (e.g. @c:\data\myfile.zip ) ==== Form-Data / Multipart Upload (Content-Type: multipart/form-data) ===== To treat your Request data as multi part fields you must specify key/value pairs separated by new lines into RequestData field (i.e. Body). Each key value pair is entered on new-line and key/value are separated using equal sign (=). Preceding and trailing spaces are ignored also blank lines are ignored. If field value has some any special character(s) then use escape sequence (e.g. For NewLine: \r\n, For Tab: \t, For at (@): \@). When value of any field starts with at sign (@) its automatically treated as File you want to upload. By default file content type is determined based on extension however you can supply content type manually for any field using this way [ YourFileFieldName.Content-Type=some-content-type ]. By default File Upload Field always includes Content-Type in the request (non file fields do not have content-type by default unless you supply manually). For some reason if you dont want to use Content-Type header in your request then supply blank Content-Type to exclude this header altogather [e.g. SomeFieldName.Content-Type= ]. In below example we have supplied Content-Type for file2 and SomeField1, all other fields are using default content-type. See below Example of uploading multiple files along with additional fields. If some API requires you to pass Content-Type: multipart/form-data rather than multipart/form-data then manually set Request Header => Content-Type: multipart/mixed (it must starts with multipart/ else will be ignored). file1=@c:\data\Myfile1.txt file2=@c:\data\Myfile2.json file2.Content-Type=application/json SomeField1=aaaaaaa SomeField1.Content-Type=text/plain SomeField2=12345 SomeFieldWithNewLineAndTab=This is line1\r\nThis is line2\r\nThis is \ttab \ttab \ttab SomeFieldStartingWithAtSign=\@MyTwitterHandle
Filter Enter filter to extract array from response. Example: $.rows[*] --OR-- $.customers[*].orders[*]. Check your response document and find out hierarchy you like to extract
Option Value
No filter
Example1 $.store.books[*]
Example2 (Sections Under Books) $.store.books[*].sections[*]
Example3 (Equals) $.store.books[?(@author=='sam')]
Example4 (Equals - Any Section) $..[?(@author=='sam')]
Example5 (Not Equals - Any Section) $..[?(@author!='sam')]
Example6 (Number less than) $.store.books[?(@.price<10)] Example7 (Regular Expression - Contains Pattern)=$.store.books[?(@author=~ /sam|bob/ )]
Example8 (Regular Expression - Does Not Contain Pattern) $.store.books[?(@author=~ /^((?!sam|bob).)*$/ )]
Example9 (Regular Expression - Exact Pattern Match) $.store.books[?(@author=~ /^sam|bob$/ )]
Example10 (Regular Expression - Starts With) $.store.books[?(@author=~ /^sam/ )]
Example11 (Regular Expression - Ends With) $.store.books[?(@author=~ /sam$/ )]
Example12 (Between) $.store.employees[?( @.hiredate>'2015-01-01' && @.hiredate<'2015-01-04' )]
Headers Headers for Request. To enter multiple headers use double pipe or new line after each {header-name}:{value} pair
 Generic Request (Bulk Write)
This is a generic endpoint for bulk write purpose. Use this endpoint when some actions are not implemented by connector. Just enter partial URL (Required), Body, Method, Header etc. Most parameters are optional except URL.    [ Read more... ]
Parameter Description
Url API URL goes here. You can enter full URL or Partial URL relative to Base URL. If it is full URL then domain name must be part of ServiceURL or part of TrustedDomains
IsMultiPart Set this option if you want to upload file(s) (i.e. POST RAW file data) or send data using Multi-Part encoding method (i.e. Content-Type: multipart/form-data). Multi-Part request allows you to mix key/value and upload files in same request. On the other hand raw upload allows only single file upload (without any key/value) ==== Raw Upload (Content-Type: application/octet-stream) ===== To upload single file in raw mode check this option and specify full file path starting with @ sign in the Body (e.g. @c:\data\myfile.zip ) ==== Form-Data / Multipart Upload (Content-Type: multipart/form-data) ===== To treat your Request data as multi part fields you must specify key/value pairs separated by new lines into RequestData field (i.e. Body). Each key value pair is entered on new-line and key/value are separated using equal sign (=). Preceding and trailing spaces are ignored also blank lines are ignored. If field value has some any special character(s) then use escape sequence (e.g. For NewLine: \r\n, For Tab: \t, For at (@): \@). When value of any field starts with at sign (@) its automatically treated as File you want to upload. By default file content type is determined based on extension however you can supply content type manually for any field using this way [ YourFileFieldName.Content-Type=some-content-type ]. By default File Upload Field always includes Content-Type in the request (non file fields do not have content-type by default unless you supply manually). For some reason if you dont want to use Content-Type header in your request then supply blank Content-Type to exclude this header altogather [e.g. SomeFieldName.Content-Type= ]. In below example we have supplied Content-Type for file2 and SomeField1, all other fields are using default content-type. See below Example of uploading multiple files along with additional fields. If some API requires you to pass Content-Type: multipart/form-data rather than multipart/form-data then manually set Request Header => Content-Type: multipart/mixed (it must starts with multipart/ else will be ignored). file1=@c:\data\Myfile1.txt file2=@c:\data\Myfile2.json file2.Content-Type=application/json SomeField1=aaaaaaa SomeField1.Content-Type=text/plain SomeField2=12345 SomeFieldWithNewLineAndTab=This is line1\r\nThis is line2\r\nThis is \ttab \ttab \ttab SomeFieldStartingWithAtSign=\@MyTwitterHandle
Filter Enter filter to extract array from response. Example: $.rows[*] --OR-- $.customers[*].orders[*]. Check your response document and find out hierarchy you like to extract
Headers Headers for Request. To enter multiple headers use double pipe (||) or new line after each {header-name}:{value} pair

Conclusion

In this article we showed you how to connect to Asana in SSIS and integrate data without any coding, saving you time and effort. We encourage you to download Asana Connector for SSIS and see how easy it is to use it for yourself or your team.

If you have any questions, feel free to contact ZappySys support team. You can also open a live chat immediately by clicking on the chat icon below.

Download Asana Connector for SSIS Documentation

More integrations

Other connectors for SSIS

Other application integration scenarios for Asana

  • How to connect Asana in SSIS?

  • How to get Asana data in SSIS?

  • How to read Asana data in SSIS?

  • How to load Asana data in SSIS?

  • How to import Asana data in SSIS?

  • How to pull Asana data in SSIS?

  • How to push data to Asana in SSIS?

  • How to write data to Asana in SSIS?

  • How to POST data to Asana in SSIS?

  • Call Asana API in SSIS

  • Consume Asana API in SSIS

  • Asana SSIS Automate

  • Asana SSIS Integration

  • Integration Asana in SSIS

  • Consume real-time Asana data in SSIS

  • Consume real-time Asana API data in SSIS

  • Asana ODBC Driver | ODBC Driver for Asana | ODBC Asana Driver | SSIS Asana Source | SSIS Asana Destination

  • Connect Asana in SSIS

  • Load Asana in SSIS

  • Load Asana data in SSIS

  • Read Asana data in SSIS

  • Asana API Call in SSIS