mcpField
A
automation-workflows

automation-workflows

github.com/alphaonedev生産性69 回インストール
リポジトリ

automation-workflows について

トリガー、Webhook、アクション、データ変換を連携させるワークフロー自動化スキルです。反復的な連携や処理に向けて、YAMLまたはJSONで設定し、OpenClawのコマンドラインやAPIから操作します。

主な機能

  1. 01イベント・時間ベースのトリガー設定
  2. 02Webhookアクションの連鎖
  3. 03データの変換とルーティング
  4. 04ワークフロー条件の適用
  5. 05非同期処理のスケジュール

活用シーン

  1. 01アプリ間のデータ同期
  2. 02Webイベントやファイル変更への対応
  3. 03カスタムパイプラインでのデータ処理と振り分け

インストール

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

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill automation-workflows

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

詳細

automation-workflows

目的

IFTTT スタイルのトリガー(イベントベースや時間ベースなど)を使用してワークフローを自動化し、サービス連携のために Webhook を連鎖させ、データを効率的に処理・ルーティングするデータ変換パイプラインを構築します。

使用するタイミング

アプリ間のデータ同期、Web イベント(API 呼び出しやファイル変更など)への応答、データ処理用のカスタムパイプラインの作成といった反復タスクを自動化する場合に、このスキルを使用します。トリガーとアクションを連鎖させる必要がある、開発、IoT、ビジネスの自動化における連携に最適です。

主な機能

  • シンプルな設定でトリガーを定義します。例:{"trigger": "http-post", "url": "https://example.com/hook"}のような形式の JSON ファイル。
  • Webhook を連鎖させてアクションを順番に実行します。たとえば、GitHub イベントでスクリプトを起動し、その後 Slack に投稿します。
  • データ変換用のパイプラインを構築します。たとえば、JSON.parse()のような組み込み関数やカスタム JS スニペットを使ってデータをマッピングします。
  • ワークフローで条件分岐をサポートします。たとえば、ペイロードデータに基づく if-then ルールを使用します。
  • cron 形式の式(毎日の実行を表す「0 0 * * *」など)によるタスクのスケジュール設定など、非同期処理を扱います。

使用パターン

ワークフローを設定するには、まずトリガー、アクション、変換のキーを含む YAML 設定ファイル(例:workflow.yaml)で定義します。CLI または API 経由で読み込み、トリガーをシミュレートしてテストします。継続して使用する場合は、システム cron またはスキルの組み込みスケジューラーでワークフローをスケジュールします。設定では、$WORKFLOW_API_KEY のような機密データに必ず環境変数を使用してください。デバッグ用に実行ログを監視し、複数のワークフローを連鎖させるには、出力を入力として参照します。

主なコマンド/API

ほとんどの操作には OpenClaw CLI を使用します。環境変数を介して $WORKFLOW_API_KEY で認証してください。主なコマンド:

  • ワークフローを作成:claw workflow create --file workflow.yaml --key $WORKFLOW_API_KEY
  • ワークフローを実行:claw workflow run --id 123 --trigger manual
  • ワークフローを一覧表示:claw workflow list --cluster community API エンドポイント:https://api.openclaw.com/workflows
  • 作成用の POST /workflows:{"name": "my-flow", "trigger": {"type": "webhook", "url": "https://hook.example.com"}}のような JSON ボディを送信します。
  • 詳細を取得する GET /workflows/{id}。 Python での API 呼び出しコードスニペット:
import requests; import os
key = os.environ.get('WORKFLOW_API_KEY')
response = requests.post('https://api.openclaw.com/workflows', json={"name": "test"}, headers={'Authorization': f'Bearer {key}'})
print(response.json())

データ変換には、設定内でインライン JS を使用します。例:配列を処理するための{"transform": "return data.map(item => item * 2);"}。

連携に関する注意事項

スキルのサーバーを介して Webhook を公開し、連携します(例:claw server start --port 8080を実行してポートを待ち受けます)。外部サービスの場合は、{"action": "webhook", "url": "https://api.service.com/endpoint", "headers": {"Authorization": "Bearer $SERVICE_API_KEY"}}のように、設定に認証情報を含めます。ペイロード形式には、{"event": "push", "data": {...}}のような JSON を使用します。GitHub Webhook をデータベースへの挿入に渡すなど、前の出力を参照して連携を連鎖させます。サービスが HTTP コールバックをサポートしていることを確認してください。Postman などのツールを使ってテストします。

エラー処理

API レスポンスのステータスコードを必ず確認してください(例:response.status_code != 200 の場合はエラーをログに記録します)。CLI コマンドでは、詳細な出力を得るために --debug フラグを使用します。例:claw workflow run --id 123 --debug。無効なキーなどの一般的なエラーを処理するため、最初に環境変数を検証してください(例:スクリプトで if not os.environ.get('WORKFLOW_API_KEY'): raise ValueError("Key missing"))。ワークフローの設定では、{"onError": "retry 3 times"}や{"onError": "notify slack"}のようにエラーハンドラーを定義します。エラー処理のコードスニペット:

try:
    response = requests.post(url, headers=headers)
    response.raise_for_status()
except requests.exceptions.HTTPError as e:
    print(f"Error: {e} - Retrying...")

監査用に、すべての失敗をファイルまたはサービスに記録します。

グラフの関係

  • 関連:integration(Webhook 処理を共有)、automation(共通のトリガー)、community クラスター内の workflow-management。
  • 依存:外部トリガー用の webhook-services。
  • 接続先:高度な変換用の data-pipelines スキル。

コメント