Skip to content

フォームの回答をテーブルに保存する ​

DECA Forms でフォームが送信されるたびに、回答を DECA Tables の新しいレコードとして追加します。このガイドでは、ほかの DECA 製品からフローを開始し、そのデータを別の製品に渡す方法を説明します。

準備するもの:

  • DECA Forms のフォーム。例: 質問 お名前、メールアドレス、お問い合わせ内容 を持つ「お問い合わせ」フォーム。
  • 保存したい回答ごとに列を持つ DECA Tables のテーブル。

1. 回答が届いたらフローを開始する ​

  1. フローを作成し、トリガーを追加 をクリックします。
  2. トリガーを選択 で DECA Cloud を開き、フォーム を選んでから、イベント 回答作成 を選びます。
フォームを開いたトリガーの選択画面。Form Created と Response Created のイベントが表示されている

このトリガーには設定項目がありません。組織内のすべてのフォーム の新しい回答で発火するため、次のステップでどのフォームからの回答かを確認します。

2. 対象のフォームだけ続行する ​

  1. ステップを追加 をクリックし、組み込み を開いて パス を選びます。
  2. 最初の分岐の パスモード を 条件に基づく にし、次の条件を設定します。
    • フィールド: $ を入力して Current Trigger を選び、form.name を選びます。
    • 演算子: 文字列: 等しい
    • 値: お問い合わせ
  3. 以降のステップはこの分岐に追加します。ほかのフォームの回答はどの分岐にも一致しないため、そこで実行が終わります。

フォーム名が変わる可能性があるなら ID を使う

form.name の条件は、フォーム名が変更されると一致しなくなります。最初のテスト実行の後、実行のトリガー出力からフォームの ID をコピーし、代わりに form.id を比較してください。

3. レコードを作成する ​

  1. パスの分岐で ステップを追加 をクリックし、DECA Cloud を開いて テーブル を選び、レコード作成 を選びます。
  2. テーブルの ベース ID と テーブル ID を選びます。
  3. レコード でレコードを追加し、列ごとに項目を追加します。列を選び、フォームの回答から値を設定します。

フォームの回答は、質問ごとに 1 項目のリストで届きます。

json
{
  "form": { "id": "…", "name": "お問い合わせ" },
  "answers": [
    { "question": { "label": "お名前" }, "response": { "flatAnswer": "田中 愛子" } },
    { "question": { "label": "メールアドレス" }, "response": { "flatAnswer": "aiko@example.com" } }
  ]
}

1 つの回答を取り出すには、質問のラベルで探します。列の値に次のように設定します。

$string($trigger.output.answers[question.label="メールアドレス"].response.flatAnswer)

メールアドレス の部分は、質問のラベルと完全に一致させてください(大文字・小文字や空白も含む)。ほかの列も同じように設定します。

answers[1] ではいけないのですか?

$trigger.output.answers[1].response.flatAnswer でも動作し、$ の一覧から選ぶとこの形になります。ただし位置で回答を選ぶため、フォームに質問を追加したり並べ替えたりすると壊れます。ラベルで探す方法なら、その後も動き続けます。

4. 公開してテストする ​

フォームの回答は 公開済み のフローを実行するため、先に 公開 をクリックします。その後フォームを送信し、実行履歴 で実行を開きます。レコード作成 のステップを選ぶと作成されたレコードを確認でき、テーブルにも新しい行が追加されています。

うまくいかないとき ​

症状考えられる原因
送信しても実行が表示されないフローが公開されていない、または最新の変更が公開されていない。
パスの後で実行が止まる条件のフォーム名が完全には一致していない。実行のトリガー出力で form.name を確認してください。
列が空になる式の質問ラベルがフォームと完全には一致していない。
列に $trigger.output… がそのまま入る式の前後にテキストがある。関数は項目全体のときだけ実行されます。

関連ページ ​