When a client needs data converted before it moves from one application to another, such as reformatting a date or pulling the domain out of an email address, the usual answer in Zoho Flow has been a custom function. Custom functions are excellent for this if you're a developer or enjoy coding, but a lot of everyday conversions shouldn't need one. That is why Zoho Flow now supports field-level formulas: users can apply over 120 formulas to the variables mapped into their data fields.
When you configure a step, the Insert Variable panel on the right lists every variable available from previous steps. Click a variable to insert it into the field, and the formula editor opens as an overlay with that variable already in the formula bar. From there you can:
The suggestion list shows recommended functions first, then the rest grouped by category: String, Number, Date, List, and Map. Variables appear as readable tags in the preview, for example Fetch Invoice, then Billing Address, then City, rather than internal variable names.
Some variables return several values at once, such as a contact with a name, email address, and phone number. Use a full stop to step into them, for example trigger.contact.email to pass just the email address, or trigger.invoice.billingAddress.city to go several levels deep. If a path is too long to display, the editor shortens it, and hovering shows the full path.
| Need | Formula | Result |
|---|---|---|
| Reformat a date | format_date.format("yyyy-MM-dd") | Date in the format the next app expects |
| Extract a domain from an email | email.getSuffix("@") | zylker.com from frank@zylker.com |
| Pull an order ID out of a longer message | message.getPrefix(" has been placed").getSuffix("Your order ") | ORD-8845 from "Your order ORD-8845 has been placed" |
| Set a due date 10 days out | submissionDate.addDays(10) | Submission date plus 10 days |
You can apply several functions to the same variable, with each one using the output of the one before. For example, productCode.trim().toUpperCase() removes stray spaces first and then converts the value to uppercase, in a single formula.
| Use the formula editor to | Use a custom function to |
|---|---|
| Format dates and times; do arithmetic on dates and numbers; combine values from several fields; extract part of a string; change case; trim spaces or check for specific text; round numbers or find minimums and maximums; pull values from lists and maps | Apply conditional logic across several values; loop through a list of records; call external APIs; run complex calculations with intermediate values; build multi-step logic that goes beyond a single field |