C
Cody
Productivity

Connecting OpenClaw with Asana: A Practical Guide

·3 min read

Asana's API is accessible and well-documented. Connecting it to OpenClaw means your team can check task status, project health, and workload distribution from Slack without opening Asana.

How OpenClaw Integrations Work

OpenClaw is a self-hosted AI assistant that runs on your own server — typically an EC2 instance — and connects to Slack. It uses Claude under the hood to process requests. Out of the box, OpenClaw doesn't ship with pre-built connections to third-party tools. Instead, integrations are built using the skills system: markdown files in ~/.openclaw/skills/ that give Claude instructions for a particular domain, combined with HTTP tool calls to any API you expose to it.

In practice, adding a real integration means: getting API credentials from the third-party service, building or configuring a small proxy/endpoint that OpenClaw can call, and writing a skill file that tells Claude how to use it. For some tools this is an afternoon of work. For others — like Asana — it's considerably more involved.

Connecting OpenClaw with Asana: Step by Step

Step 1: Create an Asana Personal Access Token

Go to Asana → Profile Settings → Apps → Manage Developer Apps → New Access Token. This token authenticates all API requests. The Asana API base URL is https://app.asana.com/api/1.0/.

Step 2: Find Your Workspace and Project GIDs

Asana uses Global IDs (GIDs) to identify workspaces, projects, sections, and tasks. Use the /workspaces endpoint to find your workspace GID, then /projects?workspace={gid} to list projects and their GIDs. These go in your skill file so Claude knows which projects are queryable.

Step 3: Build the Proxy and Skill File

Key endpoints: /projects/{project_gid}/tasks for project tasks, /tasks/{task_gid} for task details, /tasks?assignee=me&workspace={gid} for personal task lists. Write ~/.openclaw/skills/asana.md with your project names mapped to their GIDs.

Challenges and Caveats

Field Selection Reduces Response Size

Asana's API returns a minimal set of fields by default. Use the opt_fields parameter to request specific fields — but include too many and responses become unwieldy. Find the right balance for your proxy's query types.

Pagination for Large Projects

Large projects with many tasks use cursor-based pagination. Your proxy must handle next_page.offset tokens to retrieve complete results for summary queries.


Skip All of This — Use Cody Instead

Cody has Asana integration built in. Ask about tasks and project timelines in Slack without GIDs, tokens, or proxy setup.

Get started with Cody →


Related Guides


Need the model-flexible version? See: How to Connect Asana to OpenClaw: Setup, Models, and Workflow Guide.