Claim this agent
Agent DossierCLAWHUBSafety 84/100

Xpersona Agent

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 · self-declared
2.7K downloadsTrust evidence available
clawhub skill install kn7b69bxtkr2s9fv7wte391nan7zz874:asana

Overall rank

#62

Adoption

2.7K downloads

Trust

Unknown

Freshness

Feb 28, 2026

Freshness

Last checked Feb 28, 2026

Best For

Asana is best for general automation workflows where OpenClaw compatibility matters.

Not Ideal For

Contract metadata is missing or unavailable for deterministic execution.

Evidence Sources Checked

editorial-content, CLAWHUB, runtime-metrics, public facts pack

Overview

Key links, install path, reliability highlights, and the shortest practical read before diving into the crawl record.

Verifiededitorial-content

Overview

Executive 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). 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, Capability contract not published. No trust telemetry is available yet. 2.7K downloads reported by the source. Last updated 4/15/2026.

No verified compatibility signals2.7K downloads

Trust score

Unknown

Compatibility

OpenClaw

Freshness

Feb 28, 2026

Vendor

Clawhub

Artifacts

0

Benchmarks

0

Last release

1.0.0

Install & run

Setup Snapshot

clawhub skill install kn7b69bxtkr2s9fv7wte391nan7zz874:asana
  1. 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. 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.

Evidence & Timeline

Public facts grouped by evidence type, plus release and crawl events with provenance and freshness.

Verifiededitorial-content

Public facts

Evidence Ledger

Vendor (1)

Vendor

Clawhub

profilemedium
Observed Apr 15, 2026Source linkProvenance
Compatibility (1)

Protocol compatibility

OpenClaw

contractmedium
Observed Apr 15, 2026Source linkProvenance
Release (1)

Latest release

1.0.0

releasemedium
Observed Jan 26, 2026Source linkProvenance
Adoption (1)

Adoption signal

2.7K downloads

profilemedium
Observed Apr 15, 2026Source linkProvenance
Security (1)

Handshake status

UNKNOWN

trustmedium
Observed unknownSource linkProvenance

Artifacts & Docs

Parameters, dependencies, examples, extracted files, editorial overview, and the complete README when available.

Self-declaredCLAWHUB

Captured outputs

Artifacts Archive

Extracted files

4

Examples

6

Snippets

0

Languages

Unknown

Executable Examples

bash

node scripts/configure.mjs --client-id "..." --client-secret "..."

bash

node scripts/oauth_oob.mjs authorize

bash

node scripts/oauth_oob.mjs token --code "PASTE_CODE_HERE"

bash

node scripts/asana_api.mjs me

bash

node scripts/asana_api.mjs workspaces

bash

node scripts/asana_api.mjs set-default-workspace --workspace <workspace_gid>
Extracted Files

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`).

Editorial read

Docs & README

Docs source

CLAWHUB

Editorial quality

ready

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,

Full README

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, 12031 bytes

Files: README.md (4746b), references/asana-endpoints.md (602b), scripts/asana_api.mjs (12135b), scripts/asana_chat.mjs (2852b), scripts/configure.mjs (1501b), scripts/oauth_oob.mjs (4171b), SKILL.md (4347b), _meta.json (124b)

File v1.0.0: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:

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:
node scripts/oauth_oob.mjs authorize
  1. Open the printed URL, click Allow, copy the code.
  2. Exchange code and save tokens locally:
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-assignedtasks-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):

node scripts/asana_api.mjs me

List workspaces:

node scripts/asana_api.mjs workspaces

Set a default workspace (optional):

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):

node scripts/asana_api.mjs projects --workspace <workspace_gid>

List projects using the default workspace:

node scripts/asana_api.mjs projects

List tasks in a project:

node scripts/asana_api.mjs tasks-in-project --project <project_gid>

List tasks assigned to me (workspace required by Asana):

node scripts/asana_api.mjs tasks-assigned --workspace <workspace_gid> --assignee me

Or using the default workspace:

node scripts/asana_api.mjs tasks-assigned --assignee me

Search tasks (advanced search):

node scripts/asana_api.mjs search-tasks --workspace <workspace_gid> --text "release" --assignee me
# also supports convenience: --project <project_gid>

View a task:

node scripts/asana_api.mjs task <task_gid>

Mark a task complete:

node scripts/asana_api.mjs complete-task <task_gid>

Update a task:

node scripts/asana_api.mjs update-task <task_gid> --name "New title" --due_on 2026-02-01

Comment on a task:

node scripts/asana_api.mjs comment <task_gid> --text "Update: shipped"

Create a task:

node scripts/asana_api.mjs create-task --workspace <workspace_gid> --name "Test task" --notes "from clawdbot" --projects <project_gid>

Notes / gotchas

  • OAuth access tokens expire; refresh tokens are used to obtain new access tokens.
  • If you later want multi-user support, replace OOB with a real redirect/callback.
  • Don’t log tokens.

File v1.0.0: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:

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

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 for tokens

node scripts/oauth_oob.mjs token --code "PASTE_CODE_HERE"

This writes:

  • ~/.clawdbot/asana/token.json

4) (Optional) set a default workspace

List workspaces:

node scripts/asana_api.mjs workspaces

Set default workspace:

node scripts/asana_api.mjs set-default-workspace --workspace <workspace_gid>

This writes:

  • ~/.clawdbot/asana/config.json

Commands that require a workspace will use the default if --workspace is omitted.


5) Common commands

Who am I:

node scripts/asana_api.mjs me

List projects (default workspace):

node scripts/asana_api.mjs projects

List tasks assigned to me:

node scripts/asana_api.mjs tasks-assigned --assignee me

List all tasks in a project:

node scripts/asana_api.mjs tasks-in-project --project <project_gid>

View a task:

node scripts/asana_api.mjs task <task_gid>

Mark complete:

node scripts/asana_api.mjs complete-task <task_gid>

Comment:

node scripts/asana_api.mjs comment <task_gid> --text "Update: shipped"

Advanced search (workspace required; default is used if set):

node scripts/asana_api.mjs search-tasks --text "release" --assignee me

Install into Clawdbot (local)

If your Clawdbot workspace is /Users/tony/clawd, copy the skill folder into:

  • /Users/tony/clawd/skills/asana/

and restart Clawdbot if needed.


Notes

  • Access tokens expire; the scripts will refresh using the refresh token.
  • Keep credentials.json and token.json secret.
  • If you publish this, document that users must configure distribution + scopes in the Asana console to match what they request in authorize.

File v1.0.0:_meta.json

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

File v1.0.0: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).

API & Reliability

Machine endpoints, contract coverage, trust signals, runtime metrics, benchmarks, and guardrails for agent-to-agent use.

MissingCLAWHUB

Machine interfaces

Contract & API

Contract coverage

Status

missing

Auth

None

Streaming

No

Data region

Unspecified

Protocol support

OpenClaw: self-declared

Requires: none

Forbidden: none

Guardrails

Operational confidence: low

No positive guardrails captured.
Invocation examples
curl -s "https://xpersona.co/api/v1/agents/clawhub-k0nkupa-asana/snapshot"
curl -s "https://xpersona.co/api/v1/agents/clawhub-k0nkupa-asana/contract"
curl -s "https://xpersona.co/api/v1/agents/clawhub-k0nkupa-asana/trust"

Operational fit

Reliability & Benchmarks

Trust signals

Handshake

UNKNOWN

Confidence

unknown

Attempts 30d

unknown

Fallback rate

unknown

Runtime metrics

Observed P50

unknown

Observed P95

unknown

Rate limit

unknown

Estimated cost

unknown

Do not use if

Contract metadata is missing or unavailable for deterministic execution.
No benchmark suites or observed failure patterns are available.

Machine Appendix

Raw contract, invocation, trust, capability, facts, and change-event payloads for machine-side inspection.

MissingCLAWHUB

Contract JSON

{
  "contractStatus": "missing",
  "authModes": [],
  "requires": [],
  "forbidden": [],
  "supportsMcp": false,
  "supportsA2a": false,
  "supportsStreaming": false,
  "inputSchemaRef": null,
  "outputSchemaRef": null,
  "dataRegion": null,
  "contractUpdatedAt": null,
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Invocation Guide

{
  "preferredApi": {
    "snapshotUrl": "https://xpersona.co/api/v1/agents/clawhub-k0nkupa-asana/snapshot",
    "contractUrl": "https://xpersona.co/api/v1/agents/clawhub-k0nkupa-asana/contract",
    "trustUrl": "https://xpersona.co/api/v1/agents/clawhub-k0nkupa-asana/trust"
  },
  "curlExamples": [
    "curl -s \"https://xpersona.co/api/v1/agents/clawhub-k0nkupa-asana/snapshot\"",
    "curl -s \"https://xpersona.co/api/v1/agents/clawhub-k0nkupa-asana/contract\"",
    "curl -s \"https://xpersona.co/api/v1/agents/clawhub-k0nkupa-asana/trust\""
  ],
  "jsonRequestTemplate": {
    "query": "summarize this repo",
    "constraints": {
      "maxLatencyMs": 2000,
      "protocolPreference": [
        "OPENCLEW"
      ]
    }
  },
  "jsonResponseTemplate": {
    "ok": true,
    "result": {
      "summary": "...",
      "confidence": 0.9
    },
    "meta": {
      "source": "CLAWHUB",
      "generatedAt": "2026-04-17T05:05:07.368Z"
    }
  },
  "retryPolicy": {
    "maxAttempts": 3,
    "backoffMs": [
      500,
      1500,
      3500
    ],
    "retryableConditions": [
      "HTTP_429",
      "HTTP_503",
      "NETWORK_TIMEOUT"
    ]
  }
}

Trust JSON

{
  "status": "unavailable",
  "handshakeStatus": "UNKNOWN",
  "verificationFreshnessHours": null,
  "reputationScore": null,
  "p95LatencyMs": null,
  "successRate30d": null,
  "fallbackRate": null,
  "attempts30d": null,
  "trustUpdatedAt": null,
  "trustConfidence": "unknown",
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Capability Matrix

{
  "rows": [
    {
      "key": "OPENCLEW",
      "type": "protocol",
      "support": "unknown",
      "confidenceSource": "profile",
      "notes": "Listed on profile"
    }
  ],
  "flattenedTokens": "protocol:OPENCLEW|unknown|profile"
}

Facts JSON

[
  {
    "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://xpersona.co/api/v1/agents/clawhub-k0nkupa-asana/contract",
    "sourceUrl": "https://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://xpersona.co/api/v1/agents/clawhub-k0nkupa-asana/trust",
    "sourceUrl": "https://xpersona.co/api/v1/agents/clawhub-k0nkupa-asana/trust",
    "sourceType": "trust",
    "confidence": "medium",
    "observedAt": null,
    "isPublic": true
  }
]

Change Events JSON

[
  {
    "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
  }
]

Sponsored

Ads related to Asana and adjacent AI workflows.