OpenClawSkills
GitHub
チュートリアル • TutorialHeader.readTime

自動化のセットアップ

エージェントを能動的なアシスタントにします。Cron で日次タスクをスケジュールし、Webhook でアクションをトリガーします。

作るもの

次のことを行う デイリーブリーフィング自動化 を作成します:

  • 毎朝 9:00 に自動実行
  • その日の予定を要約して送信
  • cron ジョブ設定を実演
  • 目的に合わせて簡単にカスタマイズ可能

この例で、任意のタスクを自動化するための基礎を押さえます。

Prerequisites

開始前に以下を確認してください:

  • OpenClaw がインストール済みで起動している - Getting Started チュートリアルを完了
  • チャンネルを接続済み - Channel Setup チュートリアルを完了
  • Gateway が起動している - OpenClaw Gateway が稼働中
  • cron 構文の基礎理解 - ここで説明しますが、知っていると早いです
Tutorial.step

自動化タイプを理解する

OpenClaw は複数の自動化タイプをサポートします:

⏰ Cron ジョブ

特定の時刻に実行されるスケジュールタスク(毎日、毎週など)

🔗 Webhook

外部サービス(GitHub、Sentry など)からアクションをトリガー

💓 Heartbeat(ハートビート)

間隔を指定した継続監視

このチュートリアルでは、もっとも一般的な cron ジョブに焦点を当てます。Webhook などは Automation リファレンスを参照してください。

Tutorial.step

自動化を設計する

設定を書く前に、この自動化が何をするか整理します:

自動化の詳細

  • 何を:毎日のブリーフィングを送信
  • いつ:毎朝 9:00
  • どうやって:OpenClaw のエージェントで生成して送信
  • どこへ:接続済みチャンネルへ(Telegram、WhatsApp など)

cron 構文の読み方

cron は時間ベースのスケジュール形式を使います:

Cron Format
┌───────────── minute (0 - 59)
│ ┌───────────── hour (0 - 23)
│ │ ┌───────────── day of month (1 - 31)
│ │ │ ┌───────────── month (1 - 12)
│ │ │ │ ┌───────────── day of week (0 - 6) (Sunday to Saturday)
│ │ │ │ │
* * * * *
0 9 * * *
毎日 9:00
0 */6 * * *
6 時間ごと
0 9 * * 1
毎週月曜 9:00
*/15 * * * *
15 分ごと
Tutorial.step

自動化を作成する

それでは OpenClaw 設定に自動化を追加します。

手順 3.1: 設定ファイルを開く

OpenClaw の設定ファイルを開きます:

Open Configuration
nano ~/.openclaw/openclaw.json
# or use your preferred editor

手順 3.2: Cron 設定を追加

設定に cron セクションを追加します。完全な例は次のとおりです:

Automation Configuration
{
  "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

メッセージは自由にカスタマイズできます。ニュース要約、タスクリスト、天気、カレンダー予定など、欲しい内容をブリーフィングに含めてください。
Tutorial.step

保存して再起動

自動化設定を追加したら:

  • 設定ファイルを保存
  • Gateway を再起動して新しい自動化を読み込む
Restart Gateway
# If running as service:
openclaw gateway restart

# Or if running manually, stop and restart:
openclaw gateway --port 18789 --verbose

Gateway は cron ジョブを読み込み、設定したスケジュールに従って実行します。

Tutorial.step

自動化をテストする

9:00 まで待つ必要はありません。動作を確認しましょう:

方法 A: すぐにテスト

手動でコマンドを実行して確認します:

Test Automation
openclaw agent --message 'Create my daily briefing for today. Include: weather summary, calendar events, and any important reminders.'

自動化と同じ返信が返ります。接続チャンネルにメッセージが届くか確認してください。

方法 B: 短いスケジュールでテスト

テスト用に、スケジュールを一時的に高頻度に変更できます:

Test Schedule (Every 5 Minutes)
{
  "cron": {
    "jobs": [
      {
        "schedule": "*/5 * * * *",
        "command": "agent --message 'Test briefing'"
      }
    ]
  }
}

テスト後は必ず希望のスケジュールに戻してください。

Tutorial.step

自動化が動作しているか確認する

自動化が正しくスケジュールされているか確認します:

Gateway ログを確認

cron ジョブが読み込まれたことを示すログを探します:

View Logs
# If running as service, check logs:
openclaw gateway logs

# Or check system logs (macOS):
log show --predicate 'process == "openclaw"' --last 5m

スケジュール時刻まで待つ

特定時刻に実行する設定の場合、その時刻まで待ってチャンネルに自動メッセージが届くか確認します。

Tutorial.alert.success

予定時刻に自動メッセージを受信できれば、自動化は正しく動作しています。
Tutorial.step

他の自動化例

例 1: 週次サマリー

Weekly Summary
{
  "cron": {
    "jobs": [
      {
        "schedule": "0 18 * * 5",
        "command": "agent --message 'Create a weekly summary of my accomplishments and tasks completed this week.'"
      }
    ]
  }
}

毎週金曜 18:00 に実行。

例 2: リマインダー確認

Reminder Check
{
  "cron": {
    "jobs": [
      {
        "schedule": "0 8 * * *",
        "command": "agent --message 'Check my calendar and remind me of any important events or deadlines today.'"
      }
    ]
  }
}

毎朝 8:00 に実行。

例 3: 複数の自動化

Multiple Jobs
{
  "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 の外で)
  • エージェント用コマンドの構文が正しいか確認する
  • チャンネルが接続されているか確認する(メッセージ配信)
Tutorial.step

次のステップ

自動化の基礎を理解したら、応用機能も試してみてください:

💓 Heartbeat を使う
間隔を指定した継続監視を設定します。

ベストプラクティス

  • シンプルに始める - 複雑な Webhook の前に基本の cron から
  • 先にテスト - 自動化前に必ず手動でコマンドを検証
  • ログを監視 - 実行ログを定期的に確認
  • エラー処理 - 失敗時の挙動を考慮しておく
  • レート制限に注意 - API 制限に触れる自動化を作らない
  • Webhook を保護 - Webhook 利用時は認証を追加する