For the complete documentation index, see llms.txt. This page is also available as Markdown.

Core Concepts

This section provides normative definitions for every core term used throughout this documentation. Terms defined here are used consistently without re-explanation in subsequent sections.

Definitions

Experience

An Experience is the root configuration object that defines a complete nativeMsg conversational agent. An experience MUST have a unique name and MUST contain at least one Workflow. It is the unit of deployment: the entire object is submitted to the nativeMsg platform as a single JSON document.

Workflow

A Workflow is a named unit of conversational logic that is activated when the platform determines that an incoming user message matches one of its Intents, a button is pressed or a quick reply response. A workflow contains an ordered list of Actions that are executed sequentially when the workflow is triggered. A workflow MAY also define Keywords, Expressions, and a Validation constraint.

Intent

An Intent represents the meaning or purpose of a user's message. An intent is identified by name. When a user sends a message, the platform evaluates all workflows and selects the one whose intent name, keyword, or expression best matches the message content. An intent MAY be specified as a bare string (the intent name) or as an IntentObject with additional configuration.

IntentObject

An IntentObject is the structured form of an intent declaration within a workflow. It extends a bare string intent with optional Expressions.

Keyword

A Keyword is a named set of literal string values that trigger a workflow when the user's message matches any of the listed values. Keywords are evaluated before NLU expression matching. A keyword MAY include alternate expression phrasings for each value to improve recognition.

Expression

An Expression is a natural language training phrase that teaches the NLU engine which utterances should match a given intent. An expression MAY be specified as a bare string or as a structured object with text, an optional generate flag, and an optional list of Slots.

Slot

A Slot is a named entity extracted from an expression. It identifies a typed sub-phrase within an expression text that the NLU engine should recognize and extract as a variable. Slots are used to capture entities such as product names, dates, or locations from free-text input.

Action

An Action is a single executable step within a workflow. Actions are evaluated in order. An action MAY include a conditions array; if conditions are present and not satisfied, the action is skipped. An action executes exactly one primary operation, determined by which action-type property is present: send, waitFor, delay, execute, goto, assignTags, assignAttributes, updateAttribute, subscribe, updateSettings, or pause.

Attribute

An Attribute is a named variable associated with a conversation or contact. Attributes are set by assignAttributes, updateAttribute, or waitFor actions, and read back using {attributeName} placeholder syntax in message text, request URLs, and other string fields. Attribute names MUST match the pattern ^[a-zA-Z][a-zA-Z0-9_]*$. Nested attribute paths use dot notation and MUST match ^[a-zA-Z][a-zA-Z0-9_.]*$.

Condition

A Condition is a predicate evaluated at runtime to determine whether an action should execute. Conditions MAY test channel type, channel ID, assigned tags, device type, device platform, or attribute values via comparisons. Multiple conditions in an action's conditions array are combined using Operator objects.

Operator

An Operator is a logical combinator (AND, OR, NOT) inserted into a conditions array to compose multiple Condition objects. Operators apply to the conditions that follow them according to standard boolean semantics.

Validation

A Validation is a constraint attached to a workflow or action that tests a named attribute value against a regular expression pattern. If the pattern does not match, execution is redirected to the workflow or action named in executeOnError.

Channel

A Channel is the messaging medium through which the user communicates (for example: RCS, DSC, DLC). Channel type is available as a condition filter and as a channel restriction on individual actions via the channel property.

SendAction

A SendAction is the value of an action's send property. It specifies what to deliver to the user or to an external system. Exactly one of its sub-properties SHOULD be present: message, email, request, json, note, rss, or populate.

Message Flow

The following diagram shows how an incoming user message is processed from receipt through workflow execution.

Keyword matching is evaluated before NLU intent matching. If a message matches a keyword exactly, the NLU step is bypassed for that turn.

Placeholder Syntax

Many string fields in the schema support attribute placeholder substitution. The platform replaces {attributeName} tokens at runtime with the current value of the named attribute. Nested paths use dot notation: {order.trackingNumber}.

Placeholders are supported in: message text, request url, request content, note text, email subject, email text, and recipientPhone.

Reserved Prefix

Workflow names and action names MUST NOT begin with the prefix nm:. This prefix is reserved for internal nativeMsg system workflows and actions.

Last updated

Was this helpful?