mcpField
K
kapso-automation

kapso-automation

github.com/gokapsoエージェントワークフロー19286 回インストール3 週間前に更新
リポジトリ

kapso-automation について

Kapso の自動化を構築・運用するためのスキルです。ワークフロー、関数、トリガー、連携、D1 データを管理するチーム向けで、グラフ検証や実行診断にも対応します。

主な機能

  1. 01ワークフローとグラフの管理
  2. 02トリガー設定
  3. 03実行状況の確認と制御
  4. 04関数の作成とデプロイ
  5. 05アプリ連携の管理
  6. 06D1 データベース操作

活用シーン

  1. 01ワークフローグラフの編集と検証
  2. 02失敗したワークフロー実行の調査
  3. 03ワークフロー用関数のデプロイ
  4. 04Agent ノードのアプリツール設定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/gokapso/agent-skills --skill kapso-automation

インストール後、Claude Code で/kapso-automationを入力して読み込まれたか確認します。

詳細

Kapso Automation

使用する場面

Kapso オートメーションを構築して実行するには、このスキルを使用します。対象には、ワークフローの CRUD、グラフの編集、トリガー、実行、関数の管理、D1 データベースの操作が含まれます。

セットアップ

環境変数:

  • KAPSO_API_BASE_URL(ホストのみ。/platform/v1 は含めません)
  • KAPSO_API_KEY

使用方法

ワークフローグラフを編集する
  1. グラフを取得します:node scripts/get-graph.js <workflow_id>(lock_version をメモします)
  2. JSON を編集します(以下のグラフのルールを参照)
  3. 検証します:node scripts/validate-graph.js --definition-file <path>
  4. 更新します:node scripts/update-graph.js <workflow_id> --expected-lock-version <n> --definition-file <path>
  5. 再取得して確認します

小規模な編集には、代わりに --old-file と --new-file を指定して edit-graph.js を使用します。

lock_version の競合が発生した場合は、再取得して変更を適用し直し、新しい lock_version で再試行します。

トリガーを管理する
  1. 一覧表示します:node scripts/list-triggers.js <workflow_id>
  2. 作成します:node scripts/create-trigger.js <workflow_id> --trigger-type <type> --phone-number-id <id>
  3. 切り替えます:node scripts/update-trigger.js --trigger-id <id> --active true|false
  4. 削除します:node scripts/delete-trigger.js --trigger-id <id>

inbound_message トリガーの場合は、まず node scripts/list-whatsapp-phone-numbers.js を実行して phone_number_id を取得します。

実行をデバッグする
  1. 一覧表示します:node scripts/list-executions.js <workflow_id>
  2. 詳細を確認します:node scripts/get-execution.js <execution-id>
  3. 値を取得します:node scripts/get-context-value.js <execution-id> --variable-path vars.foo
  4. イベントを確認します:node scripts/list-execution-events.js <execution-id>
関数を作成してデプロイする
  1. ハンドラーのシグネチャに従ってコードを記述します(以下の関数のルールを参照)
  2. 作成します:node scripts/create-function.js --name <name> --code-file <path>
  3. デプロイします:node scripts/deploy-function.js --function-id <id>
  4. 確認します:node scripts/get-function.js --function-id <id>
アプリ連携を使ってエージェントノードを設定する
  1. モデルを確認します:node scripts/list-provider-models.js
  2. アカウントを確認します:node scripts/list-accounts.js --app-slug <slug>(pipedream_account_id を使用します)
  3. アクションを確認します:node scripts/search-actions.js --query <word> --app-slug <slug>(action_id = key)
  4. 連携を作成します:node scripts/create-integration.js --action-id <id> --app-slug <slug> --account-id <id> --configured-props <json>
  5. flow_agent_app_integration_tools を使って、エージェントノードにツールを追加します
データベースの CRUD
  1. テーブルを一覧表示します:node scripts/list-tables.js
  2. クエリを実行します:node scripts/query-rows.js --table <name> --filters <json>
  3. 行用スクリプトで作成、更新、削除します

グラフのルール

  • id が start の開始ノードをちょうど 1 つにします
  • 既存のノード ID は変更しないでください
  • 新しいノード ID には {node_type}_{timestamp_ms} を使用します
  • decide 以外のノードが持つ next エッジは 0 個または 1 個です
  • decide エッジのラベルは conditions[].label と一致させてください
  • エッジキーには source/target/label を使用します(from/to ではありません)

スキーマの詳細については、references/graph-contract.md を参照してください。

関数のルール

async function handler(request, env) {
  // Parse input
  const body = await request.json();
  // Use env.KV and env.DB as needed
  return new Response(JSON.stringify({ result: "ok" }));
}
  • export、export default、アロー関数は使用しないでください
  • Response オブジェクトを返してください

実行コンテキスト

常に次の構造を使用します:

  • vars - ユーザー定義変数
  • system - システム変数
  • context - チャネルデータ
  • metadata - リクエストメタデータ

スクリプト

ワークフロー
スクリプト用途
list-workflows.jsワークフローを一覧表示します(メタデータのみ)
get-workflow.jsワークフローのメタデータを取得します
create-workflow.jsワークフローを作成します
update-workflow-settings.jsワークフローの設定を更新します
グラフ
スクリプト用途
get-graph.jsワークフローグラフと lock_version を取得します
edit-graph.js文字列置換でグラフにパッチを適用します
update-graph.jsグラフ全体を置き換えます
validate-graph.jsグラフ構造をローカルで検証します
トリガー
スクリプト目的
list-triggers.jsワークフローのトリガーを一覧表示
create-trigger.jsトリガーを作成
update-trigger.jsトリガーを有効化/無効化
delete-trigger.jsトリガーを削除
list-whatsapp-phone-numbers.jsトリガー設定用の電話番号を一覧表示
実行
スクリプト目的
list-executions.js実行を一覧表示
get-execution.js実行の詳細を取得
get-context-value.js実行コンテキストから値を読み取る
update-execution-status.js実行状態を強制的に変更
resume-execution.js待機中の実行を再開
list-execution-events.js実行イベントを一覧表示
関数
スクリプト目的
list-functions.jsプロジェクト関数を一覧表示
get-function.js関数の詳細とコードを取得
create-function.js関数を作成
update-function.js関数コードを更新
deploy-function.js関数をランタイムにデプロイ
invoke-function.jsペイロードを指定して関数を呼び出す
list-function-invocations.js関数の呼び出しを一覧表示
アプリ連携
スクリプト目的
list-apps.js連携アプリを検索
search-actions.jsアクションを検索(action_id = key)
get-action-schema.jsアクションの JSON スキーマを取得
list-accounts.js接続済みアカウントを一覧表示
create-connect-token.jsOAuth 接続リンクを作成
configure-prop.jsprop の remote_options を解決
reload-props.js動的 prop を再読み込み
list-integrations.js保存済みの連携を一覧表示
create-integration.js連携を作成
update-integration.js連携を更新
delete-integration.js連携を削除
データベース
スクリプト目的
list-tables.jsD1 テーブルを一覧表示
get-table.jsテーブルのスキーマとサンプル行を取得
query-rows.jsフィルターを指定して行をクエリ
create-row.js行を作成
update-row.js行を更新
upsert-row.js行をアップサート
delete-row.js行を削除

注意事項

  • インライン JSON よりもファイルパス(--definition-file、--code-file)を優先してください
  • action_id は search-actions の key と同じです
  • --account-id には list-accounts の pipedream_account_id を使用します
  • 変数の CRUD(variables-set.js、variables-delete.js)はブロックされています。Platform API が対応していません
  • Platform API 経由での生 SQL の実行はサポートされていません

参考資料

編集する前にお読みください:

その他の参考資料:

アセット

ファイル説明
workflow-linear.json最小限の線形ワークフロー
workflow-decision.json最小限の分岐ワークフロー
workflow-agent-simple.json最小限のエージェントワークフロー
workflow-customer-support-intake-agent.jsonカスタマーサポートの問い合わせ受付
workflow-interactive-buttons-decide-function.jsonインタラクティブボタン+条件分岐(関数)
workflow-interactive-buttons-decide-ai.jsonインタラクティブボタン+条件分岐(AI)
workflow-api-template-wait-agent.jsonAPI トリガー+テンプレート+エージェント
function-decide-route-interactive-buttons.jsonボタンのルーティング用関数
agent-app-integration-example.jsonアプリ連携機能を備えたエージェントノード

関連スキル

  • whatsapp-messaging - WhatsApp メッセージングとテンプレート
  • whatsapp-flows - WhatsApp Flows
  • kapso-api - プラットフォーム API と顧客

コメント