> For the complete documentation index, see [llms.txt](https://docs.chatlayer.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chatlayer.ai/nlp/natural-language-processing-nlp/detect-information-with-entities/system-entities.md).

# System entities

You can think of system entities as [match entities ](/nlp/natural-language-processing-nlp/detect-information-with-entities/match-entities.md)that are pre-made just because they fit regular, typical patterns that would be widely used inside bot conversations.

<figure><img src="/files/3qTSGhkvmW8HZ6RJEnJ7" alt=""><figcaption><p>System entities tab.</p></figcaption></figure>

Chatlayer.ai supports the following system entities:

| Variable name         |                                                                                                                                                                                                     | Example input by user                                    | Example result in session                                                                                       |
| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| `sys.email`           | Validates if the user input has an email format                                                                                                                                                     | "<ilovebots@chatlayer.ai>"                               | `sys: {email: 'ilovebots@chatlayer.ai'}`                                                                        |
| `sys.phone_number`    | Accepts numbers with more than 6 and fewer than 17 numbers in them                                                                                                                                  | "+32 487 23 02 03"                                       | `sys: {phone_number: '(+32) 487230203'}`                                                                        |
| `sys.ordinal`         |                                                                                                                                                                                                     | "5th"                                                    | `sys: {ordinal: '5'}`                                                                                           |
| `sys.amount_of_money` |                                                                                                                                                                                                     | "5 euro"                                                 | `sys: {amount_of money: '5', amount_of_money_currency: 'EUR'}`                                                  |
| `sys.distance`        |                                                                                                                                                                                                     | "5 kilometers"                                           | `sys: {distance: '5', distance_unit: 'kilometre'}`                                                              |
| `sys.number`          | Recognizes any number.                                                                                                                                                                              | "eighty eight"                                           | `sys: {number: '88'}`                                                                                           |
| `sys.quantity`        |                                                                                                                                                                                                     | "3 liters"                                               | `sys: {quantity: '3', quantity_unit: 'litre'}`                                                                  |
| `sys.temperature`     |                                                                                                                                                                                                     | "80C"                                                    | `sys: {temperature '80', temperature_unit: 'celsius'`                                                           |
| `sys.time`            |                                                                                                                                                                                                     | "3 pm tomorrow"                                          | `sys: {time: '2020-12-25T15:00:00.000+00:00', time_grain: 'hour'}`                                              |
| `sys.url`             | Checks if the given input is a URL. Accepted formats can be with www (*[www.chatlayer.ai](http://www.chatlayer.ai)*) or without (*chatlayer.ai*). Just the domain 'chatlayer' will not be accepted. | "[www.chatlayer.ai/jobs](https://www.chatlayer.ai/jobs)" | `sys: {url: 'www.chatlayer.ai/jobs', url_domain: 'chatlayer.ai'}`                                               |
| `sys.duration`        |                                                                                                                                                                                                     | "3 hours"                                                | `sys: {duration: '3', duration_unit: 'hour', duration_normalized: '10800', duration_normalized_unit: 'second'}` |

{% hint style="warning" %}
You should never overwrite System Entities yourself – they are automatically overwritten by the last detected variable (if any values are detected). So instead, save the System Entity to a [variable](/navigation/settings/secure-variables-gdpr.md) of your own choosing outside the `sys` or `internal` namespaces.
{% endhint %}

## Use system entities

To use system entities in your bot:

1. Create a [**Collect input**](/buildabot/flow-logic/dialog-state/user-input-bot-dialog.md) block. For instance, make it as a block that asks for the user email.

{% hint style="danger" %}
Please note that the number of system entities that you can use inside a **Collect input** block is limited. The system entities that you can use inside those blocks are: **sys.email**, **sys.phone\_number**, **sys.url**, **sys.number**, and **sys.time**.
{% endhint %}

2. Under **Capture use response as**, scroll down until you find the list of **System entities**.
3. Select the system entity of your choice. For this example, we would select `@sys.email`.

<figure><img src="/files/Sbvk9FyfWmZaq7RElG0K" alt="" width="327"><figcaption><p>Select a system entity.</p></figcaption></figure>

4. Under **Save variable as**, choose a variable to store the entity value.

<figure><img src="/files/T1IW71frEI2kIDjYqmV6" alt="" width="325"><figcaption><p>Save the system entity value into a variable</p></figcaption></figure>

4. Click **Save**.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.chatlayer.ai/nlp/natural-language-processing-nlp/detect-information-with-entities/system-entities.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
