> For the complete documentation index, see [llms.txt](https://docs-embed.anyflow.jp/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs-embed.anyflow.jp/wizard-editor/widget/condition.md).

# コンディション

### 概要

コンディションは、エンドユーザーが条件のルールを指定できるウィジェットです。

<figure><img src="https://files.readme.io/677199e-image.png" alt="" width="563"><figcaption></figcaption></figure>

上記の例では、\
Salesforceで取得したリードの「リードソースの値」が`Web`であった場合は`True`を判定し\
Salesforceで取得したリードの「リードソースの値」が`Web以外`であった場合は`False`を判定します。

エンドユーザー変数の型&#x304C;**「コンディション」**&#x306E;場合に利用できます。

<figure><img src="https://files.readme.io/e533ba3-image.png" alt="" width="375"><figcaption></figcaption></figure>

## 使用方法

左辺・右辺のそれぞれについて、タイトルや入力方法などを設定します。

<figure><img src="https://files.readme.io/f4c3859-image.png" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="success" %}

### ヒント

エンドユーザーのUXの観点から、\
左辺・右辺のどちらかは入力方法を「アシスト」「セレクト」等の**選択式の方法**にすることを推奨します。
{% endhint %}

コンディションの判定結果をソリューション内で使用するには、[Formula](/solution-editor/common-specs/formula.md)の「condition」もセットで利用してください。

<figure><img src="https://files.readme.io/062ac33-image.png" alt="" width="375"><figcaption></figcaption></figure>

condition関数の第一引数には、型が「コンディション」であるエンドユーザー変数を入力します。

condition関数の第二引数には、エンドユーザー変数の値を受け取って判定を行うためのlambda関数（無名関数）を入力します。

{% code overflow="wrap" %}

```python
condition( {エンドユーザー変数}, lambda関数 )
```

{% endcode %}

lambda関数は以下の形式で入力します。

{% code overflow="wrap" %}

```python
lambda left, right: # エンドユーザーの入力値をlambdaの引数に指定。leftは左辺の入力値, rightは右辺の入力値。
{
  'left': fx(left), # condition関数の左辺として評価したい値
  'right': fx(right) # condition関数の右辺として評価したい値
})
```

{% endcode %}

以下の例では、

右辺はエンドユーザーの入力値（`Web`）のまま評価します。\
左辺は、「Salesforceのレコード（`リード`）」から「エンドユーザーの左辺の入力値（`リードソース`）」をキーにして値（`Web`, `Phone Inquery`, `Partner Refferal` etc...) を取得し、それを評価します。

<figure><img src="https://files.readme.io/677199e-image.png" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="https://files.readme.io/062ac33-image.png" alt="" width="375"><figcaption></figcaption></figure>

エンドユーザーは条件として、左辺と右辺が「等しい」を指定しているため、\
Salesforceで取得したリードの「リードソースの値」が`Web`であった場合は`True`になり、\
Salesforceで取得したリードの「リードソースの値」が`Web以外`であった場合は`False`になります。

## 使用例

### Salesforce → HubSpot にリード情報が連携される条件を設定する

Salesforceの「レコードが作成された際に実行」トリガーを設定します。オブジェクトは「リード」にします。

続けてHubSpotの「人物情報を作成」アクションも設定します。

<figure><img src="https://files.readme.io/72919a0-image.png" alt="" width="563"><figcaption></figcaption></figure>

コンディションのエンドユーザー変数を作成し、ウィザードに割り当てます。

左辺はSalesforceの「オブジェクトのフィールド一覧」アシストとし、参照フィールドのデフォルト値は「Lead」にしておきます。

右辺はテキスト入力のままにしておきます。

<figure><img src="https://files.readme.io/9658b37-image.png" alt="" width="563"><figcaption></figcaption></figure>

これにより、左辺にはエンドユーザーが「リードオブジェクトの任意のフィールド」を指定できるようになり、

右辺でその「フィールドの値」を指示できるようになりました。

<figure><img src="https://files.readme.io/0f2832b-image.png" alt="" width="563"><figcaption></figcaption></figure>

これらの条件が満たされた場合のみトリガーを実行させるために、Salesforceのトリガー条件を設定します。

トリガー条件のifのデータにcondition関数を入力し、状態：等しい、値：True で設定します。

<figure><img src="https://files.readme.io/de9d34f-image.png" alt="" width="563"><figcaption></figcaption></figure>

これにより、Salesforceのレコードが作成された際に、エンドユーザーが指定した条件が満たされた場合のみ、HubSpotにデータを連携することができます。

### HubSpot → Salesforce にコンタクト情報が連携される条件を設定する

HubSpotの「コンタクトが作成・更新された際に実行」トリガーを設定します。（詳細な設定は後で行います）

続けてSalesforceの「レコードを作成」アクションを設定します。オブジェクトは「Lead」にします。

<figure><img src="https://files.readme.io/810d8de-image.png" alt="" width="563"><figcaption></figcaption></figure>

コンディションのエンドユーザー変数を作成し、ウィザードに割り当てます。

左辺はHubSpotの「人物情報読み込み可能フィールド一覧」アシストとします。

右辺はテキスト入力のままにしておきます。

<figure><img src="https://files.readme.io/0b4613c-image.png" alt="" width="563"><figcaption></figcaption></figure>

これにより、左辺にはエンドユーザーが「コンタクトオブジェクトの任意のフィールド」を指定できるようになり、

右辺でその「フィールドの値」を指示できるようになりました。

<figure><img src="https://files.readme.io/c625b4a-image.png" alt="" width="563"><figcaption></figcaption></figure>

ソリューションエディタに戻り、HubSpotのトリガー設定を詳細に行います。

HubSpot の[API仕様](https://developers.hubspot.jp/docs/api/crm/contacts)として、対象のレコードが持つ全てのプロパティを取得できるわけではなく、指定したプロパティのみを取得できる仕様になっています。\
（Record ID, Create Date, Last Modified Date はデフォルトで取得されますが、それ以外のプロパティは指定しない限り取得できません）

そのため、エンドユーザーが指定したプロパティを取得できるように、リストソースや要素フィールドを設定します。

<figure><img src="https://files.readme.io/be6ecca-image.png" alt="" width="563"><figcaption></figcaption></figure>

そのうえで、エンドユーザーが指定した条件が満たされた場合のみトリガーを実行させるために、HubSpotのトリガー条件を設定します。

トリガー条件のifのデータにcondition関数を入力し、状態：等しい、値：True で設定します。

<figure><img src="https://files.readme.io/29d0a0f-image.png" alt="" width="563"><figcaption></figcaption></figure>

これにより、HubSpotのレコードが作成された際に、エンドユーザーが指定した条件が満たされた場合のみ、Salesforceにデータを連携することができます。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs-embed.anyflow.jp/wizard-editor/widget/condition.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
