coda-automation について
Composio の Coda ツールキットと Rube MCP を通じて、Coda のドキュメントとデータを自動操作するスキルです。検索、テーブル、数式、エクスポート、共有、公開に対応します。
主な機能
- 01ドキュメントの検索と閲覧
- 02テーブル行の読み取りと追加・更新
- 03数式の一覧表示と取得
- 04ページやドキュメントのエクスポート
- 05共有設定の確認とアクセス権付与
- 06ドキュメントの公開と非公開化
活用シーン
- 01ドキュメントを探してページを確認
- 02テーブルレコードの検索や更新
- 03ドキュメントを HTML または Markdown でエクスポート
- 04共有設定の確認やアクセス権の付与
MCP 対応
Rube MCP 経由で Composio の Coda ツールキットを利用します。RUBE_MANAGE_CONNECTIONS で Coda を接続し、RUBE_SEARCH_TOOLS で最新のツールスキーマを取得します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ davepoon/ buildwithclaude --skill coda-automationインストール後、Claude Code で/coda-automationを入力して読み込まれたか確認します。
詳細
Rube MCP による Coda の自動化
Rube MCP を通じて Composio の Coda ツールキットを利用し、Coda のドキュメントとデータ操作を自動化します。
ツールキットのドキュメント: composio.dev/toolkits/coda
前提条件
- Rube MCP が接続されていること(RUBE_SEARCH_TOOLS が利用可能)
- toolkit
codaを指定したRUBE_MANAGE_CONNECTIONSによる有効な Coda 接続 - 現在のツールスキーマを取得するため、必ず最初に
RUBE_SEARCH_TOOLSを呼び出してください
セットアップ
Rube MCP の入手方法: クライアントの設定で https://rube.app/mcp を MCP サーバーとして追加します。API キーは不要です。エンドポイントを追加するだけで動作します。
RUBE_SEARCH_TOOLSが応答することを確認し、Rube MCP が利用可能か確認します- toolkit
codaを指定してRUBE_MANAGE_CONNECTIONSを呼び出します - 接続が ACTIVE でない場合は、返された認証リンクに従って Coda の認証を完了します
- ワークフローを実行する前に、接続ステータスが ACTIVE と表示されることを確認します
主なワークフロー
1. ドキュメントの検索と閲覧
使用する場面: ユーザーが Coda ドキュメントの検索、一覧表示、確認を希望する場合
ツールの順序:
CODA_SEARCH_DOCSまたはCODA_LIST_AVAILABLE_DOCS- ドキュメントを検索します[必須]CODA_RESOLVE_BROWSER_LINK- Coda URL を doc/page/table ID に解決します[代替手段]CODA_LIST_PAGES- ドキュメント内のページを一覧表示します[任意]CODA_GET_A_PAGE- 特定のページの詳細を取得します[任意]
主なパラメーター:
query: ドキュメントの検索語isOwner: ユーザーが所有するドキュメントに絞り込みますdocId: ページ操作に使用するドキュメント IDpageIdOrName: ページの識別子または名前url: 解決操作に使用するブラウザー URL
注意点:
- ドキュメント ID は英数字の文字列です(例: 'AbCdEfGhIj')
- Coda URL を API ID に変換するには、
CODA_RESOLVE_BROWSER_LINKが最適です - ドキュメント内でページ名が一意とは限らないため、ページ ID を優先してください
- 検索結果には、ユーザーが所有するドキュメントだけでなく、共有されたドキュメントも含まれます
2. テーブルとデータの操作
使用する場面: ユーザーがテーブルデータの読み取り、書き込み、クエリを希望する場合
ツールの順序:
CODA_LIST_TABLES- ドキュメント内のテーブルを一覧表示します[前提条件]CODA_LIST_COLUMNS- テーブルの列定義を取得します[前提条件]CODA_LIST_TABLE_ROWS- 任意のフィルターを適用してすべての行を一覧表示します[必須]CODA_SEARCH_ROW- クエリで特定の行を検索します[代替手段]CODA_GET_A_ROW- ID で特定の行を取得します[任意]CODA_UPSERT_ROWS- テーブルの行を挿入または更新します[任意]CODA_GET_A_COLUMN- 特定の列の詳細を取得します[任意]
主なパラメーター:
docId: テーブルを含むドキュメントの IDtableIdOrName: テーブルの識別子または名前query: 行を検索するためのフィルタークエリrows: アップサート操作用の行オブジェクトの配列keyColumns: アップサート時の照合に使用する列 IDsortBy: 結果の並べ替えに使用する列useColumnNames: 行データで ID の代わりに列名を使用します
注意点:
- テーブル名にスペースが含まれる場合があります。必要に応じて URL エンコードしてください
CODA_UPSERT_ROWSは、keyColumnsに一致するものがない場合は挿入し、一致するものがある場合は更新します- 信頼性の高いアップサートを行うには、
keyColumnsが一意の値を持つ列を参照している必要があります - 列 ID は列名とは異なります。名前と ID の対応を確認するため、先に列を一覧表示してください
useColumnNames: trueを指定すると、行データで人が読みやすい名前を使用できます- 行データの値は列の型(テキスト、数値、日付など)と一致している必要があります
3. 数式の管理
使用する場面: ユーザーがドキュメント内の数式の一覧表示または評価を希望する場合
ツールの順序:
CODA_LIST_FORMULAS- ドキュメント内の名前付き数式をすべて一覧表示します[必須]CODA_GET_A_FORMULA- 特定の数式の現在の値を取得します[任意]
主なパラメーター:
docId: ドキュメント IDformulaIdOrName: 数式の識別子または名前
注意点:
- 数式はドキュメントで定義された名前付きの計算です
- 数式の値はサーバー側で計算されるため、結果には現在の状態が反映されます
- 数式名では大文字と小文字が区別されます
4. ドキュメントの内容をエクスポートする
使用する場面:ドキュメントまたはページを HTML または Markdown にエクスポートしたい場合
ツールの手順:
CODA_BEGIN_CONTENT_EXPORT- エクスポートジョブを開始します[必須]CODA_CONTENT_EXPORT_STATUS- 完了するまでエクスポートのステータスを確認します[必須]
主なパラメーター:
docId:エクスポートするドキュメントの IDoutputFormat:エクスポート形式('html' または 'markdown')pageIdOrName:エクスポートする特定のページ(任意。ドキュメント全体をエクスポートする場合は省略)requestId:ステータス確認に使用するエクスポートリクエスト ID
注意点:
- エクスポートは非同期です。
statusが 'complete' になるまでステータスを確認してください - 大きなドキュメントのエクスポートにはかなり時間がかかる場合があります
- 完了時のレスポンスに含まれるエクスポート URL は一時的なものです。速やかにダウンロードしてください
- 確認頻度が高すぎるとレート制限に達する場合があります。2~5 秒間隔で確認してください
5. 権限と共有を管理する
使用する場面:ドキュメントへのアクセス権を確認または管理したい場合
ツールの手順:
CODA_GET_SHARING_METADATA- 現在の共有設定を確認します[必須]CODA_GET_ACL_SETTINGS- アクセス制御リストの設定を取得します[任意]CODA_ADD_PERMISSION- ユーザーまたはメールアドレスにアクセス権を付与します[任意]
主なパラメーター:
docId:ドキュメント IDaccess:権限レベル('readonly'、'write'、'comment')principal:受信者のメールアドレスまたはユーザー ID を含むオブジェクトsuppressEmail:共有通知メールを省略するかどうか
注意点:
- 権限レベルは 'readonly'、'write'、'comment' です
- 権限を追加すると、デフォルトでメール通知が送信されます。送信しない場合は
suppressEmailを使用してください - API ではすべてのケースで権限を削除できるわけではありません。ACL 設定を確認してください
6. ドキュメントを公開してカスタマイズする
使用する場面:ドキュメントを公開したり、カスタムドメインを管理したりしたい場合
ツールの手順:
CODA_PUBLISH_DOC- ドキュメントを一般公開します[必須]CODA_UNPUBLISH_DOC- ドキュメントの公開を停止します[任意]CODA_ADD_CUSTOM_DOMAIN- 公開したドキュメントにカスタムドメインを追加します[任意]CODA_GET_DOC_CATEGORIES- 検索用のドキュメントカテゴリを取得します[任意]
主なパラメーター:
docId:ドキュメント IDslug:公開するドキュメントのカスタム URL スラッグcategoryIds:検索性を高めるためのカテゴリ ID
注意点:
- ドキュメントを公開すると、リンクを知っている誰もがアクセスできるようになります
- カスタムドメインには DNS 設定が必要です
- 公開を停止すると一般公開へのアクセスは削除されますが、共有アクセスは維持されます
よくあるパターン
ID の解決
ドキュメント URL -> ドキュメント ID:
1. Call CODA_RESOLVE_BROWSER_LINK with the Coda URL
2. Extract docId from the response
テーブル名 -> テーブル ID:
1. Call CODA_LIST_TABLES with docId
2. Find table by name, extract id
列名 -> 列 ID:
1. Call CODA_LIST_COLUMNS with docId and tableIdOrName
2. Find column by name, extract id
ページネーション
- Coda では
pageTokenを使用したカーソルベースのページネーションを使用します - レスポンスに
nextPageTokenが含まれているか確認します - 次のリクエストでは、
nextPageTokenがなくなるまでpageTokenとして渡します - デフォルトのページサイズはエンドポイントによって異なります
行のアップサートパターン
1. Call CODA_LIST_COLUMNS to get column IDs
2. Build row objects with column ID keys and values
3. Set keyColumns to unique identifier column(s)
4. Call CODA_UPSERT_ROWS with rows and keyColumns
既知の注意点
ID の形式:
- ドキュメント ID:英数字の文字列
- テーブル/列/行 ID:接頭辞付きの文字列(例:'grid-abc'、'c-xyz')
- RESOLVE_BROWSER_LINK を使用して URL を ID に変換します
データ型:
- 行の値は列の型と一致する必要があります
- 日付列には ISO 8601 形式を指定します
- 選択/複数選択列には選択肢と完全に一致する値を指定します
- 人物列にはメールアドレスを指定します
レート制限:
- Coda API にはトークンごとのレート制限があります
- 429 レスポンスに対してバックオフを実装してください
- UPSERT_ROWS を使った複数行操作は、個別に更新するより効率的です
クイックリファレンス
| タスク | ツールスラッグ | 主なパラメーター |
|---|---|---|
| ドキュメントを検索 | CODA_SEARCH_DOCS | query |
| ドキュメントを一覧表示 | CODA_LIST_AVAILABLE_DOCS | isOwner |
| URLを解決 | CODA_RESOLVE_BROWSER_LINK | url |
| ページを一覧表示 | CODA_LIST_PAGES | docId |
| ページを取得 | CODA_GET_A_PAGE | docId, pageIdOrName |
| テーブルを一覧表示 | CODA_LIST_TABLES | docId |
| 列を一覧表示 | CODA_LIST_COLUMNS | docId, tableIdOrName |
| 行を一覧表示 | CODA_LIST_TABLE_ROWS | docId, tableIdOrName |
| 行を検索 | CODA_SEARCH_ROW | docId, tableIdOrName, query |
| 行を取得 | CODA_GET_A_ROW | docId, tableIdOrName, rowIdOrName |
| 行をアップサート | CODA_UPSERT_ROWS | docId, tableIdOrName, rows, keyColumns |
| 列を取得 | CODA_GET_A_COLUMN | docId, tableIdOrName, columnIdOrName |
| ボタンを押す | CODA_PUSH_A_BUTTON | docId, tableIdOrName, rowIdOrName, columnIdOrName |
| 数式を一覧表示 | CODA_LIST_FORMULAS | docId |
| 数式を取得 | CODA_GET_A_FORMULA | docId, formulaIdOrName |
| エクスポートを開始 | CODA_BEGIN_CONTENT_EXPORT | docId, outputFormat |
| エクスポートのステータス | CODA_CONTENT_EXPORT_STATUS | docId, requestId |
| 共有情報を取得 | CODA_GET_SHARING_METADATA | docId |
| 権限を追加 | CODA_ADD_PERMISSION | docId, access, principal |
| ドキュメントを公開 | CODA_PUBLISH_DOC | docId, slug |
| ドキュメントの公開を解除 | CODA_UNPUBLISH_DOC | docId |
| パックを一覧表示 | CODA_LIST_PACKS | (none) |
Composio 提供