text.ask.form

Get basic text input from the user using a form text input. Normally the
user will use the composer to input text, but this component allows you
to specify additional meta information such as an icon, label,
placeholder.

- ask_form: What is your name?

Which produces the following in the Meya Orb Web SDK client:

Notice that the input form's label says TEXT, this is the default value,
but usually you would like to customize this to be more descriptive. Here is
an example of customizing the form text input:

- ask_form: What is your name?
  label: Name
  icon: streamline-regular/17-users/10-geomertic-close-up-single-user-neutral/single-neutral.svg
  placeholder: Type your name here

Which produces the following output:

Note, this component is only compatible with the
Meya Orb Web SDK
and Meya Orb Mobile SDK.

The ask form component is also an interactive component which allows you to set
quick replies, configure the input composer, configure the markdown support,
set context data and attach component triggers.

Here is a more advanced example:

- ask_form: What is your **name**? [What's in a name...](https://en.wikipedia.org/wiki/Name)
  label: Name
  icon: streamline-regular/17-users/10-geomertic-close-up-single-user-neutral/single-neutral.svg
  placeholder: Type your name here
  quick_replies:
    - text: Discover earth
      action:
        flow: flow.earth
    - text: Talk to an agent
      action:
        flow: flow.agent
  context:
    foo: bar
  composer:
    focus: text
    placeholder: Type your name here
  markdown:
    - format
    - linkify

Which produces the following output:

Input validation

The ask component has no built-in input validation and will capture any
text input submitted by the user.

The user's input text is always stored in (@ flow.result ) in your app's
flow scope data.

Advanced forms

If you would like to build more complex form wizards, then checkout the
Widgets & Pages guide.

Element details

type: meya.text.component.ask.form
class: AskFormComponent
path: /meya/text/component/ask/form.py
signature: ask_form

Fields

field

description

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

required

signature

default

type

spec

Override the original spec for this element.

null

Spec

context

Send context data with this component's event.

{}

dict

sensitive

Mark this component's event as sensitive. This will encrypt the event if the Sensitive Data integration has been enabled.

false

bool

triggers

Activate these dynamic triggers when the component runs. Check the component triggers guide for more info.

[]

list

quick_replies

List of buttons that the user can select for replies.

[]

list

composer

The composer spec that allows you to control the Orb's input composer. Check the Composer guide for more info.

focus: blur
placeholder:
collapse_placeholder:
visibility:
character_limit:

ComposerElementSpec

header

Override the header for this component.

buttons:
title:
progress:
milestones:
extra_buttons:

HeaderElementSpec

markdown

Override the bot Markdown mode for this component. Check the Markdown guide for more info.

null

list
bool
NoneType

ask_form

Question sent to the user.

null

str

icon

Optional icon URL to user for the form input.

null

IconElementSpec
str
NoneType

field_name

The field name.

"text"

str

autocomplete

Turns off browser autocomplete for the input form. This is only applicable for the Meya Orb Web SDK.

"off"

str

label

The input form label displayed above the input form.

"Text"

str

placeholder

The optional placeholder text displayed in the input form box.

null

str

Usage reference

Basic

triggers:
  - keyword: meya.text.component.ask.form
steps:
  - ask_form: STRING

Full

triggers:
  - keyword: meya.text.component.ask.form
steps:
  - spec:
      type: STRING
      data:
        STRING: ANY
      timeout: 123
      trigger_when: ANY
    context:
      STRING: ANY
    sensitive: false
    triggers:
      - type: STRING
        data:
          STRING: ANY
        timeout: 123
        trigger_when: ANY
    quick_replies:
      - url: STRING
        javascript: STRING
        button_id: STRING
        context:
          STRING: ANY
        default: false
        disabled: false
        divider: false
        icon:
          url: STRING
          color: STRING
          path: STRING
        action: COMPONENT
        value: ANY
        result: ANY
        data:
          STRING: ANY
        magic: false
        type: text|url|static|menu|divider|action|flow_next|component_next
        menu:
          - BUTTONELEMENTSPEC
        text: STRING
    composer:
      focus: file|image|text|blur
      placeholder: STRING
      collapse_placeholder: STRING
      visibility: collapse|hide|show
      character_limit:
        length: 123
        error_text: STRING
    header:
      buttons:
        - url: STRING
          javascript: STRING
          button_id: STRING
          context:
            STRING: ANY
          default: false
          disabled: false
          divider: false
          icon:
            url: STRING
            color: STRING
            path: STRING
          action: COMPONENT
          value: ANY
          result: ANY
          data:
            STRING: ANY
          magic: false
          type: text|url|static|menu|divider|action|flow_next|component_next
          menu:
            - BUTTONELEMENTSPEC
          text: STRING
      title:
        text: STRING
        icon:
          url: STRING
          color: STRING
          path: STRING
      progress:
        value: 123
        show_percent: false
      milestones:
        - text: STRING
          current: false
      extra_buttons:
        - url: STRING
          javascript: STRING
          button_id: STRING
          context:
            STRING: ANY
          default: false
          disabled: false
          divider: false
          icon:
            url: STRING
            color: STRING
            path: STRING
          action: COMPONENT
          value: ANY
          result: ANY
          data:
            STRING: ANY
          magic: false
          type: text|url|static|menu|divider|action|flow_next|component_next
          menu:
            - BUTTONELEMENTSPEC
          text: STRING
    markdown:
      - format|linkify|breaks|typographer
    ask_form: STRING
    icon:
      url: STRING
      color: STRING
      path: STRING
    field_name: STRING
    autocomplete: STRING
    label: STRING
    placeholder: STRING