How to integrate Asana using SSIS

Integrate SSIS and Asana
Integrate SSIS and Asana

Learn how to quickly and efficiently connect Asana with SSIS for smooth data access.

Read and write Asana data effortlessly. Integrate, manage, and automate tasks, projects, workspaces, and time entries — almost no coding required. You can do it all using the high-performance Asana Connector. We'll walk you through the entire setup.

Ready to dive in? Download the product to jump right in, or follow the step-by-step guide below to see how it works.

Video tutorial

Watch this quick video to see the integration in action. It walks you through the end-to-end setup, including:

  • Installing the SSIS PowerPack
  • Configuring a secure connection to Asana
  • Working with Asana data directly inside SSIS
  • Exploring advanced API Source features
While this video uses the OData Connector as an example, the core concepts and setup process are exactly the same for the Asana Connector.

Once you are done watching, simply follow the step-by-step written guide below to configure your data source.

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. Open Visual Studio and click Create a new project.

  2. Select Integration Services Project. Enter a name and location for your project, then click OK.

  3. From the SSIS Toolbox, drag and drop a Data Flow Task onto the Control Flow surface, and double-click it:

    Drag Data Flow Task onto Control Flow to use SSIS PowerPack Data Flow components
  4. Make sure you are in the Data Flow Task designer:

    Make sure you are in Data Flow designer in SSIS package
  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. Select your authentication scenario below to expand connection configuration steps to:

    • Configure the authentication in Asana.
    • Enter those details into the API Connection Manager configuration.
    Asana authentication
    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!
    API Connection Manager configuration

    Just perform these simple steps to finish authentication configuration:

    1. Set Authentication Type to Personal Access Token [Http]
    2. Optional step. Modify API Base URL if needed (in most cases default will work).
    3. Fill in all the required parameters and set optional parameters if needed.
    4. Finally, hit OK button:
    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
    Find full details in the Asana Connector authentication reference.
    Asana authentication
    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!
    API Connection Manager configuration

    Just perform these simple steps to finish authentication configuration:

    1. Set Authentication Type to OAuth app [OAuth]
    2. Optional step. Modify API Base URL if needed (in most cases default will work).
    3. Fill in all the required parameters and set optional parameters if needed.
    4. Press Generate Token button to generate the tokens.
    5. Finally, hit OK button:
    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
    Find full details in the Asana Connector authentication reference.
  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 Asana data effortlessly. Integrate, manage, and automate tasks, projects, workspaces, and time entries — almost no coding required.
    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. Open Visual Studio and click Create a new project.

  2. Select Integration Services Project. Enter a name and location for your project, then click OK.

  3. From the SSIS Toolbox, drag and drop a Data Flow Task onto the Control Flow surface, and double-click it:

    Drag Data Flow Task onto Control Flow to use SSIS PowerPack Data Flow components
  4. Make sure you are in the Data Flow Task designer:

    Make sure you are in Data Flow designer in SSIS package
  5. Read the data from the source, using any desired source component. You can even make an API call using the ZappySys JSON/XML/API Source and read data from there. In this example, we will use an OLE DB Source component to read real-time data from a SQL Server database.

  6. 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

  7. Select New Connection to create a new connection:

    API Destination - Asana
    Read and write Asana data effortlessly. Integrate, manage, and automate tasks, projects, workspaces, and time entries — almost no coding required.
    API Destination - Asana

  8. To configure the Asana connector, choose one of the following methods:

    • Choose from Popular Connector List: Select a pre-installed service directly from the dropdown menu.
    • Search Online: Use this to find and download a new connector file to your computer.
    • Use Saved/Downloaded File: Once the file is downloaded, browse your local drive to load it into the configuration.

    After that, just click Continue >>:

    Asana
    API Destination -
  9. 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.

    Asana authentication
    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!
    API Connection Manager configuration

    Just perform these simple steps to finish authentication configuration:

    1. Set Authentication Type to Personal Access Token [Http]
    2. Optional step. Modify API Base URL if needed (in most cases default will work).
    3. Fill in all the required parameters and set optional parameters if needed.
    4. Finally, hit OK button:
    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
    Find full details in the Asana Connector authentication reference.
    Asana authentication
    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!
    API Connection Manager configuration

    Just perform these simple steps to finish authentication configuration:

    1. Set Authentication Type to OAuth app [OAuth]
    2. Optional step. Modify API Base URL if needed (in most cases default will work).
    3. Fill in all the required parameters and set optional parameters if needed.
    4. Press Generate Token button to generate the tokens.
    5. Finally, hit OK button:
    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
    Find full details in the Asana Connector authentication reference.

  10. 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 Asana data effortlessly. Integrate, manage, and automate tasks, projects, workspaces, and time entries — almost no coding required.
    API Destination - Asana

  11. Finally, map the desired columns:

    API Destination - Asana
    Read and write Asana data effortlessly. Integrate, manage, and automate tasks, projects, workspaces, and time entries — almost no coding required.
    API Destination - Asana

  12. 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

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:

Supported Asana Connector actions

Got a specific use case in mind? We've mapped out exactly how to perform a variety of essential Asana operations directly in SSIS, so you don't have to figure out the setup from scratch. Check out the step-by-step guides below:

Conclusion

In this article we showed you how to connect to Asana in SSIS and integrate data without writing complex code — all of this was powered by Asana Connector.

Download SSIS PowerPack now or ping us via chat if you have any questions or are looking for a specific feature (you can also reach out to us by submitting a ticket):

Explore SSIS connectors

All
Big Data & NoSQL
Database
CRM & ERP
Marketing
Collaboration
Cloud Storage
Reporting
Commerce
API & Files

More Asana integrations

All
Data Integration
Database
BI & Reporting
Productivity
Programming Languages
Automation & Scripting
ODBC applications