|
/ Documentation /Core Features/ Using the Filter App

Using the Filter App

Workflows are most powerful when they operate with precision. Instead of executing every action for every event, you can define conditions that determine exactly when a workflow should continue, for example, processing an order only if it exceeds a certain amount, or sending a notification only when a tag contains a specific value.

The Filter app gives you that control. It evaluates one or more conditions you define, and only allows the workflow to continue when those conditions are met. If the conditions are not satisfied, the workflow stops immediately, cleanly and without errors.

Think of it as a gatekeeper inside your workflow: only records or events that match your criteria are allowed to proceed to the next step.

What Is the Filter App?

The Filter app is a built-in OttoKit action that evaluates conditions you define within a workflow. If all conditions are met, the workflow continues to the next step. If any condition fails, execution stops at that point.

It acts as a logical checkpoint inside your automation, ensuring that only the right data moves forward.

You can use the Filter app to:

  • Run actions only when a form field matches a specific value
  • Skip low-value orders and process only those above a defined amount
  • Send notifications only when a status changes to a specific value
  • Exclude test data and process only real submissions
  • Trigger different follow-up sequences based on tags or categories

How to Add the Filter App to Your Workflow

Follow the steps below to add a Filter action to any workflow.

Step 1: Open your workflow and click the + button on any edge to add a new action.

image

Step 2: In the Add Action panel, click Filter from the list of built-in apps.

image

Step 3: The Filter panel opens. It goes directly to the Configure tab. The Filter app has only one event (Filter), so no event selection is needed.

image

Configure Tab

The Configure tab is where you build your filter conditions. Each condition row has three fields:

Condition, Operator and Value fields

  • Condition (required) — Enter the value you want to check. Type @ to map data from a previous step, such as a field from your trigger or an earlier action. In the example below we are taking choosing the checkout total amount
image
  • Operator (required) — Choose how to compare the condition value. See the full list of operators below.
image

Available Operators

The Operator dropdown provides 16 comparison options:

OperatorWhat It Does
is equal toChecks if the condition value exactly matches the comparison value
is not equal toChecks if the condition value does not match the comparison value
containsChecks if the condition value includes the comparison value anywhere within it
does not containChecks if the condition value does not include the comparison value
is greater thanChecks if the condition value is numerically larger than the comparison value
is greater than or equal toChecks if the condition value is larger than or the same as the comparison value
is lesser thanChecks if the condition value is numerically smaller than the comparison value
is lesser than or equal toChecks if the condition value is smaller than or the same as the comparison value
starts withChecks if the condition value begins with the comparison value
does not start withChecks if the condition value does not begin with the comparison value
ends withChecks if the condition value ends with the comparison value
does not end withChecks if the condition value does not end with the comparison value
is emptyChecks if the condition value is blank or has no value (no comparison value needed)
is not emptyChecks if the condition value contains any value (no comparison value needed)
inChecks if the condition value is one of several values in a list
not inChecks if the condition value is not in a given list
  • Value (required) — Enter the value to compare against. You can type a fixed value or use @ to map it from a previous step.
annotation on 2026 06 04 at 12 42 55

Adding Multiple Conditions

You can add more than one condition to a single Filter step. Every condition in the same group must be true for the workflow to continue.

To add another condition in the same group, click the And button on the right side of any condition row. A new condition row will appear below.

image

Note: When using multiple conditions in the same group, all conditions must be met (AND logic). The workflow only continues if every condition in the group is true.

Adding OR Groups

If you need more flexible logic, where any one of several groups of conditions can pass,  you can add an OR group.

Click the  “+ Or Group” button below the condition rows. A new group of conditions will appear. The workflow will continue if all conditions within any one group are met. For example: pass the filter if (Checkout total amount “is greater than” 15000 AND product “is equal to” ASB) OR (product quantity “is greater” than 5).

image

After setting up your filter conditions, click Continue to reach the Test tab.

image

Test Tab

Click Test Action to verify your filter logic runs correctly with sample data.

image

Once the test passes, click Save to add the Filter step to your workflow.

image

Practical Use Cases

High-Value Order Alerts

Scenario: You run a WooCommerce store. Whenever a new order is placed, you want to notify your sales team on Slack — but only for orders above $500. Lower-value orders should not trigger any notification.

Step 1: Set Up the Trigger

  1. Create a new workflow in OttoKit.
  2. Select WooCommerce as the trigger app.
  3. Choose Order Paid as the trigger event.
  4. Connect your WordPress site and click Fetch Data to load a sample order. Make sure the sample order has a total above $500.
  5. Click Save.

Step 2: Add the Filter App

  1. Click the + button below the trigger.
  2. Search for Filter and select the Filter app.
  3. On the Configure tab, set the condition as follows:
ConditionOperatorValue
Order TotalIs Greater Than500
  1. Click Test Condition. Confirm the result shows True for the sample order above $500.
  2. Click Save.

Step 3: Add the Slack Notification

  1. Click + below the Filter step.
  2. Add a Slack: Send Message action.
  3. Set the channel to your sales team channel.
  4. Map the order total, customer name, and order ID into the message body.
  5. Click Publish Workflow.

That is it. Your sales team now gets notified on Slack for every high-value order — and nothing else.

Tag-Based Contact Routing

Scenario: You manage contacts in your CRM. Contacts tagged “enterprise” should be routed into a premium onboarding sequence. All other contacts should follow the standard flow. Since Filter stops the workflow when the condition is not met, you will create two separate workflows, one for enterprise contacts and one for standard contacts.

Step 1: Set Up the Trigger

  1. Create a new workflow in OttoKit.
  2. Select your CRM as the trigger app and choose the relevant New Contact or Tag Added event.
  3. Connect your account and click Fetch Data to load a sample contact. Make sure the sample contact has the “enterprise” tag.
  4. Click Save.

Step 2: Add the Filter App

  1. Click + below the trigger and add the Filter app.
  2. On the Configure tab, set the condition as follows:
ConditionOperatorValue
TagContainsenterprise
  1. Click Test Condition and confirm the result shows True for the enterprise contact.
  2. Click Save.

Step 3: Add the Onboarding Action

  1. Click + below the Filter step.
  2. Add your premium onboarding action. For example, add the contact to a premium email sequence or notify your success team.
  3. Click Publish Workflow.

Then, follow the same steps for the standard workflow or use the Branch app to have one workflow run for both conditions.

Skip Test Submissions

Scenario: Your team submits test entries through your forms during development. You want to make sure these never reach your CRM. Adding a Filter that checks for test email addresses stops those submissions before any action runs.

Step 1: Set Up the Trigger

  1. Create a new workflow in OttoKit.
  2. Select your form app as the trigger and choose the Form Submitted event.
  3. Connect your account and click Fetch Data to load a sample submission.
  4. Click Save.

Step 2: Add the Filter App

  1. Click + below the trigger and add the Filter app.
  2. On the Configure tab, set the condition as follows:
ConditionOperatorValue
EmailDoes Not Contain@test.com
  1. Click Test Condition. Confirm the result shows True for a real email address, and False for any address containing “@test.com”.
  2. Click Save.

Step 3: Add the CRM Action

  1. Click + below the Filter step.
  2. Add your CRM action. For example, Create Contact or Add to List.
  3. Map the form fields to the CRM fields.
  4. Click Publish Workflow.

That is it. Any submission using a “@test.com” email will be stopped at the Filter step and will never reach your CRM.

Empty Field Guard

Scenario: Your workflow sends a personalized email that includes a customer’s phone number. If a contact record has no phone number, the step will either fail or send an incomplete message. Adding a Filter that checks the field is not empty prevents this from happening.

Step 1: Set Up the Trigger

  1. Create a new workflow in OttoKit.
  2. Select your CRM or form app as the trigger and choose the relevant event.
  3. Connect your account and click Fetch Data to load a sample record. Make sure the sample record has a phone number filled in.
  4. Click Save.

Step 2: Add the Filter App

  1. Click + below the trigger and add the Filter app.
  2. On the Configure tab, set the condition as follows:
ConditionOperatorValue
Phone NumberIs Not Empty
  1. Click Test Condition and confirm the result shows True for the sample record with a phone number present.
  2. Click Save.

Step 3: Add the Downstream Action

  1. Click + below the Filter step.
  2. Add your action. For example, Send Email or Send SMS.
  3. Map the phone number and any other required fields.
  4. Click Publish Workflow.

Any record missing a phone number will now be stopped at the Filter step. Your downstream actions only run when the data is actually there.

Tips for Success

  • Always use @ to reference dynamic values — In the Condition field, type @ to pick live data from your trigger or previous steps rather than typing it manually.
  • Use “is empty” and “is not empty” as safety checks — These operators are great for making sure required fields are filled before your workflow continues.
  • Test with real data — Use the Test tab to run your filter against actual sample data from your trigger. This confirms the logic behaves as expected.
  • Combine with Branch for two-path logic — The Filter app stops the workflow if conditions are not met. If you need to send different records down two different paths instead of stopping, use the Branch app instead.

Need Help?

If you have questions about the Filter app or need help building your conditions, reach out to our support team on [email protected] or visit our support page. We are happy to help you get your workflow working exactly the way you need it.

You can also browse more guides in the OttoKit Knowledge Base.

Was this doc helpful?
What went wrong?

We don't respond to the article feedback, we use it to improve our support content.

Need help? Contact Support
Scroll to Top