How to Set Up and Combine Trigger Conditions in HappyFox Workflows

By Harinarayanan V 1 views

This article explains how to add trigger conditions to a workflow, how Match All and Match Any logic works, and how to use Run History to verify that your conditions are evaluating correctly.


Prerequisites


What trigger conditions do

A trigger — an event that starts the workflow — fires whenever the triggering event occurs in your connected app. Trigger conditions let you narrow that further: the workflow only proceeds to run its actions when the incoming event data matches the conditions you define.

Without conditions, the workflow runs on every matching trigger event. With conditions, it runs only when the ticket, record, or event meets your specified criteria.

Note: If there are no conditions to check, click Proceed to skip the conditions panel and continue building your workflow.


Understanding Match All and Match Any

The Add Trigger Condition panel has two sections:

Match All — Every condition in this group must be true for the workflow to proceed. This is equivalent to AND logic. Use this when the workflow should only run on a specific, narrow combination of circumstances.

Match Any — At least one condition in this group must be true for the workflow to proceed. This is equivalent to OR logic. Use this when the workflow should run if any one of several different situations applies.

Both sections can be used together in the same workflow. When they are, the workflow proceeds only when the Match All group passes AND at least one condition in the Match Any group passes.

Note: If you add conditions to Match All only and leave Match Any empty, the workflow evaluates only the Match All group, and vice versa.


Adding a condition

  1. In the workflow builder, click the Add Trigger Condition step. The Add Trigger Condition panel opens.

    The Add Trigger Condition panel, showing the Match All and Match Any sections.
     
  2. Decide whether the condition belongs in Match All or Match Any, then click + in the relevant section. A condition row appears with three fields: the field selector, the operator dropdown, and the value field.

    The condition row after clicking +, showing the field selector, operator, and value field.
     
  3. Click the field selector dropdown and choose the field you want to evaluate. The available fields are drawn from the trigger event's payload — for example, Ticket Category Name, Status Change To Name, or Ticket Status Name.

    The field selector dropdown open, showing available payload fields such as Ticket Updated, Event Type, Account URL, and By Name.
     
  4. Click the operator dropdown and select how the field should be evaluated. The available operators are:
     
    • Is — exact match (case sensitive)
    • Is (case insensitive) — exact match, ignoring case
    • Is Not — does not match (case sensitive)
    • Is Not (case insensitive) — does not match, ignoring case
    • Is Set — the field has any value
    • Is Not Set — the field has no value
    • Contains — the field value includes the specified string (case sensitive)
    • Contains (case insensitive) — includes the string, ignoring case
    • Does Not Contain — the field value does not include the specified string (case sensitive)
    • Does Not Contain (case insensitive) — does not include, ignoring case
    • Less Than — the field value is numerically less than the specified value
    • Less Than or Equal To — less than or equal to
    • Equal To — numerically equal to
    • Greater Than — numerically greater than
    • Greater Than or Equal To — greater than or equal to
    • List Contains — the field is a list and includes the specified value
    • List Does Not Contain — the field is a list and does not include the specified value
  5. Enter the comparison value in the value field. Follow one of the two approaches below depending on whether the value is fixed or dynamic:
     
    • Constant value: Type the value directly into the field. For example, type Premium Products to match a specific ticket category.
       
    • Dynamic value: Click + Insert Merge Fields and select the field from the trigger payload whose runtime value should be used for the comparison.
       
  6. Note: If the value to be compared is a constant, enter it manually. If it is a dynamic value from the trigger event, select the corresponding merge field.


    The value field with + Insert Merge Fields visible, and an inline note about constant vs. dynamic values.
     
  7. Click Add to save the condition row.

    A saved condition row showing Ticket Status Name is new or waiting in the Match Any section.
     

 


Entering multiple values in one condition (OR within a condition)

A single condition row can match against more than one value. To do this, enter the values as a comma-separated list in the value field.

For example, entering new,waiting in a Ticket Status Name is condition evaluates as: "Ticket Status Name is new or waiting." The condition passes if the incoming field value matches any item in the list.

This is different from adding two separate condition rows. Two separate rows in Match All both have to pass; a comma-separated list in a single row passes if any one value matches.


Adding more conditions

To add another condition to the same section, click + again within that section and repeat steps 3–6.

To add a condition to the other section, click + in that section separately.

There is no limit on how many conditions you can add to either section.


Completing the conditions panel

Once you have added all required conditions, click Save & Test to save your conditions, then click Proceed. The workflow builder returns to the canvas with the trigger condition step marked as configured.

Note: Your conditions are saved when you click Save & Test. Clicking Proceed closes the panel and returns you to the workflow canvas. You do not need to click Proceed immediately — your saved conditions are retained if you close the panel and return later.


Verifying conditions using Run History

After enabling and testing your workflow, use Run History to confirm that your conditions are evaluating as expected.

  1. Navigate to Run History for the workflow. See How to Use Run History to Debug Workflow Issues.
  2. Click on a run entry to open its detail view.
  3. Click the Conditions tab.
  4. Select Match All or Match Any to view each condition group.

The Conditions tab shows a table with three columns: Condition, Value, and Matches Condition. For each condition row, you can see the exact field value that came in from the trigger event and whether it passed or failed the condition.

The Run History Conditions tab showing two Match All conditions, their incoming values, and a green checkmark in the Matches Condition column for each.

This view is the most direct way to answer the question "why did my workflow run when the conditions didn't seem to match?" — the incoming data is visible exactly as the workflow received it.


Frequently asked questions

My workflow ran even though the conditions didn't appear to be met. What should I check? Open Run History for that run, click the Conditions tab, and review the Value column. The value shown is what the trigger event actually sent — it may differ from what you expected due to case sensitivity, leading or trailing spaces, or a field that resolved differently at runtime. Check your operator choice and whether a case-insensitive variant would be more appropriate.

What is the difference between Match All and Match Any? Match All requires every condition in the group to pass (AND logic). Match Any requires at least one condition in the group to pass (OR logic). You can use both together: the workflow proceeds only when Match All passes and at least one Match Any condition passes.

Can I use a merge field as the comparison value in a condition? Yes. Click + Insert Merge Fields in the value field and select the field from the trigger payload. The workflow compares the incoming field value against the runtime value of the merge field you selected, rather than a fixed string.


Your trigger conditions are now configured. Next, add actions to your workflow, to define what happens when the conditions are met.