> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-chore-actions-triggers-autoupdate.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> 変数を使用して、フォームと Flows 内のユーザーデータにアクセスして変換する方法を学びます。

# 変数とヘルパー関数

変数を使うと、フォーム や Flows に含まれるデータにアクセスして、カスタムのビジネスロジックや自動化を実現できます。

変数を使用する際の基本的な注意点は次のとおりです。

* 変数は波かっこ `{{ variable }}` で囲みます。
* 変数が存在しない場合や解決できない場合は、`undefined` 変数と同じように扱われます。
* `null` または `undefined` の変数を扱うには、null 合体演算子を使用できます。たとえば `{{fields.foo ?? fields.bar}}` のように記述します。

<h2 id="available-variables">
  利用可能な変数
</h2>

Forms や Flows では、顧客から収集したデータを参照したり変換したりするために、さまざまな種類の変数を使用できます。

| Variable            | Syntax            | Where         | Description                  |
| ------------------- | ----------------- | ------------- | ---------------------------- |
| Context             | `{{context.*}}`   | Forms / Flows | 現在のトランザクションのコンテキストデータを参照します  |
| Form fields         | `{{fields.*}}`    | Forms / Flows | フォームフィールドや非表示フィールドのデータを参照します |
| Shared variables    | `{{vars.*}}`      | Forms / Flows | 共有変数として保存されているデータを参照します      |
| Flow actions output | `{{actions.*}}`   | Flows         | 前のフローアクションの出力レスポンスのデータを参照します |
| Helper functions    | `{{functions.*}}` | Forms / Flows | データを変換するためのヘルパー関数            |

<h3 id="context-variables">
  コンテキスト変数
</h3>

フォーム と Flows は、現在のトランザクションからコンテキスト変数を自動的に引き継ぎます。以下のコンテキスト変数を利用できます。

* `user` オブジェクト。以下のプロパティを利用できます。

  * `user.user_id`
  * `user.username`
  * `user.name`
  * `user.given_name`
  * `user.family_name`
  * `user.nickname`
  * `user.email`
  * `user.email_verified`
  * `user.phone_number`
  * `user.phone_verified`
  * `user.picture`
  * `user.user_metadata`
  * `user.app_metadata`
  * `user.created_at`
  * `user.updated_at`
  * `user.last_password_reset`
  * `user.identities`
* `organization` オブジェクト。以下のプロパティを利用できます。

  * `organization.id`
  * `organization.name`
  * `organization.display_name`
  * `organization.metadata`
* `client` オブジェクト。以下のプロパティを利用できます。

  * `client.client_id`
  * `client.name`
* `tenant` オブジェクト。以下のプロパティを利用できます。

  * `tenant.name`
* `transaction` オブジェクト。以下のプロパティを利用できます。

  * `transaction.state`
  * `transaction.correlation_id`
* `custom_domain` オブジェクト。以下のプロパティを利用できます。

  * `custom_domain.domain`
  * `custom_domain.domain_metadata`

<Accordion title="コンテキストオブジェクトの例">
  ```json lines expandable theme={null}
  {
    "user": {
      "user_id": "auth0|658409...",
      "name": "ana@travel0.com",
      "nickname": "ana",
      "email": "ana@travel0.com",
      "email_verified": true,
      "picture": "https://s.gravatar.com/avatar/8eb1b522f6...",
      "user_metadata": {},
      "app_metadata": {},
      "created_at": "2023-12-21T09:46:40.487Z",
      "updated_at": "2024-05-07T10:44:26.271Z",
      "last_password_reset": "2023-12-21T09:49:08.932Z",
      "identities": [
        {
          "user_id": "6584...",
          "isSocial": false,
          "provider": "auth0",
          "connection": "Username-Password-Authentication"
        }
      ]
    },
    "client": {
      "client_id": "xpeg5...",
      "name": "My App"
    },
    "tenant": {
      "name": "tenant-testing"
    },
    "transaction": {
      "state": "hKFo2SBId2M0...",
      "correlation_id": "txn_12345_xyz"
    },
    "custom_domain": {
      "domain": "example.com",
      "domain_metadata": {
        "key": "value"
      }
    }
  }
  ```
</Accordion>

たとえば、`{{context.user.user_id}}` は `user` オブジェクトの `user_id` を参照しています。

<Frame>
  <img src="https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/khsGGGmvn88p2r99/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?fit=max&auto=format&n=khsGGGmvn88p2r99&q=85&s=a6a301ed36659bbf107b321ca51f7099" alt="Dashboard > Forms > Flows" data-og-width="1141" width="1141" data-og-height="219" height="219" data-path="docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/khsGGGmvn88p2r99/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=280&fit=max&auto=format&n=khsGGGmvn88p2r99&q=85&s=98caae12f3953b35b5c3f6470743e66e 280w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/khsGGGmvn88p2r99/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=560&fit=max&auto=format&n=khsGGGmvn88p2r99&q=85&s=db6bcca6b8237a20f457c88429ca3300 560w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/khsGGGmvn88p2r99/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=840&fit=max&auto=format&n=khsGGGmvn88p2r99&q=85&s=53bdd55f2b4187672ad424425813d5bc 840w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/khsGGGmvn88p2r99/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=1100&fit=max&auto=format&n=khsGGGmvn88p2r99&q=85&s=85977685b072e2007d8285018501a5f5 1100w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/khsGGGmvn88p2r99/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=1650&fit=max&auto=format&n=khsGGGmvn88p2r99&q=85&s=e7741a6b217e8af82ad248adf5a78f28 1650w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/khsGGGmvn88p2r99/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=2500&fit=max&auto=format&n=khsGGGmvn88p2r99&q=85&s=612dac9e4a9324b27e433fd10c4c4eeb 2500w" />
</Frame>

<h3 id="form-fields-variables">
  フォームフィールド変数
</h3>

フィールド変数には、フォーム内の入力フィールドでユーザーが入力したデータと、非表示フィールドのデータが含まれます。各フィールドのデータは、フィールドの種類によって異なります。たとえば、`{{fields.first_name}}` は、ID が `first_name` のフィールドの入力値を参照します。

<Frame>
  <img src="https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/P2SoBI22bDum5Ow_/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?fit=max&auto=format&n=P2SoBI22bDum5Ow_&q=85&s=95accd9e4cee272b294a788b6505dc65" alt="Dashboard > Actions > Forms > フォーム" data-og-width="1404" width="1404" data-og-height="497" height="497" data-path="docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/P2SoBI22bDum5Ow_/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=280&fit=max&auto=format&n=P2SoBI22bDum5Ow_&q=85&s=ab8e2e6339cf07476b7fb2259e9ab942 280w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/P2SoBI22bDum5Ow_/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=560&fit=max&auto=format&n=P2SoBI22bDum5Ow_&q=85&s=3f32beb5e4bc8cb3ecb70ab592fcd5ce 560w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/P2SoBI22bDum5Ow_/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=840&fit=max&auto=format&n=P2SoBI22bDum5Ow_&q=85&s=690f0e6deede1e9891ed02cdf8dc0bd6 840w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/P2SoBI22bDum5Ow_/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=1100&fit=max&auto=format&n=P2SoBI22bDum5Ow_&q=85&s=728a65a0f81c561854da26b7d98e8318 1100w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/P2SoBI22bDum5Ow_/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=1650&fit=max&auto=format&n=P2SoBI22bDum5Ow_&q=85&s=08506d0130ca020237cdb550d0e37dc1 1650w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/P2SoBI22bDum5Ow_/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=2500&fit=max&auto=format&n=P2SoBI22bDum5Ow_&q=85&s=bcb0ac84a4d42432c738a83b4e6b74cd 2500w" />
</Frame>

<h3 id="flow-output-actions-variables">
  フロー出力アクション変数
</h3>

フローアクションが実行されると、後続のアクションから参照できる出力オブジェクトのレスポンスが生成されます。たとえば、`{{actions.generate_otp.code}}` は、ID が `generate_otp` のアクションの出力コードを参照します。

<Frame>
  <img src="https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/JeCjEaTFYoe6VDKn/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?fit=max&auto=format&n=JeCjEaTFYoe6VDKn&q=85&s=06a01d145c90fd8a67a685098f8cfebf" alt="Dashboard > Actions > Forms > Flows" data-og-width="1404" width="1404" data-og-height="253" height="253" data-path="docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/JeCjEaTFYoe6VDKn/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=280&fit=max&auto=format&n=JeCjEaTFYoe6VDKn&q=85&s=e70eef7b637a69837d9a9af8be32b8ca 280w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/JeCjEaTFYoe6VDKn/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=560&fit=max&auto=format&n=JeCjEaTFYoe6VDKn&q=85&s=d2ca13ac24343d85e181a1d79d3d7e21 560w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/JeCjEaTFYoe6VDKn/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=840&fit=max&auto=format&n=JeCjEaTFYoe6VDKn&q=85&s=04e25c575ef05514ab1b65fdec8983f2 840w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/JeCjEaTFYoe6VDKn/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=1100&fit=max&auto=format&n=JeCjEaTFYoe6VDKn&q=85&s=392a47855f8a854a8193407d2ed23b9e 1100w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/JeCjEaTFYoe6VDKn/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=1650&fit=max&auto=format&n=JeCjEaTFYoe6VDKn&q=85&s=684c6fabcc3b7ce9f2b4fd7d1a23303f 1650w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/JeCjEaTFYoe6VDKn/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=2500&fit=max&auto=format&n=JeCjEaTFYoe6VDKn&q=85&s=a65ff2946c8aad616c75d55d5cd8d07d 2500w" />
</Frame>

<h3 id="shared-variables">
  共有変数
</h3>

後続の Flows や、同じトランザクション内のフォームコンポーネントで共有するための変数を保存できます。共有変数は一時的なもので、特定のフォームジャーニーに関連付けられます。これらの値にアクセスできるのは、そのジャーニー内のみです。たとえば、`{{vars.external_id}}` は、ID が `external_id` の共有変数の値を参照します。

<Frame>
  <img src="https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/P2SoBI22bDum5Ow_/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?fit=max&auto=format&n=P2SoBI22bDum5Ow_&q=85&s=3f10a39d9f89391b61fc0f1e4babf66a" alt="Dashboard > Actions > Forms > Flows" data-og-width="1215" width="1215" data-og-height="162" height="162" data-path="docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/P2SoBI22bDum5Ow_/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=280&fit=max&auto=format&n=P2SoBI22bDum5Ow_&q=85&s=dbd7de0b571f23974a871a754b518cb5 280w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/P2SoBI22bDum5Ow_/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=560&fit=max&auto=format&n=P2SoBI22bDum5Ow_&q=85&s=4ad3f35f5cbc6aac9c4058b75fc238a5 560w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/P2SoBI22bDum5Ow_/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=840&fit=max&auto=format&n=P2SoBI22bDum5Ow_&q=85&s=670fc23b0301f94792ca0fa4bd15f345 840w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/P2SoBI22bDum5Ow_/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=1100&fit=max&auto=format&n=P2SoBI22bDum5Ow_&q=85&s=3a9d9972217b82bfe9d4bd750dae9719 1100w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/P2SoBI22bDum5Ow_/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=1650&fit=max&auto=format&n=P2SoBI22bDum5Ow_&q=85&s=86d2fb72155760ee361023e7646c35f2 1650w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/P2SoBI22bDum5Ow_/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=2500&fit=max&auto=format&n=P2SoBI22bDum5Ow_&q=85&s=bdfae31539986bafe9b9ffe3ad7faded 2500w" />
</Frame>

<Warning>
  共有変数:

  * は内部 (サーバー側) で管理され、ブラウザー (クライアント側) には公開されません。
  * フォームコンポーネント内で共有変数を参照した場合、解決されてブラウザーに公開されることがあります。
  * 機微な情報が含まれている可能性があるため、不要または意図しない公開を避けるために、共有変数にアクセスする際は注意してください。
</Warning>

<h3 id="helper-functions">
  ヘルパー関数
</h3>

ヘルパー関数を使うと、データを変換したり、簡単な処理を行ったりできます。たとえば、`{{functions.toString(fields.privacy_policies)}}` は、ID が `privacy_policies` のフィールドの値を `toString()` 関数で変換します。

<Frame>
  <img src="https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/Bi6A9RAv5JG5Lq49/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?fit=max&auto=format&n=Bi6A9RAv5JG5Lq49&q=85&s=2001499828a377a5d0df567cec457471" alt="Dashboard > Actions > Forms > Flows" data-og-width="1404" width="1404" data-og-height="290" height="290" data-path="docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/Bi6A9RAv5JG5Lq49/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=280&fit=max&auto=format&n=Bi6A9RAv5JG5Lq49&q=85&s=f3ffd8b5117b5736f8a46d8cf70c5dba 280w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/Bi6A9RAv5JG5Lq49/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=560&fit=max&auto=format&n=Bi6A9RAv5JG5Lq49&q=85&s=3326b65d7ca4ba97569980d4f2d15706 560w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/Bi6A9RAv5JG5Lq49/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=840&fit=max&auto=format&n=Bi6A9RAv5JG5Lq49&q=85&s=d251eb5b07938c27ba3f713a4a9c8542 840w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/Bi6A9RAv5JG5Lq49/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=1100&fit=max&auto=format&n=Bi6A9RAv5JG5Lq49&q=85&s=096346c0a6758dd3600bcf824e52b2c2 1100w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/Bi6A9RAv5JG5Lq49/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=1650&fit=max&auto=format&n=Bi6A9RAv5JG5Lq49&q=85&s=d44bc04c66e706f7edadb1b2fc0ffcd8 1650w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/Bi6A9RAv5JG5Lq49/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=2500&fit=max&auto=format&n=Bi6A9RAv5JG5Lq49&q=85&s=2c47130793607d7516fa85e7c7ef2f66 2500w" />
</Frame>

使用できるヘルパー関数は次のとおりです。

| 関数                                       | 説明                                                                                                                                                                                                              | 例                                                                                                                |
| ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `toArray(value)`                         | 値を配列に変換します。                                                                                                                                                                                                     | `{{ functions.toArray('abc') }} // ['abc']`                                                                      |
| `toBoolean(value)`                       | 値を真偽値に変換します。                                                                                                                                                                                                    | `{{ functions.toBoolean(1) }} // true&lt;br /&gt;&lt;br /&gt;\{\{ functions.toBoolean(0) }} // false`            |
| `length(value)`                          | 引数の値の長さを返します。                                                                                                                                                                                                   | `{{ functions.length('auth0') }} // 5`                                                                           |
| `mask(value)`                            | Executionsで値が表示されないようにマスクします。                                                                                                                                                                                   | `{{ functions.mask('my_awesome_secret') }} // ███`                                                               |
| `toNumber(value)`                        | 値を数値に変換します。                                                                                                                                                                                                     | `{{ functions.toNumber('123') }} // 123`                                                                         |
| `random(min, max, [boolean])`            | min 以上 max 以下の範囲のランダムな数値を返します。                                                                                                                                                                                  | `{{ functions.random(0, 6) }} // 4 &lt;br /&gt;&lt;br /&gt;\{\{ functions.random(0, 6, true) }} // 3.8523497...` |
| `slice(value, start, end)`               | 開始インデックスから終了インデックスまでの、値の配列または文字列の一部を返します。                                                                                                                                                                       | `{{ functions.slice( 'example', 3, 5) }} // 'mp'`                                                                |
| `toString(value)`                        | 値を文字列に変換します。                                                                                                                                                                                                    | `{{ functions.toString(123) }} // '123'`                                                                         |
| `substring(value, start, end)`           | 値の開始インデックスから終了インデックスまでの部分を返します。[slice 関数と substring 関数の違い](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring#differences_between_substring_and_slice)についてご覧ください | `{{ functions.substring( 'example’', 3, 5) }} // 'mp'`                                                           |
| `toTimestamp()`                          | 現在の UNIX タイムスタンプを返します。                                                                                                                                                                                          | `{{ functions.toTimestamp() }} // 1628761483`                                                                    |
| `toTimestamp(date)`                      | 指定した日付をUNIX時刻で返します。                                                                                                                                                                                             | `{{ functions.toTimestamp('2021-04-30T10:02:50.876Z') }} // 1619776970`                                          |
| `toTimestamp(date)`                      | 指定した日付をUNIX時刻で返します。                                                                                                                                                                                             | `{{ functions.toTimestamp('2021-04-30T10:02:50.876Z') }} // 1619776970`                                          |
| `toLowerCase(value)`                     | 小文字に変換された新しい文字列を返します。                                                                                                                                                                                           | `{{ functions.toLowerCase('JohnDoe 1234') }} // johndoe 1234`                                                    |
| `toUpperCase(value)`                     | 大文字に変換された新しい文字列を返します。                                                                                                                                                                                           | `{{ functions.toUpperCase('JohnDoe 1234') }} // JOHNDOE 1234`                                                    |
| `replaceAll(value, string, replacement)` | パターンに一致するすべての箇所を置換文字列に置き換えた新しい文字列を返します。                                                                                                                                                                         | `{{ functions.replaceAll('2021-04-30', '-', '/') }} // 2021/04/30`                                               |
| `replace(value, string, replacement)`    | パターンに一致する箇所を置換文字列に置き換えた新しい文字列を返します。pattern が文字列の場合は、最初に出現した箇所のみが置き換えられます。                                                                                                                                       | `{{ functions.replace('2021-04-30', '-', '/') }} // 2021/04-30`                                                  |
| `split(value, separator, limit?)`        | 区切り文字で分割した部分文字列の順序付きリストを返します。                                                                                                                                                                                   | `{{ functions.split('2021-04-30', '-') }} // ['2021', '04', '30']`                                               |
| `now()`                                  | 現在の日時を ISO 8601 形式で返します。                                                                                                                                                                                        | `{{ functions.now() }} // 2021-04-30T10:31:28.576Z`                                                              |
| `includes(collection, item, fromIndex?)` | 配列に特定の値が含まれているかどうかを返します。                                                                                                                                                                                        | `{{ functions.includes(['auth0', 'identity', 'authentication'], 'identity') }} // true`                          |
| `indexOf(collection, item, fromIndex?)`  | 配列内で指定した要素が最初に見つかるインデックスを返し、存在しない場合は -1 を返します。                                                                                                                                                                  | `{{ functions.indexOf(['auth0', 'identity', 'authentication'], 'identity') }} // 1`                              |
| `merge(base, value)`                     | ベースのデータ型に応じて、配列やオブジェクトをマージするか、文字列を連結した結果を返します。                                                                                                                                                                  | `{{ functions.merge(['auth0', 'identity'], ['authentication']) }} // ['auth0', 'identity', 'authentication']`    |
| `md5(value)`                             | MD5 ハッシュ値を返します。                                                                                                                                                                                                 | `{{ functions.md5('auth0') }} // 7bbb597...`                                                                     |
| `sha1(value)`                            | SHA1ハッシュ値を返します。                                                                                                                                                                                                 | `{{ functions.sha1('auth0') }} // b4ec5339...`                                                                   |
| `sha256(value)`                          | SHA256ハッシュ値を返します。                                                                                                                                                                                               | `{{ functions.sha256('auth0') }} // d9082bdc...`                                                                 |
| `sha512(value)`                          | SHA512ハッシュ値を返します。                                                                                                                                                                                               | `{{ functions.sha512('auth0') }} // c0d588069d...`                                                               |
| `uuid()`                                 | ランダムな v4 UUID を返します。                                                                                                                                                                                            | `{{ functions.uuid() }} // 36b8f84d-df4e-4d49-b662-bcde71a8764`                                                  |

<h2 id="variables-best-practices">
  変数のベストプラクティス
</h2>

<h3 id="use-meaningful-ids">
  意味のあるIDを使用する
</h3>

FormフィールドやFlowアクションを追加すると、IDは自動的に生成されます。

IDは、どの情報が入っているか分かるように、より具体的で分かりやすい値に更新してください。たとえば、ユーザーの名を保存するFormフィールドを作成する場合は、IDを`first_name`に変更します。

<h3 id="be-mindful-when-updating-existing-ids">
  既存のIDを更新する際は注意してください
</h3>

変数がすでに使用されていてIDを変更する必要がある場合は、そのIDをどこで参照しているかを確認し、`undefined` や空の値が発生しないよう、該当箇所のIDもあわせて更新してください。

<h3 id="check-flow-executions">
  Flow の実行を確認する
</h3>

想定外の変数の値が表示された場合は、[**Executions**](/docs/ja-jp/customize/forms/flows/flow-execution-and-debugger) ビューを使って変数の問題を調査してください。

<h3 id="use-the-autocomplete-menu">
  オートコンプリートメニューを使用する
</h3>

オートコンプリートメニューを使うと、既存の変数を見つけて正しく参照できます。

<Frame>
  <img src="https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/khsGGGmvn88p2r99/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?fit=max&auto=format&n=khsGGGmvn88p2r99&q=85&s=d403b071aa488b53d86646d0f3022324" alt="Dashboard > Actions > Forms > Flows" data-og-width="1361" width="1361" data-og-height="502" height="502" data-path="docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/khsGGGmvn88p2r99/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=280&fit=max&auto=format&n=khsGGGmvn88p2r99&q=85&s=f6864cfed0e1e179343008e4daa65f34 280w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/khsGGGmvn88p2r99/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=560&fit=max&auto=format&n=khsGGGmvn88p2r99&q=85&s=b52cca498d5385142cb539587f37e979 560w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/khsGGGmvn88p2r99/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=840&fit=max&auto=format&n=khsGGGmvn88p2r99&q=85&s=2559dc8fb6653c6cbd52ded9376af99d 840w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/khsGGGmvn88p2r99/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=1100&fit=max&auto=format&n=khsGGGmvn88p2r99&q=85&s=e1f7feaf894fe552b8cb823c26e24264 1100w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/khsGGGmvn88p2r99/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=1650&fit=max&auto=format&n=khsGGGmvn88p2r99&q=85&s=7fdb686087bcfe9713da3657cfabfbdf 1650w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/khsGGGmvn88p2r99/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=2500&fit=max&auto=format&n=khsGGGmvn88p2r99&q=85&s=fd084bbaf652d564c5c8de61c8bde4c2 2500w" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/khsGGGmvn88p2r99/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?fit=max&auto=format&n=khsGGGmvn88p2r99&q=85&s=3aee4375133f88ee71d5c4afb0e72d96" alt="Dashboard > Actions > Forms > Form" data-og-width="1394" width="1394" data-og-height="630" height="630" data-path="docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/khsGGGmvn88p2r99/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=280&fit=max&auto=format&n=khsGGGmvn88p2r99&q=85&s=ecec4770579ae3aa009a0a09e30eb467 280w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/khsGGGmvn88p2r99/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=560&fit=max&auto=format&n=khsGGGmvn88p2r99&q=85&s=1460a0f49ef1aeb0bdf43cbdbdaea1c8 560w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/khsGGGmvn88p2r99/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=840&fit=max&auto=format&n=khsGGGmvn88p2r99&q=85&s=42de36d8c7f37b2a34f9c4c1dee2c694 840w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/khsGGGmvn88p2r99/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=1100&fit=max&auto=format&n=khsGGGmvn88p2r99&q=85&s=4def4d1c4a28e7ce01648cd65607aa98 1100w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/khsGGGmvn88p2r99/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=1650&fit=max&auto=format&n=khsGGGmvn88p2r99&q=85&s=7ac691bbaf304f6be7e8b7190fa1cdf7 1650w, https://mintcdn.com/docs-dev-chore-actions-triggers-autoupdate/khsGGGmvn88p2r99/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=2500&fit=max&auto=format&n=khsGGGmvn88p2r99&q=85&s=3a6a9e6af2609320435520248b68ba96 2500w" />
</Frame>
