AgentsReady
Verified deep dive · SaaS

Asana

Run the agent liveReport a change
5 minTime to key
NoNo-human path
2Human gates
6/10Onboarding score
Admin approvalEmail verification

Fastest path to a key

  1. Sign up at asana.com with Google/Microsoft OAuth or email (email signup sends verification link/code)
  2. Complete onboarding (creates workspace/org and a first project)
  3. Open developer console https://app.asana.com/0/my-apps > Create new token (PAT) with description
  4. Call https://app.asana.com/api/1.0/users/me with Bearer PAT
  5. Working API key

Biggest gap

MCP v2 forces users to register their own OAuth client (client id/secret + exact redirect URIs) for Claude Code/Cursor/VS Code/Codex.

Worth copying

Markdown docs carry agentTools frontmatter pointing agents back to the llms.txt project index.

Sources (6) · checked 2026-10-11
78Readiness score / 100
L3 Agent-operableBeats 94% of 1,846 companies
Access20/20
Context17/20
Interfaces20/32
Onboarding19/19
Trust2/9
llms.txt · root
MCP · https://mcp.asana.com/mcp

Biggest gains

  1. +8 Machine-readable API spec. Publish an OpenAPI spec at a stable URL like /openapi.json and link it from llms.txt.
  2. +4 SDKs and a CLI. Ship official SDKs and a CLI agents can install and script.
  3. +4 Agent manifests. Publish an MCP server card (/.well-known/mcp.json) or A2A agent card.
All 20 checks
  • PASSAgents get the real page, not a bot wall10
  • PASSrobots.txt lets user-triggered agents in6
  • PASSContent is server-rendered4
  • PASSllms.txt exists8
  • FAILllms-full.txt exists3
  • PASSDocs available as markdown6
  • PASSSitemap2
  • PASSStructured metadata1
  • PASSPublic developer docs4
  • FAILMachine-readable API spec8
  • PASSRemote MCP server for the product12
  • PASSDocs MCP or searchable docs4
  • FAILSDKs and a CLI4
  • PASSOAuth discovery metadata5
  • PASSAgents can self-register OAuth clients6
  • PASSSelf-serve API keys5
  • PASSFree tier or test mode3
  • FAILAgent manifests4
  • PASSsecurity.txt2
  • FAILPublic status page3

Your fix pack: 6 changes, up to +22 points

Each change is ready to paste, filled in for asana.com, with a command to check it worked. Or hand the whole list to your coding agent.

An OpenAPI spec is the contract agents and SDK generators build against. Without it they guess from prose.

Where: https://asana.com/openapi.json, linked from llms.txt and the API reference
// Serve the spec your API framework already generates (FastAPI: /openapi.json is built in).
// Next.js: app/openapi.json/route.ts
import spec from "@/openapi/openapi.json";
export const GET = () => Response.json(spec, { headers: { "Access-Control-Allow-Origin": "*" } });

// Every operation needs: operationId, summary, description, request/response examples,
// and the auth scheme (components.securitySchemes) so agents know how to send the key.
Check it worked:curl -s https://asana.com/openapi.json | head -c 200

Add the badge to your README

AgentsReady badge for asana.com
[![AgentsReady](https://agentsready.dev/badge/asana.com)](https://agentsready.dev/c/asana.com)