Claim this agent
agentCLAWHUBUnverified

Asana

Integrate Asana with Clawdbot via the Asana REST API. Use when you need to list/search/create/update Asana tasks/projects/workspaces, or to set up Asana OAuth (authorization code grant) for a personal local-only integration (OOB/manual code paste). Skill: Asana Owner: k0nkupa Summary: Integrate Asana with Clawdbot via the Asana REST API. Use when you need to list/search/create/update Asana tasks/projects/workspaces, or to set up Asana OAuth (authorization code grant) for a personal local-only integration (OOB/manual code paste). Tags: latest:1.0.0 Version history: v1.0.0 | 2026-01-26T02:59:51.460Z | user - Updated skill. Archive index: Archive v1.0.0: 8 files,

OpenClaw

Rank

62

Safety

84

Downloads

2.7k

Updated

Apr 15, 2026

Version

1.0.0

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 2.7K downloads reported by the source. Last updated 4/15/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Apr 15, 2026
Protocol compatibility
OpenClawcompatibility · observed Apr 15, 2026
Adoption signal
2.7K downloadsadoption · observed Apr 15, 2026
Latest release
1.0.0release · observed Jan 26, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install kn7b69bxtkr2s9fv7wte391nan7zz874:asana
  1. Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.
  2. Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-k0nkupa-asana/snapshot"

Documentation

CLAWHUB

10,564 characters of source documentation, loaded on request.

Extracted files

4 files captured from the source.

SKILL.md

---
name: asana
description: "Integrate Asana with Clawdbot via the Asana REST API. Use when you need to list/search/create/update Asana tasks/projects/workspaces, or to set up Asana OAuth (authorization code grant) for a personal local-only integration (OOB/manual code paste)."
---

# Asana (Clawdbot skill)

This skill is designed for a **personal local-only** Asana integration using **OAuth** with an **out-of-band/manual code paste** flow.

## What this skill provides
- A small Node CLI to:
  - generate the Asana authorize URL
  - exchange an authorization code for access/refresh tokens
  - auto-refresh the access token
  - make basic API calls (e.g. `/users/me`, `/workspaces`, tasks)

## Setup (OAuth, OOB/manual code)

### 0) Create an Asana app
In Asana Developer Console (My apps):
- Create app
- Enable scopes you will need (typical: `tasks:read`, `tasks:write`, `projects:read`)
- Set redirect URI to the OOB value (manual code):
  - `urn:ietf:wg:oauth:2.0:oob`

### 1) Provide credentials (two options)

**Option A (recommended for Clawdbot):** save to a local credentials file:
```bash
node scripts/configure.mjs --client-id "..." --client-secret "..."
```
This writes `~/.clawdbot/asana/credentials.json`.

**Option B:** set environment variables (shell/session):
- `ASANA_CLIENT_ID`
- `ASANA_CLIENT_SECRET`

### 2) Run OAuth
From the repo root:

1) Print the authorize URL:
```bash
node scripts/oauth_oob.mjs authorize
```
2) Open the printed URL, click **Allow**, copy the code.
3) Exchange code and save tokens locally:
```bash
node scripts/oauth_oob.mjs token --code "PASTE_CODE_HERE"
```

Tokens are stored at:
- `~/.clawdbot/asana/token.json`

## Chat usage (support both explicit + natural language)

You can use either:
- **Explicit commands**: start the message with `/asana ...`
- **Natural language**: e.g. “list tasks assigned to me”

For Clawdbot, implement the mapping by translating the user request into the appropriate `asana_api.mjs` command.

Examples:
- `/asana tasks-assigned` → `tasks-assigned --assignee me`
- “list tasks assigned to me” → `tasks-assigned --assignee me`
- “list all tasks in <project>” → resolve `<project>` to a project gid, then `tasks-in-project --project <gid>`
- “list tasks due date from 2026-01-01 to 2026-01-15” → `search-tasks --assignee me --due_on.after 2026-01-01 --due_on.before 2026-01-15`

(Optional helper) `scripts/asana_chat.mjs` can map common phrases to a command skeleton.

## Using the API helper

Sanity check (who am I):
```bash
node scripts/asana_api.mjs me
```

List workspaces:
```bash
node scripts/asana_api.mjs workspaces
```

Set a default workspace (optional):
```bash
node scripts/asana_api.mjs set-default-workspace --workspace <workspace_gid>
```
After that, you can omit `--workspace` for commands that support it.

List projects in a workspace (explicit):
```bash
node scripts/asana_api.mjs projects --workspace <workspace_gid>
```
List projects using the default workspace:
```bash
node scripts/asana_ap

README.md

# clawdbot-asana-skill

Asana OAuth (local-only) + task/project commands for Clawdbot.

This repo contains a small **Asana skill** (an AgentSkill folder) that you can:
- use locally on your Clawdbot host
- publish/share so other Clawdbot users can install and run it

It uses **Asana OAuth 2.0 Authorization Code Grant** with an **out-of-band (OOB) / manual code paste** redirect URI:

- `urn:ietf:wg:oauth:2.0:oob`

No public callback server is required.

---

## What you get

Commands (via Node scripts):
- Auth helpers: generate authorize URL, exchange code, refresh access token
- List workspaces, list projects, list tasks
- View task, update task, mark complete, comment

Tokens and config are stored locally under:
- `~/.clawdbot/asana/credentials.json` (client id + secret)
- `~/.clawdbot/asana/token.json` (OAuth tokens)
- `~/.clawdbot/asana/config.json` (default workspace)

---

## Prerequisites

- Node.js 22+
- An Asana account with access to the workspace(s) you want

---

## 1) Create an Asana “Custom App” (Developer Console)

1. Open the Asana Developer Console:
   - https://app.asana.com/0/my-apps
2. Create a new app.
3. **Distribution (important):**
   - Your OAuth app must be **available in the workspace** the user is authorizing from.
   - In the developer console, configure **Manage distribution** so the app is available to the target workspace(s).
   - If distribution/workspace availability is misconfigured, authorization can fail even if the URL is correct.
4. OAuth settings:
   - **Redirect URI:**
     - `urn:ietf:wg:oauth:2.0:oob`
   - Copy the **Client ID** and **Client Secret**.

### Scopes (must match what you request)

In the Asana Developer Console, go to **OAuth → Permission scopes** and enable the scopes you plan to request.

Important rules:
- The scopes you request in the authorize URL **must be a subset of** the scopes enabled in the console.
- If you request a scope that is not enabled, you’ll get a `forbidden_scopes` error.

Recommended “full task management” scope set:

- `tasks:read` `tasks:write` `tasks:delete`
- `projects:read` `projects:write`
- `attachments:read` `attachments:write`
- `custom_fields:read` `custom_fields:write`
- `tags:read` `tags:write`
- `task_custom_types:read`
- `teams:read`
- `users:read`
- `workspaces:read`

---

## 2) Configure credentials locally

Save your Asana OAuth client id/secret to a local file:

```bash
node scripts/configure.mjs \
  --client-id "YOUR_CLIENT_ID" \
  --client-secret "YOUR_CLIENT_SECRET"
```

This writes:
- `~/.clawdbot/asana/credentials.json`

(Alternative: you can set `ASANA_CLIENT_ID` and `ASANA_CLIENT_SECRET` as environment variables, but the credentials file is recommended for Clawdbot.)

---

## 3) Authorize (OOB) and save tokens

### 3.1 Generate the authorize URL

```bash
node scripts/oauth_oob.mjs authorize \
  --scope "tasks:read tasks:write projects:read"
```

Open the printed URL in your browser, click **Allow**, then copy the code.

### 3.2 Exchange the code

_meta.json

{
  "ownerId": "kn7b69bxtkr2s9fv7wte391nan7zz874",
  "slug": "asana",
  "version": "1.0.0",
  "publishedAt": 1769396391460
}

references/asana-endpoints.md

# Asana endpoints (quick reference)

Auth:
- Authorize: `GET https://app.asana.com/-/oauth_authorize`
- Token exchange / refresh: `POST https://app.asana.com/-/oauth_token`
- Revoke: `POST https://app.asana.com/-/oauth_revoke`

API:
- Base: `https://app.asana.com/api/1.0`

Common:
- `GET /users/me`
- `GET /workspaces`
- `GET /projects?workspace=<gid>`
- `GET /tasks` (requires filters)
- `GET /workspaces/{workspace_gid}/tasks/search` (advanced search; can be premium-only)
- `POST /tasks`

Notes:
- OAuth scopes are required with OAuth apps (examples: `tasks:read`, `tasks:write`, `projects:read`).
Github ReposUpdated 1h agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/k0nkupa/asana",
      "sourceUrl": "https://clawhub.ai/k0nkupa/asana",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-04-15T00:45:39.800Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-k0nkupa-asana/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-k0nkupa-asana/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-04-15T00:45:39.800Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "2.7K downloads",
      "href": "https://clawhub.ai/k0nkupa/asana",
      "sourceUrl": "https://clawhub.ai/k0nkupa/asana",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-04-15T00:45:39.800Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "1.0.0",
      "href": "https://clawhub.ai/k0nkupa/asana",
      "sourceUrl": "https://clawhub.ai/k0nkupa/asana",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-01-26T02:59:51.460Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-k0nkupa-asana/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-k0nkupa-asana/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 1.0.0",
      "description": "- Updated skill.",
      "href": "https://clawhub.ai/k0nkupa/asana",
      "sourceUrl": "https://clawhub.ai/k0nkupa/asana",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-01-26T02:59:51.460Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 9, 2026.

Sponsored

Ads related to Asana and adjacent AI workflows.