System entities are pre-defined Engage entities that can be automatically extracted from the user's messages. This means that you don't need to create them: they are already part of the system.
Please note that you should never overwrite System Entities yourself – they are automatically overwritten by the last detected value (if any values are detected). So instead, copy the System Entity variable to a variable of your own choosing outside the sys or internal namespaces.
Engage bot builder supports the following system entity types:
Variable name | Example input by user | Example result in session |
sys.email | "ilovebots@chatlayer.ai" | sys: {email: 'ilovebots@chatlayer.ai'} |
sys.phone_number | "+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 | "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 | "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'} |
@sys.email
@sys.email checks if the given user input has the format of an email address. If the given input is not an email address, the bot will show the 'When user response does not match' messages, at the bottom of the input validation. If the response is a valid email address, you can see that the email address will be saved correctly under the given variable name in the debugger.
@sys.phone_number
'@sys.phone_number' will accept numbers with more than 6 and fewer than 17 numbers in them.
@sys.number
Any number in the bot is immediately recognized as '@sys.number'. However, seeing you could ask for multiple number in different input validations, it is important to give them a unique name. So, when you choose '@sys.number' in 'Check if response matches', you will get the option to give this variable a unique name.
@sys.url
'@sys.url' checks if the given input is a URL. Accepted formats can be with www (www.engage.sinch.com) or without (engage.sinch.com). Just the domain 'sinch engage' will not be accepted.
See also:
[New bot builder] Detect entities in expressions