formrun
formrun の接続方法
formrun と workrun の連携方法は、使うピースによって 2 種類あります。
- アクション(カード一覧の取得・メール送信など)を使う場合 → ステップ 1・2 の APIキー接続 が必要です
- トリガー(Webhookを受信する)だけを使う場合 → 接続の作成は不要です。ステップ 3 の Webhook 設定のみ行ってください
ステップ 1:APIキーを取得する
- formrun にログインし、対象チームの 「チーム設定」 画面を開きます。
- 「API設定」 から API キーを発行します。
- 発行された API キーをコピーしておきます。
ステップ 2:workrun に接続を追加する
- workrun で formrun のアクションをフローに追加します。
- 「接続を選択」の横にある 「+ 新しい接続」 をクリックします。
- 「APIキー」 フィールドに、ステップ 1 でコピーした API キーを貼り付けます。
- 「保存」 をクリックして接続を完了します。
ステップ 3:Webhook を設定する(トリガーを使う場合)
- workrun で formrun のトリガー 「Webhookを受信する」 をフローに追加します。
- トリガーの設定画面に表示される 「Webhook URL」 をコピーします。
- formrun の管理画面で、対象フォームの 「Webhook」 アプリをインストール し、「作成する」 をクリックします。
- タイトルに任意の名前を入力し、「連携先のWebhook URL」 に手順 2 でコピーした URL を貼り付けます。
- 「条件設定」 でトリガーとしたい条件を設定します。
- 「有効にする」 を選択し、「保存する」 をクリックします。
トリガーの設定画面で認証方式を 「なし」または「ヘッダー認証」 から選べます。ヘッダー認証を選ぶと、ヘッダー名と値を追加で設定できます。
テスト方法
- workrun の 「テストトリガー」 をクリック後、実際に formrun でトリガー条件を実行するとデータを受信できます。
- formrun の管理画面で 「テスト送信する」 にチェックを入れて保存することでもサンプルデータを送信できます。
Webhookで受信した回答データを利用する
formrunからWebhookで回答を受信すると、回答内容は主に 内の に含まれます。
の各要素には、主に次の情報が含まれます。
- :formrun側の項目を識別するキー
- :フォーム上の項目名
- :実際の回答値
後続のピースで回答値を利用する場合は、データセレクターで対象の を展開し、目的の項目の を選択します。
の配列上の位置と、formrunの項目IDは別物です。
「30番目のfieldsを選ぶ」という考え方ではなく、実際に受信したデータの ・・ を確認して目的の回答項目を特定してください。
と の違い
Webhookの受信結果には、 と が含まれる場合があります。
- :受信したJSONをworkrunで扱えるデータとして展開したもの
- :受信した元のリクエスト本文を文字列として保持したもの
通常、後続ステップで回答項目を利用する場合は、データセレクターから 内の値を選択します。 は文字列のため、データセレクター上で階層を展開して回答項目を選択する用途には向きません。
には目的の回答が含まれているのに に表示されない場合は、通常の利用方法として を参照するのではなく、まず最新の実データを再取得して同じ状態が再現するか確認してください。
回答項目がデータセレクターに表示されない場合
次の順番で確認してください。
- 対象項目に値を入れた状態でformrunから回答を送信する
- workrunのトリガーでテストデータを再取得する
- 最新の回答をテストデータとして選択する
- を確認する
- ・・ を見て、目的の項目が実際にWebhookで届いているか確認します。
- formrun側のWebhook設定を確認する
- Webhook設定後にフォーム項目を追加・変更している場合、Webhook側の送信対象が以前の項目構成のままになっていることがあります。
- formrun側のWebhook設定で 「初期値に戻す」 を実行し、現在のフォーム項目をもとに送信対象を設定し直します。
- もう一度実データを送信して確認する
- にはあるが にない場合
- 最新の実データでも同じ状態が再現する場合は、Webhook受信結果そのものを確認します。
formrunのフォーム項目を変更した場合
Webhookを設定した後にformrunのフォーム項目を追加・削除・変更した場合は、workrun側でテストデータを再取得するだけでなく、formrun側のWebhook設定も現在のフォーム構成に更新されているか確認してください。
フォーム項目を追加したのにWebhookへ新しい項目が含まれない場合は、formrunのWebhook設定で「初期値に戻す」を実行し、送信対象項目を更新してから再テストします。
複数のフォームを1つのフローで扱う場合
formrunのフォームごとに の内容や並び方は異なります。複数フォームのWebhookを1つのフローで処理する場合は、 などフォームを識別できる値でRouter分岐し、フォームごとに対応する回答項目を設定します。
フォームAで取得したテストデータの の位置を、そのままフォームBへ流用しないでください。フォームごとに実際の受信データを確認して設定します。
フォーム数が多い場合やフォームごとに後続処理が大きく異なる場合は、フロー自体を分けると設定・保守がしやすくなります。