Skip to content

Conditions

A condition picks the path: if it is met, the flow continues down one branch; if not, down the other.

What it looks like

On the canvas, a condition shows as a diamond with two outputs:

  • If the condition is met: the steps that run when the condition is true.
  • If the condition isn’t met: the steps that run when it is false.

Either branch can be empty. An empty branch means “do nothing in this case”. When the chosen branch ends, the flow continues with the step after the condition, if there is one.

Set up a condition

  1. Click Add a step › Add condition. Edit condition opens.
  2. Click Add a condition. The field search opens: type part of the name or browse the list, where each field carries the icon of its type (text, number, amount, options, yes or no, date). Fields marked “checked at run time” are read when the condition is evaluated, not from the event.
  3. Choose the Comparison from its menu; the selected one has a check mark.
  4. Type or choose the Value. For an amount you also choose the Currency.
  5. To add another rule click Add another condition and choose And or Or. To remove one, click the X on its card. Up to 10 rules.
  6. Click Done.

Each rule is a card. The first one says If; the ones you add with And say And, and a rule added with Or starts a new group, separated by a line that says Or.

And, Or and groups

Join Met when Example
And Both rules are true. Total is at least 50,000 USD and Payment type is Deposit.
Or One complete group being met is enough. Payment type is Deposit or Payment type is Installment.

And binds tighter than Or: rules joined with And form a group, and the condition is met when any complete group is met. “If Total is greater than 100,000 MXN and Payment type is Deposit, or if Client contains ACME” is met by a large deposit sale or by any sale to ACME.

For “A and (B or C)”, repeat A in each group: “If A and B, or if A and C”. You can also put a condition inside a branch of another one.

Comparisons by data type

The editor only offers comparisons that make sense for each field.

Text

Number, Client, Currency, Reason, Message, Email, Country and similar.

Comparison Met when
is The text is exactly the value.
is not The text is different from the value.
contains The value appears anywhere in the text.
does not contain The value does not appear in the text.
is empty The item has no content.
is not empty The item has content.

Text comparisons are not case-sensitive: “acme” is “ACME”.

Number

Days past due, Days until it expires, Overdue documents, Pending verification items, Hour and similar.

Comparison Met when
is at least The number is equal to or greater than the value.
is greater than The number is greater than the value.
is at most The number is equal to or less than the value.
is less than The number is less than the value.
equals The number is exactly the value.
does not equal The number is different from the value.

Type the value as a number, without separators: 30, not 30 days. If the event does not carry the number, no numeric comparison is met and the flow goes down If the condition isn’t met.

Amount

Total, Balance due, Amount paid, Promised amount, Disputed amount, Refunded amount, Payout amount, List price and the totals from lookups.

An amount is compared with its currency. Besides the value you choose the Currency, and the rule reads “Total is less than MX$50,000.00”. A new rule starts in your business’s currency and you can change it.

Comparison Met when
is at least, is greater than, is at most, is less than, equals The amount is in the rule’s currency and meets the comparison.
does not equal The amount is different, or is in another currency.

Cord does not convert between currencies to decide: a quote of 49,000 USD is not “less than 50,000 MXN”, because they are amounts in different currencies, so that rule is not met. If you sell in several currencies, add one rule per currency joined with Or: “Total is less than 50,000 MXN” or “Total is less than 2,500 USD”.

Type the value as a number, without symbol or separators: 50000, not $50,000. Without a currency the rule cannot be published: “Choose the currency for “Total”.“ The totals from lookups are in your business’s currency.

Options

Status at the event, Current status, Payment type, Decision, Dispute outcome, Who caused it, Who wrote it and Payment terms.

Comparison Met when
is The item has the chosen option.
is not The item has any other option.

The value is picked from a list, so there are no typos.

Yes or no

Active (products), Can accept online payments and Can receive payouts.

Comparison Met when
is yes The item is true.
is no The item is false.

Status at the event versus current status

Quotes and invoices have two status items, and the difference matters:

Item Value
Status at the event The document’s status at the moment the event happened. It never changes.
Current quote status / Current invoice status The document’s status when the condition is evaluated. In the editor it is marked “checked at run time”.

Right after the event both match. The difference appears after a wait: if a workflow waits 3 days after sending a quote, “Status at the event” still says Sent, but “Current status” says Viewed, Approved or whatever happened in those days.

Rule of thumb: after a wait, always use the current status. That is what lets you ask “is it still unopened?” or “is it still unpaid?”.

Possible quote statuses: Draft, Sent, Viewed, Approved, Rejected, Expired, Paid and Invoiced. Invoice statuses: Draft, Open, Paid, Void and Uncollectible.

What changed, not just what it is

Three events also carry the previous value, so a condition can ask about the change and not only about the current value:

Trigger Fields with a previous value
A quote is edited and resent Total
A client is updated Company, Email, Payment terms
A product is updated List price, Active

On those fields the editor offers two more operators: changed and did not change. You also get the previous value as its own field (Previous total, Previous list price, and so on), usable both in conditions and in your text.

Example: “when a quote is resent, if the Total changed and the Total is lower than the Previous total, tell the owner” — a last-minute discount, which a plain condition on the total cannot tell apart from a deal that was always worth that.

If the event does not carry the previous value, changed and did not change both answer no: an event from before this capability would answer “changed” to everything, and that is worse than not answering.

Multiple branches

When there are more than two paths, use Add a step › Multiple branches instead of nesting conditions. Each branch has its name and its conditions, and after all of them comes Otherwise.

  • Cord checks the branches in order and follows the first one that is met, even if another one is also met. Put the strictest first: “Large” (Total is greater than $200,000.00 MXN) before “Medium” (Total is greater than $100,000.00 MXN).
  • If none is met, it follows Otherwise, which can stay empty.
  • Up to 5 branches fit. Reorder them with Move up and Move down in the panel.
  • Each branch needs at least one condition to publish.
  • In Runs, the step says which way it went: “Followed: Large”.

Nested conditions

You can put a condition inside a branch of another one, up to 4 levels deep. Example with two levels, triggered by A quote is approved:

  1. Condition: Total is at least 100,000.
    • If met: condition: Currency is USD.
      • If met: email the whole team.
      • If not met: email the account owner.
    • If not met: create a normal follow-up task.

All steps, in every branch, count toward the maximum of 30 steps per workflow.

Common publishing errors

Message What to do
Add at least one condition. The condition has no rules. Add one or delete the step.
A condition uses a field that does not exist for this event. You changed the trigger and the new one does not carry that item. Choose another field.
Choose how to compare “Total”. The comparison is missing.
Fill in the value for “Total”. The value is missing.
“Total” needs a number. You typed text in a numeric field. Remove symbols and separators.
Choose a valid value for “Payment type”. The chosen option does not exist for this field. Pick it again.

In the history

Each evaluated condition appears in the run as Met or Not met, so you know which branch it took. See Runs and errors.

Next