> For the complete documentation index, see [llms.txt](https://docs.getint.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.getint.io/guides/integration-synchronization/non-jira-connectors/azure-devops-asana-integration.md).

# Asana Azure DevOps integration

## Integrating Asana and Azure DevOps <a href="#integrating-asana-and-azure-devops" id="integrating-asana-and-azure-devops"></a>

Connecting Asana with Azure DevOps synchronizes project management data with development records, keeping business and engineering teams aligned. This integration automates updates between platforms in real time, removing manual data entry and reducing the risk of cross-departmental discrepancies across tasks, statuses, and project data.

### Asana Azure DevOps Licensing Model <a href="#asana-azure-devops-licensing-model" id="asana-azure-devops-licensing-model"></a>

The Getint licensing model for Asana and Azure DevOps focuses on predictable costs and scalability:

#### Standard Licensing <a href="#standard-licensing" id="standard-licensing"></a>

* This tier covers a direct integration between one Asana instance and one Azure DevOps instance for a fixed fee. It includes unlimited project and work item synchronization without hidden charges.

You can find more information about our pricing structure here: [Getint Pricing](https://www.getint.io/pricing).

#### Network License <a href="#network-license" id="network-license"></a>

* Designed for managed service providers or large organizations, this option supports three or more instances. It allows for a specific number of connections (e.g., up to 10 instances) and provides the flexibility to swap integrated tools while the license is active.

For more details on licensing, visit our [Licensing Page](https://docs.getint.io/billing-and-services/licensing).

#### Requirements to Build Your Integration: <a href="#requirements-to-build-your-integration" id="requirements-to-build-your-integration"></a>

* **Deployment Options**: Getint provides two ways to host your integration: a managed [SaaS platform](https://app.live.getint.io/) or a self-hosted On-premise version. More information about Getint On-premise [here](https://docs.getint.io/getting-started-with-the-platform/deployment-options/on-premise-deployment).
* **Authentication**: Both Asana and Azure DevOps require Personal Access Tokens to establish a secure connection. You can find the steps to generate the access token for your connectors here: [Connection Guide](https://docs.getint.io/guides/quickstart/connection#asana).
* **Service Accounts**: Because the integration attributes comments to the user who created the connection, we recommend using dedicated Service Accounts for both instances to maintain a clear distinction between automated updates and individual user activity.

&#x20;

### Setting Up Your Asana Azure DevOps Integration <a href="#setting-up-your-asana-azure-devops-integration" id="setting-up-your-asana-azure-devops-integration"></a>

#### 1. Access the Getint App <a href="#id-1.-access-the-getint-app" id="id-1.-access-the-getint-app"></a>

* Log in at [app.live.getint.io](http://app.live.getint.io/). If you do not have an account, click **Sign up** to create one.

<figure><img src="/files/VHmy5YZYOlzP8ipJLdvp" alt=""><figcaption></figcaption></figure>

* Enter your details, select the apps you want to connect, and click **Create new workspace**.

<figure><img src="/files/GdqKuGZjUlSF2JiJte3P" alt=""><figcaption></figcaption></figure>

* After you create the workspace, go to it to launch Getint.

<figure><img src="/files/4LRRH3kDB1UA9TjEfxd3" alt=""><figcaption></figcaption></figure>

#### 2. Create an Integration <a href="#id-2.-create-an-integration" id="id-2.-create-an-integration"></a>

* Go to **Workflows** (lightning bolt icon) and click **Create Integration**. From this menu, select **Continuous Sync** or **Data Migration**.

<figure><img src="/files/1eAnOswlUcpG24aRSlz5" alt=""><figcaption></figcaption></figure>

#### 3. Generate an Asana Personal Access Token <a href="#id-3.-generate-an-asana-personal-access-token" id="id-3.-generate-an-asana-personal-access-token"></a>

* Log in to Asana and follow the video below to generate your Access Token.

{% embed url="<https://www.loom.com/share/639cea037a6244bebc40e2441bbdb46f>" %}

* Make sure to securely store your token, as it will only be visible once.

#### 4. Generate an Azure DevOps Token <a href="#id-4.-generate-an-azure-devops-token" id="id-4.-generate-an-azure-devops-token"></a>

To integrate Azure DevOps (Server or Cloud), you must provide a token with the necessary permissions. Follow the steps below to generate one:

* Log in to your Azure DevOps organization.
* Open **User Settings** from the profile menu.
* Select **Personal Access Tokens** from the left sidebar.
* Click **New Token** and enter a name for the token.
* Set the expiration and select the appropriate scopes:
  * **Work Items**: Read & Write
  * **Project and Team**: Read & Write
  * **Graph**: Read (required for accurate user data retrieval)
  * **Code**: Read (if you're syncing repositories with the Git Connector)
* Click **Create**, then copy and securely store the generated token. This token authenticates and authorizes Getint to access your Azure DevOps organization.
* When configuring the Azure DevOps connection details in Getint, provide the generated token as the password.

{% embed url="<https://www.loom.com/share/de71aa8b806340039b5931b0c9c4c74d>" %}

#### 5. Connect to Asana <a href="#id-5.-connect-to-asana" id="id-5.-connect-to-asana"></a>

* In Getint, click on **Connect App** and choose Asana. Enter your Access Token for Asana.

<figure><img src="/files/6671jmLDVcPH0mgzerFr" alt=""><figcaption></figcaption></figure>

* Once the connection is established, choose the workspace and project(s) you want to integrate with Asana from the dropdown menu.

<figure><img src="/files/jKwTbEC5Ry6VVgO6fJCp" alt=""><figcaption></figcaption></figure>

* Click **Connect** to establish the connection.

#### 6. Connect to Azure DevOps <a href="#id-6.-connect-to-azure-devops" id="id-6.-connect-to-azure-devops"></a>

* Click on **Connect App** and choose Azure DevOps, then select **Create a new connection**. Enter the URL for the connection and click **Next**.

<figure><img src="/files/PXiVSNqzmXdvo6jpdSId" alt=""><figcaption></figcaption></figure>

* Provide a name for the connection, enter your email, and paste the token generated in the previous steps. Click **Add** to complete.

<figure><img src="/files/O59OqiEcGME06cRR5rWU" alt=""><figcaption></figcaption></figure>

* Once the connection is established, select the Azure DevOps project(s) you want to synchronize from the dropdown menu and click **Connect**.

<figure><img src="/files/2Acbq3dS85ZuVua87t5F" alt=""><figcaption></figcaption></figure>

#### 7. Configure Type Mapping <a href="#id-7.-configure-type-mapping" id="id-7.-configure-type-mapping"></a>

* **Quick Build**: Automatically map fields and types between applications with this feature.

<figure><img src="/files/buACtvhufDGpSG0oT2mH" alt=""><figcaption></figcaption></figure>

* **Manual Mapping**: Use this feature for full control over the integration. Select **+ Add Type Mapping** to define how your types map between systems. This could include:
  * Asana *Tasks* → Azure DevOps *User Stories*.
  * Asana *Sub-Tasks* → Azure DevOps *Tasks*.

<figure><img src="/files/e4IXCgcYWMyxYiN9VkIu" alt=""><figcaption></figcaption></figure>

#### 8. Item Routing <a href="#id-8.-item-routing" id="id-8.-item-routing"></a>

If you selected multiple projects on either or both sides, you must define Item Routing. All relevant information about defining conditions is here: [Syncing Many Projects](https://docs.getint.io/getintio-platform/syncing-many-to-many-projects#defining-conditions-in-items-routing).

<figure><img src="/files/itzU3mdCyyCKe7fqjb9B" alt=""><figcaption></figcaption></figure>

#### 9. Field Mapping <a href="#id-9.-field-mapping" id="id-9.-field-mapping"></a>

* Review or manually map fields within mapped types, including **title**, **description**, and **assignees**.

<figure><img src="/files/t69XkeoDBpM8ri0kwsVg" alt=""><figcaption></figcaption></figure>

* Define the synchronization flow for each field, using the arrows in the middle and selecting **Apply**.

{% hint style="warning" %}
**Inline images** aren't supported for the **Description** field.
{% endhint %}

#### 10. Assignee Mapping <a href="#id-10.-assignee-mapping" id="id-10.-assignee-mapping"></a>

* Use the assignee mapping option to match Asana assignees to Azure DevOps assignees. For more details, visit our doc: [Assignees (users) mapping](https://docs.getint.io/getintio-platform/workflows/assignees-users-mapping).

<figure><img src="/files/3wAfKyFoaiKi5spCT6Dc" alt=""><figcaption></figcaption></figure>

#### 11. Status Mapping <a href="#id-11.-status-mapping" id="id-11.-status-mapping"></a>

* Map status fields to align between Asana and Azure DevOps. For example, Asana *Done* could be mapped to Azure DevOps *Closed/Resolved*, and Asana *In Progress* to Azure DevOps *Active*.

<figure><img src="/files/95zW6WhTeTDDotOVrdnh" alt=""><figcaption></figcaption></figure>

* You can also configure the status direction to support unidirectional transitions instead of bidirectional updates.

#### 12. How to Manage Comments & Attachments: <a href="#id-12.-how-to-manage-comments-and-attachments" id="id-12.-how-to-manage-comments-and-attachments"></a>

* Comments are enabled by default. You can configure these settings to match your organization's needs, such as selecting unidirectional or bidirectional sync and filtering by criteria like creation date, author, or visibility (public/private).

<figure><img src="/files/bjZlysRKgYQQqonoE8Ep" alt=""><figcaption></figcaption></figure>

* To synchronize attachments, toggle on the **Synchronize attachments** setting and choose the sync direction.

<figure><img src="/files/a86ewZkj4fXbTFNiWTSt" alt=""><figcaption></figcaption></figure>

#### 13. Advanced Tab <a href="#id-13.-advanced-tab" id="id-13.-advanced-tab"></a>

* Enable **Customize create/update actions** to manage item synchronization. This allows for specific rules, such as one-way creation for the left application combined with bidirectional updates.

<figure><img src="/files/gZpBOgBQP9EjJosSniAj" alt=""><figcaption></figcaption></figure>

#### 14. Filtering: <a href="#id-14.-filtering" id="id-14.-filtering"></a>

It is possible to filter the synchronization to have it customized for your needs and requirements. Please see the doc [Items Filtering](https://docs.getint.io/getintio-platform/workflows/items-filtering) for more details.

**UI Filtering Option:**

* Click on the filtering icon near the app icon in your integration. This will apply to that side of the integration.
* Select if the filtering applies to *All*, *New*, and *Synced* items.
* Note that if the option **New items** is selected, the filtering will apply only to the new items, and the already synced items will continue to sync and update. If the option **Synced items** is selected, only the already synced items will be updated based on that filter.
* Choose the options and add the value for the filter. It is possible to filter more than one option for each field.
* Select **Apply** after creating the filters and **Save** the integration.

<figure><img src="/files/srTiLrxoHU0JXFvpuamh" alt=""><figcaption></figcaption></figure>

#### 15. Test the Integration <a href="#id-15.-test-the-integration" id="id-15.-test-the-integration"></a>

* Create test issues or tasks in Asana or Azure DevOps and observe how they synchronize.
* Confirm that the data between the two platforms is correctly synced.
* Monitor the integration status and the logs in Getint to verify that everything functions as expected.

***

### Conclusion <a href="#conclusion" id="conclusion"></a>

Following this guide lets you set up the Asana-Azure DevOps integration with Getint. This configuration supports data synchronization of issues, tasks, and workflows across development and project management tools, allowing teams to collaborate while connecting developers and project managers.

For further assistance, please contact us at the [Support Center](https://getint.io/help-center) or [Schedule a Demo](https://calendly.com/d/cpws-jb2-8xx/demo-call-all-team).

<figure><img src="/files/otyodSR2k1YTwh3mrnVq" alt=""><figcaption><p><a href="https://calendly.com/d/cpws-jb2-8xx/demo-call-all-team
">Start your integration journey. Schedule a free consultation with our Getint Integration Expert today!</a></p></figcaption></figure>


---

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

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

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

```
GET https://docs.getint.io/guides/integration-synchronization/non-jira-connectors/azure-devops-asana-integration.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

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