# @openfn/language-asana

> OpenFn adaptor for accessing objects in Asana

Latest version **5.1.3** (published 2026-09-03) · LGPLv3 license · 0 weekly downloads

## Install

```sh
npm install @openfn/language-asana
pnpm add @openfn/language-asana
yarn add @openfn/language-asana
bun add @openfn/language-asana
```

## Health

**Score 70/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; recently updated; high maintenance score; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 5.1.3 |
| Published | 2026-09-03 |
| First published | 2022-01-24 |
| Weekly downloads | 0 |
| License | LGPLv3 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 1 |
| Unpacked size | 109.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 26 |
| Author | Open Function Group |
| Maintainers | elias-ba, stuartc-openfn, taylordowns2000, mtuchi, jclark-openfn |

## Links

- npm: https://www.npmjs.com/package/@openfn/language-asana
- Repository: https://github.com/openfn/adaptors
- Homepage: https://docs.openfn.org
- Issues: https://github.com/openfn/adaptors/issues
- npm.io page: https://npm.io/package/@openfn/language-asana

## Dependencies (1)

- [@openfn/language-common](https://npm.io/package/@openfn/language-common.md) 3.3.5

## Recent versions

- 5.1.3 (latest) — 2026-09-03
- 2.1.7 (legacy) — 2024-07-29
- 5.1.2 — 2026-06-30
- 5.1.1 — 2026-05-27
- 5.1.0 — 2026-05-21
- 5.0.13 — 2026-05-20
- 5.0.12 — 2026-04-07
- 5.0.11 — 2026-03-30
- 5.0.10 — 2026-02-25
- 5.0.9 — 2026-02-24
- 5.0.8 — 2026-01-30
- 5.0.7 — 2025-11-28
- 5.0.6 — 2025-11-12
- 5.0.5 — 2025-10-29
- 5.0.4 — 2025-10-16
- … 39 more at https://npm.io/package/@openfn/language-asana/versions

## README

# language-asana

Language Pack for connecting with Asana.

## Documentation

### Configuration

View all the required and optional properties for `state.configuration` in the
official
[configuration-schema](https://docs.openfn.org/adaptors/packages/asana-configuration-schema/)
definition.

### How to create an API token

Using Asana's API requires having an API token. To generate that token, head to
the [Asana developer console](https://app.asana.com/0/developer-console) and
enter the **Personal access tokens** section.
[For API Reference docs](https://developers.asana.com/docs/api-explorer)

There you can click on **+New access token**. A prompt will be opened allowing
you to give the token a name and then create it.

_Note: Treat your PAT like you would with a password. Do not share it or display
it online._

### Sample expression

## Find a single task of a given project using the task id.

```js
getTask('1234', {
  opt_fields: 'name,assignee',
});
```

## Find the list of tasks of a given project using the project id.

```js
getTasks('22889593722', {
  opt_fields: 'name,notes,assignee',
});
```

## Update a specific task

```js
updateTask('12344', {
  name: 'test',
  approval_status: 'pending',
  assignee: '12345',
});
```

## Create a task

```js
createTask({
  name: 'test',
  approval_status: 'pending',
  assignee: '12345',
});
```

## Update a task or create a new one

You can use a field name literal as `externalId` to match a specific task. If
the task does not exist, a new one will be created. The first parameter in this
function should be the `project_id`.

```js
upsertTask('12344', {
  externalId: 'name',
  data: {
    name: 'A new task',
    projects: ['12344'],
    notes: 'This is a new task',
  },
});
```

## Development

Clone the [adaptors monorepo](https://github.com/OpenFn/adaptors). Follow the
`Getting Started` guide inside to get set up.

Run tests using `pnpm run test` or `pnpm run test:watch`

Build the project using `pnpm build`.

To just build the docs run `pnpm build docs`

---
_Source: https://npm.io/package/@openfn/language-asana · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
