- Set Variable Value
- The Different Types of Value
- Variable Operations
Set Variable Value
This action allows you to store a value inside a variable or a custom field. This is very useful when you want to collect data from your users.

The Different Types of Value
Once you click on the set custom field action, you’ll be able to choose which custom field needs some to update in terms of value.

You can either put in some data or even another custom field as a value as well.


Should you need to create a new custom field, just type in the name and choose the type of custom field you’d like to create.
Variable Operations
ihakimi provides you with various built-in operations for variable modification.
There are 6 types of variable in ihakimi:
| Type | Storage | Example | Operation |
|---|---|---|---|
| Text | letters, words, sentences… | Hi, ihakimi. | cutting, change case, encode, decode… |
| Number | number | 123.45 | + – x ÷, mod, power, log, root, round… |
| Boolean | either “yes” or “no” | yes | assign |
| Date | date | 2021-03-30 | format, add months/weeks/days |
| DateTime | date and time | 2021-03-30 16:52:00 | format, add months/weeks/days/hours/minutes |
| JSON | a series of variables | {“name”:”ihakimi”, “age”:”10″} | load, get, update, remove, count, sum, average, sort, shuffle, reverse… |

Click “Basic Actions” in the Action step and here are the “Set Variable Value” and “Clear Variable Value”.
Clear Custom Field / Clear JSON
To clear text, number, boolean, date, datetime variable, please use the Clear Custom Field action.
To clear JSON variable, please use the Remove All Items operation in the JSON Operation.
input value
“input value” operation is used to assign value to a variable. This operation works for any variable type.
TIP – “input value” for text variable can be used to connect several text variables. See the below picture for where to put original value and operated value.

Math Formula

With this operation, you can now do formula calculation directly in the Action Step – “Set Variable Value” and Condition Step – “Value”.
Math operations and function supported:
+, -, *, e, pi, PI, abs(), min(), max(), ceil(), floor(), log(), pow(), round(), sqrt(), sin(), cos(), tan()
Please note that If the formula is invalid, the system will return 0 to number variable and empty to text variable.
Set Text Variable
trim text
| Description | e.g. Before | e.g. After |
|---|---|---|
| remove spaces before or after the text | ” abc” | “abc” |

sub string
| Description | e.g. Before | e.g. After |
|---|---|---|
| get part of the text | “Hi, ihakimi!” | “ihakimi” |

Note – Index starts from 0. Every character counts including space and punctuation.

replace string / replace string case sensitive
| Description | e.g. Before | e.g. After |
|---|---|---|
| replace part of the text | “Hi, ihakimi!” | “Hello, ihakimi!” |

Note – In case sensitive situation, you have to put exactly “Hi” rather than “hi”, “HI” or “hi”.

to lower / upper case
| Type | e.g. Before | e.g. After |
|---|---|---|
| to lower case | “Hi, ihakimi!” | “hi, ihakimi!” |
| to upper case | “Hi, ihakimi!” | “HI, IHAKIMI!” |

generate random text
| Description | e.g. Before | e.g. After |
|---|---|---|
| as the name | “code: XXXX-####-xxxx” | “code: UBWT-3657-lkzb” |

This feature is useful when you need to generate one-time verification code or reference code.
url encode / decode
| Type | e.g. Before | e.g. After |
|---|---|---|
| encode | “Hi, ihakimi!” | “Hi%2C%20 ihakimi!” |
| decode | “Hi%2C%20 ihakimi!” | “Hi, ihakimi!” |

base64 encode / decode
| Description | e.g. Before | e.g. After |
|---|---|---|
| encode | “Hi, ihakimi!” | “SGksIFVDaGF0IQ==” |
| decode | “SGksIFVDaGF0IQ==” | “Hi, ihakimi!” |

to URL friendly slug
| Description | e.g. Before | e.g. After |
|---|---|---|
| replace spaces with hyphens and remove the rest signs | “it’s a good day” | “its-a-good-day” |

get text before/after
Description: get part of the text.
| Type | e.g. Before | e.g. After |
|---|---|---|
| get text before another text | name: ihakimi, city: Rajkot | name |
| get text before last occur of another text | name: ihakimi, city: Rajkot | name: ihakimi, city |
| get text after another text | name: ihakimi, city: Rajkot | ihakimi, city: Rajkot |
| get text after last occur of another text | name: ihakimi, city: Rajkot | Rajkot |

Set Number Variable
get text length
| Description | e.g. Before | e.g. After |
|---|---|---|
| as the name | 500.59 | 6 |

generate random number
| Description | e.g. Before | e.g. After |
|---|---|---|
| as the name | n/a | 56 |

add / subtract / multiply / divide / modulus / power / natural logarithm / square root
| Description | e.g. Before | e.g. After |
|---|---|---|
| as the name | 7 | 8 |

TIP – in “natural logarithm”, when you are calculating log2(8) = ? put 8 as “Value” and 2 as “Number”.
round
| Description | e.g. Before | e.g. After |
|---|---|---|
| as the name | 7.8693 | 7.87 |

floor / ceil
Description: get approximate integer.
| Type | e.g. Before | e.g. After |
|---|---|---|
| floor | 6.55 | 6 |
| ceil | 6.55 | 7 |

Set DateTime Variable
from formatted text
| Description | e.g. Before | e.g. After |
|---|---|---|
| get DataTime value from formatted text | 00:00:00 30th Aug, 2020 | 2020-08-30 00:00:00 |

add minutes / hours / days / weeks / months
| Description | e.g. Before | e.g. After |
|---|---|---|
| as the name | 2021-01-01 00:00:00 | 2021-01-01 00:01:00 |
