Home Schema Example JSON Schema

Module Settings

Type: object

These settings are used for configuring Jarvis chat Modules in Chatterbox.

No Additional Properties

Data Flow

Type: boolean

Whether the module is enabled for data flow. Defaults to true.

Query Flow

Type: boolean

Whether the module is enabled for query flow. Defaults to true.

Blacklisted Queries

Type: array of string

Blacklisted queries for the module.

No Additional Items

Each item of this array must be:

Type: string

Must be at least 1 characters long

Tie Breaker Rank

Type: integer

Used to break ties between answers of different modules. Defaults to 0.

Stop words

Type: array of string

Stop words applied at the module level.

No Additional Items

Each item of this array must be:

Type: string

Must be at least 1 characters long

Sorry Message


Optional sorry message to display if there is an intent present without answers.

Type: object

Type: object

Title

Type: object

Title primitive element.

No Additional Properties

Type

Type: const

The type of this element.

Specific value: "title"

Title

Type: string

Title content.

Must be at least 1 characters long

Subtitle

Type: object

Subtitle primitive element.

No Additional Properties

Type

Type: const

The type of this element.

Specific value: "subtitle"

Subtitle

Type: string

Subtitle content.

Must be at least 1 characters long

Text

Type: object

Text primitive element.

No Additional Properties

Type

Type: const

The type of this element.

Specific value: "text"

Text

Type: string

Text content.

Must be at least 1 characters long

Type: object

Image

Type: object

Image primitive element.

No Additional Properties

Type

Type: const

The type of this element.

Specific value: "image"

Image Metadata

Type: object

Image element metadata.

URL

Type: object

URL to the image file.

Scale

Type: enum (of string)

Overrides frontend's default image scaling algorithm.

Must be one of:

  • "center"
  • "center-crop"
  • "center-inside"

Actionable

Type: object

Action to take when clicking on the image (or preview image). Defaults to opening the image in viewer.

URL

Type: string

URL to the link file. Could be application internal links too. Currently supported internal links are: botmd://hospital/postMessage, botmd://hospital/emobot, botmd://hospital/gql, and `botmd://hospital/jarvisQuery.

Must be at least 1 characters long

External Browser

Type: boolean

Whether to open the url in an external browser instead of our own webview. Defaults to false.

Content Type

Type: string

The MIME type of the content at URL. This is guessed from the extension of the url. If it is a http/https URL and there are no file extensions, text/html is assumed.
This is useful to override the default app responsible for opening it.
See <code>scalpel.messages.url.ContentTypeMixin</code> for content type guessing logic.

Must be at least 1 characters long

Event Metadata

Type: object

Metadata to describe an event that can be posted to Shadowfax. This is usually part of an Actionable.

No Additional Properties

Type

Type: string

Event type that will be posted to Shadowfax (i.e., event_type) when this action is taken.

Must be at least 1 characters long

Properties

Type: object

Optional event properties that will be posted to Shadowfax (i.e., event_properties) when this action is taken.

Additional Properties of any type are allowed.

Type: object

Additional Properties of any type are allowed.

Type: object

Additional Properties of any type are allowed.

Type: object

Audio

Type: object

Audio primitive element.

No Additional Properties

Type

Type: const

The type of this element.

Specific value: "audio"

Audio Metadata

Type: object

Audio element metadata.

URL

Type: object

URL to the audio file.

Preview Image

Type: object

Preview image of audio. Defaults to a generic audio icon.

URL

Type: object

URL to the image file.

Scale

Type: enum (of string)

Overrides frontend's default image scaling algorithm.

Must be one of:

  • "center"
  • "center-crop"
  • "center-inside"

Actionable

Type: object

Action to take when clicking on the image (or preview image). Defaults to opening the image in viewer.

URL

Type: string

URL to the link file. Could be application internal links too. Currently supported internal links are: botmd://hospital/postMessage, botmd://hospital/emobot, botmd://hospital/gql, and `botmd://hospital/jarvisQuery.

Must be at least 1 characters long

External Browser

Type: boolean

Whether to open the url in an external browser instead of our own webview. Defaults to false.

Content Type

Type: string

The MIME type of the content at URL. This is guessed from the extension of the url. If it is a http/https URL and there are no file extensions, text/html is assumed.
This is useful to override the default app responsible for opening it.
See <code>scalpel.messages.url.ContentTypeMixin</code> for content type guessing logic.

Must be at least 1 characters long

Event Metadata

Type: object

Metadata to describe an event that can be posted to Shadowfax. This is usually part of an Actionable.

No Additional Properties

Type

Type: string

Event type that will be posted to Shadowfax (i.e., event_type) when this action is taken.

Must be at least 1 characters long

Properties

Type: object

Optional event properties that will be posted to Shadowfax (i.e., event_properties) when this action is taken.

Additional Properties of any type are allowed.

Type: object

Additional Properties of any type are allowed.

Type: object

Additional Properties of any type are allowed.

Type: object

Additional Properties of any type are allowed.

Type: object

Video

Type: object

Video primitive element.

No Additional Properties

Type

Type: const

The type of this element.

Specific value: "video"

Video Metadata

Type: object

Video element metadata.

URL

Type: object

URL to the video file.

Preview Image

Type: object

Preview image of video. Defaults to first frame of video.

URL

Type: object

URL to the image file.

Scale

Type: enum (of string)

Overrides frontend's default image scaling algorithm.

Must be one of:

  • "center"
  • "center-crop"
  • "center-inside"

Actionable

Type: object

Action to take when clicking on the image (or preview image). Defaults to opening the image in viewer.

URL

Type: string

URL to the link file. Could be application internal links too. Currently supported internal links are: botmd://hospital/postMessage, botmd://hospital/emobot, botmd://hospital/gql, and `botmd://hospital/jarvisQuery.

Must be at least 1 characters long

External Browser

Type: boolean

Whether to open the url in an external browser instead of our own webview. Defaults to false.

Content Type

Type: string

The MIME type of the content at URL. This is guessed from the extension of the url. If it is a http/https URL and there are no file extensions, text/html is assumed.
This is useful to override the default app responsible for opening it.
See <code>scalpel.messages.url.ContentTypeMixin</code> for content type guessing logic.

Must be at least 1 characters long

Event Metadata

Type: object

Metadata to describe an event that can be posted to Shadowfax. This is usually part of an Actionable.

No Additional Properties

Type

Type: string

Event type that will be posted to Shadowfax (i.e., event_type) when this action is taken.

Must be at least 1 characters long

Properties

Type: object

Optional event properties that will be posted to Shadowfax (i.e., event_properties) when this action is taken.

Additional Properties of any type are allowed.

Type: object

Additional Properties of any type are allowed.

Type: object

Additional Properties of any type are allowed.

Type: object

Preview Autostart

Type: boolean

Whether to auto play video in preview view. Defaults to false.

Additional Properties of any type are allowed.

Type: object

Attachment

Type: object

Attachment primitive element.

No Additional Properties

Type

Type: const

The type of this element.

Specific value: "attachment"

Attachment Metadata

Type: object

Attachment element metadata.

No Additional Properties

URL

Type: string

URL to the attachment file.

Must match regular expression: ^((https|s3|gs|file)\:\/\/|\$)

Filename

Type: string

Filename for attachment. This is useful when the filename cannot be inferred from the URL.

Must be at least 1 characters long

Content Type

Type: string

The MIME type of the attachment. This is guessed from the extension of the filename followed by the url. See <code>scalpel.messages.url.ContentTypeMixin</code> for content type guessing logic.

Must be at least 1 characters long

Preview Image

Type: object

Preview image of attachment. Defaults to first frame of attachment.

URL

Type: object

URL to the image file.

Scale

Type: enum (of string)

Overrides frontend's default image scaling algorithm.

Must be one of:

  • "center"
  • "center-crop"
  • "center-inside"

Actionable

Type: object

Action to take when clicking on the image (or preview image). Defaults to opening the image in viewer.

URL

Type: string

URL to the link file. Could be application internal links too. Currently supported internal links are: botmd://hospital/postMessage, botmd://hospital/emobot, botmd://hospital/gql, and `botmd://hospital/jarvisQuery.

Must be at least 1 characters long

External Browser

Type: boolean

Whether to open the url in an external browser instead of our own webview. Defaults to false.

Content Type

Type: string

The MIME type of the content at URL. This is guessed from the extension of the url. If it is a http/https URL and there are no file extensions, text/html is assumed.
This is useful to override the default app responsible for opening it.
See <code>scalpel.messages.url.ContentTypeMixin</code> for content type guessing logic.

Must be at least 1 characters long

Event Metadata

Type: object

Metadata to describe an event that can be posted to Shadowfax. This is usually part of an Actionable.

No Additional Properties

Type

Type: string

Event type that will be posted to Shadowfax (i.e., event_type) when this action is taken.

Must be at least 1 characters long

Properties

Type: object

Optional event properties that will be posted to Shadowfax (i.e., event_properties) when this action is taken.

Additional Properties of any type are allowed.

Type: object

Additional Properties of any type are allowed.

Type: object

Additional Properties of any type are allowed.

Type: object

Einstein attachment metadata

Type: object

Einstein-specific metadata for this attachment

Document UID

Type: string

Einstein Document UID for attachment.

Must be at least 1 characters long

Type: object

Button

Type: object

Button action primitive element.

No Additional Properties

Type

Type: const

The type of this element.

Specific value: "button"

Button Metadata

Type: object

Button action element metadata.

Visuals

Type: object

Metadata to describe the visual aspect of a button.

Text

Type: string

Display text.

Must be at least 1 characters long

Style

Type: enum (of string)

Button styling options. cta refers to call to action buttons that have a blue background, while link buttons have white background. Defaults to link.

Must be one of:

  • "cta"
  • "link"

Additional Properties of any type are allowed.

Type: object

Actionable metadata

Type: object

Metadata to describe actions that are taken when a UI element is triggered (e.g., tapped, clicked, etc).

Same definition as actionable
Type: object

Quick Reply

Type: object

Quick reply primitive element.

No Additional Properties

Type

Type: const

The type of this element.

Specific value: "quick_reply"

Quick Reply Metadata

Type: object

Quick reply element metadata.

Visuals

Type: object

Metadata to describe the visual aspect of a quick reply.

Text

Type: string

Display text.

Must be at least 1 characters long

Additional Properties of any type are allowed.

Type: object

Actionable metadata

Type: object

Metadata to describe actions that are taken when a UI element is triggered (e.g., tapped, clicked, etc).

Same definition as actionable
Type: object

Location Request

Type: object

Location request primitive element.

No Additional Properties

Type

Type: const

The type of this element.

Specific value: "location_request"

Location Request Metadata

Type: object

Location request element metadata.

No Additional Properties

Text

Type: string

Prompt for the user when requesting for location.

Must be at least 1 characters long

Location Response

Type: object

Location request primitive element.

No Additional Properties

Type

Type: const

The type of this element.

Specific value: "location_response"

Location Response Metadata

Type: object

Location response element metadata.

No Additional Properties

Longitude

Type: number

Location longitude.

Name

Type: string

Name of the location.

Must be at least 1 characters long

Address

Type: string

Human-readable address of the location.

Must be at least 1 characters long

Container Types

Type: object

Container types wrap around other primitive types.

Quick Replies

Type: object

Quick replies container element.

No Additional Properties

Type

Type: const

The type of this element.

Specific value: "quick_replies"

Quick Replies

Type: array

Array of quick replys.

Must contain a minimum of 1 items

Must contain a maximum of 16 items

No Additional Items

Each item of this array must be:

Sections

Type: object

Sections are container types for up to at most 3 elements. These are most likely to be used for rich messages that include media, paragraphs, and actions.

No Additional Properties

Type

Type: const

The type of this element.

Specific value: "sections"

Sections

Type: array

An array of section elements.

Must contain a minimum of 1 items

Must contain a maximum of 5 items

No Additional Items

Each item of this array must be:


Paragraphs

Type: object

Paragraphs container element.

No Additional Properties

Type

Type: const

The type of this element.

Specific value: "paragraphs"

Favorite metadata

Type: object

When specified, the message / carousel item can be favorited on the frontend.

No Additional Properties

Title

Type: string

Title to show in the favorites menu.

Must be at least 1 characters long

URL

Type: string

URL to favorite item. This could be an internal botmd:// link or an external link.

Must be at least 1 characters long

Expires On

Type: stringFormat: date-time

This is used with botmd://hospital/jarvisQuery links using uids. If frontend decides to cache the content of this favorite message, it should be refreshed against the backend after the expiry.

Actions

Type: object

Actions container element.

No Additional Properties

Type

Type: const

The type of this element.

Specific value: "actions"

Actions

Type: array

An array of action elements.

Must contain a minimum of 1 items

Must contain a maximum of 8 items

No Additional Items

Each item of this array must be:

Favorite metadata

Type: object

When specified, the message / carousel item can be favorited on the frontend.

Same definition as favorite

Favorite metadata

Type: object

When specified, the message / carousel item can be favorited on the frontend.

Same definition as favorite

Paragraphs

Type: object

Paragraphs container element.

Same definition as Paragraphs

Actions

Type: object

Actions container element.

Same definition as Actions

Carousel

Type: object

Carousel container element.

No Additional Properties

Type

Type: const

The type of this element.

Specific value: "carousel"

Application Payload

Type: object

Application payload message.

No Additional Properties

Type

Type: const

The type of this element.

Specific value: "application_payload"

Application Payload Metadata

Type: object

Application payload element metadata.

No Additional Properties

Application

Type: string

Application origin of the data payload

Must be at least 1 characters long

Payload

Type: object or string

Arbitrary payload to be used by application. Can be any JSON object.

Additional Properties of any type are allowed.

Type: object

Email

Type: object

This is a high level representation of MIME emails.

No Additional Properties

Type

Type: const

The type of this element.

Specific value: "email"

Email Metadata

Type: object

Email element metadata.

Subject

Type: string

A short string identifying the topic of the message (RFC 2822).

Must be at least 1 characters long

Text

Type: string

The main body of the email in plain text.

HTML

Type: string

The main body of the email in HTML.

Must be at least 1 characters long

Attachments

Type: array

Attachments to the email.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Attachment Metadata

Type: object

Attachment element metadata.

Same definition as attachment

Empty Message

Type: object

An empty message with no content whatsoever.

No Additional Properties

Type

Type: const

The type of this element.

Specific value: "empty"

Array of Messages

Type: array

Used to support more than 1 message (eg. Text and Quick Reply)

No Additional Items

Each item of this array must be: