メインコンテンツへスキップ

トリガー

フローを作成する際、最初のノードは常にフローを開始するトリガーノードです。トリガーノードはフロー内のすべての下流ノードにデータを提供します。このデータはフィルターやその他のノードで使用できます。

What should start your flow

トリガーには次の4種類があります。

1 つのフローに設定できるトリガーノードは 1 つだけです。スケジュール・Webhook・イベントトリガーは、フローが公開された後にのみ実行されます。手動トリガーは、フローが公開された後にエディタからオンデマンドでフローを実行できます。

Custom schedule

Custom schedule は、特定の時刻や定期的な間隔でフローを実行する必要がある場合に便利です。例えば、毎日午前 9 時に Google Cloud Compute Engine インスタンスの利用率を確認するといったケースです。

  • 設定オプション: Time zoneStart dateTimeFrequency

  • Frequency は、フローがどの頻度でトリガーされるかを定義します。サポートされる値: DailyWeeklyMonthlyCustomRun once

    • Daily を選択すると、1 日の中で特定の時刻にフローを実行できます。実行間隔の最小値は 1 時間であり、24 時間あたり最大 24 回までスケジュールできます。

    • 繰り返し間隔でフローを実行する必要がある場合は Custom を選択してください。サポートされる値は HourDayWeekMonth です。例えば、2 時間ごと、2 週間ごとなどです。

    • 一度だけカスタム時刻で実行する単発のフローをスケジュールする場合は Run once を選択してください。これは、レガシーサーバー上の OS カーネルの更新や、メンテナンスウィンドウ中のパッチ適用といった、一度きりのアクションを行う際に便利です。

以下はカスタムスケジュールの例です。

Condition configuration

Manual trigger

この種類のトリガーは、フローをオンデマンドでのみ実行したい場合に使用します。人による確認を確実に行えるうえ、必要に応じてフローの実行を柔軟に制御できます。

手動トリガーでフローを開始するには、フローを公開した後、CloudFlow エディタ上部のバーで Run を選択してください。

Condition configuration

Webhook trigger

Webhook トリガーを使用すると、API からのデータを使ってフローを開始できます。そのため、API コールを行えるあらゆる外部システムからフローをトリガーできます。例えば、Zapier の Run flow アクションを使用してフローをトリガーできます。あわせて DoiT Integrations も参照してください。

お客様の JSON のサンプルを提供していただく必要があります。これにより、データの構造を検出できます。構造が検出されると、フローは後続のアクションに必要なフィールドを自動的に作成します。これによって、お客様のデータはフローの一部となり、他のデータと同様に任意のアクティビティノードで使用できます。

Webhook trigger configuration

  • Webhook URL: このフローをトリガーするデータを送信するサービスの URL を指定します。

  • Sample JSON: データ構造を検出できるように JSON のサンプルを提供します。Detected structure を選択し、フィールドが正しく認識されていることを確認してください。不正確だと思われる場合は、JSON サンプルを修正して再度貼り付けてください。

  • Generate API key: トリガーノードから DoiT API キー を作成できます。これにより、DoiT Cloud Intelligence の Profile を開く必要がありません。すでに API キーをお持ちの場合、パネルには Profile ページで API キーを管理 するためのリンクが表示されます。このキーは DoiT API にのみ使用されます。

DoiT Cloud Intelligence event trigger

DoiT Cloud Intelligence イベントトリガーを使用すると、DoiT Cloud Intelligence によって生成されたイベントを使ってフローを開始できます。イベントのカテゴリは 5 つあります。

  • DoiT Cloud Intelligence events: フローの開始に使用できる DoiT Cloud Intelligence のイベントです。

  • cost and usage alerts を使用する場合に適用されます。 Alerts: コストまたは使用量の alert 条件が満たされたとき、または同じ期間(および任意の内訳)でその条件が解消されたときに発火します。

  • Budgetsnotification thresholds と併用する場合に適用されます。 Cloud Analytics budgets: 利用額が予算アラートの閾値を上回ったときに発火します。これは、Alerts 上のメトリクスおよびディメンションに基づくルールである cost and usage alerts とは別の仕組みです。

  • AWS のみで利用可能です。 AWS CloudTrail: AWS CloudTrail からのイベントです。例えば、EC2 インスタンスの起動・終了、RDS インスタンスの作成・変更などです。

  • anomaly detection が設定されているあらゆるクラウド(billing および/または real-time)で利用可能です。 Cost anomaly detection: コストアノマリーが作成または更新されたときに発火します。

DoiT Cloud Intelligence events

DoiT Cloud Intelligence は、フローをトリガーするプラットフォームイベントを発行できます。DoiT Cloud Intelligence イベントを選択すると、フロー内で参照可能なフィールドが Event payload details に表示されます。

Alerts

次のいずれかのアラートイベントが発生したときにフローをトリガーできます。これらは、条件が満たされたときや解消されたときのアラート通知(メールや Zapier など)と同じ評価ロジックを使用します。

  • DoiT Alert Condition Satisfied: アラートの条件が満たされたときに発生します。例えば、評価対象の期間でコストの閾値に達した場合です。ディメンション単位(サービスごとなど)で評価されるアラートの場合、トリガーしたそれぞれのディメンション値に対してイベントが発行されることがあります。ペイロードには、その値、評価された期間、アラートの詳細(名前、閾値、メトリクスなど)が含まれます。アラートによっては、(全体合計だけでなく)各アイテムを個別にチェックする場合があります(例えば各サービスや各プロジェクト)。この場合、breakdown はどのアイテムがアラートをトリガーしたか(例: Compute Engine)を示し、breakdownLabel はそのアイテムのカテゴリ(例: Service)を示します。

  • DoiT Alert Condition Resolved: アラートが解消されたとき、例えば同じ期間でコストが閾値を下回ったときに発生します。このアラートは DoiT Alert Condition Satisfied(同じアラート、期間、および任意の内訳)と対応しているため、例えば Jira チケットをクローズしたり、条件が満たされたときに開始したフォローアップアクションを停止したりするフローを組み合わせることができます。

Budgets

DoiT Budget Threshold Reached イベントが発生したときにフローをトリガーできます。このイベントは、評価された支出額が初めて budget のアラート閾値を上回ったとき(例えば、予算額の 50%、80%、100% に達したとき)に発生します。ペイロードには、超過した閾値(thresholdPercentage)、現在の支出額と予算額、任意の予測日、閾値に到達した時刻(triggeredAt)、および予算のメタデータ(id、名前、通貨、期間など)が含まれます。CloudFlow エディタでは、このイベントを選択すると Event payload details に正確なフィールド名が一覧表示されます。複数の閾値を通過した場合、イベントは最も高い閾値のパーセンテージを反映します。

注意

このイベントが発生するようにするには、BudgetsConfigure budget notifications と併用してアラート閾値を設定してください。

Cost anomaly detection

次のいずれかのコストアノマリーイベントが発生したときにフローをトリガーできます。

  • DoiT Cost Anomaly Acknowledged Changed: アノマリーが確認された、または確認内容が更新されたとき。
  • DoiT Cost Anomaly Cost Changed: アクティブなアノマリーのコストが変化したとき。
  • DoiT Cost Anomaly Created: 新しいコストアノマリーが検出されたとき。
  • DoiT Cost Anomaly Severity Changed: アノマリーの重大度が変化したとき。
  • DoiT Cost Anomaly Status Changed: ステータスが変化したとき(例: Active から Inactive)。
  • DoiT Cost Anomaly Top SKUs Changed: アノマリーに最も寄与している SKU が変化したとき。
注意

コストアノマリーに対してフローをトリガーするには、real-time cost anomaly detection を設定しておく必要があります。

Event trigger configuration

  • Select an event: 一覧から、フローをトリガーしたい DoiT Cloud Intelligence イベントを選択します。

  • Event payload details: 選択したイベント内で利用可能な参照フィールドの一覧が表示されます。これらのフィールドをフロー内で参照できます。

  • (オプション)Event payload filter: ペイロードフィールドに条件を追加し、受信イベントが条件に一致した場合にのみフローが実行されるようにします。例えば、特定のコストアノマリーの重大度、特定の AWS リソース ARN、特定の予算または予算閾値、その他イベントデータ内の値に対してのみフローを開始するフィルターとして使用できます。

イベントペイロードフィルター

イベントペイロードに基づいて条件を追加することで、どのイベントでフローを起動するかをフィルタリングできます。1 つ以上のフィルター条件が定義されている場合、受信イベントが条件に合致したときにのみフローが実行されます。これにより、特定のイベントにだけ反応できるようになり、例えば特定の重大度のコストアノマリーだけをトリガーにしたり、特定のリソースを対象とする AWS CloudTrail イベントだけをトリガーにしたりできます。

複数の条件を追加した場合、フローを継続させるにはすべての条件が true である必要があります。CloudFlow は AND ロジックを使用するため、すべての要件が満たされない限りフローは先に進みません。

情報

1 つのフィールドに対して複数の値をまとめてチェックするには、InNot In などの演算子を使用してください。これにより、許可(またはブロック)されたアイテムのリストを作成できます。詳細は Filter operators を参照してください。

例えば、次のようなケースがあります。

  • フローが DoiT Cost Anomaly Created をリッスンしているものの、すべての新しいアノマリーではなく、Critical のアノマリーだけで実行したい場合、次の条件を追加できます。

    • Field: severity

    • Operator: Equal to (==)

    • Value: Critical

    Event trigger filter example

  • AWS CloudTrail イベントについては、details.resourceArn のようなフィールドに対して contains と本番環境の ARN の一部文字列を使用してフィルタリングしたり、完全な ARN を指定して Equal to (==) を使用したりすることで、そのリソースを対象とする API アクティビティが発生したときにのみフローを実行できます。

  • 特定のクラウドフットプリントに AWS CloudTrail アクティビティを絞り込みたい場合、複数の条件 を追加して、すべてが一致するようにします。例えば、イベントが本番環境の AWS アカウント かつ指定した Region のときだけフローを実行します。

    • Field: userIdentity.accountIdOperator: Equal to (==) — Value: 12 桁の AWS アカウント ID (例: 111122223333)

    • Field: awsRegionOperator: Equal to (==) — Value: 対象とする Region コード (例: eu-west-1)

    選択したイベントに対して Event payload details に表示される名前を使用してください。ネストされたフィールドは userIdentity.accountId のようにドット記法で表示されることがよくあります。

  • DoiT Budget Threshold Reached の場合、budget.budgetId でフィルタリングして特定の予算に対してのみフローを実行したり、thresholdPercentage でフィルタリングして(例えば Equal to (==) かつ 100) 特定の閾値でのみフローを開始したりできます。Event payload details に表示されるフィールド名を使用してください。ネストされた予算フィールドは通常 budget の下にあります。

フィルター条件を追加するには、次の手順を実行してください。

  1. Event payload filter+ Add condition を選択します。

  2. 条件を設定します。

    • Field: 利用可能なフィールド一覧から選択するか、severitydetails.resourceArnbudget.budgetIdthresholdPercentage などのフィールド名を手動で入力します。表示されるフィールドは、選択したイベントによって異なります。

    • Operator: 比較演算子を選択します。利用可能な Filter operators はフィールドのデータタイプによって異なります。

    • Value: 比較対象の値を入力します。タイムスタンプフィールドの場合は日付時刻ピッカーが表示されます。is null および is not null 演算子の場合、値入力は表示されません。

    Set Event trigger filter

  3. Save を選択します。

    すべてが true でなければならない(AND)複数の条件を追加するには、含めたい各条件について + Add condition を選択してください。条件はいつでも編集または削除できます。

イベントへの応答を自動化する

フローが DoiT Cloud Intelligence イベントトリガー(DoiT Cloud Intelligence イベント・アラート・Cloud Analytics budgets・AWS CloudTrail・コストアノマリー検知)によって開始された場合、Slack への投稿、チケットの作成、是正処理の実行など、応答を自動化できます。下流ノードでは Event payload details に表示されるフィールドを参照してください。

  • Notification node を追加して、イベントの詳細をチームに送信します。メッセージ内でペイロードフィールド(例えばアラートイベントの場合はアラート名と値、DoiT Budget Threshold Reached の場合は予算名と thresholdPercentage、コストアノマリーの場合はアノマリー ID とコスト、AWS CloudTrail イベントの場合はリソース ARN など)を使用します。

  • Branch node を使用して、そのイベントのペイロード内のフィールドに応じて異なるステップを実行します。例えば、コストアノマリーの重大度が高い場合だけ通知したり、アラートのメトリック値が指定した数値を超えた場合だけ通知したり、予算の閾値や budget.budgetId が対象のものと一致した場合だけ処理したり、breakdown やその他のディメンションフィールドが特定のプロジェクトやサービスと一致した場合だけ処理したりできます。

Trigger node の結果

このセクションでは、下流ノードで参照できる trigger node の出力に含まれるフィールドを一覧します。WebhookDoiT Cloud Intelligence event トリガーの場合、ノード出力にはイベント固有のペイロードフィールド(例: アラート名と値、予算 ID と閾値、コストアノマリー ID とコストなど)も含まれます。これらのフィールドはトリガーを設定する際に Event payload details に表示され、他のトリガー出力と同様に参照できます。

注意

ノードを設定する際は、通常、出力を参照する上流ノードを 1 つ選択します。Schedule trigger node は例外であり、選択したノードに加えて、フロー内の任意のノードからその出力を参照できます。

トリガー結果には、旧形式と ISO 8601 形式の両方で日時が含まれます。API が ISO 8601 タイムスタンプを要求する場合は iso8601 オブジェクトを使用してください。既存の currentDatestartTime フィールドは後方互換性のために残されています。

Name説明
currentDate実行日の YYYY-MM-DD 形式の日付2026-02-09
currentDay日 (1–31)9
currentMonth月 (1–12)2
currentYear4 桁の西暦年2026
customerIdDoiT のカスタマーまたは組織の識別子ABCDeFhijKLm1nopQrStUVwx
ownerEmailフロー所有者のメールアドレス[email protected]
startTimeミリ秒単位の Unix タイムスタンプ1770644776279
startTimeMillisミリ秒単位の Unix タイムスタンプ1770644776279
startTimeSeconds秒単位の Unix タイムスタンプ1770644776
userIdDoiT ユーザー識別子aBBCDe1FG2hIJkL34MNO
iso8601ISO 8601 形式の日付と時刻文字列を持つオブジェクト:
  • currentDate (YYYY-MM-DDT00:00:00.000Z)
  • startTime (YYYY-MM-DDTHH:mm:ss.sssZ)
currentDate: "2026-02-09T00:00:00.000Z", startTime: "2026-02-09T15:21:01.760Z"
variablesグローバルおよびローカルのフローバリアブルglobalVariables: {}, localVariables: {}
billingScopesカスタマーのクラウドプロジェクトおよびアカウント識別子の一覧。それぞれのキーには idname を持つオブジェクトの配列が含まれます。
  • google-cloud — GCP プロジェクト ID
  • amazon-web-services — AWS アカウント ID
  • microsoft-azure — Azure サブスクリプション ID
下流ノードでクラウドスコープごとの繰り返し処理やフィルタリングに使用します。
google-cloud: [{id: "my-project", name: "My GCP Project"}], amazon-web-services: [...], microsoft-azure: [...]
billingScopesRowCount3 つのクラウドプロバイダ (GCP + AWS + Azure) のすべてを合計したクラウドスコープ数の合計3
ヒント

billingScopes は、GCP プロジェクト・AWS アカウント・Azure サブスクリプションごとにアクションを実行する必要がある場合に使用してください。例えば、trigger node の Variables を参照するループやフィルターで利用します。

Event trigger の例

トリガーから応答を自動化でき、Slack への投稿、チケットの作成、是正処理の実行などを行えます。

例えば、DoiT Cost Anomaly Created をトリガーとするフローでは、Branch node を使用して重大度が Critical のアノマリーだけを抽出できます。その後、Notification node によりアノマリー ID とコストを含むメッセージを送信します。同様に、DoiT Alert Condition Satisfied をトリガーとするフローでは、アラート名・期間・値を含む通知をチャンネルに送信できます。DoiT Budget Threshold Reached をトリガーとするフローでは、thresholdPercentagebudget.budgetId に基づいて分岐し、予算名と現在の支出額を通知できます。これらの値は trigger node の出力から取得され、任意の下流ノードにマッピングできます。