This is the complete catalog of data manipulation functions. Most users access it via the trigger / in any text field.
nom_fonction(arg1; arg2; arg3)
;), not commas.combine(John; Smith) et combine("John"; "Smith") both work), except for empty or all-space values — use "" for an empty string and " " for a single space separator.Functions that manipulate character strings.
| Function | Signature | Description | Example |
|---|---|---|---|
combine |
combine(texte1; texte2; separateur) |
Assembles two or more values into a single text. | combine(John; Smith; " ") → John Smith |
uppercase |
uppercase(texte) |
Makes all characters uppercase. | uppercase(acme inc) → ACME INC |
lowercase |
lowercase(texte) |
Makes all characters lowercase. | lowercase(John@ACME.com) → john@acme.com |
titlecase |
titlecase(texte) |
Capitalizes the first letter of each word. | titlecase(john smith) → John Smith |
trim |
trim(texte) |
Removes spaces at the beginning and end of text. | trim( Hello World ) → Hello World |
prefix |
prefix(texte; valeur) |
Adds text before a value. | prefix(10042; ORD-) → ORD-10042 |
suffix |
suffix(texte; valeur) |
Adds text after a value. | suffix(Acme; " Ltd.") → Acme Ltd. |
replace |
replace(texte; rechercher; remplacer) |
Find a word or character and replace it with another. | replace(prenom_nom; "_"; " ") → prenom nom |
remove |
remove(texte; valeur) |
Removes all occurrences of a character or word. | remove(004-420-712; "-") → 004420712 |
first_n |
first_n(texte; n) |
Returns only the first N characters. | first_n(Jonathan; 3) → Jon |
last_n |
last_n(texte; n) |
Returns only the last N characters. | last_n(ACC-7890; 4) → 7890 |
truncate |
truncate(texte; n) |
Truncates the text to N characters and adds ... at the end. |
truncate(Annual Revenue Report; 14) → Annual Revenue... |
split |
split(texte; separateur; index) |
Breaks the text into parts and returns one. | split(John Smith; " "; 0) → John |
extract_between |
extract_between(texte; debut; fin) |
Returns the text between two markers. | extract_between(Status [urgent]; "["; "]") → urgent |
extract_email |
extract_email(texte) |
Finds and returns the first email address in the text. | extract_email(Contact john@acme.com for help) → john@acme.com |
extract_url |
extract_url(texte) |
Finds and returns the first URL in the text. | extract_url(Visit https://acme.com today) → https://acme.com |
length |
length(texte) |
Count the number of characters in the text. | length(Hello World) → 11 |
contains |
contains(texte; valeur) |
Checks if the text contains a given word or character. | contains(bug, urgent, backend; urgent) → TRUE |
starts_with |
starts_with(texte; valeur) |
Checks if the text starts with a given value. | starts_with(support@acme.com; info@) → FALSE |
ends_with |
ends_with(texte; valeur) |
Checks if the text ends with a given value. | ends_with(report.pdf; .pdf) → TRUE |
remove_spaces |
remove_spaces(texte) |
Removes unnecessary spaces and newlines in the text. | remove_spaces(hello world) → hello world |
word_count |
word_count(texte) |
Count the number of words in the text. | word_count(The quick brown fox) → 4 |
pad_left |
pad_left(texte; longueur; caractere) |
Complete the text on the left with a character to reach a given length. | pad_left(42; 5; "0") → 00042 |
pad_right |
pad_right(texte; longueur; caractere) |
Complete the text on the right with a character to reach a given length. | pad_right(42; 5; "0") → 42000 |
repeat |
repeat(texte; nombre) |
Repeat the text a given number of times. | repeat(ab; 3) → ababab |
reverse |
reverse(texte) |
Reverses the order of characters in the text. | reverse(hello) → olleh |
slug |
slug(texte) |
Transforms the text into a URL compatible slug (lowercase letters, hyphens between words). | slug(Hello World!) → hello-world |
Functions for arithmetic operations and formatting of numeric values.
| Function | Signature | Description | Example |
|---|---|---|---|
add |
add(nb1; nb2) |
Add two numbers. | add(49.99; 5.00) → 54.99 |
subtract |
subtract(nb1; nb2) |
Subtract the second number from the first. | subtract(100.00; 10.50) → 89.5 |
multiply |
multiply(nb1; nb2) |
Multiply two numbers. | multiply(3; 49.99) → 149.97 |
divide |
divide(nb1; nb2) |
Divide the first number by the second. | divide(4999; 100) → 49.99 |
round |
round(nombre; decimales) |
Rounds a number to a given number of decimal places. | round(49.9871; 2) → 49.99 |
round_up |
round_up(nombre) |
Always rounds up to the next whole number. | round_up(7.1) → 8 |
round_down |
round_down(nombre) |
Always rounds down to the nearest whole number. | round_down(7.9) → 7 |
absolute |
absolute(nombre) |
Returns the absolute value of a number (removes the negative sign). | absolute(-42.00) → 42 |
percentage |
percentage(valeur; total) |
Calculates the percentage that the value represents of the total. | percentage(75; 100) → 75% |
format_number |
format_number(nombre; decimales) |
Adds thousands separators to make large numbers easier to read. | format_number(1250000; 2) → 1 250 000,00 |
format_currency |
format_currency(nombre; symbole) |
Adds a currency symbol and formats the number. | format_currency(49.99; "€") → 49,99 € |
cents_to_dollars |
cents_to_dollars(nombre) |
Converts a value stored in cents to the primary currency unit. | cents_to_dollars(4999) → 49,99 |
min |
min(nb1; nb2) |
Returns the smaller of the two numbers. | min(87; 100) → 87 |
max |
max(nb1; nb2) |
Returns the larger of the two numbers. | max(-5; 0) → 0 |
to_number |
to_number(texte) |
Converts a text value into a number that can be used for calculations. | to_number(1990) → 1990 |
random |
random() |
Returns a random decimal number between 0 (inclusive) and 1 (excluding). | random() → 0.4827 |
random_int |
random_int(min; max) |
Returns a random integer between two values (inclusive). | random_int(1; 100) → 57 |
power |
power(base; exposant) |
Raise a number to the power of another number. | power(2; 10) → 1024 |
sqrt |
sqrt(nombre) |
Returns the square root of a number. | sqrt(144) → 12 |
modulo |
modulo(nb1; nb2) |
Returns the remainder of dividing one number by another. | modulo(10; 3) → 1 |
clamp |
clamp(nombre; min; max) |
Constrains a number between a minimum and maximum value. | clamp(150; 0; 100) → 100 |
sign |
sign(nombre) |
Returns -1 if the number is negative, 1 if it is positive, and 0 if it is zero. | sign(-42) → -1 |
Functions to manipulate dates and times.
| Function | Signature | Description | Example |
|---|---|---|---|
format_date |
format_date(date; format) |
Modifies the display of a date according to a chosen format. | format_date(2025-01-15; DD/MM/YYYY) → 15/01/2025 |
format_date_long |
format_date_long(date) |
Displays the full date in full. | format_date_long(2025-01-15) → vendredi 15 janvier 2025 |
format_time |
format_time(date; format) |
Extracts the time from a date and formats it. | format_time(2025-01-15T14:30:00Z; HH:mm) → 14:30 |
relative_time |
relative_time(date) |
Indicates how long ago or how far into a date a date is. | relative_time(2025-01-12) → il y a 3 jours |
add_days |
add_days(date; n) |
Adds a number of days to a date. | add_days(2025-01-15; 30) → 14 fév. 2025 |
subtract_days |
subtract_days(date; n) |
Moves back a date by a given number of days. | subtract_days(2025-01-15; 7) → 08 janv. 2025 |
add_hours |
add_hours(date; n) |
Adds a number of hours to a date/time. | add_hours(2025-01-15T14:30:00Z; 2) → 2025-01-15T16:30:00Z |
days_between |
days_between(date1; date2) |
Count the number of days between two dates. | days_between(2025-01-01; 2025-01-15) → 14 |
get_day |
get_day(date) |
Returns the day number in a date (1–31). | get_day(2025-01-15) → 15 |
get_month |
get_month(date) |
Returns the month of a date. | get_month(2025-01-15) → janvier |
get_year |
get_year(date) |
Returns the year of a date. | get_year(2025-01-15) → 2025 |
get_day_of_week |
get_day_of_week(date) |
Returns the name of the day of the week. | get_day_of_week(2025-01-15) → mercredi |
start_of_month |
start_of_month(date) |
Returns the first day of the corresponding month. | start_of_month(2025-01-15) → 01 janv. 2025 |
end_of_month |
end_of_month(date) |
Returns the last day of the corresponding month. | end_of_month(2025-01-15) → 31 janv. 2025 |
convert_timezone |
convert_timezone(date; fuseau) |
Converts a date/time from one time zone to another. | convert_timezone(2025-01-15T14:30:00Z; Europe/Paris) → 15 janv., 15:30 |
now |
now() |
Returns the current date and time at the time the workflow ran. | now() → 2025-01-15T14:30:00Z |
today |
today() |
Returns today's date, without associated time. | today() → 2025-01-15 |
to_date |
to_date(texte) |
Converts a text value into a date usable by the workflow. | to_date(15 janvier 2025) → 2025-01-15T00:00:00Z |
add_minutes |
add_minutes(date; n) |
Adds a number of minutes to a date/time. | add_minutes(2025-01-15T14:30:00Z; 15) → 2025-01-15T14:45:00Z |
hours_between |
hours_between(date1; date2) |
Count the number of hours between two dates. | hours_between(2025-01-15T09:00:00Z; 2025-01-15T17:30:00Z) → 8 |
start_of_day |
start_of_day(date) |
Returns the date as midnight (start of day). | start_of_day(2025-01-15T14:30:00Z) → 2025-01-15T00:00:00Z |
end_of_day |
end_of_day(date) |
Returns the date just before midnight (end of day). | end_of_day(2025-01-15T14:30:00Z) → 2025-01-15T23:59:59Z |
is_before |
is_before(date1; date2) |
Checks if the first date is earlier than the second. | is_before(2025-01-01; 2025-02-01) → TRUE |
is_after |
is_after(date1; date2) |
Checks if the first date is later than the second. | is_after(2025-02-01; 2025-01-01) → TRUE |
is_same_day |
is_same_day(date1; date2) |
Checks if two dates fall on the same calendar day, ignoring time. | is_same_day(2025-01-15T09:00:00Z; 2025-01-15T21:00:00Z) → TRUE |
Functions to manipulate collections (arrays of elements).
| Function | Signature | Description | Example |
|---|---|---|---|
filter_list |
filter_list(liste; champ; valeur) |
Only keeps elements where a field matches a given value. | filter_list(tickets; statut; ouvert) → [3 sur 10 éléments] |
sort_list |
sort_list(liste; champ; ordre) |
Sorts a list from largest to smallest, or A to Z, based on a field. | sort_list(commandes; montant; desc) → [trié : 500, 200, 50] |
pluck |
pluck(liste; champ) |
Extracts a given field from each element of a list. | pluck(utilisateurs; email) → [ana@x.com, bob@x.com] |
join_list |
join_list(liste; separateur) |
Transforms a list into a single text with a separator. | join_list([bug;urgent;backend]; ", ") → bug, urgent, backend |
first_item |
first_item(liste) |
Returns the first element of a list. | first_item([apple;banana;cherry]) → apple |
last_item |
last_item(liste) |
Returns the last element of a list. | last_item([apple;banana;cherry]) → cherry |
item_at |
item_at(liste; index) |
Returns the element located at a given position in a list. | item_at([apple;banana;cherry]; 1) → banana |
count |
count(liste) |
Counts the number of elements in a list. | count([bug;urgent;backend]) → 3 |
sum |
sum(liste; champ) |
Adds a numeric field over all elements in a list. | sum(commandes; montant) → 4820.5 |
average |
average(liste; champ) |
Calculates the average of a numeric field over all elements. | average(scores; valeur) → 82.4 |
max_in_list |
max_in_list(liste; champ) |
Finds the highest value of a field out of all elements. | max_in_list(commandes; montant) → 1200 |
min_in_list |
min_in_list(liste; champ) |
Finds the lowest value of a field out of all elements. | min_in_list(commandes; montant) → 9.99 |
deduplicate |
deduplicate(liste; champ) |
Removes elements with the same value on a given field. | deduplicate(leads; email) → [7 sur 10 éléments] |
flatten |
flatten(liste) |
Transforms a list of lists into a single flat list. | flatten([[a;b];[c;d]]) → [a,b,c,d] |
split_text_to_list |
split_text_to_list(texte; separateur) |
Transforms comma-separated text into a list of items. | split_text_to_list(bug,urgent,backend; ",") → [bug,urgent,backend] |
reverse_list |
reverse_list(liste) |
Reverses the order of elements in a list. | reverse_list([a;b;c]) → [c,b,a] |
contains_item |
contains_item(liste; valeur) |
Checks if a list contains a given value. | contains_item([bug;urgent;backend]; urgent) → TRUE |
Functions for conditions, comparisons and fallback values.
| Function | Signature | Description | Example |
|---|---|---|---|
if |
if(condition; valeur_si_vrai; valeur_si_faux) |
Returns one value if a condition is true, and another otherwise. | if(1500 > 1000; Haute valeur; Standard) → Haute valeur |
if_empty |
if_empty(valeur; repli) |
Uses a fallback value if the field is empty. | if_empty(""; Sans nom) → Sans nom |
if_null |
if_null(valeur; repli) |
Uses a fallback value if the field has no value. | if_null(null; N/A) → N/A |
switch |
switch(valeur; cle1; resultat1; cle2; resultat2; ...) |
Associates one value with another — like a lookup table written online. | switch(FR; FR; Europe; US; Amérique du Nord) → Europe |
is_empty |
is_empty(valeur) |
Checks if a field has no value. | is_empty("") → TRUE |
is_not_empty |
is_not_empty(valeur) |
Checks if a field contains a value. | is_not_empty(john@acme.com) → TRUE |
is_equal |
is_equal(valeur1; valeur2) |
Checks if two values are strictly identical. | is_equal(actif; actif) → TRUE |
and |
and(condition1; condition2) |
Returns true only if both conditions are true at the same time. | and(25 >= 18; FR = FR) → TRUE |
or |
or(condition1; condition2) |
Returns true if at least one of the conditions is true. | or(standard = vip; 600 > 500) → TRUE |
not |
not(condition) |
Reverses a true to false, or a false to true. | not(is_empty(john@acme.com)) → TRUE |
coalesce |
coalesce(valeur1; valeur2; valeur3; ...) |
Returns the first field that contains a value, ignoring empty fields. | coalesce(""; John; Utilisateur) → John |
is_number |
is_number(valeur) |
Checks if the value is a number (text that looks like a number returns false). | is_number(42) → TRUE |
is_list |
is_list(valeur) |
Checks if the value is a list. | is_list([a;b;c]) → TRUE |
No features are currently deprecated. When a feature is replaced or scheduled for removal, it will appear here with the recommended replacement and the version in which it will be removed. Saved workflows using a deprecated feature continue to work — the editor simply displays a crossed out badge to indicate the problem.
This page does not seem clear to you or do you need help? Do not hesitate to contact us at support@zozio.tech !