This post is on how to add a trigger condition and how are the expression used as TriggerBody()
We will divide the example into below points, As by name itself it states Flow will only run when the trigger condition is matched
EXAMPLE: We want the flow to trigger only when case status = 2 where our flow trigger is โWhen a record is createdโ
- Trigger flow on condition of OptionSet Value, option Label or Boolean field
- Trigger flow on condition of Lookup name, GUID, Type or Customer Type
- Trigger flow on the condition to check contains the operation
- Trigger flow on condition to check GreaterOrEqual, LessOrEqual
- Trigger condition โORโ โANDโ Logical Operators example
- Troubleshot: check TriggerBody() Body with fields and Values

Check1: Trigger flow on condition of OptionSet Value , option Label or Boolean field
- If we check triggerbody()
Optionset will have two variables in the body , we can use either of them to set a trigger condition
example :
โstatecodeโ : 1
โ_statecode_labelโ : โResolvedโ@equals(triggerBody()?[โstatecodeโ],1)
@equals(triggerBody()?[โ_statecode_labelโ],โResolvedโ)
- For Boolean field its will be field schema name = true / false
example :
โnew_iscontactโ : true
@equals(triggerBody()?[โnew_iscontactโ],true)
Check2: : Trigger flow on condition of Lookup name, GUID , Type or Customer Type
- If we check triggerbody()
The lookup will have two variables in the body , we can use either of them to set a trigger condition
example :
โ_new_lookup_valueโ : <GUID>
โ_new_lookup_typeโ : <Entity> i.e contacts , accounts , businessunites@equals(triggerBody()?[โ_new_lookup_valueโ], โ3184b10e-eaa8-ea11-a812-000d3a5a77a3โ)
@equals(triggerBody()?[โ_new_lookup_typeโ],โcontactsโ)
- Same goes for Customer field, Owner field
example :
โ_ownerid_typeโ: systemusers
@equals(triggerBody()?[โ_ownerid_typeโ],โsystemusersโ)
@equals(triggerBody()?[โ _customerid_typeโ],โaccountsโ)
Check3: Trigger flow on the condition to check contains operation
- Trigger condition just need TRUE or FALSE value to trigger the flow and we may also need our power automate flow to run when Title contain Refund it should create priority 1 case.if title contains refund as text, if it contains refund in title output will be TRUE otherwise False
@contains(triggerBody()?[โtitleโ],โrefundโ)
Check4: Trigger flow on condition to check GreaterOrEqual, LessOrEqual
- Trigger condition just need TRUE or FALSE value to trigger the flow and we may also need our power automate flow to run when NPS Score is GreaterOrEqual to 9 or LessOrEqual5
@greaterOrEquals(triggerBody()?[โmsfp_npsscoreโ],9)
@lessOrEquals(triggerBody()?[โmsfp_npsscoreโ],5)
Check5: Trigger condition "OR" "AND" Logical Operators example
- Condition like if Title contains Refund OR/AND Credit
@or(contains(triggerBody()?[โtitleโ],โRefundโ),contains(triggerBody()?[โtitleโ],โCreditโ))
@and(contains(triggerBody()?[โtitleโ],โRefundโ),contains(triggerBody()?[โtitleโ],โCreditโ))
Troubleshot: check TriggerBody() Body with fields and Values
- There were chances with OOB entities like Ai builder or Forms pro which have some background workflow on create or update and we might be putting a condition where value might not be in BODY of triggerbody()
- We can check and successful or failed history for body content
