- OpenClawは Webhook・Cron・Heartbeat・通知の4つのトリガーでイベント駆動型自動化を実現
- systemEventとagentTurnの使い分けで、メインセッション連携と独立タスク実行を柔軟に設計可能
- マルチエージェント間のイベント連携で、複雑な業務フローの完全自動化が可能
「定期タスクを自動化したいけど、Cronだけでは限界がある」「外部サービスのイベントをトリガーにして自動処理を走らせたい」——OpenClawを使い込むほど、イベント駆動型の自動化に対するニーズが高まるのではないでしょうか。
結論から言うと、OpenClawはWebhook・Cron・Heartbeat・通知トリガーの4つの仕組みを組み合わせることで、ポーリング型では実現できない高度なイベント駆動型自動化を構築できます。
この記事はOpenClaw完全攻略シリーズとして、イベント駆動型自動化の設計パターンと実装方法を実践的に解説します。
- OpenClawの4つのイベントトリガーの特徴と使い分け
- Webhook・Cron・Heartbeatの実装方法
- マルチエージェント間のイベント連携パターン
- エラーハンドリングとモニタリングの設計
OpenClawにおけるイベント駆動型自動化とは
Webhook・Cron・Heartbeat・通知の4つのトリガー
OpenClawのイベント駆動型自動化は、以下の4つのトリガーで構成されます。
| トリガー | 発火タイミング | 用途 | レイテンシ |
|---|---|---|---|
| Webhook | 外部HTTPリクエスト受信時 | GitHub PR、Slack通知、API連携 | リアルタイム |
| Cron | スケジュール指定の時刻 | 定期レポート、バッチ処理 | 定時 |
| Heartbeat | 定期ポーリング間隔 | 複合チェック、状態監視 | 準リアルタイム |
| 通知 | デバイス・チャネルの通知受信 | メッセージ応答、アラート対応 | リアルタイム |
これらを組み合わせることで、単純な定期実行から複雑な条件分岐を伴う自動化まで幅広く対応できます。
ポーリング型との違いとメリット
従来のポーリング型(定期的に状態を確認する方式)と比較したイベント駆動型のメリットは以下の通りです。
- リソース効率:不要な確認処理を減らし、APIコールのコストを削減
- 即時性:イベント発生時に即座に処理を開始
- スケーラビリティ:イベント数の増加に対して柔軟に対応
- 関心の分離:トリガーと処理ロジックを独立して管理
OpenClawの基本的なCron設定については「OpenClaw Cronスケジューリングガイド」を参照してください。
Webhookトリガーの設計と実装
GitHub Webhookでプルリクエスト自動レビュー
GitHubのWebhookをOpenClawに接続し、PRが作成されたら自動でコードレビューを実行する構成です。
設計フロー:
- GitHubリポジトリでWebhookを設定(対象イベント:
pull_request) - OpenClawのWebhookエンドポイントでPRデータを受信
- AIエージェントがPRの差分を分析
- レビューコメントをGitHub APIで投稿
{
"webhook": {
"path": "/github/pr-review",
"events": ["pull_request.opened", "pull_request.synchronize"],
"handler": {
"kind": "agentTurn",
"message": "PRの差分をレビューして、改善点をGitHubにコメントしてください"
}
}
}
Slack Webhookでメッセージ起点の自動化
Slackのメンションやキーワードをトリガーにして処理を起動する構成も有効です。
- @ボット メンション:チャンネル内の質問に自動回答
- 特定キーワード:「デプロイお願い」でデプロイフローを起動
- リアクション:特定の絵文字リアクションでタスクをトリガー
Webhook連携の基本は「OpenClaw Webhook API統合ガイド」で解説しています。
カスタムWebhookエンドポイントの構築
独自のAPIやサービスとの連携には、カスタムWebhookエンドポイントを構築します。
# openclaw.json のwebhook設定例
{
"webhooks": [
{
"path": "/custom/deploy-trigger",
"secret": "webhook-secret-key",
"handler": {
"kind": "agentTurn",
"message": "デプロイリクエストを受信しました。環境を確認して実行してください。",
"sessionTarget": "isolated"
}
}
]
}

Cronとイベントの組み合わせパターン
定期実行+条件分岐の設計
Cronジョブ内で条件分岐を行い、状況に応じて異なる処理を実行するパターンです。
{
"name": "daily-health-check",
"schedule": {
"kind": "cron",
"expr": "0 9 * * *",
"tz": "Asia/Tokyo"
},
"payload": {
"kind": "agentTurn",
"message": "以下のチェックを実行し、異常があればSlackに通知してください:1)サーバー稼働状況 2)SSL証明書の有効期限 3)ディスク使用率"
},
"sessionTarget": "isolated"
}
systemEventとagentTurnの使い分け
OpenClawのCronには2つのペイロードタイプがあり、使い分けが重要です。
| ペイロード | セッション | 特徴 | 適したタスク |
|---|---|---|---|
| systemEvent | main | メインセッションにイベントを注入 | リマインダー、通知 |
| agentTurn | isolated | 独立セッションで完結 | レポート生成、バッチ処理 |
使い分けの基準:
- ユーザーとの会話コンテキストが必要 →
systemEvent - 独立して完結するタスク →
agentTurn - 異なるモデルや思考レベルが必要 →
agentTurn(モデル指定可能)
実例:毎朝のGA4レポート自動生成
実際に運用されているGA4日次レポートのCronジョブ設定例:
{
"name": "ga4-daily-report",
"schedule": {
"kind": "cron",
"expr": "0 8 * * *",
"tz": "Asia/Tokyo"
},
"payload": {
"kind": "agentTurn",
"message": "GA4のデータを取得し、昨日のアクセスレポートを生成してSlackに投稿してください"
},
"delivery": {
"mode": "announce",
"channel": "marketing"
},
"sessionTarget": "isolated"
}
HeartbeatとCronの使い分けは「OpenClaw HeartbeatとCronガイド」で詳しく解説しています。
Heartbeatによるプロアクティブ自動化
HEARTBEAT.mdチェックリスト設計
Heartbeatは定期的にエージェントを起こし、HEARTBEAT.mdに記載されたチェックリストを実行する仕組みです。
# HEARTBEAT.md
## チェック項目(ローテーション)
- [ ] 未読メールの確認(重要度高のみ)
- [ ] 今日のカレンダー予定の確認
- [ ] GitHubの未対応PR・Issue確認
- [ ] サーバー監視ダッシュボードの確認
## 条件付きアクション
- 重要メールあり → Slackに通知
- 2時間以内のカレンダー予定 → リマインダー送信
- CI失敗のPR → 担当者にメンション
heartbeat-state.jsonによる状態管理
Heartbeatの実行状態をJSONファイルで管理し、重複チェックや実行間隔の制御を行います。
{
"lastChecks": {
"email": "2026-03-24T07:30:00+09:00",
"calendar": "2026-03-24T07:30:00+09:00",
"github": "2026-03-24T06:00:00+09:00",
"weather": null
},
"lastHeartbeat": "2026-03-24T07:30:00+09:00"
}
バッチ処理の最適化テクニック
Heartbeatでの複数チェックを効率化するテクニック:
- ローテーション方式:全チェック項目を毎回実行せず、優先度に応じてローテーション
- 差分チェック:前回チェック時からの変更のみを処理
- 閾値設定:前回チェックから一定時間経過した項目のみ実行
マルチエージェント間のイベント連携
sessions_send/sessions_spawnによるエージェント間通信
OpenClawのマルチエージェント環境では、エージェント間でイベントを送受信できます。
エージェントA(マーケティング担当)
↓ sessions_send
エージェントB(データ分析担当)
↓ 分析結果を返却
エージェントA
↓ レポート生成・Slack投稿
sessions_sendは既存のセッションにメッセージを送信し、sessions_spawnは新しい独立セッションを起動します。
協調ワークフローの設計パターン
マルチエージェントの協調パターンには以下の3つがあります。
パイプラインパターン:
- エージェントA → エージェントB → エージェントC と順次処理
- 各エージェントが前工程の出力を入力として受け取る
ファンアウト/ファンインパターン:
- 1つのトリガーから複数のエージェントに並列でタスクを分配
- 全エージェントの結果を集約して最終処理
オーケストレーターパターン:
- 中央のオーケストレーターエージェントが全体を制御
- 状況に応じて動的にエージェントを起動・停止
マルチエージェントの設計については「OpenClawマルチエージェント設計ガイド」を参照してください。
エラーハンドリングとモニタリング
イベント処理失敗時のリトライ戦略
イベント駆動型自動化では、処理の失敗に備えたリトライ戦略が不可欠です。
- 即時リトライ:一時的なエラー(ネットワークタイムアウト等)に対応
- 指数バックオフ:連続失敗時は待機時間を増やす(1秒→2秒→4秒→8秒)
- デッドレターキュー:一定回数失敗したイベントを別途保存し、後で手動対応
- アラート通知:リトライ上限に達した場合はSlackやメールで通知
ログ分析と異常検知
自動化の運用を安定させるために、以下のログ分析を定期的に行いましょう。
- 実行成功率:Cronジョブやイベントハンドラの成功率を追跡
- 処理時間:通常の処理時間からの乖離を検知
- エラーパターン:頻出するエラーの分類と対策
- コスト追跡:AIモデルの使用量とAPIコールのコスト
ワークフロー自動化の全体像は「OpenClawワークフロー自動化ガイド」でも解説しています。
まとめ:イベント駆動でOpenClawを真の自動化基盤に
OpenClawのイベント駆動型自動化のポイントをまとめます。
- 4つのトリガー:Webhook・Cron・Heartbeat・通知を用途に応じて使い分け
- Cron設計:systemEvent(メインセッション)とagentTurn(独立タスク)の適切な選択
- Heartbeat活用:複合チェックのバッチ処理とローテーションで効率化
- マルチエージェント連携:パイプライン・ファンアウト・オーケストレーターの3パターン
- 安定運用:リトライ戦略+ログ分析+異常検知で信頼性を確保
イベント駆動型自動化を設計することで、OpenClawは単なるチャットボットから組織の業務を支える自動化基盤へと進化します。
SES BASEでインフラ自動化案件を探す
自動化・DevOpsの経験を活かせるSES案件をSES BASEで検索してみてください。