# Action Step - Variable Operation

UChat provides you with various built-in operations for variable modification.

There are 6 types of variable in UChat:

Type Storage Example Operation
Text letters, words, sentences... Hi, UChat. 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":"jack", "age":"10"} load, get, update, remove, count, sum, average, sort, shuffle, reverse...

variable

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.

variable

# Math Formula

condition

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"

variable

# sub string

Description e.g. Before e.g. After
get part of the text "Hi, UChat!" "UChat"

variable

Note

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

variable

# replace string / replace string case sensitive

Description e.g. Before e.g. After
replace part of the text "Hi, UChat!" "Hello, UChat!"

variable

Note

In case sensitive situation, you have to put exactly "Hi" rather than "hi", "HI" or "hI".

variable

# to lower / upper case

Type e.g. Before e.g. After
to lower case "Hi, UChat!" "hi, uchat!"
to upper case "Hi, UChat!" "HI, UCHAT!"

variable

# generate random text

Description e.g. Before e.g. After
as the name "code: XXXX-####-xxxx" "code: UBWT-3657-lkzb"

variable

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, UChat!" "Hi%2C%20UChat!"
decode "Hi%2C%20UChat!" "Hi, UChat!"

variable

# base64 encode / decode

Description e.g. Before e.g. After
encode "Hi, UChat!" "SGksIFVDaGF0IQ=="
decode "SGksIFVDaGF0IQ==" "Hi, UChat!"

variable

# 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"

variable

# get text before/after ...

Description: get part of the text.

Type e.g. Before e.g. After
get text before another text name: UChat, city: Melbourne name
get text before last occur of another text name: UChat, city: Melbourne name: UChat, city
get text after another text name: UChat, city: Melbourne UChat, city: Melbourne
get text after last occur of another text name: UChat, city: Melbourne Melbourne

variable

# Set Number Variable

# get text length

Description e.g. Before e.g. After
as the name 500.59 6

variable

# generate random number

Description e.g. Before e.g. After
as the name n/a 56

variable

# add / subtract / multiply / divide / modulus / power / natural logarithm / square root

Description e.g. Before e.g. After
as the name 7 8

variable

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

variable

# floor / ceil

Description: get approximate integer.

Type e.g. Before e.g. After
floor 6.55 6
ceil 6.55 7

variable

# 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

variable

# 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

variable

Last Updated: 4/14/2022, 2:09:50 AM