適用対象

Bridge by Smartsheet

Bridge ワークフローでドロップダウン列を更新する

Bridge を使用すると、元の値に対して変更が行われた場合に、Smartsheet のドロップダウン列の値を最新の状態に保つことができます。 

ご利用可能なユーザー

プラン:

  • Bridge by Smartsheet

始めるために必要なもの

  • シート 
    • シート ID
    • ドロップダウン リストの値を含むソース列 (この例では、列名は「Source Value」です)
    • Bridge で更新できるターゲット列 (この例では、列名は「Dropdown」です)
  • Bridge
    • Smartsheet の統合機能
    • Bridge ワークフロー トリガー: Smartsheet - When Column Values are Changed (Smartsheet - 列の値が変更された場合)
    • Bridge ワークフロー モジュール
      • Smartsheet - Get Sheet (Smartsheet - シートの取得)
      • Smartsheet - Update Column (Smartsheet - 列の更新)
      • Array Management - Extract Field from Array (配列管理 - 配列からフィールドを抽出)
  • オプション: 別のソース システムの選択

はじめに

Bridge でこのワークフローを構築するには、Bridge ワークスペースに対して Smartsheet 統合を認証します。 

Bridge 向け Smartsheet 統合機能の設定方法についての手順をご覧ください。 

ワークフローの構築中は、シートと Bridge ワークフローを 2 つの個別のタブで開いたままにします。これにより、構築プロセスを簡単に進めることができます。

基本的なワークフロー モデルを構築する

まず、ワークフローに必要なすべてのモジュールを用意します。 

  1. Bridge で新しいワークフローを作成します。 
  2. ワークフロー ビルダーで、パネルを使用して 3 つのモジュールをこの順序で追加します。

     モジュール
    1Smartsheet - Get Sheet (Smartsheet - シートの取得)
    2Array Management - Extract Field from Array (配列管理 - 配列からフィールドを抽出)
    3Smartsheet - Update Column (Smartsheet - 列の更新)
  3. ワークフローを保存します。

完了すると、ワークフローに以下のように表示されます。

Brandfolder Image
bridge update drop down columns workflow

ワークフローのトリガーを設定する

基本的なワークフロー モデルを作成したら、ワークフローのトリガーの設定を開始します。

  1. Trigger (トリガー)」モジュールを選択します。
  2. 新しいタブで [Integration (統合)] パネルを開くには、[Integrations (統合)] セクションで、[Integrations (統合)] ページを選択します。
  3. 統合リストから Smartsheet を選択します。
     

    Bridge ロゴの下にある [Connected (接続済み)] オプションを使用すると、そのワークスペースに対して認証された統合のみのリストを表示できます。

  4. Triggers (トリガー)」行を展開します。
  5. 新しいトリガーを作成するには、トリガーの追加アイコンを選択します。
  6. 次のフィールドに入力します。
    • Trigger Name (トリガー名): トリガーのカスタム ラベルを作成します。
    • Sheet ID (シート ID): 値の抽出元となるソース シートのシート ID を貼り付けます。
    • Event Type (イベント タイプ): [When Column Values are Changed (列の値が変更された場合)] を選択します。 
    • Column Name or ID (列名または ID): ドロップダウンの値のソースとなる Smartsheet の列の名前を入力します。
    • Select Workflow (ワークフローの選択): ドロップダウン リストから、作成した新しいワークフローを選択します。
  7. [Save (保存)] を選択します。
  8. ワークフローに戻ります。
     

    元のタブに戻る場合は、ページを最新の情報に更新してトリガーを表示させます。

ワークフロー モジュールを設定する

シート上のアクションによって、このワークフローがトリガーされます。ワークフローがこのトリガーを検出すると、同じシートに対して必要なアクションが実行されます。そのため、トリガーからの実行時間 (実行ログ) データ参照を使用して、「Smartsheet」モジュールに入力します。

ステップ 1:「Get Sheet (シートの取得)」モジュールを設定する

「Get Sheet (シートの取得)」モジュールは、ワークフローをトリガーしたシートからデータを取得します。 

「Get Sheet (シートの取得)」モジュールが実行されると、Bridge はシートのデータを引き出し、それをワークフローの「Run Log (実行ログ)」にオブジェクトとしてプッシュします。オブジェクトは API から返されるアイテムで、そのオブジェクトに関連するフィールドの値を含みます。 

配列は、オブジェクトと、それに対応するフィールドの集まりです。「Get Sheet (シートの取得)」モジュールの 13 行の配列が、最初の行の詳細を展開するとどのように「Run Log (実行ログ)」に表示されるかの例を以下に紹介します。

Brandfolder Image
bridge update drop down columns workflow
  1. [Sheet ID (シート ID)] フィールドに、値 {{runtime.sheetID}} を入力します。 
  2. ワークフローを保存します。
  3. シートの任意の行で、元の値を含む列に新しい値を追加します。
  4. シートを保存します。

ステップ 2: ワークフローに取り込まれたデータを探す

Bridge に戻り、「Extract Field from Array (配列からフィールドを抽出)」モジュールに必要なデータをコピーします。

  1. [Run Log (実行ログ)] を開きます。 
  2. [Run Log (実行ログ)] パネルを最新の情報に更新します。
  3. ワークフローのトリガーとモジュールのステップの内訳を表示するには、上部のエントリを展開します。
  4. 返されたデータを表示するには、「Smartsheet: Get Sheet (Smartsheet: シートの取得)」行を展開します。 
  5. シートの行を展開します。
  6. のエントリを見つけます。
     

    これは次のように表示されます。rows: Array[#] (行: 配列 [#])

  7. 行のエントリの右側にあるメニュー アイコンを選択します。
  8. [Copy data reference (データの参照をコピー)] を選択します。

ステップ 3:「Extract Field from Array (配列からフィールドを抽出)」モジュールを設定する

「Extract Field from Array (配列からフィールドを抽出)」モジュールを使用すると、配列のオブジェクトから値を引き出すことができます。このモジュールによって、そのフィールドの値のみのリストを作成できます。 

この記事の例では、Bridge によって「Source Values」という値フィールドを抽出します。Bridge は、シートの「Source Values」列からすべての値を抽出し、リストにします。

  1. 編集パネルを開くには、「Extract from Array (配列から抽出)」モジュールを選択します。 
  2. [Array (配列)] フィールドにデータ参照を貼り付けます。 
     

    これは長く、{{ で始まります。

  3. [Key (キー)] フィールドで、リストにする列を指定します。 
  4. リストにする列を指定する際は、cells.[列名].value という書式を使用します。たとえば、cells.Source Values.value のようになります。
  5. [Output (出力)] フィールドで、[Array (配列)] が選択されているかどうかを再確認します。 
  6. ワークフローを保存します。
  7. シートの任意の行で、元の値を含む列に新しい値を追加します。
  8. シートを保存します。

ステップ 4: 列を更新する

「Update Column (列の更新)」モジュールは、作成したリストを使用して、列設定にあるドロップダウン列のドロップダウン リストに値を入力します。ワークフローが実行されるたびに、Bridge は最新のリストを作成し、シート内のその列を更新します。

  1. [Sheet ID (シート ID)] フィールドに、値 {{runtime.sheetID}} を入力します。
  2. 列 ID を取得します。 
  3. Update Column (列の更新)」モジュールの編集パネルに戻ります。
  4. [Column ID (列 ID)] フィールドにデータ参照を貼り付けます。
  5. [Column Name (列名)] フィールドにドロップダウン値を含む列の名前を入力します。
  6. [Type (タイプ)] フィールドで、[Dropdown (Single Select) (ドロップダウン (単一選択))] または [Dropdown (Multi Select) (ドロップダウン (複数選択))] を選択します。
  7. [Values (値)] フィールドで、前回の実行時に「Extract Field from Array (配列からフィールドを抽出)」モジュールによって作成された配列を挿入します。 
  8. ワークフローを保存します。 

「Extract Field from Array (配列からフィールドを抽出)」モジュールのデータ参照を取得するには

  1. [Run Log (実行ログ)] パネルを開きます。 
  2. [Run List (実行リスト)] に戻るには、[All Runs (すべての実行)] を選択します。
  3. [Run Log (実行ログ)] を最新の情報に更新します。
  4. 最新の実行エントリを展開します。
  5. Array Management: Extract Field from Array (配列管理 - 配列からフィールドを抽出)」行を展開します。
  6. 結果エントリの右側にある、メニュー アイコンを選択します。
  7. [Copy data reference (データの参照をコピー)] を選択します。 
  8. ワークフローを保存します。

代替オプション

値のリストを作成するのに、同じシートや Smartsheet を使用する必要はありません。ドロップダウン リストの値を別の場所から取得する場合、トリガーとワークフローの最初のモジュールは、ユース ケースに応じて異なります。 

ここで、このワークフローをカスタマイズする方法についてアイデアをいくつか紹介します。

  • 別のシートの列から取得したリストを使用する。この場合、トリガーを別のシートに応答するように変更する必要があります。また、「Update Column (列の更新)」モジュールで、[Sheet ID (シート ID)][Column ID (列 ID)] フィールドも更新する必要があります。 
  • Resource Management または Brandfolder by Smartsheet から取得したリストを使用する。代わりに、Resource Management や Brandfolder by Smartsheet の特定の変更に応答して、そのシステムから値のリストを生成することができます。トリガーを、いずれかの統合からの適切なトリガーに置き換えます。次に、「Get Sheet (シートの取得)」モジュールを、ワークフローにデータを取り込むモジュールと置き換えます。 
  • 「Schedule (スケジュール)」トリガーを使用する。このトリガーを使用すると以下の処理が行われるため、変更に応答する必要がなくなります。
    • データを抽出してワークフローにプッシュする。 
    • ドロップダウン リストを 1 日、1 週間、または 1 か月に一度更新する。