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
Crawler Summary
Manage Asana tasks, projects, briefs, status updates, custom fields, dependencies, attachments, events, and timelines via Personal Access Token (PAT). --- name: asana description: "Manage Asana tasks, projects, briefs, status updates, custom fields, dependencies, attachments, events, and timelines via Personal Access Token (PAT)." homepage: https://developers.asana.com/docs/personal-access-token user-invocable: true metadata: {"openclaw":{"requires":{"env":["ASANA_PAT"]},"primaryEnv":"ASANA_PAT","homepage":"https://developers.asana.com/docs/personal-access-token"}} Published capability contract available. No trust telemetry is available yet. Last updated 2/24/2026.
Freshness
Last checked 2/22/2026
Best For
Contract is available with explicit auth and schema references.
Not Ideal For
asana is not ideal for teams that need stronger public trust telemetry, lower setup complexity, or more explicit contract coverage before production rollout.
Evidence Sources Checked
editorial-content, capability-contract, runtime-metrics, public facts pack
Manage Asana tasks, projects, briefs, status updates, custom fields, dependencies, attachments, events, and timelines via Personal Access Token (PAT). --- name: asana description: "Manage Asana tasks, projects, briefs, status updates, custom fields, dependencies, attachments, events, and timelines via Personal Access Token (PAT)." homepage: https://developers.asana.com/docs/personal-access-token user-invocable: true metadata: {"openclaw":{"requires":{"env":["ASANA_PAT"]},"primaryEnv":"ASANA_PAT","homepage":"https://developers.asana.com/docs/personal-access-token"}}
Public facts
5
Change events
0
Artifacts
0
Freshness
Feb 22, 2026
Published capability contract available. No trust telemetry is available yet. Last updated 2/24/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
Feb 22, 2026
Vendor
Asana
Artifacts
0
Benchmarks
0
Last release
Unpublished
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Published capability contract available. No trust telemetry is available yet. Last updated 2/24/2026.
Setup snapshot
git clone https://github.com/L-U-C-K-Y/asana-agent-skill.gitSetup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
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.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Asana
Protocol compatibility
OpenClaw
Auth modes
api_key
Machine-readable schemas
OpenAPI or schema references published
Handshake status
UNKNOWN
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
4
Snippets
0
Languages
typescript
Parameters
bash
openclaw config set skills.entries.asana.enabled true openclaw config set skills.entries.asana.apiKey "ASANA_PAT_HERE"
bash
openclaw config set skills.entries.asana.enabled true openclaw config set skills.entries.asana.env.ASANA_PAT "ASANA_PAT_HERE"
bash
openclaw config get skills.entries.asana openclaw config get skills.entries.asana.enabled openclaw config get skills.entries.asana.apiKey
bash
openclaw config unset skills.entries.asana.apiKey # or openclaw config unset skills.entries.asana.env.ASANA_PAT
Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB OPENCLEW
Editorial quality
ready
Manage Asana tasks, projects, briefs, status updates, custom fields, dependencies, attachments, events, and timelines via Personal Access Token (PAT). --- name: asana description: "Manage Asana tasks, projects, briefs, status updates, custom fields, dependencies, attachments, events, and timelines via Personal Access Token (PAT)." homepage: https://developers.asana.com/docs/personal-access-token user-invocable: true metadata: {"openclaw":{"requires":{"env":["ASANA_PAT"]},"primaryEnv":"ASANA_PAT","homepage":"https://developers.asana.com/docs/personal-access-token"}}
This skill provides a dependency-free Node.js CLI that calls the Asana REST API (v1) using a Personal Access Token (PAT).
{baseDir}/scripts/asana.mjsASANA_PAT (preferred) or ASANA_TOKENASANA_PAT.Shell env (local testing):
export ASANA_PAT="..."
OpenClaw config (recommended): set skills.entries.asana.apiKey (or env.ASANA_PAT) so the secret is injected only for the agent run.
This is the safest way to set the PAT because it keeps secrets out of prompts and ad-hoc shell history.
Recommended (apiKey → ASANA_PAT):
openclaw config set skills.entries.asana.enabled true
openclaw config set skills.entries.asana.apiKey "ASANA_PAT_HERE"
skills.entries.asana.apiKey is a convenience field: for skills that declare metadata.openclaw.primaryEnv, OpenClaw injects apiKey into that env var for the agent run (this skill’s primary env is ASANA_PAT).
Alternative (explicit env):
openclaw config set skills.entries.asana.enabled true
openclaw config set skills.entries.asana.env.ASANA_PAT "ASANA_PAT_HERE"
Verify what is stored:
openclaw config get skills.entries.asana
openclaw config get skills.entries.asana.enabled
openclaw config get skills.entries.asana.apiKey
Remove a stored token:
openclaw config unset skills.entries.asana.apiKey
# or
openclaw config unset skills.entries.asana.env.ASANA_PAT
When a session is sandboxed, skill processes run inside Docker and do not inherit the host environment. In that case, skills.entries.*.env/apiKey applies to host runs only.
Set Docker env via:
agents.defaults.sandbox.docker.env (or per-agent agents.list[].sandbox.docker.env)Who am I:
node {baseDir}/scripts/asana.mjs me
List workspaces:
node {baseDir}/scripts/asana.mjs workspaces
(Recommended) Set a default workspace once:
node {baseDir}/scripts/asana.mjs set-default-workspace --workspace <workspace_gid>
When the user provides names (project/task/user), resolve to GIDs using one of:
typeahead --workspace <gid> --resource_type project|task|user --query "..." (fast, best default)projects --workspace <gid> --all (enumerate)users --workspace <gid> --all (enumerate)Avoid guessing a GID when multiple matches exist.
node {baseDir}/scripts/asana.mjs tasks-assigned --assignee me --workspace <workspace_gid> --all
node {baseDir}/scripts/asana.mjs tasks-in-project --project <project_gid> --all
Canonical primitive: search-tasks (supports many filters; preferred over adding narrow “search helper” commands).
One-liner example (search within a project):
node {baseDir}/scripts/asana.mjs search-tasks --workspace <gid> --project <project_gid> --text "..." --all
Useful filters:
--assignee me|<gid|email> (maps to assignee.any)--completed true|false--created_at.after <iso> / --modified_at.after <iso>--due_on.before YYYY-MM-DD / --due_at.before <iso>--is_blocked true|false / --is_blocking true|falseCreate:
node {baseDir}/scripts/asana.mjs create-task --workspace <gid> --name "..." --projects <project_gid> --assignee me
Update:
node {baseDir}/scripts/asana.mjs update-task <task_gid> --name "..." --due_on 2026-02-01
Complete:
node {baseDir}/scripts/asana.mjs complete-task <task_gid>
This skill supports the workflows commonly expected from a PM in Asana:
upsert-project-brief)create-status-update)project-blockers, dependencies, dependents)Read:
node {baseDir}/scripts/asana.mjs project-brief <project_gid>
Upsert (create or update):
node {baseDir}/scripts/asana.mjs upsert-project-brief <project_gid> --title "Project brief" --html_text "<body>...</body>"
Create:
node {baseDir}/scripts/asana.mjs create-status-update --parent <project_gid> --status_type on_track --text "Weekly update..."
List:
node {baseDir}/scripts/asana.mjs status-updates --parent <project_gid> --all
List sections:
node {baseDir}/scripts/asana.mjs sections --project <project_gid> --all
Create section:
node {baseDir}/scripts/asana.mjs create-section --project <project_gid> --name "Blocked"
Command: add-task-to-project
Calls POST /tasks/{task_gid}/addProject and supports optional section placement and ordering.
Examples:
node {baseDir}/scripts/asana.mjs add-task-to-project <task_gid> --project <project_gid>
With section + ordering:
node {baseDir}/scripts/asana.mjs add-task-to-project <task_gid> --project <project_gid> --section <section_gid> --insert_before null --insert_after null
(--section, --insert_before, and --insert_after are optional; when provided they are passed through in the request body.)
Command: remove-task-from-project
Calls POST /tasks/{task_gid}/removeProject.
Example:
node {baseDir}/scripts/asana.mjs remove-task-from-project <task_gid> --project <project_gid>
Custom fields are critical for reliable PM automation.
List a project’s custom fields:
node {baseDir}/scripts/asana.mjs project-custom-fields <project_gid> --all
Read a custom field definition:
node {baseDir}/scripts/asana.mjs custom-field <custom_field_gid>
Set task custom fields on create/update:
node {baseDir}/scripts/asana.mjs update-task <task_gid> --custom_fields '{"<custom_field_gid>":"<value>"}'
Notes:
Asana rich text fields are XML-valid HTML fragments wrapped in a <body> root element. The API rejects invalid XML or unsupported tags.
Key points:
html_notes for task descriptions.html_text for comments/stories and status updates.<p> and <br>; prefer literal newlines (\n) and <hr/> separators.<a data-asana-gid="..."></a> (or a self-closing <a .../>).Creating a mention link does not guarantee notification delivery if the user is not already assigned or following.
For reliable pings, do one of:
This skill supports the “add follower + wait” pattern:
node {baseDir}/scripts/asana.mjs comment <task_gid> --html_text "<body>Hi <a data-asana-gid=\"<user_gid>\"/>...</body>" --ensure_followers <user_gid> --wait_ms 2500
Plain text comments (--text) do not create real @-mentions via the API; they remain plain text.
Upload a file attachment to a task:
node {baseDir}/scripts/asana.mjs upload-attachment --parent <task_gid> --file /path/to/file.png
Embed an existing image attachment inline (tasks + project briefs only):
node {baseDir}/scripts/asana.mjs append-inline-image --attachment <attachment_gid> --task <task_gid>
Asana does not provide a single universal “inbox” API for all notifications. The closest stable primitive is the Events endpoint scoped to a specific resource (project, task, etc.).
Use:
events --resource <gid> to pull incremental changes on a project (or a user's "My Tasks" project)Shift one task (optionally include subtasks):
node {baseDir}/scripts/asana.mjs shift-task-dates <task_gid> --delta_days 7 --dry_run true
Shift an entire project’s tasks:
node {baseDir}/scripts/asana.mjs shift-project-tasks --project <project_gid> --delta_days -3 --dry_run true --all
Run with --dry_run true first, then re-run with --dry_run false.
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
ready
Auth
api_key
Streaming
No
Data region
global
Protocol support
Requires: openclew, lang:typescript
Forbidden: none
Guardrails
Operational confidence: medium
curl -s "https://www.xpersona.co/api/v1/agents/l-u-c-k-y-asana-agent-skill/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/l-u-c-k-y-asana-agent-skill/contract"
curl -s "https://www.xpersona.co/api/v1/agents/l-u-c-k-y-asana-agent-skill/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
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
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
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
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
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!
The Frontend for Agents & Generative UI. React + Angular
Contract JSON
{
"contractStatus": "ready",
"authModes": [
"api_key"
],
"requires": [
"openclew",
"lang:typescript"
],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": "https://github.com/L-U-C-K-Y/asana-agent-skill#input",
"outputSchemaRef": "https://github.com/L-U-C-K-Y/asana-agent-skill#output",
"dataRegion": "global",
"contractUpdatedAt": "2026-02-24T19:43:13.277Z",
"sourceUpdatedAt": "2026-02-24T19:43:13.277Z",
"freshnessSeconds": 19586641
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://www.xpersona.co/api/v1/agents/l-u-c-k-y-asana-agent-skill/snapshot",
"contractUrl": "https://www.xpersona.co/api/v1/agents/l-u-c-k-y-asana-agent-skill/contract",
"trustUrl": "https://www.xpersona.co/api/v1/agents/l-u-c-k-y-asana-agent-skill/trust"
},
"curlExamples": [
"curl -s \"https://www.xpersona.co/api/v1/agents/l-u-c-k-y-asana-agent-skill/snapshot\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/l-u-c-k-y-asana-agent-skill/contract\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/l-u-c-k-y-asana-agent-skill/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_OPENCLEW",
"generatedAt": "2026-10-09T12:27:14.935Z"
}
},
"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"
},
{
"key": "many",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "the",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "optional",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:many|supported|profile capability:the|supported|profile capability:optional|supported|profile"
}Facts JSON
[
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Asana",
"href": "https://developers.asana.com/docs/personal-access-token",
"sourceUrl": "https://developers.asana.com/docs/personal-access-token",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-24T19:43:14.176Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/l-u-c-k-y-asana-agent-skill/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/l-u-c-k-y-asana-agent-skill/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-02-24T19:43:13.277Z",
"isPublic": true
},
{
"factKey": "auth_modes",
"category": "compatibility",
"label": "Auth modes",
"value": "api_key",
"href": "https://www.xpersona.co/api/v1/agents/l-u-c-k-y-asana-agent-skill/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/l-u-c-k-y-asana-agent-skill/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:43:13.277Z",
"isPublic": true
},
{
"factKey": "schema_refs",
"category": "artifact",
"label": "Machine-readable schemas",
"value": "OpenAPI or schema references published",
"href": "https://github.com/L-U-C-K-Y/asana-agent-skill#input",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/l-u-c-k-y-asana-agent-skill/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:43:13.277Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/l-u-c-k-y-asana-agent-skill/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/l-u-c-k-y-asana-agent-skill/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[]
Sponsored
Ads related to asana and adjacent AI workflows.