メインコンテンツまでスキップ

REFERENCE

開発者リファレンス

認証、API、SDK、Flow Agent のプロセッサ、パラメータ解決のリファレンスです。

Update Context

フロー内の変数を設定・更新します。初期化によく使うノードです。

Update Context はワークフロー内の変数を更新するプロセッサーです。

  1. 基本的な使い方​

    Update Context は設定に従って変数を追加または変更し、その変数は後続のプロセッサーで利用できます。プログラミング言語の変数への代入とよく似た働きをします。

  2. 設定項目​

    ノードのプロパティパネルです。

    Update Context のプロパティパネル。Properties は + だけで、変数は自分で追加する

    Name​

    キャンバス上に表示される名前です。ワークフロー内でこのプロセッサーを識別するために使います。

    Description​

    このプロセッサーの用途を補足し、ワークフローの読みやすさを高めます。

    Properties​

    (+) をクリックして項目を追加します。

    各項目は 2 つの部分からなります。

    • 変数名: 最初の入力欄で context 変数の名前を設定します
    • 値の与え方: 値をどう割り当てるかを選びます

    選べる値の種類:

    • Literal: 固定値を直接入力します
    • Expression: JavaScript の式で値を計算します
    • Template: テンプレート構文で値を計算します

    Workflow CRD を直接書くと対応関係はより素直です。config の name がそのまま変数名で、余分な入れ子はありません。

    - name: proc-init
    type: update-context
    labels:
    display_name: 初期化
    configs:
    - name: helpCenterUrl
    expression: |-
    (() => {
    return "https://help.buy123.com.tw/zh-TW/";
    })()
    - name: storefrontUrl
    expression: |-
    (() => {
    return "https://www.buy123.com.tw/";
    })()

    後続のプロセッサーは prompt template の中でこれらのキーを裸の名前で読みます(たとえば {{helpCenterUrl}})。外部 URL、コードの対応表、環境依存の定数といった固定値をワークフローの冒頭にまとめるのはよくある形で、値が一箇所にしか現れないため、変更のたびに各 prompt を見て回らずに済みます。

    configs は空の配列でも構いません。Flow Agent の既定ワークフローの先頭にある Init というノードがまさに configs: [] で、変数を設定せず、ワークフローの起点として存在しています。

  3. 接続関係​

    Success​

    指定されたすべての context 項目の更新が完了すると、この接続点から次のプロセッサーへ進みます。動的に設定した各項目の名前が、そのまま新しい変数名になります。

  4. 使用例​

    1. 単純な変数の代入​

    変数の宣言も更新も操作は同じです。以下は historyStart に代入する例です。

    1-1. Literal​

    計算が要らない単一の変数なら、これが一番簡単です。入力欄に値をそのまま書きます。

    Literal モード

    1-2. Expression​

    計算が必要な場合は Expression モードにします。固定値を返すだけなら次のようになります。

    (() => {
    return 0;
    })()
    Expression モード

    2. オブジェクト型の変数の代入​

    オブジェクトは構造を持つため Literal では代入できず、Expression モードが必要です。

    2-1. オブジェクトの初期化​

    オブジェクトはまず初期化が必要です。存在しない変数を操作するとエラーになります。

    (() => {
    return {
    name: "Test",
    status: "idle",
    sessionStart: null,
    };
    })()
    オブジェクトの初期化

    2-2. オブジェクトの更新​

    當物件已經初始化後,可以只更新特定的屬性值,其他屬性不會被覆蓋。以下示範更新 context 物件的 status 和 sessionStart 值:

    (() => {
    // 更新 status 值
    context.status = "pending";

    // 更新為目前的時間戳記
    const currentTime = Date.now();
    context.sessionStart = currentTime;

    // 回傳更新後的 context 物件
    return context;
    })()
    オブジェクトの更新
  5. title: Update Context Last Updated: 2026-09-09 description: '設定或更新流程裡的變數,是最常用來初始化的節點。' slug: /developer-reference/processor/update-context​

    Update Context 是用於更新工作流程中變數內容的 processor。

  6. 注意事項​

    • 同名の変数がすでにある場合、新しい値で上書きされます。
    • ここで設定した変数は、上書きされるまでフローの以降すべてで読めます。
    • オブジェクト型はフィールドを更新する前に初期化が必要です。存在しないオブジェクトのフィールドに書き込むとエラーになります。

始める準備はできましたか?

Asgard をチームでどう活用できるか、お気軽にご相談ください。

お問い合わせ