> 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

System entities are Chatlayer's built-in predefined entities that match a certain general pattern that is widely used.

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="https://2786867680-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FDt5zSKjcfWZ3D8zwpawQ%2FScreenshot%202024-08-23%20at%2012.00.43.png?alt=media&amp;token=789cb8cb-d385-46a2-9e2b-eefe1d247289" 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="https://2786867680-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FGScJy1XjPzbTp1v580dJ%2FScreenshot%202024-08-23%20at%2012.08.06.png?alt=media&amp;token=66de9e09-b7cb-4cf6-8fa9-64f1a00ab6aa" 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="https://2786867680-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2Fv2pQqtHvTIcg1GW0gmzU%2FScreenshot%202024-08-23%20at%2012.09.23.png?alt=media&amp;token=5f3ff54d-a82a-43ab-89c7-71b85386720f" 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
