適用対象
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 つの個別のタブで開いたままにします。これにより、構築プロセスを簡単に進めることができます。
基本的なワークフロー モデルを構築する
まず、ワークフローに必要なすべてのモジュールを用意します。
- Bridge で新しいワークフローを作成します。
ワークフロー ビルダーで、パネルを使用して 3 つのモジュールをこの順序で追加します。
モジュール 1 Smartsheet - Get Sheet (Smartsheet - シートの取得) 2 Array Management - Extract Field from Array (配列管理 - 配列からフィールドを抽出) 3 Smartsheet - Update Column (Smartsheet - 列の更新) - ワークフローを保存します。
完了すると、ワークフローに以下のように表示されます。
ワークフローのトリガーを設定する
基本的なワークフロー モデルを作成したら、ワークフローのトリガーの設定を開始します。
- 「Trigger (トリガー)」モジュールを選択します。
- 新しいタブで [Integration (統合)] パネルを開くには、[Integrations (統合)] セクションで、[Integrations (統合)] ページを選択します。
統合リストから Smartsheet を選択します。
Bridge ロゴの下にある [Connected (接続済み)] オプションを使用すると、そのワークスペースに対して認証された統合のみのリストを表示できます。
- 「Triggers (トリガー)」行を展開します。
- 新しいトリガーを作成するには、を選択します。
- 次のフィールドに入力します。
- Trigger Name (トリガー名): トリガーのカスタム ラベルを作成します。
- Sheet ID (シート ID): 値の抽出元となるソース シートのシート ID を貼り付けます。
- Event Type (イベント タイプ): [When Column Values are Changed (列の値が変更された場合)] を選択します。
- Column Name or ID (列名または ID): ドロップダウンの値のソースとなる Smartsheet の列の名前を入力します。
- Select Workflow (ワークフローの選択): ドロップダウン リストから、作成した新しいワークフローを選択します。
- [Save (保存)] を選択します。
ワークフローに戻ります。
元のタブに戻る場合は、ページを最新の情報に更新してトリガーを表示させます。
ワークフロー モジュールを設定する
シート上のアクションによって、このワークフローがトリガーされます。ワークフローがこのトリガーを検出すると、同じシートに対して必要なアクションが実行されます。そのため、トリガーからの実行時間 (実行ログ) データ参照を使用して、「Smartsheet」モジュールに入力します。
ステップ 1:「Get Sheet (シートの取得)」モジュールを設定する
「Get Sheet (シートの取得)」モジュールは、ワークフローをトリガーしたシートからデータを取得します。
「Get Sheet (シートの取得)」モジュールが実行されると、Bridge はシートのデータを引き出し、それをワークフローの「Run Log (実行ログ)」にオブジェクトとしてプッシュします。オブジェクトは API から返されるアイテムで、そのオブジェクトに関連するフィールドの値を含みます。
配列は、オブジェクトと、それに対応するフィールドの集まりです。「Get Sheet (シートの取得)」モジュールの 13 行の配列が、最初の行の詳細を展開するとどのように「Run Log (実行ログ)」に表示されるかの例を以下に紹介します。
- [Sheet ID (シート ID)] フィールドに、値 {{runtime.sheetID}} を入力します。
- ワークフローを保存します。
- シートの任意の行で、元の値を含む列に新しい値を追加します。
- シートを保存します。
ステップ 2: ワークフローに取り込まれたデータを探す
Bridge に戻り、「Extract Field from Array (配列からフィールドを抽出)」モジュールに必要なデータをコピーします。
- [Run Log (実行ログ)] を開きます。
- [Run Log (実行ログ)] パネルを最新の情報に更新します。
- ワークフローのトリガーとモジュールのステップの内訳を表示するには、上部のエントリを展開します。
- 返されたデータを表示するには、「Smartsheet: Get Sheet (Smartsheet: シートの取得)」行を展開します。
- シートの行を展開します。
行のエントリを見つけます。
これは次のように表示されます。rows: Array[#] (行: 配列 [#])
- 行のエントリの右側にあるを選択します。
- [Copy data reference (データの参照をコピー)] を選択します。
ステップ 3:「Extract Field from Array (配列からフィールドを抽出)」モジュールを設定する
「Extract Field from Array (配列からフィールドを抽出)」モジュールを使用すると、配列のオブジェクトから値を引き出すことができます。このモジュールによって、そのフィールドの値のみのリストを作成できます。
この記事の例では、Bridge によって「Source Values」という値フィールドを抽出します。Bridge は、シートの「Source Values」列からすべての値を抽出し、リストにします。
- 編集パネルを開くには、「Extract from Array (配列から抽出)」モジュールを選択します。
[Array (配列)] フィールドにデータ参照を貼り付けます。
これは長く、{{ で始まります。
- [Key (キー)] フィールドで、リストにする列を指定します。
- リストにする列を指定する際は、cells.[列名].value という書式を使用します。たとえば、cells.Source Values.value のようになります。
- [Output (出力)] フィールドで、[Array (配列)] が選択されているかどうかを再確認します。
- ワークフローを保存します。
- シートの任意の行で、元の値を含む列に新しい値を追加します。
- シートを保存します。
ステップ 4: 列を更新する
「Update Column (列の更新)」モジュールは、作成したリストを使用して、列設定にあるドロップダウン列のドロップダウン リストに値を入力します。ワークフローが実行されるたびに、Bridge は最新のリストを作成し、シート内のその列を更新します。
- [Sheet ID (シート ID)] フィールドに、値 {{runtime.sheetID}} を入力します。
- 列 ID を取得します。
- 「Update Column (列の更新)」モジュールの編集パネルに戻ります。
- [Column ID (列 ID)] フィールドにデータ参照を貼り付けます。
- [Column Name (列名)] フィールドにドロップダウン値を含む列の名前を入力します。
- [Type (タイプ)] フィールドで、[Dropdown (Single Select) (ドロップダウン (単一選択))] または [Dropdown (Multi Select) (ドロップダウン (複数選択))] を選択します。
- [Values (値)] フィールドで、前回の実行時に「Extract Field from Array (配列からフィールドを抽出)」モジュールによって作成された配列を挿入します。
- ワークフローを保存します。
「Extract Field from Array (配列からフィールドを抽出)」モジュールのデータ参照を取得するには
- [Run Log (実行ログ)] パネルを開きます。
- [Run List (実行リスト)] に戻るには、[All Runs (すべての実行)] を選択します。
- [Run Log (実行ログ)] を最新の情報に更新します。
- 最新の実行エントリを展開します。
- 「Array Management: Extract Field from Array (配列管理 - 配列からフィールドを抽出)」行を展開します。
- 結果エントリの右側にある、を選択します。
- [Copy data reference (データの参照をコピー)] を選択します。
- ワークフローを保存します。
代替オプション
値のリストを作成するのに、同じシートや 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 か月に一度更新する。