> ## Documentation Index
> Fetch the complete documentation index at: https://docs-staging-feat-init-gt-translations.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-staging-feat-init-gt-translations/sDOAAkLQ2_fRrOaM/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?fit=max&auto=format&n=sDOAAkLQ2_fRrOaM&q=85&s=33086c8f1186a130882f01c844501ed4" 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-staging-feat-init-gt-translations/sDOAAkLQ2_fRrOaM/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=280&fit=max&auto=format&n=sDOAAkLQ2_fRrOaM&q=85&s=500054e328eccbca5c69e02c6ba03976 280w, https://mintcdn.com/docs-staging-feat-init-gt-translations/sDOAAkLQ2_fRrOaM/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=560&fit=max&auto=format&n=sDOAAkLQ2_fRrOaM&q=85&s=aba9c7249c053e88f8acdab236e1966a 560w, https://mintcdn.com/docs-staging-feat-init-gt-translations/sDOAAkLQ2_fRrOaM/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=840&fit=max&auto=format&n=sDOAAkLQ2_fRrOaM&q=85&s=19459c64156984d5010d60ba28f2c569 840w, https://mintcdn.com/docs-staging-feat-init-gt-translations/sDOAAkLQ2_fRrOaM/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=1100&fit=max&auto=format&n=sDOAAkLQ2_fRrOaM&q=85&s=4fac78e1d3ede561e2410ce054bc63d2 1100w, https://mintcdn.com/docs-staging-feat-init-gt-translations/sDOAAkLQ2_fRrOaM/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=1650&fit=max&auto=format&n=sDOAAkLQ2_fRrOaM&q=85&s=bdd6b4e187015e9ffd405425e3f7a272 1650w, https://mintcdn.com/docs-staging-feat-init-gt-translations/sDOAAkLQ2_fRrOaM/docs/images/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=2500&fit=max&auto=format&n=sDOAAkLQ2_fRrOaM&q=85&s=2bde35d00cd63a08ad47f3690938ee27 2500w" />
</Frame>

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

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

<Frame>
  <img src="https://mintcdn.com/docs-staging-feat-init-gt-translations/DsrHPVMTI4QKRY6y/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?fit=max&auto=format&n=DsrHPVMTI4QKRY6y&q=85&s=e20cae4d0da48550c5aa7da48c0e4048" 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-staging-feat-init-gt-translations/DsrHPVMTI4QKRY6y/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=280&fit=max&auto=format&n=DsrHPVMTI4QKRY6y&q=85&s=d4dfd073aaff44c4c5c8c3260c81a97d 280w, https://mintcdn.com/docs-staging-feat-init-gt-translations/DsrHPVMTI4QKRY6y/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=560&fit=max&auto=format&n=DsrHPVMTI4QKRY6y&q=85&s=e57ae9448bfa560c16977ad5965a5136 560w, https://mintcdn.com/docs-staging-feat-init-gt-translations/DsrHPVMTI4QKRY6y/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=840&fit=max&auto=format&n=DsrHPVMTI4QKRY6y&q=85&s=27d204abc94fc8445a284ed4f2f8f604 840w, https://mintcdn.com/docs-staging-feat-init-gt-translations/DsrHPVMTI4QKRY6y/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=1100&fit=max&auto=format&n=DsrHPVMTI4QKRY6y&q=85&s=d65baa443e281eb499d317ba22b804ec 1100w, https://mintcdn.com/docs-staging-feat-init-gt-translations/DsrHPVMTI4QKRY6y/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=1650&fit=max&auto=format&n=DsrHPVMTI4QKRY6y&q=85&s=6b1397dcd57b1750dbfb7927dfd25386 1650w, https://mintcdn.com/docs-staging-feat-init-gt-translations/DsrHPVMTI4QKRY6y/docs/images/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=2500&fit=max&auto=format&n=DsrHPVMTI4QKRY6y&q=85&s=cb19c1367af6750d48e5c65d025bf8d0 2500w" />
</Frame>

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

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

<Frame>
  <img src="https://mintcdn.com/docs-staging-feat-init-gt-translations/Z7xMzrN9GfTmJzgq/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?fit=max&auto=format&n=Z7xMzrN9GfTmJzgq&q=85&s=b46b1f9dd3ebaaafab521dfc93a9cd2e" 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-staging-feat-init-gt-translations/Z7xMzrN9GfTmJzgq/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=280&fit=max&auto=format&n=Z7xMzrN9GfTmJzgq&q=85&s=2f0a5bb7b6dedeb9eb009e891c8465d9 280w, https://mintcdn.com/docs-staging-feat-init-gt-translations/Z7xMzrN9GfTmJzgq/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=560&fit=max&auto=format&n=Z7xMzrN9GfTmJzgq&q=85&s=b2968460581ad3e32e17fc4131741b28 560w, https://mintcdn.com/docs-staging-feat-init-gt-translations/Z7xMzrN9GfTmJzgq/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=840&fit=max&auto=format&n=Z7xMzrN9GfTmJzgq&q=85&s=a67c9b1fdd44c864672dd1fe51766631 840w, https://mintcdn.com/docs-staging-feat-init-gt-translations/Z7xMzrN9GfTmJzgq/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=1100&fit=max&auto=format&n=Z7xMzrN9GfTmJzgq&q=85&s=1d41dc7f3823fa2b329d7b51774c6b59 1100w, https://mintcdn.com/docs-staging-feat-init-gt-translations/Z7xMzrN9GfTmJzgq/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=1650&fit=max&auto=format&n=Z7xMzrN9GfTmJzgq&q=85&s=da83b1df54f445c3ec054a95d2312957 1650w, https://mintcdn.com/docs-staging-feat-init-gt-translations/Z7xMzrN9GfTmJzgq/docs/images/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=2500&fit=max&auto=format&n=Z7xMzrN9GfTmJzgq&q=85&s=40abf1596741b6deff630a5787e34186 2500w" />
</Frame>

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

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

<Frame>
  <img src="https://mintcdn.com/docs-staging-feat-init-gt-translations/DsrHPVMTI4QKRY6y/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?fit=max&auto=format&n=DsrHPVMTI4QKRY6y&q=85&s=a82c4c4d08cbbad74d76064f5bae24c9" 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-staging-feat-init-gt-translations/DsrHPVMTI4QKRY6y/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=280&fit=max&auto=format&n=DsrHPVMTI4QKRY6y&q=85&s=ecebf9849faf260a72a7e416538d3640 280w, https://mintcdn.com/docs-staging-feat-init-gt-translations/DsrHPVMTI4QKRY6y/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=560&fit=max&auto=format&n=DsrHPVMTI4QKRY6y&q=85&s=732fba8670d56cfa28847bd40ea425c2 560w, https://mintcdn.com/docs-staging-feat-init-gt-translations/DsrHPVMTI4QKRY6y/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=840&fit=max&auto=format&n=DsrHPVMTI4QKRY6y&q=85&s=5bb6ee9614fbfb485694584c5eb47c59 840w, https://mintcdn.com/docs-staging-feat-init-gt-translations/DsrHPVMTI4QKRY6y/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=1100&fit=max&auto=format&n=DsrHPVMTI4QKRY6y&q=85&s=47ee5828d23255c88892f9b35ac6d429 1100w, https://mintcdn.com/docs-staging-feat-init-gt-translations/DsrHPVMTI4QKRY6y/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=1650&fit=max&auto=format&n=DsrHPVMTI4QKRY6y&q=85&s=ff601c999bd78a70f2958783f3c7e3f5 1650w, https://mintcdn.com/docs-staging-feat-init-gt-translations/DsrHPVMTI4QKRY6y/docs/images/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=2500&fit=max&auto=format&n=DsrHPVMTI4QKRY6y&q=85&s=a08fbe1fef380f6f075c480c55bf3d80 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-staging-feat-init-gt-translations/a36N0BfSEyE-0ccm/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?fit=max&auto=format&n=a36N0BfSEyE-0ccm&q=85&s=57a57c2abaaa9f3569b8c671aecef5f8" 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-staging-feat-init-gt-translations/a36N0BfSEyE-0ccm/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=280&fit=max&auto=format&n=a36N0BfSEyE-0ccm&q=85&s=55c5f50e6e5b4a2a68350ff1a18a3d95 280w, https://mintcdn.com/docs-staging-feat-init-gt-translations/a36N0BfSEyE-0ccm/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=560&fit=max&auto=format&n=a36N0BfSEyE-0ccm&q=85&s=0a2e2b9646bce41ce4b6ede2f0df3628 560w, https://mintcdn.com/docs-staging-feat-init-gt-translations/a36N0BfSEyE-0ccm/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=840&fit=max&auto=format&n=a36N0BfSEyE-0ccm&q=85&s=093ae7d94c1adae64778fdfabe4324f5 840w, https://mintcdn.com/docs-staging-feat-init-gt-translations/a36N0BfSEyE-0ccm/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=1100&fit=max&auto=format&n=a36N0BfSEyE-0ccm&q=85&s=d9c91caed914173c876bbfa0a0bba3ad 1100w, https://mintcdn.com/docs-staging-feat-init-gt-translations/a36N0BfSEyE-0ccm/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=1650&fit=max&auto=format&n=a36N0BfSEyE-0ccm&q=85&s=f6eeda65af2de5bc14aeba1d5fec019b 1650w, https://mintcdn.com/docs-staging-feat-init-gt-translations/a36N0BfSEyE-0ccm/docs/images/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=2500&fit=max&auto=format&n=a36N0BfSEyE-0ccm&q=85&s=85f5255e3addc1d9144e6a4160270c7c 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-staging-feat-init-gt-translations/sDOAAkLQ2_fRrOaM/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?fit=max&auto=format&n=sDOAAkLQ2_fRrOaM&q=85&s=2ff7729c62dbd0d16745e8f02d7c9530" 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-staging-feat-init-gt-translations/sDOAAkLQ2_fRrOaM/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=280&fit=max&auto=format&n=sDOAAkLQ2_fRrOaM&q=85&s=512ecd2b3955573e79bbd0272c4fd4f1 280w, https://mintcdn.com/docs-staging-feat-init-gt-translations/sDOAAkLQ2_fRrOaM/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=560&fit=max&auto=format&n=sDOAAkLQ2_fRrOaM&q=85&s=2da07c50947cf8b2ce6ff0ee0f471253 560w, https://mintcdn.com/docs-staging-feat-init-gt-translations/sDOAAkLQ2_fRrOaM/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=840&fit=max&auto=format&n=sDOAAkLQ2_fRrOaM&q=85&s=3956261caefd0d0f3497786ce8822afe 840w, https://mintcdn.com/docs-staging-feat-init-gt-translations/sDOAAkLQ2_fRrOaM/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=1100&fit=max&auto=format&n=sDOAAkLQ2_fRrOaM&q=85&s=7550d28cd240dbb188bc12f8c14dea66 1100w, https://mintcdn.com/docs-staging-feat-init-gt-translations/sDOAAkLQ2_fRrOaM/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=1650&fit=max&auto=format&n=sDOAAkLQ2_fRrOaM&q=85&s=6c16aa6dab212ea85782e41def531d8a 1650w, https://mintcdn.com/docs-staging-feat-init-gt-translations/sDOAAkLQ2_fRrOaM/docs/images/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=2500&fit=max&auto=format&n=sDOAAkLQ2_fRrOaM&q=85&s=64ee9db8dbe8ab5afb110e7cfaad485c 2500w" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/docs-staging-feat-init-gt-translations/sDOAAkLQ2_fRrOaM/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?fit=max&auto=format&n=sDOAAkLQ2_fRrOaM&q=85&s=486f010d79d7142e407581e88fc74cda" 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-staging-feat-init-gt-translations/sDOAAkLQ2_fRrOaM/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=280&fit=max&auto=format&n=sDOAAkLQ2_fRrOaM&q=85&s=ef3ca6158a943a1f7442fbf2ac4f34ba 280w, https://mintcdn.com/docs-staging-feat-init-gt-translations/sDOAAkLQ2_fRrOaM/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=560&fit=max&auto=format&n=sDOAAkLQ2_fRrOaM&q=85&s=ef1294473e87b2ae59f3f608e64435e6 560w, https://mintcdn.com/docs-staging-feat-init-gt-translations/sDOAAkLQ2_fRrOaM/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=840&fit=max&auto=format&n=sDOAAkLQ2_fRrOaM&q=85&s=67b1b133fe8c4147d23bfaf1a2aaba14 840w, https://mintcdn.com/docs-staging-feat-init-gt-translations/sDOAAkLQ2_fRrOaM/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=1100&fit=max&auto=format&n=sDOAAkLQ2_fRrOaM&q=85&s=80b7777b7a36d8407ac2b6219d303150 1100w, https://mintcdn.com/docs-staging-feat-init-gt-translations/sDOAAkLQ2_fRrOaM/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=1650&fit=max&auto=format&n=sDOAAkLQ2_fRrOaM&q=85&s=610063a6ab9f559d83791e3e0d78ac3a 1650w, https://mintcdn.com/docs-staging-feat-init-gt-translations/sDOAAkLQ2_fRrOaM/docs/images/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=2500&fit=max&auto=format&n=sDOAAkLQ2_fRrOaM&q=85&s=3e26a82a123f5a8c4f17f00eb07aeee3 2500w" />
</Frame>
