ルーチン
ルーチンは、1 つの Bot にワークフローを実行するタイミングを指定するものです。スケジュールに従って実行することも、Slack のメッセージ、GitHub・Linear・Sentry・PagerDuty のイベント、メール、ウェブフックの呼び出しなど、何らかのイベントが発生したときに実行することもできます。ルーチンは、ノートパソコンを閉じている間もクラウドで実行されます。
ルーチンを設定・変更するには
チャットで Bot に依頼します。何をいつ実行するかを伝えてください。例:「平日の毎朝 9:00 に、新しいサポートチケットをこのチャットで要約して」。Bot がルーチンを作成し、Bot のルーチン一覧に表示されます。
デスクトップでルーチンを変更するには、ルーチンを開いて Edit を選択します。Grok Bot が Bot 宛てのメッセージを作成します。メッセージは「Edit your routine:」とルーチン名で始まります。変更したい内容を書き加えて送信してください。
スマートフォンでは、Bot のプロファイルを開き、Routines の下にある Add routine をタップします。Grok Bot が「Set up a routine to 」で始まるメッセージを作成します。続きを入力して送信してください。
Bot のルーチンはどこで確認できますか?
デスクトップの場合:
- チャット上部にある Bot の名前をクリックして、詳細を開きます。
- Tasks を選択します。ルーチンは Routines に表示されます。
各行には、ルーチンの名前と実行タイミング、または Paused が表示されます。行のスイッチで一時停止・再開を切り替えられます。Bot にルーチンがない場合は、Ask in chat to set a routine と表示されます。
ルーチンをクリックすると、詳細が開きます:
- Instruction: Bot が実行のたびに行う内容です。
- When to run: スケジュールと、ルーチンを開始するイベントの一覧です。
- Webhook: ウェブフック呼び出しで開始されるルーチンの場合、その URL とキーが表示されます。
下部には、Pause または Resume、Test、Edit、Delete routine (ゴミ箱アイコン) のボタンがあります。削除時には確認が表示されます。削除すると以降の実行は停止し、元に戻すことはできません。
スマートフォンでは、Bot のプロファイルを開いて Routines を探します。ルーチンをタップすると、Active、Schedule、Next run、Instruction、実行履歴 を確認できます。ルーチンを一時停止するには、Active をオフにします。削除するには、ルーチンの行をスワイプします。
スケジュールとタイムゾーンの仕組み
スケジュールは、Settings の Bot にある Timezone で指定したタイムゾーンに従います。Auto-detect を選ぶと、このコンピューターの設定が使われます。ルーチンを別のタイムゾーン (対象の業務が行われるオフィスなど) に合わせたい場合は、タイムゾーンを個別に選択してください。
「平日の午前 8:00」や「2 時間ごと」のように、普段使う言葉でスケジュールを依頼します。その後ルーチンを開き、When to run を確認します。保存されたスケジュールが文章で表示されるので、意図どおりになっているかを確認できます。意図と異なる場合は Edit を選び、修正内容を Bot に伝えてください。
新しいルーチンは作成しただけでは実行されず、次の予定時刻まで待機します。「毎日午前 8:00」を 8:05 に設定した場合、最初の実行は翌日の午前 8:00 になります。すぐに試したい場合は、Test を使用してください。
ルーチンをテストするには?
デスクトップ版でルーチンを開き、Test を選択します。実行が完了するまで、ボタンには Running… と表示されます。結果は Bot のチャットに表示されます。
テストでは実際の処理が行われます。ファイルが変更されたり、接続済みのプラグインが使用されたりする場合があります。安全な入力を使用してください。テストを開始できない場合は、Couldn't start a test run または原因を説明するメッセージが表示されます。
ルーチンによっては Test が表示されないことがあります。その場合でも、スケジュールまたはトリガーに従って実行されます。
利用枠がすぐに減ってしまう場合、何を変更すればよいですか?
まずはルーチンの実行頻度を確認してください。実行ごとに利用枠を消費するため、頻繁に実行されるルーチンは、まれにしか実行されないものより多く消費します。1時間ごとのスケジュール、短い実行間隔、あるいは投稿の多いチャネルでのSlackトリガーは、1週間分の利用枠を1日で使い切ることがあります。
利用枠が想定より速く減っている場合は、不要なルーチンを一時停止してください。そのうえで、プランやオンデマンドの上限を引き上げる前に、スケジュールの間隔を広げ、Slackトリガーの条件を絞り込むようBotに依頼します。一度も実行されないルーチンは利用枠を消費しません。一方、Testは実際に処理を行うため消費します。
利用枠とオンデマンドの月次上限については、プランと請求を参照してください。
Slack トリガーの仕組み
Slack トリガーは Slack プラグインの機能ではなく、ルーチンの一部です。プラグインを使用すると、Bot は接続した Slack ユーザーとして投稿や読み取りを行えます。一方、トリガーは Slack で何かが起きたときにルーチンを開始します。トリガーを利用する前に、Bot を所有する Cherri Code アカウントで Slack を接続しておいてください。詳しくはプラグインを接続するを参照してください。
使用したいトリガーを Bot に依頼してください。ルーチンを開始できるタイミングは、Bot がメンションされたとき、特定の単語やフレーズが投稿されたとき、メッセージにリアクションしたとき、またはすべてのメッセージです。監視対象は 1 つのチャネルでも Slack 全体でもかまいません。When to run には、フレーズやチャネルなどのトリガー内容が文章で表示されます。
チャネルとフレーズはできるだけ絞り込んでください。メッセージの多いチャネルですべてのメッセージを対象にすると、トリガーが頻繁に実行され、Bot の対応が不要なメッセージにまで利用枠を消費します。対象になるのは新しいアクティビティのみで、トリガー作成前のメッセージで実行が開始されることはありません。
ウェブフック の URL と key はどこにあり、200 は何を意味しますか?
Bot に、ルーチンへウェブフック トリガーを追加するよう依頼します。次に、デスクトップでルーチンを開きます。ウェブフック セクションには、次の 3 つのフィールドが表示されます:
- POST to は URL です。
- key は secret です。送信側は
Authorization: Bearer <key>の形で含めます。 - header はその完全な header で、そのままコピーできます。
フィールドをクリックするとコピーできます。その URL に header を付けて HTTP POST を送信します。JSON body を送信することもできます。Bot はその body をルーチンの instruction とともに受け取ります。
200 のレスポンスは、Grok Bot が呼び出しを受け入れて実行を開始したことを示します。Bot が instruction を完了したという意味ではありません。結果は Bot のチャットで確認してください。それ以外のレスポンスの場合、実行は開始されていません。ルーチンが一時停止されていないこと、および request が現在の key を使用していることを確認してください。
ルーチンが実行されないのはなぜですか?
まず次の点を確認してください。
- ルーチンが Paused になっていないこと。スマートフォンでは Active がオンになっていること。
- When to run に、想定どおりのスケジュールまたはトリガーが正しいタイムゾーンで表示されていること。
- 新しいスケジュールは、次の予定時刻になるまで実行されません。すぐに実行するには Test を使用してください。
- Slack の場合、メッセージが新しく投稿されたもので、トリガーが監視しているチャネル内にあり、指定したフレーズに一致していること。
- ウェブフックの場合、呼び出しが 200 を返し、現在のキーを使用していること。
スマートフォンでは、実行履歴 に最近の実行がそれぞれ Running、Succeeded、Failed のいずれかで表示されます。失敗した実行には、その理由が表示されます。No runs yet と表示されている場合は、ルーチンがまだ一度も開始されていません。