EARLY ACCESS
___

## Templating language

To facilitate the extraction of values and dynamic generation of content, we introduced a templating language: [Liquid](https://shopify.github.io/liquid/) - to the Chatbots platform.

Liquid is a templating language with simple markup, made so that end users can edit it.

Use templating language in all fields in which you can enter text and variables, in Chatbots elements. Example: Text fields in Text element and List element.

Liquid code uses **objects, tags**, and **filters** in a template which is then rendered and the content is dynamically shown. **Template** is any message you create that contains templating language elements.

### Objects [#objects-templating-language]

Objects are used to show content on a page. Objects and variable names are denoted by double curly braces: {{ and }}.

**Types of objects**: String, Number, Boolean, Nil, and Array.

More about [Liquid objects](https://shopify.github.io/liquid/basics/introduction/#objects).

### Tags [#tags-templating-language]

Tags create the logic and control flow for templates. They are denoted by curly braces and percent signs: {% tag %}. Tags do not render into any visible text; you use them to assign variables and create conditions and loops in the background.

There are five different types of tags:

• *Comment tags*: use {% comment %} and {% endcomment %} tags to turn anything between them into a comment.

• *Control flow tags*: change the displayed information using programming logic: if, unless, elseif/else, case/when.

• *Iteration tags*: for, else, break, continue, plus additional tags for parameters (limit, offset, range, reversed), cycle, and tablerows (cols, limit, offset, range) to repeatedly run blocks of code.

• *Raw tags*: used to temporarily disable tag processing, {% raw %} and {% endraw %}.

• *Variable tags*: assign, capture, increment and decrement are used to create new variables in the templating language.

|  |  
|  |  
| != | does not equal |  
| > | greater than |  
| < | less than |  
| >= | greater than or equal to |  
| <= | less than or equal to |  
| or | logical or |  
| and | logical and |

Learn more about [Liquid tags](https://shopify.github.io/liquid/basics/introduction/#tags).

### Filters [#filters-templating-language]

Filters change the output of the template language object. They are used within the object and are separated by a | (pipe) character. You can use multiple filters for one output applying them from left to right (each separated by the | character). Check the list of all [available filters](https://shopify.github.io/liquid/basics/introduction/#filters).

If you want to dive deeper into examples how to use templating language in Chatbots, check the [How to](https://www.infobip.com/docs/build-chatbots/elements#templating-language) section.

___

## Regular expressions

[Regex](https://www.infobip.com/glossary/regex) (regular expression) is useful in situations where you want to check, match, or validate different inputs, like check if a string contains numbers, or validate if the input is a phone number.

Use regular expressions in the **Save user response** and **Code** elements.

Here is a list of the most commonly used operations in Regex:

Character classes

.               any character except newline

\w \d \s    word, digit, whitespace

\W \D \S  not word, digit, whitespace

[abc]       any of a, b, or c

[^abc]     not a, b, or c

[a-g]       character between a & g

Anchors

^abc$    start / end of the string

\b           word boundary

Escaped characters

\. \* \\    escaped special characters

Groups & Lookaround

(abc)      capture group

\1            backreference to group #1

(?:abc)   non-capturing group

(?=abc)  positive lookahead

(?!abc)   negative lookahead

Quantifiers & Alternation

a* a+ a?     0 or more, 1 or more, 0 or 1

a{5} a{2,}    exactly five, two or more

a{1,3}          between one & three

a+? a{2,}?    match as few as possible

ab|cd          match ab or cd

For information about how to use regular expression in your chatbot, see the [How to](https://www.infobip.com/docs/build-chatbots/elements#regular-expressions) section.

___