src ▸ site opened 0

Turn Asana into a REST + MCP endpoint

Writ turns the Asana actions you already do in a browser into a callable REST endpoint your software (and your AI agents) can call.

Writ runs on your own accounts, with your own credentials and data, on sites you are authorized to use.
call-asana.shPOST /v1/asana/run
bash
curl -X POST https://api.usewrit.app/v1/asana/run \
  -H "Authorization: Bearer wt_8f2c...a91" \
  -H "Content-Type: application/json" \
  -d '{ "input": { "query": "your search term" } }'
REST endpoint MCP tool structured JSON
new ▸ endpoint minted 01
02
create

No Asana API yet? Build one in minutes

Record the Asana task once (open a project, then read tasks by filter) and call it as a REST endpoint and an MCP tool. No backend project, no waiting on Asana to ship an API.

  1. 1
    Record the Asana task once

    Open the recorder and open a project on Asana in a real browser. Writ captures each step, including login and 2FA, into a reusable workflow.

  2. 2
    Publish it as an endpoint

    One click turns the workflow into a callable REST endpoint at /v1/asana/run and a matching MCP tool. Inputs become a typed schema.

  3. 3
    Call it from anything

    Call Asana from your code, a no-code tool, or an AI agent. Run it on your own machine for free, or on metered cloud.

Read the REST API docs, see what's possible on workflows, or search for another site. Free to start. See pricing.

gap ▸ no public api 02
03
why

Asana doesn't give you the endpoint you need

Asana has an API, but some portfolio, dashboard, and admin views are only reachable through the browser UI.

Writ closes that gap. Record the Asana task once (or describe it to an AI session) and publish it as a REST endpoint at /v1/asana/run and a matching MCP tool. Writ runs on your own accounts, with your own credentials and data, on sites you are authorized to use.

ops ▸ actions mapped 03
04
operations

What you can call on Asana

Each operation below is a real Asana action recorded into a workflow and exposed as a typed endpoint.

{ }open a project
{ }read tasks by filter
{ }update a field
{ }export a report

Returns structured fields such as task, project status, assignee, due date: typed JSON, not raw page text.

run ▸ endpoint called 04
05
call it

A real Asana endpoint, authorized with a wt_ key

POST your inputs, get structured output. Authenticate every call with a scoped wt_ key.

cURL
bash
curl -X POST https://api.usewrit.app/v1/asana/run \
  -H "Authorization: Bearer wt_8f2c...a91" \
  -H "Content-Type: application/json" \
  -d '{ "input": { "query": "your search term" } }'
Python
python
import requests

r = requests.post(
    "https://api.usewrit.app/v1/asana/run",
    headers={"Authorization": "Bearer wt_8f2c...a91"},
    json={"input": {"query": "your search term"}},
)
print(r.json()["output"])
response.json
json
{
  "run_id": "run_asan_7b21",
  "status": "succeeded",
  "output": {
    "task": "...",
    "project_status": "...",
    "assignee": "..."
  }
}
{ }

Also an MCP tool. The same workflow is exposed as an MCP tool your AI agent can call. See Asana MCP tools, or browse all MCP clients.

auth ▸ logged-in web 05
06
the hard web

Login, 2FA, and dynamic pages on Asana

The reason Asana has no usable API is the same reason it's hard to automate. Writ handles it.

Writ signs into your own Asana workspace through a Persona, including SSO, and runs inside that authenticated session.

PersonasTOTP & mailbox OTP AI navigationReal Chromium rendering
build ▸ three routes 06
07
build

Three ways to build your Asana endpoint

Pick whichever fits the task. All three produce the same callable workflow.

Record itOpen the recorder, open a project on Asana once in a real browser, and Writ captures every step into a workflow.
Describe itTell an AI session your goal on Asana in plain language, and it drives the page to build the workflow for you.
Discover itLet API discovery watch Asana's own network calls as you browse, then turn the underlying requests into a fast workflow.

Built on the same engine as the recorder and workflows.

watch ▸ changes tracked 07
08
watch

Trigger your Asana endpoint on a change

Monitor Asana for task status change, new task in a project, portfolio value change and fire this endpoint the instant something changes.

Monitors check as fast as every 10s (10s on Enterprise). A detected change becomes an automation trigger that runs your workflow in seconds. Monitor Asana ▸

venue ▸ local or cloud 08
09
run it

Free on your own machine, or on cloud

Local / BYO agent

No compute charge. The agent runs on your hardware, so it can reach Asana even from an intranet or VPN-only network, and your AI keys never leave your machine.

Writ cloud

Metered by running time at $0.12 per browser-hour, drawn from your plan’s included usage. No infrastructure to manage.

faq ▸ questions answered 10
11
faq

Asana API questions

Does Asana have an API?
Asana has an API, but some portfolio, dashboard, and admin views are only reachable through the browser UI. Writ gives you a callable /v1/asana/run endpoint that runs the real Asana flow in a browser and returns structured JSON.
Is there a ready-made Asana API I can use?
Record the Asana task once in the recorder (open a project, then read tasks by filter) or describe it to an AI session. Writ turns it into a callable REST endpoint and MCP tool. It usually takes minutes, not a backend project.
Is it allowed to automate Asana this way?
Use Writ on your own Asana workspace. Authorized automation of your own account. Writ runs on your own accounts, with your own credentials and data, on sites you are authorized to use.
Does this work with Asana login and 2FA?
Writ signs into your own Asana workspace through a Persona, including SSO, and runs inside that authenticated session. Writ handles TOTP and mailbox-OTP two-factor through Personas, so the endpoint runs inside your own authenticated session.
Can I run it on my own machine?
Yes. Run it on a local or BYO agent for no compute charge — useful when Asana is only reachable from your own network or VPN, and free on every plan. Or run it on metered cloud at $0.12 per browser-hour, drawn from your plan’s included usage.
rec ▸ ready

Build a Asana API

Record it once, then call it from your software and your AI agents. Get started free.