自動化のセットアップ
エージェントを能動的なアシスタントにします。Cron で日次タスクをスケジュールし、Webhook でアクションをトリガーします。
作るもの
次のことを行う デイリーブリーフィング自動化 を作成します:
- 毎朝 9:00 に自動実行
- その日の予定を要約して送信
- cron ジョブ設定を実演
- 目的に合わせて簡単にカスタマイズ可能
この例で、任意のタスクを自動化するための基礎を押さえます。
Prerequisites
開始前に以下を確認してください:
- OpenClaw がインストール済みで起動している - Getting Started チュートリアルを完了
- チャンネルを接続済み - Channel Setup チュートリアルを完了
- Gateway が起動している - OpenClaw Gateway が稼働中
- cron 構文の基礎理解 - ここで説明しますが、知っていると早いです
自動化タイプを理解する
OpenClaw は複数の自動化タイプをサポートします:
⏰ Cron ジョブ
特定の時刻に実行されるスケジュールタスク(毎日、毎週など)
🔗 Webhook
外部サービス(GitHub、Sentry など)からアクションをトリガー
💓 Heartbeat(ハートビート)
間隔を指定した継続監視
このチュートリアルでは、もっとも一般的な cron ジョブに焦点を当てます。Webhook などは Automation リファレンスを参照してください。
自動化を設計する
設定を書く前に、この自動化が何をするか整理します:
自動化の詳細
- 何を:毎日のブリーフィングを送信
- いつ:毎朝 9:00
- どうやって:OpenClaw のエージェントで生成して送信
- どこへ:接続済みチャンネルへ(Telegram、WhatsApp など)
cron 構文の読み方
cron は時間ベースのスケジュール形式を使います:
┌───────────── minute (0 - 59) │ ┌───────────── hour (0 - 23) │ │ ┌───────────── day of month (1 - 31) │ │ │ ┌───────────── month (1 - 12) │ │ │ │ ┌───────────── day of week (0 - 6) (Sunday to Saturday) │ │ │ │ │ * * * * *
自動化を作成する
それでは OpenClaw 設定に自動化を追加します。
手順 3.1: 設定ファイルを開く
OpenClaw の設定ファイルを開きます:
nano ~/.openclaw/openclaw.json # or use your preferred editor
手順 3.2: Cron 設定を追加
設定に cron セクションを追加します。完全な例は次のとおりです:
{
"agents": {
"defaults": {
"model": { "primary": "anthropic/claude-opus-4-5" }
}
},
"cron": {
"enabled": true,
"jobs": [
{
"name": "Daily briefing",
"cron": "0 9 * * *",
"message": "Create my daily briefing for today. Include: weather summary, calendar events, and any important reminders.",
"session": "isolated"
}
]
}
}これは何をする?
"cron": "0 9 * * *"- 毎日 9:00 に実行"message"- エージェントに送るメッセージ
エージェントがメッセージを処理し、接続チャンネルへ返信を送信します。
Tutorial.alert.tip
保存して再起動
自動化設定を追加したら:
- 設定ファイルを保存
- Gateway を再起動して新しい自動化を読み込む
# If running as service: openclaw gateway restart # Or if running manually, stop and restart: openclaw gateway --port 18789 --verbose
Gateway は cron ジョブを読み込み、設定したスケジュールに従って実行します。
自動化をテストする
9:00 まで待つ必要はありません。動作を確認しましょう:
方法 A: すぐにテスト
手動でコマンドを実行して確認します:
openclaw agent --message 'Create my daily briefing for today. Include: weather summary, calendar events, and any important reminders.'
自動化と同じ返信が返ります。接続チャンネルにメッセージが届くか確認してください。
方法 B: 短いスケジュールでテスト
テスト用に、スケジュールを一時的に高頻度に変更できます:
{
"cron": {
"jobs": [
{
"schedule": "*/5 * * * *",
"command": "agent --message 'Test briefing'"
}
]
}
}テスト後は必ず希望のスケジュールに戻してください。
自動化が動作しているか確認する
自動化が正しくスケジュールされているか確認します:
Gateway ログを確認
cron ジョブが読み込まれたことを示すログを探します:
# If running as service, check logs: openclaw gateway logs # Or check system logs (macOS): log show --predicate 'process == "openclaw"' --last 5m
スケジュール時刻まで待つ
特定時刻に実行する設定の場合、その時刻まで待ってチャンネルに自動メッセージが届くか確認します。
Tutorial.alert.success
他の自動化例
例 1: 週次サマリー
{
"cron": {
"jobs": [
{
"schedule": "0 18 * * 5",
"command": "agent --message 'Create a weekly summary of my accomplishments and tasks completed this week.'"
}
]
}
}毎週金曜 18:00 に実行。
例 2: リマインダー確認
{
"cron": {
"jobs": [
{
"schedule": "0 8 * * *",
"command": "agent --message 'Check my calendar and remind me of any important events or deadlines today.'"
}
]
}
}毎朝 8:00 に実行。
例 3: 複数の自動化
{
"cron": {
"jobs": [
{
"schedule": "0 9 * * *",
"command": "agent --message 'Daily briefing'"
},
{
"schedule": "0 18 * * *",
"command": "agent --message 'Evening summary'"
},
{
"schedule": "0 0 * * 1",
"command": "agent --message 'Weekly planning session'"
}
]
}
}異なるスケジュールのジョブを複数管理します。
トラブルシューティング
自動化が動かない
自動化が実行されない場合:
- cron 構文を確認:スケジュール形式が正しいか検証する
- Gateway の稼働を確認:
openclaw gateway status - 設定ファイルを確認:JSON が有効(構文エラーなし)であること
- Gateway ログを確認:cron ジョブに関するエラーがないか
- Gateway を再起動:新しい自動化の読み込みに再起動が必要な場合があります
タイムゾーンが違う
cron ジョブはシステムのタイムゾーンを使用します。時刻がずれる場合:
- システムのタイムゾーンを確認:
date - スケジュールを調整する
- またはシステム設定で特定のタイムゾーンを設定する
コマンドが実行されない
コマンドが実行されない場合:
- まず手動でコマンドを実行して確認する(cron の外で)
- エージェント用コマンドの構文が正しいか確認する
- チャンネルが接続されているか確認する(メッセージ配信)
次のステップ
自動化の基礎を理解したら、応用機能も試してみてください:
ベストプラクティス
- シンプルに始める - 複雑な Webhook の前に基本の cron から
- 先にテスト - 自動化前に必ず手動でコマンドを検証
- ログを監視 - 実行ログを定期的に確認
- エラー処理 - 失敗時の挙動を考慮しておく
- レート制限に注意 - API 制限に触れる自動化を作らない
- Webhook を保護 - Webhook 利用時は認証を追加する