Modalities

Manage and set up advanced payloads with Modalities in NLX

What are Modalities?

Modalities allow for information to be transmitted to a user that goes beyond a standard conversational AI message. Images, audio, structured text, haptic signals, videos, and more can be modalities you may want to provide users during conversation with your application.

Unlike the standard node payload, the payload of a Modality may consist of multiple nested data types and are defined globally in the workspace, making them reusable across flows and nodes (e.g., a carousel modality used for selecting a resort in one intent flow may be re-used for selecting a room type in another).

Common modality uses:

  • Defined for communication channels with a visual interface (e.g., TV) where displaying richer UI components with a message is needed (e.g. cards, video player)

  • Communicates metadata to a channel for proper rendering (e.g., an API channel interprets what information to display in a carousel from the payload schema of a carousel modality)

To access, click Resources in your workspace menu and choose Modalities:


Add modality schema in workspace

Begin by selecting New modality from the Modalities resource:

  • Enter a name

  • On the Schema tab, manually input schema or choose <>Auto-generate schema to easily generate a data structure based on sample JSON

  • Click Save

Optional property settings (expand each property to view):

  • Sensitive setting: Enable to redact this data field's value from conversation logs for personally identifiable information (PII)


Use a modality in flow

Once a modality has been created, you may enable its use easily in any flow:

  • Select a flow > Choose or place a node on the Canvas

  • Choose Modalities from the Add functionality menu of the node's side panel

  • Ensure the correct modality's tab (if more than one appears) is selected

  • Toggle on Enable

  • Enter payload details or assign dynamic sources into applicable fields > Click Save


WhatsApp modalities

WhatsApp requires businesses to use templates for outbound messaging. NLX can send a template message to initiate a conversation with an end user via a modality:

  • Create a modality named WhatsAppTemplate

    • The schema should be an object with a single string property name (e.g., paste { "name": "" } using the <> Auto-generate schema option)

You may also send images that are cloud hosted:

  • Create a modality named WhatsAppImage

    • The schema should be an object with the following schema (the caption is the "alt text", the link is the web-accessible link to the image)"

{
  "caption": "",
  "link": ""
}

When done, enable your WhatsApp modality on node(s) in your flow(s).

Last updated