How If/Else Workflow Actions Work in Sparkforge

By Sparkforge Support Team ·Last reviewed May 3, 2026

If/Else actions split a workflow into up to 10 branches based on contact data, tags, or time. The system pushes a contact down the first matching branch in top-down order, so order your conditions from most to least specific.

The If/Else action is the decision point of a Sparkforge workflow. It evaluates a contact against the conditions you set and routes them down the first branch that matches. This article covers how to build AND vs OR conditions, how branch ordering works, and how the time comparison operators behave.

Includes vs Does Not Include

Several conditional fields in Workflow Builder use Includes or Does not include — Tags, checkbox fields, dropdown pickers, and other multi-option custom fields.

Building an AND condition

An AND condition requires every clause to be true. If you check that Tags does not include consultation_booked AND does not include consultation_confirmed, the contact only moves down the YES path when neither tag is present. If even one tag is on the contact, the AND fails.

Building an OR condition

For OR logic, split each tag into its own clause and select OR between them. The contact moves down the YES path if any one of the clauses matches. The system only needs a single clause to evaluate true.

If/Else Branches

An If/Else action supports up to 10 outcomes per event. Order matters: branches evaluate top-down.

What if two branches both match?

The contact only goes down the first matching branch — never both. List your most specific conditions at the top and your catch-all conditions at the bottom.

Time Comparison Operators

Time comparison operators let a workflow act on the current date and time. They compare a chosen unit (day of week, day of month, month, year, hour) against an input value.

Is

Returns true when the unit equals the input. Current Day of the Week Is Monday returns true only on Mondays. For day of the month, specify the date (1st, 2nd, etc.).

Is Not

Returns true when the unit does not equal the input. Current Day of the Week Is Not Saturday returns true on every day except Saturday.

Is After

Returns true when the unit falls after the input. For hours this only counts minutes that start on the next hour — Current Hour Is After 6 PM returns true at 7:00 PM and later, not at 6:59 PM.

Is On or After

Returns true when the unit is at or after the input. For hours this includes the same hour — Current Hour Is On or After 6 PM returns true at 6:59 PM and any time later.

Is Before

Returns true when the unit falls before the input. Current Month Is Before June returns true for January through May.

Is On or Before

Returns true when the unit is at or before the input. Current Hour Is On or Before 6 PM returns true at 6:59 PM because the minute still falls inside the 6 PM hour.

Is Empty / Is Not Empty

Use these to check whether a field has any value at all. Useful when you want a branch to fire only if a phone number, email, or custom field has been filled in.

Troubleshooting

Most If/Else issues come down to one of three things: AND vs OR mixed up, branches in the wrong order, or a time field with no value where Is/Is Not is being used. When testing, drop a contact into the workflow with known field values and watch which branch fires.

Frequently Asked Questions

Can a contact go down two branches at once?
No. Sparkforge evaluates branches top to bottom and routes the contact down the first match. Order your conditions from most specific to most general.
How many branches can one If/Else action have?
Up to 10 outcomes per event. If you need more, chain a second If/Else off the catch-all branch.
Why is Current Hour Is After 6 PM not firing at 6:30 PM?
Is After only triggers on minutes that fall in the next hour. Use Is On or After 6 PM if you want 6:00 PM through 6:59 PM included.
What is the difference between AND and OR with tag conditions?
AND requires every clause to be true at the same time. OR requires only one clause to be true. Split tags into separate clauses when you want OR logic.
Can I check if a custom field is blank?
Yes. Use the Is Empty operator to fire a branch when a field has no value, or Is Not Empty to fire only when a value exists.

Was this article helpful?