> ## Documentation Index
> Fetch the complete documentation index at: https://dialnexa.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Asana Voice AI Integration Guide

> Connect DialNexa voice AI with Asana to turn confirmed call commitments into owned tasks, project updates, and traceable follow-up.

The **Asana voice AI integration** makes call commitments visible as project work. Use it when a caller's request needs a specific task, assignee, due date, project, and link back to the source record.

<Warning>
  A catalog page describes a possible workflow. It does not confirm that a native Asana connector is enabled in your workspace. Check **Integrations** in the DialNexa dashboard first. If Asana is not listed, use a custom function, agent webhook, or external automation service.
</Warning>

## When to use the Asana voice AI integration

Use Asana when:

* Service, onboarding, operations, or project teams manage follow-up in Asana.
* The call outcome maps to a known project and task type.
* Assignee and due date rules are clear.
* Duplicate tasks can be detected using the call or business record ID.

<Tip>
  **Best first workflow:** Create one task for a confirmed callback or deliverable with the owner, due date, concise context, and source-record link.
</Tip>

## Before you begin

Prepare the following:

* A published DialNexa agent that has already passed a basic test call.
* Access to the DialNexa workspace **Integrations** page.
* An Asana account with permission to read or update the required records.
* One test record that does not affect a live customer.
* A list of actions that can run automatically and actions that require human review.

## Choose how to connect Asana

| Connection method                                   | Use it when                                             | Important limit                                                             |
| --------------------------------------------------- | ------------------------------------------------------- | --------------------------------------------------------------------------- |
| Workspace connector                                 | Asana appears in your DialNexa **Integrations** page    | Available actions and authentication depend on your workspace               |
| [Custom function](/docs/agent-settings/custom-functions) | The agent needs Asana data during the live conversation | Keep the request fast and return only the fields the agent needs            |
| [Agent webhook](/docs/api-access/agent-webhooks)         | Asana should receive a result after the call            | Your endpoint must authenticate, retry safely, and prevent duplicate writes |
| External automation                                 | The workflow spans Asana and several other systems      | Monitor the external workflow separately from the DialNexa call             |

## Build the Asana voice AI workflow

1. Define the exact event that starts the action, such as a confirmed booking, qualified lead, support escalation, or completed call.
2. Choose the connection method from the table above.
3. Map caller identity, the DialNexa call ID, the verified outcome, and the destination record ID.
4. Add a condition so uncertain, sensitive, destructive, or high-value changes go to a human-owned queue.
5. Store the destination record URL or ID with the call result so your team can trace the handoff.
6. Test success, no-match, duplicate, permission-error, and timeout cases before using live traffic.

## Data to map between DialNexa and Asana

* DialNexa call ID, call direction, status, and final outcome
* Caller name, phone number, email, and matched customer or account ID
* Structured fields collected during the call, including consent where required
* Short operational summary, requested next step, owner, and due date
* Transcript or recording link only when your privacy policy allows it
* Asana record ID, record URL, update timestamp, and integration result

## High-value Asana voice AI workflows

| Call outcome                       | Asana result                                            | Human control                                     |
| ---------------------------------- | ------------------------------------------------------- | ------------------------------------------------- |
| New commitment is made             | Create an owned task in the correct project             | Require assignee and due date                     |
| Caller updates an existing request | Add a comment to the matched task                       | Match by task ID, not title alone                 |
| Work has several clear steps       | Add approved subtasks                                   | Let the owner change the work plan                |
| Outcome is uncertain               | Create a review task instead of changing project status | Keep milestone and completion changes human-owned |

## Verify the Asana integration

Run a test call and confirm that:

1. The workflow finds the intended Asana record instead of creating a duplicate.
2. Only the approved fields change.
3. The DialNexa call ID is stored for traceability and retry protection.
4. A failed request creates a visible error or human-owned task.
5. The receiving owner can open the Asana record and understand the next step without reading the full transcript.

## Troubleshoot Asana integration issues

| Problem                             | What to check                                                                                                                                     |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| Asana is not shown in the dashboard | Use a custom function, webhook, or external automation service, or [request the integration](/docs/dashboard-integrations/requesting-new-integrations) |
| Authentication fails                | Reconnect the account and verify scopes, workspace ownership, and token expiry                                                                    |
| No matching record is found         | Normalize phone numbers and email addresses, then define a clear create-versus-review rule                                                        |
| Duplicate updates appear            | Use the DialNexa call ID as an idempotency key and make retries safe                                                                              |
| The live call becomes slow          | Move nonessential writes to a post-call webhook and keep live lookups small                                                                       |

## Related pages

* [DialNexa integrations overview](/docs/integrations/overview)
* [Connect dashboard integrations](/docs/dashboard-integrations/connecting-integrations)
* [Use integrations in agents](/docs/dashboard-integrations/using-integrations-in-agents)
* [Use integrations in workflows](/docs/dashboard-integrations/using-integrations-in-workflows)
* [Integration workflow tutorials](/docs/tutorials/integration-workflows)
