source_city (LA), destination_city (NYC), and departure_date (Sunday) — each via a separate entity node.
The platform supports ~30 entity types (Address, Airport, Date, Currency, and more), custom regex patterns, and PII masking at the node level.
Chain multiple entity nodes to collect a series of inputs (username, location, amount, due date). Follow them with a Webhook node to process an API request.
Add the Node
- Open the dialog task.
- Add the Entity node. See Add a Node.
- The Entity window opens with Component Properties selected by default.
Configure the Node
Component Properties
Changes here apply across all dialog tasks that use this node.
- Enter a Name and Display Name. Entity names can’t include spaces.
- Select an Entity Type from the dropdown. See Entity Types.
- If the type supports it, enable Multi-item to allow multiple values separated by commas, semicolons, or “and”.
-
Under User Prompt, enter the prompt shown to the user (for example, Enter the Departure Date).
- Click Manage for channel-specific prompts. See Prompt Editor.
- Click Settings > enable Override for this instance to set an instance-specific prompt. Disabling the toggle deletes the override and restores the component-level prompt.
-
Under Error Prompts, review and modify default error messages.
- Click Manage to edit. See User Prompts.
- Enable Override for this instance for instance-specific error messages.
- Enable Present Prompts in the Order of Retries to reorder error messages using drag handles.
- Toggle Rephrase Responses to rewrite agent replies using AI based on conversation context and user emotion. See GenAI Features.
- Skips intent detection when the user input contains a valid entity value and the node uses Intent-over-Entity precedence. When enabled, the platform first attempts entity extraction using the configured extractor; if extraction succeeds, intent detection is bypassed, and the dialog continues directly — reducing latency and LLM token usage. Disabled by default.
-
Under Redaction of PII Data, set how PII entity values appear in prompts and messages at runtime:
- De-identify PII data — shows the redacted value.
- Use the original value — shows the actual value (useful for user confirmation).
These options affect only runtime display. PII data is always redacted in chat history and internal logs, regardless of this setting. -
Enable Sensitive Entity to mask, redact, or replace sensitive input at the node level. Disabled by default. When enabled:
- Check Transient Entity to clear the data on session close. Chat history shows
data_purgeinstead of the value. - Click +Add Pattern to add a regex for identifying sensitive data (for example,
[a-zA-Z]{3}[-]\d{4}). - Select how to display sensitive data to unauthorized users:
- Redaction — replace with a unique random alphanumeric value.
- Replacement — replace with a static value you define.
- Mask with character — mask leading and trailing characters with
+or#.
- Check Transient Entity to clear the data on session close. Chat history shows
- Under Variable Namespaces, associate namespaces to scope this node’s execution. Visible only when Variable Namespace is enabled for the agent. See Managing Namespace.
Instance Properties
Settings here apply only to this dialog task instance — not to other tasks using this node.User Input
Mandatory-only settings:
User Input Correction (v7.3, String entities only)
Entity Extraction
- Don’t reuse: Prevents this entity’s input from being reused to extract other entities.
- Entity Rules: Configure JSON-based validation rules. Click Add Rules and enter JSON. See Entity Rules.
Advanced Controls
User Input Flow
At each entity prompt, the platform processes input as follows:- Valid value → entity populated; dialog continues.
- Ambiguous value → platform shows an ambiguity resolution prompt.
- Invalid input at the ambiguity prompt:
- If valid for the entity type → used as-is; dialog continues.
- If invalid and triggers an intent/FAQ/small talk → handles per Hold & Resume; entity is re-prompted when dialog resumes.
- If invalid and no intent triggered → entity left blank; dialog continues from transitions.
- Retry limit exceeded → triggers Behavior on Exceeding Retries. For child tasks set to End of Dialog, the parent task also terminates.
NLP Properties
- Under Suggested Synonyms, enter synonyms for the entity and press Enter after each. See Managing Synonyms.
- Under Suggested Patterns, click + Add Pattern to add extraction patterns. See Managing Patterns.
- Under Manage Context > Context Output, define context tags set when this entity is populated.
- Enable Auto emits the entity values captured to add entity values to the context object automatically. See Context Management.
IVR Properties
Configure input mode, grammar, prompts, and call behavior for IVR channels. See Configure Dialog Node IVR Properties.Connection Properties
If this node is last in the sequence, only the connection property is visible.
Deflect to Chat (Return to Flow only): Transitions voice interactions to chat. Types: Automation or Agent Transfer.
Deflect to Chat works only with Voice Gateway channels (Phone number or SIP Transfer).
Entity Types
The entity type tells the NLP interpreter what data to expect from user input, improving recognition accuracy.Address
Captures US and Germany standard address formats. For other countries, captures strings ending with a recognizable city or country name. Format: Street Name, City (required), Country (required), Zip CodeAirport
Captures airport details via city name, airport name, IATA/ICAO code, or US city abbreviations. Data source: opentraveldata.Attachment
Captures a file, image, or email attachment up to 25 MB.Supported channels only: Facebook, Twitter, Web/Mobile, Slack.
City
Captures any city with population > 5,000 as a string. Data source: geonames.org.City disambiguation isn’t performed. Cities are prioritized by population (for example, Portland OR ranks above Portland ME).
Color
Captures color names from utterances. Returns as a string.Company
Captures company or organization names. Returns as a string.- A large corpus of known global companies, mapping name variants to a canonical name (for example, Amazon, Amazon.com, Amazon Inc → “amazon”).
- Any capitalized word followed by a legal suffix: Inc, Incorporated, Corp, Corporation, Group, Ltd, Limited, Co, Company, LP, LLP, LLLP, LLC, PLLC.
Composite
Captures multiple entity values in a single entity. Use when a user utterance contains a combination of related data points. Example: “I want to fly first class from LA to NYC tomorrow” — captures flight class, departure city, destination city, and travel date in one composite entity.Country
Captures country names from utterances. Returns as JSON.Avoid special characters (
&, ()) in inputs. Use commas or “and” to separate list items.Currency
Captures amount and currency type from utterances. Returns as JSON.Currency isn’t disambiguated by prior usage. USD may rank above SGD for “dollar” unless the user explicitly says SGD.
Custom
Validates user input against a regex, concept variable, or content/context/environment variable.The dialog fails if the expression resolves to null. Use the
preConditions entity rule to conditionally skip the node instead.Date
Captures a date from utterances. Returns ISO8601 format:YYYY-MM-DD.
Date Period
Captures a start date and end date. Prompts separately for each missing date.Date Period supports two separate user and error prompt sets: one for From Date and one for To Date.
Date Time
Captures date and time combined. Returns ISO8601 format:YYYY-MM-DDThh:mm:ss.sTZD.
Description
Captures statements or paragraphs of free text. Returns as a string (supports wildcard characters).Multi-item isn’t available for Description.
List of Items (enumerated)
Displays a defined list of values to the user for selection. Click Customise The List Of Items to configure.
Auto-Correction: Accepts closest-match inputs based on a configurable character-similarity threshold. Doesn’t apply to dictionary words or alphanumeric inputs.
Context object keys (added post-v7.1):
ambiguousEntityValues— array of ambiguous matches (title, value, synonym). Reset on re-prompt.synonymsUsed— synonym used to identify the matched item. Reset on re-prompt.
To show the list of values in the prompt, set Display List of Values to the channel-formatted option. Works with Plain Text prompts only — not JavaScript templates.
List of Items (lookup)
Displays a list defined via static configuration or a remote service call. Click Customise The List Of Items to configure.Static List
Remote List
Use for large datasets or security-restricted lookups via an external service. Step 1 — Define the service call. The platform populatescontext.inputData before calling the service:
Step 2 — Map the response. Configure how to read the service response:
Step 3 — Runtime flow.
- Platform populates
context.inputDataand calls the service. - One value returned → assigned to entity.
- Multiple values returned → platform extracts match from the list. No match → user selects from the list.
- Ambiguous values → user selects one.
- Multi-item entity → all valid values assigned; invalid values discarded.
- Empty or malformed response → falls back to User Prompt.
ambiguousEntityValues, synonymsUsed (same as enumerated).
Location
Captures city or state location with address and coordinates. Returns as JSON.Number
Captures a numeric value from utterances. Recognizes spelled-out numbers and abbreviations (1M). Consecutive number words are combined (“one two three” → 123).Maximum 18 digits.
Person Name
Captures a person’s full name. Returns as a string. Platform identifies capitalized words as names, taking up to three consecutive capitalized words.Percentage
Captures percentage values. Returns as a float in range 0.0-1.0.percent, percentage, %.
Phone Number
Captures 3-12 digit phone numbers. Returns as a string. Handles non-standard formats like(407)-407-4077 and 407.407.4077. Supports Arabic phone numbers spelled out in words.
Quantity
Captures amount, unit, and quantity type from utterances.String
Identical to Description but limited to one sentence. No validation is applied unless the entity is trained. Use as a last resort when no other entity type fits.Time
Captures time from utterances. Returns ISO8601 format:HH:MM:SS.sZD.
Time Zone
Captures a timezone and converts it to GMT offset.-6:00).
URL
Captures web URLs from utterances. Returns as a string.Zip Code
Captures postal/zip codes. Returns as a string. Handles hyphens, spaces, and leading zeros. Doesn’t extract codes from regex-like patterns (for example,#$A1B2%).
Entity Rules
Entity rules add validation and processing hints beyond basic type restrictions. Apply rules in two ways: Via the UI: Go to Instance Properties > Entity Rules and enter JSON in the editor. Via a Script Node (placed before the entity node in the dialog):Generic Rules
Apply to all entity types.preConditions examples:
isCustomerX context tag is set.
buy 10 apples → 10; utterance search for 10 apples → no extraction.
String and Description Rules
letters examples:
Kore.ai is the best platform in artificial intelligence of recent times.
Extracted: platform, recent, times
Number Rules
digits does not split spoken number groups. For input "two thousand and twenty three", the rule "digits": 4 won’t match. Use individual spoken digit groups like "twenty twenty three" for a 4-digit match.OTP is 009944 → Extracted: "009944" (without rule: 9944)
CVV is 034 → Extracted: "034"
My credit card number is 4012 8888 8888 1881 → Extracted: "4012 8888 8888 1881" (16 digits, within range)
Currency Rules
Examples:
Pay 30 → Extracted: NZD30; utterance Pay USD30 → Extracted: USD30
Pay USD3000 → Prompts for value (exceeds 3 digits)
Pay AUD30 → Prompts for value (AUD not in list)
Pay AUD → Error: amount required
Composite Entity Rules (Model Number)
modelNumber is a voice-compatible alternative to custom regex. Regex requires exact character matching, which breaks on ASR transcription variations (for example, “C” → “sea”, or a pause splitting “23” → “20 3”). Using Number and String entity types with the digits and letters rules handles all these variations.
Example: Pattern @AccountNumbers @AccountSuffix where:
@AccountNumbers: Number entity with"digits": 8@AccountSuffix: String entity with"letters": 2
A
modelNumber composite entity is a voice-compatible replacement for a custom regex entity like \d{8}\-?[a-zA-Z]{2}.Person Name Rules
Examples:
schedule Bob's review at 9 am → Extracted: Bob
meeting for Bob Review → Extracted: Bob (without rule: Bob Review)
schedule a meeting about Philip with Fred → Extracted: Fred (without rule: Philip)
Company Rules
Example:
find ATM → Extracted: nothing (without rule: ATM, recognized as an Italian company)
Date Rules
Examples:
show schedule for 2019-02-03 → Prompts for value (out of range)
Utterance: show schedule for 2020-02-03 → Extracted: 2020-02-03
schedule after two days → Extracted: 2020-07-11
03-04-2021 → Extracted: 04-2021
Date Period Rules
Date Time Rules
Time Rules
City Rules
Example:
Send destination to my email → Prompts for entity value (without rule: captures “Send” as a city)
Zip Code Rules
Example:
check delivery to PO16 7GZ → Extracted: PO16 7GZ
Location Rules
List of Values (LoV) Rules
Examples:
- Input
I need a ticket→ Extracted:ticket - Input
I need tickets→ Error: not a valid option
- Input
I need extra large size t-shirt→ Extracted:extra large size t-shirt(ignores “size” during matching)
List of Items (enum) Rules
Examples:
Items: pen, watch, bottle, book, cap
first two are mine → Extracted: ["pen", "watch"]
first two are mine → Extracted: ["bottle", "book", "cap"]
first two are great → Extracted: ["pen", "watch"]
a → Prompts for input (without rule: extracts ["pen"])