プロジェクトルームには自前のタスクがあり、チームには Asana があります。これは、誰も何もコピーしないまま、その 2 つを同じに保つものです。ルームのタスクは Asana のひとつのプロジェクトに入り、Asana で変わったことはルームに戻ります。
Asana をつなぐ
ルームのページで、サインインした状態で、ルームのタスクツールの中に、Asana のパーソナルアクセストークンを貼り付けます。トークンを入れる場所はここだけです。そのあと接続は組織のものになり、ルームも API も、それを通して動きます。
ルームをプロジェクトに向ける
ルームのタスクツールでプロジェクトを選ぶか、接続が届くものを一覧にして、API の返答から選びます。
curl "https://makehybrid.com/asana/v1/connections" \ -H "X-API-KEY: $MAKEHYBRID_KEY" curl "https://makehybrid.com/asana/v1/connections/$CONNECTION_ID/projects" \ -H "X-API-KEY: $MAKEHYBRID_KEY"
同じタスクを、自分のコードから読み書きする
since を付けなければ、完了していないタスクが返ります。since(ミリ秒の時刻)を付けると、その後に Asana で変わったタスクが古い順に返るので、毎回すべてを読み直さなくても、プロジェクトを追い続けられます。
curl "https://makehybrid.com/asana/v1/connections/$CONNECTION_ID/projects/$PROJECT_ID/tasks?since=1761480000000" \
-H "X-API-KEY: $MAKEHYBRID_KEY"
curl -X POST https://makehybrid.com/asana/v1/connections/$CONNECTION_ID/projects/$PROJECT_ID/tasks \
-H "X-API-KEY: $MAKEHYBRID_KEY" -H "Content-Type: application/json" \
-d '{"title":"Write the brief","status":"open","due":"2026-11-02"}'
patch は、指定したものだけを変えます。{"status":"done"} を送っても、title、notes、assignee、日付はそのままです。タスクを先に読み、あなたのフィールドをその上に書き込んでいるからです。
エージェントに頼む
同じ 7 つの呼び出しが、https://makehybrid.com/asana/mcp/<自分の API キー> のツールになっていて、ルームの AI エージェントも、「使えるサーバー」でその API のエージェントにチェックを入れれば使えます。エージェントが @scout という名前のルームでは次のようになります。
- @scout Asana のローンチ用プロジェクトでまだ終わっていないものを一覧にして、料金ページのタスクを追加して。
よくある質問
ルームのタスクは、どのプロジェクトに入りますか?
ルームがリンクされているプロジェクトです。ルームひとつにつき、一度にプロジェクトひとつ。両方必要なら、2 つ目のルームを 2 つ目のプロジェクトにリンクしてください。
トークンが使えなくなったら?
API は 409 errors/disconnected を返し、ルームの同期は推測で進めずに止まります。メンバーがルームのページで Asana をつなぎ直せば、どちらも再開します。
ClickUp、HubSpot、Jira でも同じですか?
はい、呼び出しごとに同じです。変わるのは言葉だけで、ClickUp ではプロジェクトをリスト、HubSpot ではパイプラインと呼びますが、ここではどちらも project_id です。