Update a Kiosk State

Purpose

To update a particular state in a specific Kiosk in Zoho CRM using the Kiosk ID and state ID. Each state represents a screen, action, decision, or GetRecords.

A Kiosk must be in the draft status to update a state. This operation is not supported when the Kiosk is in the published or inactive status.

You can update only one state per request.

The state must already exist before it can be updated. To create a new state, use the Create a Kiosk State API. Once the Kiosk is fully configured, publish it and associate it with the required CRM component.

Note
Availability: Standard, Professional, Enterprise, and Ultimate editions.

Permission Required: Administrator profile, or profiles with either the Module Customization or Manage Automation  permission enabled.

Endpoints

  • PUT /settings/kiosks/{kiosk_ID}/states/{state_ID}
  • {kiosk_ID} : The unique ID of the Kiosk for which to update state.
  • {state_ID} : The unique ID of the state to update.

Request Details

Request URL

{api-domain}/crm/{version}/settings/kiosks/{kiosk_ID}/states/{state_ID}

Header

Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52

Scope

ZohoCRM.settings.kiosks.ALL
(or)
ZohoCRM.settings.kiosks.UPDATE

Sample Request

Copiedcurl "https://www.zohoapis.com/crm/v8/settings/kiosks/5039614000010849013/states/5039614000010965565"
-X PUT
-d "@inputData.json" 
-H "Authorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxd"

Input JSON

The request body is a JSON object containing a states array with the state configuration.

  • name string, optional

    Specifies the name of the state to be updated. The maximum length is 50 characters, and it must match the regex pattern [0-9a-zA-Z_\-\.\|\$\?\,\'\/\!\P{InBasicLatin}\s]+.

State typeSub-type / ActionDescription
screenRepresents a screen where fields are displayed.
decisionRepresents a decision state.
get_recordsRetrieves records from a module.
actionNon-associative Actions
create_recordCreate Record - Predefined Configuration.
quick_create_recordCreate Record via User Input.
convertConvert action.
open_recordOpen Record action.
open_linkOpen Link action.
add_meetingAdd Meeting action.
schedule_callSchedule Call action.
assign_ownerAssign Owner action.
add_tags / remove_tagsAdd Tags or Remove Tags action.
Associative Actions
field_updatesField Update action.
tasksAdd Task action.
email_notificationsEmail Notifications action.
webhooksWebhook action.
  • detailsJSON object, optional

    Specify the detailed configuration for the state. The structure of this object varies depending on the value of the type field. The configuration for each state type is explained in detail in the corresponding sections below.

Note

For details about a specific state, retrieve the state ID using the Get Kiosk States API, and then use the Get a Kiosk State API to fetch the state details.

For associative actions, state-related details can only be updated through the Kiosk.

For execute_for_record, the value can be either get_record or current_record.

1. Input JSON - Screen

This section explains the details section for the screen state. Common fields are covered in the Input JSON section. When updating a screen state, include all existing UI elements in the request body to retain them, along with any new elements you want to add.

  • screen_detailsJSON object, optional

    Specifies the details related to the screen state. The screen state can contain elements such as buttons, fields, and components.

    • title string, optional

      The title displayed at the top of the screen.

    • width string, optional

      The width of the screen display. Default value is 670px.

      Possible values:

      670px

      1000px

    • button_align string, optional

      The alignment of action buttons on the screen. Default value is right_to_left.

      Possible values:

      right_to_left - Buttons are aligned from right to left.

      left_to_right - Buttons are aligned from left to right.

      center - Buttons are aligned to the center.

    • elementsJSON array, optional

      Specify the array of UI elements to be rendered on the screen. You can configure a maximum of 30 UI elements per screen. If this array is provided, it must contain at least one UI element.

      • type string, optional

        Specify the type of UI element to display on the screen. You can add new UI elements of any supported type, but you cannot change the type of an existing UI element.

        Possible values:

        field - Indicates that the UI element is a field displayed on the screen, such as a multiline, number, user, or picklist field.

        text - Indicates that the UI element is a text block displayed on the screen.

        get_records - Indicates that the UI element is a Get Records component displayed on the screen.

        data_hubs - Indicates that the UI element is a Queries component displayed on the screen.

      • value string, optional

        Specify the value for the element. Typically null for field and get_records elements when creating or updating. For text elements, contains the display text with optional merge fields.

      • fieldJSON object, optional

        The configuration for form field elements. Required when type is field.

        • id string, mandatory

          The unique ID of the field. You cannot update the ID.

        • field_label string, mandatory

          Specify the display label shown to the user for this field.

        • allow_multiple_uploadBoolean, optional

          Specify whether multiple file uploads are allowed. Applicable only when data_type is fileupload

          Possible values:

          true
          false

        • api_name string, optional

          The unique API name assigned to this field. fopr existing Ui elements you will get API name from here.

        • data_type string, mandatory

          The data type of the field.

          Possible values:

          ValueDescription
          textData type for single line text field.
          textareaData type for multi line text field.
          phoneData type for phone number field.
          integerData type for number field.
          currencyData type for currency field.
          doubleData type for decimal field.
          percentData type for percent field.
          websiteData type for URL field.
          booleanData type for checkbox field.
          emailData type for email field.
          dateData type for date field.
          datetimeData type for datetime field.
          picklistData type for picklist field.
          userlookupData type for user field.
          fileuploadData type for file upload field.
          multiselectpicklistData type for multi select picklist field.
        • requiredBoolean, optional

          Indicates whether the field is mandatory. Defaults to false.

        • read_onlyBoolean, optional

          Indicates whether the field is read-only. Defaults to false.

        • _merge_field string, optional

          The merge field expression for auto-populating the field value.

        • lengthInteger, mandatory

          Specify the maximum length allowed for the field value. This key is only applicable for the following fields. For fileupload, the length indicates the maximum number of files that can be uploaded.

          Possible values:

          Data TypeElement typeLength
          textareafield2000
          integerfield9
          currencyfield16
          doublefield16
          websitefield450
          fileuploadfield5
        • number_separatorBoolean, optional

          Specifies whether number formatting separators are applied. Applicable when field type is double.

        • decimal_placeInteger, optional

          The number of decimal places for numeric fields. Applicable when field type is double.

        • currencyJSON object, optional

          Specify the configuration of the currency element. This object is required when data_type is currency.

          • rounding_option string, optional

            Possible values:

            Possible values:

            normal - Truncates the value to the configured number of decimal places without rounding.

            round_off - Rounds the value to the configured number of decimal places using standard rounding rules.

            round_up - Always rounds the value up to the configured number of decimal places.

            round_down - Always rounds the value down to the configured number of decimal places.

          • precisionInteger, optional

            Number of decimal places. The value ranges from 0 to 9, with a default of 2.

        • tooltipJSON object, optional

          Specify the tooltip displayed alongside the field.

          • name string, optional

            The identifier of the tooltip icon displayed next to the field.

            Possible values:

            info_icon - Displays an information icon next to the field.

            static_text - Displays informational text next to the field.

          • value string, optional
            The tooltip text shown to the user. The maximum characters allowed for info_icon is 255 chars and for static_text is 32 chars.
        • _pick_list_type string, optional

          Specifies the source of the picklist values. Applicable when data_type is picklist or multiselectpicklist.

          Possible values:

          local - Picklist values are defined within this field. This is the default value.

          global_set - Picklist values are sourced from a global picklist.

        • global_picklistJSON object, optional

          Reference to the global picklist used by this field. Required when _pick_list_type is global_set. Specify the api_name and id of the global picklist.

        • _global_picklist_nameJSON object, optional

          Display metadata for the referenced global picklist. Applicable when _pick_list_type is global_set.

          • display_label string, optional

            The display label of the global picklist. Refer Get Global Picklist API.

          • api_name string, optional

            The API name of the global picklist.

        • pick_list_valuesJSON array, optional

          Required when data_type is picklist or multiselectpicklist.

          • id string, optional

            The unique ID of the picklist option.

          • display_value string, optional

            The text displayed to the user in the dropdown list.

          • actual_value string, optional

            The actual value stored in the system when this option is selected. Often the same as display_value.

          • sequence_numberInteger, optional

            The display order of the option in the dropdown list.

      • get_recordJSON object, optional

        Specify the details of the GetRecords element to be added top the screen. Required when type is get_records. Specify the name and id of the record. Refer to the Kiosk Get Records API for details of available Get Records.

      • selected_fields array, optional

        Specifies the array of fields to be displayed for each retrieved record. This field is required when type is get_records. You can configure a maximum of 30 fields. Each object in the array must specify the field's id and api_name. Refer to the Kiosk Get Records API for API name and ID.

      • open_recordBoolean, optional

        Specifies whether clicking a record opens its detail view. Required when type is get_records. The default value is true.

    • buttonsJSON array, optional

      The array of action buttons displayed on the screen. Each button object contains the following fields:

      • prop_namestring, optional

        The button style or variant that determines the visual appearance of the button.

        Possible values:

        primary - Displays the button as the primary action on the screen, typically used for actions such as Next, Submit, or Save.

        default - Displays the button with the standard appearance, suitable for secondary actions.

        outlineprimary - Displays the button with a primary-colored outline, emphasizing the action without making it the primary button.

        failure - Displays the button with a solid error-themed style, typically used for destructive or critical actions such as Delete or Reject.

        outlineredlight - Displays the button with a red outline, typically used for secondary destructive actions such as Cancel, Discard, or Remove.

      • namestring, mandatory

        The label text displayed on the button to users.

      • idstring, mandatory

        The unique identifier for the button.

Sample Input - Screen

Copied{
    "states": [
        {
            "name": "GetRecordsUpdate",
            "details": {
                "screen_details": {
                    "button_align": "right_to_left",
                    "elements": [
                        {
                            "type": "field",
                            "value": "HI hellow",
                            "field": {
                                "length": 255,
                                "field_label": "Test Field",
                                "required": false,
                                "read_only": false,
                                "value": "HI hellow",
                                "id": "5039614000001059010",
                                "data_type": "text",
                                "api_name": "Test_Field"
                            }
                        },
                        {
                            "type": "get_records",
                            "value": null,
                            "selected_fields": [
                                {
                                    "api_name": "id",
                                    "id": "5039614000000337001"
                                },
                                {
                                    "api_name": "Owner",
                                    "id": "5039614000000000553"
                                },
                                {
                                    "api_name": "Company",
                                    "id": "5039614000000000555"
                                },
                                {
                                    "api_name": "First_Name",
                                    "id": "5039614000000000557"
                                },
                                {
                                    "api_name": "Mobile",
                                    "id": "5039614000000000569"
                                }
                            ],
                            "open_record": true,
                            "get_record": {
                                "name": "GetRecords 2",
                                "id": "5039614000001057897"
                            }
                        },
                        {
                            "type": "field",
                            "value": "${ProcessFlow2.5039614000001057561.5039614000000000613}",
                            "field": {
                                "length": 2000,
                                "field_label": "Multi-Line 1",
                                "required": false,
                                "read_only": true,
                                "_merge_field": "${!Update_Kiosk_Test1.CurrentRecord.Description}",
                                "value": "${ProcessFlow2.5039614000001057561.5039614000000000613}",
                                "id": "5039614000001059016",
                                "data_type": "textarea",
                                "api_name": "Multi_Line_1"
                            }
                        },
                        {
                            "type": "field",
                            "value": null,
                            "field": {
                                "length": 30,
                                "field_label": "Phone 2",
                                "required": true,
                                "read_only": false,
                                "id": "5039614000001059021",
                                "data_type": "phone",
                                "api_name": "Phone_2",
                                "tooltip": {
                                    "value": "Phone number field",
                                    "name": "info_icon"
                                }
                            }
                        },
                        {
                            "type": "field",
                            "value": null,
                            "field": {
                                "length": 8,
                                "field_label": "Number 2",
                                "required": false,
                                "read_only": false,
                                "_merge_field": "${!Update_Kiosk_Test1.CurrentRecord.No_of_Employees}",
                                "id": "5039614000001059025",
                                "data_type": "integer",
                                "api_name": "Number_2"
                            }
                        },
                        {
                            "type": "field",
                            "value": null,
                            "field": {
                                "_pick_list_type": "local",
                                "length": 16,
                                "currency": {
                                    "rounding_option": "round_up",
                                    "precision": 2
                                },
                                "decimal_place": 2,
                                "field_label": "Currency 2",
                                "required": false,
                                "read_only": false,
                                "id": "5039614000001059028",
                                "data_type": "currency",
                                "api_name": "Currency_2"
                            }
                        },
                        {
                            "type": "field",
                            "value": null,
                            "field": {
                                "length": 16,
                                "decimal_place": 2,
                                "field_label": "Decimal 4",
                                "required": false,
                                "read_only": false,
                                "id": "5039614000001059031",
                                "data_type": "double",
                                "number_separator": true,
                                "api_name": "Decimal_4"
                            }
                        },
                        {
                            "type": "field",
                            "value": null,
                            "field": {
                                "length": 5,
                                "field_label": "Percent 4",
                                "required": false,
                                "read_only": false,
                                "id": "5039614000001059034",
                                "data_type": "percent",
                                "api_name": "Percent_4"
                            }
                        },
                        {
                            "type": "field",
                            "value": null,
                            "field": {
                                "length": 450,
                                "field_label": "URL 2",
                                "required": false,
                                "read_only": false,
                                "id": "5039614000001059037",
                                "data_type": "website",
                                "api_name": "URL_2"
                            }
                        },
                        {
                            "type": "field",
                            "value": true,
                            "field": {
                                "field_label": "Checkbox 2",
                                "required": false,
                                "read_only": false,
                                "value": true,
                                "id": "5039614000001059040",
                                "data_type": "boolean",
                                "api_name": "Checkbox_2"
                            }
                        },
                        {
                            "type": "field",
                            "value": "${ProcessFlow2.5039614000001057561.5039614000000000563}",
                            "field": {
                                "length": 100,
                                "field_label": "Email 2",
                                "required": false,
                                "read_only": true,
                                "_merge_field": "${!Update_Kiosk_Test1.CurrentRecord.Email}",
                                "value": "${ProcessFlow2.5039614000001057561.5039614000000000563}",
                                "id": "5039614000001059043",
                                "data_type": "email",
                                "api_name": "Email_2"
                            }
                        },
                        {
                            "type": "field",
                            "value": null,
                            "field": {
                                "field_label": "Date 2",
                                "required": false,
                                "read_only": false,
                                "id": "5039614000001059046",
                                "data_type": "date",
                                "api_name": "Date_2"
                            }
                        },
                        {
                            "type": "field",
                            "value": null,
                            "field": {
                                "field_label": "Date/Time 2",
                                "required": false,
                                "read_only": false,
                                "id": "5039614000001059049",
                                "data_type": "datetime",
                                "api_name": "Date_Time_2"
                            }
                        },
                        {
                            "type": "field",
                            "value": null,
                            "field": {
                                "_pick_list_type": "local",
                                "length": 500,
                                "field_label": "Pick List 4",
                                "required": false,
                                "read_only": false,
                                "id": "5039614000001059053",
                                "data_type": "picklist",
                                "api_name": "Pick_List_4",
                                "pick_list_values": [
                                    {
                                        "display_value": "-None-",
                                        "sequence_number": 1,
                                        "actual_value": "-None-",
                                        "id": "5039614000001059062"
                                    },
                                    {
                                        "display_value": "Option 1",
                                        "sequence_number": 2,
                                        "actual_value": "Option 1",
                                        "id": "5039614000001059052"
                                    },
                                    {
                                        "display_value": "Option 2",
                                        "sequence_number": 3,
                                        "actual_value": "Option 2",
                                        "id": "5039614000001059054"
                                    },
                                    {
                                        "display_value": "Sunday",
                                        "sequence_number": 4,
                                        "actual_value": "Sunday",
                                        "id": "5039614000001059055"
                                    },
                                    {
                                        "display_value": "Monday",
                                        "sequence_number": 5,
                                        "actual_value": "Monday",
                                        "id": "5039614000001059056"
                                    },
                                    {
                                        "display_value": "Tuesday",
                                        "sequence_number": 6,
                                        "actual_value": "Tuesday",
                                        "id": "5039614000001059057"
                                    },
                                    {
                                        "display_value": "Wednesday",
                                        "sequence_number": 7,
                                        "actual_value": "Wednesday",
                                        "id": "5039614000001059058"
                                    },
                                    {
                                        "display_value": "Thursday",
                                        "sequence_number": 8,
                                        "actual_value": "Thursday",
                                        "id": "5039614000001059059"
                                    },
                                    {
                                        "display_value": "Friday",
                                        "sequence_number": 9,
                                        "actual_value": "Friday",
                                        "id": "5039614000001059060"
                                    },
                                    {
                                        "display_value": "Saturday",
                                        "sequence_number": 10,
                                        "actual_value": "Saturday",
                                        "id": "5039614000001059061"
                                    }
                                ]
                            }
                        },
                        {
                            "type": "field",
                            "value": null,
                            "field": {
                                "_pick_list_type": "local",
                                "length": 500,
                                "field_label": "Pick List 5",
                                "required": false,
                                "read_only": false,
                                "id": "5039614000001059066",
                                "data_type": "picklist",
                                "api_name": "Pick_List_5",
                                "pick_list_values": [
                                    {
                                        "display_value": "-None-",
                                        "sequence_number": 1,
                                        "actual_value": "-None-",
                                        "id": "5039614000001059069"
                                    },
                                    {
                                        "display_value": "test2",
                                        "sequence_number": 2,
                                        "actual_value": "test2",
                                        "id": "5039614000001059065"
                                    },
                                    {
                                        "display_value": "test3",
                                        "sequence_number": 3,
                                        "actual_value": "test3",
                                        "id": "5039614000001059067"
                                    },
                                    {
                                        "display_value": "test4",
                                        "sequence_number": 4,
                                        "actual_value": "test4",
                                        "id": "5039614000001059068"
                                    }
                                ]
                            }
                        },
                        {
                            "type": "field",
                            "value": "${ProcessFlow2.5039614000001057561.5039614000000000573}",
                            "field": {
                                "_pick_list_type": "local",
                                "length": 500,
                                "field_label": "Pick List 6",
                                "required": false,
                                "read_only": false,
                                "_merge_field": "${!Update_Kiosk_Test1.CurrentRecord.Lead_Source}",
                                "value": "${ProcessFlow2.5039614000001057561.5039614000000000573}",
                                "id": "5039614000001059073",
                                "data_type": "picklist",
                                "api_name": "Pick_List_6",
                                "pick_list_values": [
                                    {
                                        "display_value": "-None-",
                                        "sequence_number": 1,
                                        "actual_value": "-None-",
                                        "id": "5039614000001059075"
                                    },
                                    {
                                        "display_value": "Option 1",
                                        "sequence_number": 2,
                                        "actual_value": "Option 1",
                                        "id": "5039614000001059072"
                                    },
                                    {
                                        "display_value": "Option 2",
                                        "sequence_number": 3,
                                        "actual_value": "Option 2",
                                        "id": "5039614000001059074"
                                    }
                                ]
                            }
                        },
                        {
                            "type": "field",
                            "value": null,
                            "field": {
                                "length": 500,
                                "field_label": "Multi-Select 2",
                                "required": false,
                                "read_only": false,
                                "id": "5039614000001059079",
                                "data_type": "multiselectpicklist",
                                "api_name": "Multi_Select_2",
                                "pick_list_values": [
                                    {
                                        "display_value": "Option 1",
                                        "sequence_number": 1,
                                        "actual_value": "Option 1",
                                        "id": "5039614000001059078"
                                    },
                                    {
                                        "display_value": "Option 2",
                                        "sequence_number": 2,
                                        "actual_value": "Option 2",
                                        "id": "5039614000001059080"
                                    }
                                ]
                            }
                        },
                        {
                            "type": "field",
                            "value": "${ProcessFlow2.5039614000001057561.5039614000000000573}",
                            "field": {
                                "_pick_list_type": "global_set",
                                "length": 500,
                                "field_label": "Pick List 7",
                                "required": false,
                                "read_only": false,
                                "_merge_field": "${!Update_Kiosk_Test1.CurrentRecord.Lead_Source}",
                                "value": "${ProcessFlow2.5039614000001057561.5039614000000000573}",
                                "id": "5039614000001059083",
                                "data_type": "picklist",
                                "api_name": "Pick_List_7",
                                "global_picklist_name": {
                                    "display_label": "Source",
                                    "api_name": "Source"
                                },
                                "pick_list_values": [
                                    {
                                        "display_value": "-None-",
                                        "sequence_number": 1,
                                        "actual_value": "-None-",
                                        "id": "5039614000001059085"
                                    },
                                    {
                                        "display_value": "Advertisement",
                                        "sequence_number": 2,
                                        "actual_value": "Advertisement",
                                        "id": "5039614000001059086"
                                    },
                                    {
                                        "display_value": "Cold Call",
                                        "sequence_number": 3,
                                        "actual_value": "Cold Call",
                                        "id": "5039614000001059087"
                                    },
                                    {
                                        "display_value": "Employee Referral",
                                        "sequence_number": 4,
                                        "actual_value": "Employee Referral",
                                        "id": "5039614000001059088"
                                    },
                                    {
                                        "display_value": "External Referral",
                                        "sequence_number": 5,
                                        "actual_value": "External Referral",
                                        "id": "5039614000001059089"
                                    },
                                    {
                                        "display_value": "Partner",
                                        "sequence_number": 6,
                                        "actual_value": "Partner",
                                        "id": "5039614000001059090"
                                    },
                                    {
                                        "display_value": "Public Relations",
                                        "sequence_number": 7,
                                        "actual_value": "Public Relations",
                                        "id": "5039614000001059091"
                                    },
                                    {
                                        "display_value": "Trade Show",
                                        "sequence_number": 8,
                                        "actual_value": "Trade Show",
                                        "id": "5039614000001059092"
                                    },
                                    {
                                        "display_value": "Seminar Partner",
                                        "sequence_number": 9,
                                        "actual_value": "Seminar Partner",
                                        "id": "5039614000001059093"
                                    },
                                    {
                                        "display_value": "Online Store",
                                        "sequence_number": 10,
                                        "actual_value": "OnlineStore",
                                        "id": "5039614000001059094"
                                    },
                                    {
                                        "display_value": "Chat",
                                        "sequence_number": 11,
                                        "actual_value": "Chat",
                                        "id": "5039614000001059095"
                                    },
                                    {
                                        "display_value": "Sales Email Alias",
                                        "sequence_number": 12,
                                        "actual_value": "Sales Mail Alias",
                                        "id": "5039614000001059096"
                                    },
                                    {
                                        "display_value": "Internal Seminar",
                                        "sequence_number": 13,
                                        "actual_value": "Seminar-Internal",
                                        "id": "5039614000001059097"
                                    },
                                    {
                                        "display_value": "Web Download",
                                        "sequence_number": 14,
                                        "actual_value": "Web Download",
                                        "id": "5039614000001059098"
                                    },
                                    {
                                        "display_value": "Web Research",
                                        "sequence_number": 15,
                                        "actual_value": "Web Research",
                                        "id": "5039614000001059099"
                                    },
                                    {
                                        "display_value": "X (Twitter)",
                                        "sequence_number": 16,
                                        "actual_value": "Twitter",
                                        "id": "5039614000001059100"
                                    },
                                    {
                                        "display_value": "Facebook",
                                        "sequence_number": 17,
                                        "actual_value": "Facebook",
                                        "id": "5039614000001059101"
                                    }
                                ]
                            }
                        },
                        {
                            "type": "field",
                            "value": "${Users.5039614000000140005}",
                            "field": {
                                "field_label": "User 2",
                                "required": false,
                                "read_only": false,
                                "_merge_field": "${!users.created_by}",
                                "value": "${Users.5039614000000140005}",
                                "id": "5039614000001059103",
                                "data_type": "userlookup",
                                "api_name": "User_2"
                            }
                        },
                        {
                            "type": "field",
                            "value": null,
                            "field": {
                                "length": 1,
                                "field_label": "File Upload 2",
                                "required": false,
                                "read_only": false,
                                "id": "5039614000001059109",
                                "data_type": "fileupload",
                                "api_name": "File_Upload_2"
                            }
                        }
                    ],
                    "buttons": [
                        {
                            "prop_name": "outlineprimary",
                            "name": "Submit",
                            "id": "5039614000001057905"
                        }
                    ],
                    "width": "1000px",
                    "title": "Screen New"
                }
            }
        }
    ]
}

2. Input JSON - State (Decision)

This section explains the details section for the decision state. Common fields are covered in the Input JSON section.

  • path_detailsJSON array, mandatory

    Contains the details related to decision paths. Each path defines filter conditions and routing logic. Required when type is decision.

    • name string, optional

      The display name of the path.

    • defaultBoolean, mandatory

      Specify whether this is the default path when no other conditions are matched. Only one path should have this set to true. Defaults to false.

    • filter_conditionsJSON object, mandatory

      Specify the conditions used to evaluate whether this path should be followed. This field is required for non-default paths and must be null for the default path.

      • pattern string, optional

        Specify the logical pattern used to combine multiple criteria groupings by referencing their sequence_number values. Supported formats include (1and2), (1or2), ((1and2)or3), and similar nested expressions. Specify this as empty when only one criteria grouping exists as no logical combination is required.

      • criteria_groupingsJSON array, mandatory

        Array of condition groups that define the filtering logic. Each grouping evaluates conditions against different data sources.

        • type string, mandatory

          The type of condition source. Determines where the field data is retrieved from.

          Possible values:

          kiosk_fields - Criteria is evaluated against fields within the current kiosk form.

          current_record - Criteria is evaluated against the current record being processed.

          get_record - Criteria evaluated based on whether the Get Records response contains data or not.

        • value string, mandatory

          Specify the placeholder token used to evaluate the selected source.

          Possible values:
          ${NOTEMPTY}- Indicates the source has data to evaluate.
          ${EMPTY}- Indicates the source has no data to evaluate.

        • resourceJSON object, conditional

          Configuration for the data source. Required when type is get_record. Contains the resource name and ID. Specify the name and id.

        • criteriaJSON object or array, conditional

          Specify the field-level comparison to evaluate for the criteria grouping. Include this object when defining a field-level comparison while creating a Decision state.

          • fieldJSON object, mandatory

            The field being evaluated in the condition. Specify the field id and api_name. Refer to the Get Fields API to retrieve field API names.

          • comparator string, mandatory

            Specify the comparison operator to apply.

            Possible values:

            equal, not_equal, greater_than, less_than, greater_equal, less_equal, contains, does_not_contain, between, not_between.

          • value string/Boolean/JSON array, mandatory

            Specify the value to compare against. The format of this field depends on the value of type.

            If type is value, specify a static value. For Boolean fields, this can be true or false.

            If type is field, specify a JSON array containing the id and api_name of the field to compare against.

          • type string, mandatory

            The value type for the condition.

            Possible values: value, merge_field.

          • group_operator string, conditional

            The logical operator combining multiple conditions in a group. Possible values: and, or. Required when criteria is a group containing multiple conditions.

          • groupJSON array, conditional

            Array of condition objects to be combined with the group_operator. Required when criteria contains multiple conditions grouped together.

        • sequence_number number, mandatory

          The numeric position of this criteria grouping in the pattern evaluation (for example, 1, 2, 3).

Sample Input - Decision

Copied{
    "states": [
        {
            "name": "Decision",
            "details": {
                "path_details": [
                    {
                        "name": "Path 1",
                        "default": false,
                        "filter_conditions": {
                            "pattern": "(1and2)",
                            "criteria_groupings": [
                                {
                                    "type": "kiosk_fields",
                                    "value": "${NOTEMPTY}",
                                    "criteria": {
                                        "group_operator": "and",
                                        "group": [
                                            {
                                                "field": {
                                                    "api_name": "Checkbox_2",
                                                    "id": "5039614000001062086"
                                                },
                                                "comparator": "equal",
                                                "value": true,
                                                "type": "value"
                                            },
                                            {
                                                "field": {
                                                    "api_name": "Pick_List_4",
                                                    "id": "5039614000001062100"
                                                },
                                                "comparator": "equal",
                                                "value": "Monday",
                                                "type": "value"
                                            }
                                        ]
                                    },
                                    "sequence_number": 1
                                },
                                {
                                    "type": "current_record",
                                    "value": "${NOTEMPTY}",
                                    "criteria": {
                                        "field": {
                                            "api_name": "Annual_Revenue",
                                            "id": "5039614000000000581"
                                        },
                                        "comparator": "greater_than",
                                        "value": "10000",
                                        "type": "value"
                                    },
                                    "sequence_number": 2
                                }
                            ]
                        }
                    },
                    {
                        "default": false,
                        "name": "Path 2",
                        "filter_conditions": {
                            "criteria_groupings": [
                                {
                                    "sequence_number": 1,
                                    "resource": {
                                        "name": "GetRecords 4",
                                        "id": "5039614000001062171"
                                    },
                                    "type": "get_record",
                                    "value": "${NOTEMPTY}"
                                }
                            ],
                            "pattern": null
                        }
                    },
                    {
                        "name": "Default",
                        "filter_conditions": null,
                        "default": true
                    }
                ]
            }
        }
    ]
}

3. Input JSON - Get Records

This section explains the details section for the get_records state. Common fields are covered in the Input JSON section.

  • get_recordJSON object, optional

    Contains the reference information for the records to be retrieved.

    • idstring, mandatory

      The unique identifier of the get_records component.

    • namestring, optional

      The display name of the get_records component.

Note

  • For the id and name of get_records, refer to the associated fields object in the Get States of a Kiosk API, if only name of the state needs to be changed.
  • To update a Get Records configuration, refer to the Update Kiosk Get Records API.
  • You can replace an existing Get Records configuration with another by updating the id with the new value. Refer to the Kiosk Get Records API.

Sample Input - Get Records

Copied{
    "states": [
        {
            "name": "GetRecordsUpdate",
            "details": {
                "get_record": {
                    "id": "5039614000001057567",
                    "name": "Call Get Records"
                }
            }
        }
    ]
}

4.1 Input JSON - Action (Assign Owner)

This section explains the details section for the assign_owner action state. Common fields are covered in the Input JSON section.

  • typestring, mandatory

    The type of action to perform. Must be set to assign_owner for owner assignment actions.

  • assign_ownerJSON object, optional

    Configuration for assigning ownership of records based on specified criteria. Required when type is assign_owner.

    • moduleJSON object, optional

      Specify the module in which the ownership assignment is to be applied. Specify the api_name of the module, refer to the Get Modules API.

    • assign_toJSON array, mandatory

      Specify how the new owner should be assigned. This array contains one or more assignment configurations.

      • typestring, mandatory

        Specify the method to use for assigning ownership.

        Possible values:

        user - Assigns the record to a specific user.

        role - Assigns the record to users with a particular role. Users are assigned in a round-robin pattern.

        criteria - Assigns the record based on specified conditions.

        merge_field - Assigns the record using a user field referenced from a previous state.

      • resourceJSON object, mandatory

        Specify the resource being assigned. For the user type, specify the user's unique identifier and name, refer Get Users API. For role type specify the role's id and name, refer Get Roles API.

        • idstring, mandatory

          The unique identifier of the user being assigned as the owner.

        • namestring, mandatory

          The name of the user being assigned as the owner.

    • related_recordsJSON array, optional

      Specifies the API name of the related list whose records should be transferred to the new owner.

      Modules supported:Tasks, Calls, Meetings. Refer Get Module API for API name and ID of the related modules.

      • api_namestring, mandatory

        The API name of the related module (for example, Tasks, Deals, Activities).

    • notifyBoolean, optional

      Specify whether the newly assigned owner receives an email notification when ownership is transferred. Set to true to send a notification. This is the default value.

      Possible values:

      true - Sends an email notification to the newly assigned owner. This is the default value.

      false - No notification is sent.

    • user_availability_based_onJSON array, optional

      Specify the conditions to determine whether a user is available to be assigned ownership.

      Possible values:

      online_status - Considers only users who are currently online for the assignment.

  • execute_for_recordJSON object, mandatory

    Specify the details about the record (GetRecord or CurrentRecord) on which the action should be performed. Refer Input JSON - Notes for name and id.

    • namestring, optional

      Specify the display name indicating which record context is used.

    • idstring, mandatory

      Specify the unique identifier of the record context.

Sample Input - Assign Owner

Copied{
    "states": [
        {
            "name": "Assign Owner",
            "details": {
                "type": "assign_owner",
                "assign_owner": {
                    "module": {
                        "api_name": "Contacts"
                    },
                    "assign_to": [
                        {
                            "resource": {
                                "id": "5039614000000709001",
                                "name": "Patricia Boyle"
                            },
                            "type": "user"
                        }
                    ],
                    "related_records": [
                        {
                            "api_name": "Tasks"
                        },
                        {
                            "api_name": "Deals"
                        }
                    ],
                    "notify": true,
                    "user_availability_based_on": null
                }
            }
        }
    ]
}

4.2 Input JSON - Action (Add Tags)

This section explains the details section for the add_tags action state. Common fields are covered in the Input JSON section.

  • type string, mandatory

    The type of action to perform. Must be set to add_tags for tag assignment actions.

  • add_tagsJSON object, optional

    Specify the details about creating or associating one or more tags to the record. Refer Create Tags API for Tag creation.

    • moduleJSON object, optional

      The CRM module from which the tags will be removed. To update, refer the Get Modules API for details on module details. Specify the id of the module.

    • tagsJSON array, mandatory

      Specify the array of tags to associate with the record. You must specify at least one tag, and you can associate a maximum of ten tags in a single action. Refer to the Tags API for information about the available tag properties.

      • id string, mandatory

        The unique identifier of the tag.

      • name string, mandatory

        The display name of the tag.

    • over_writeBoolean, optional

      Specify whether the new tags should replace the existing tags on the selected records. If set to true, the existing tags are replaced with the new tags. If set to false, the new tags are added to the existing tags. The default value is false.

  • execute_for_recordJSON object optional

    Specify the record context (GetRecord or CurrentRecord) on which the action should be performed. Refer Input JSON - Notes for name and id.

    • namestring, optional

      The display name indicating which record context is used.

    • idstring, mandatory

      The unique identifier of the record context.

Note

To update the name of an existing tag, use the Update Tags API. To create a new tag, use the Create Tags API and then include the tag id and name in the add_tags JSON body.

The module context from execute_for_record determines which tags are suitable for assignment.

Sample Input - Add Tags

Copied{
    "states": [
        {
            "name": "TagNameUpdate",
            "details": {
                "type": "add_tags",
                "add_tags": {
                    "over_write": true,
                    "tags": [
                        {
                            "id": "5039614000000965616",
                            "name": "New lead"
                        },
                        {
                            "id": "5039614000000727231",
                            "name": "LeadNew"
                        }
                    ],
                    "module": {
                        "id": "5039614000000000125",
                        "api_name": "Leads"
                    }
                },
                "execute_for_record": {
                    "name": "Current record",
                    "id": "5039614000000965541"
                }
            }
        }
    ]
}

4.3 Input JSON - Action (Remove Tags)

This section explains the details section for the remove_tags action state. Common fields are covered in the Input JSON section. You can include additional tags to be removed, or exclude previously included tags from being removed by omitting them from the request body.

  • type string, mandatory

    The type of action to perform. Must be set to remove_tags for tag removal actions.

  • remove_tagsJSON object, optional

    Specify the details about removing the associated tags in the record.

    • tagsJSON array, optional

      Specify an array of tag objects, each containing the ID or name of the tag to be removed. Specify the name and id of the tags. Refer to the Get Tags API. Ensure that the provided tag details are consistent with the execute_for_record context.

  • execute_for_recordJSON object optional

    Specify the record context (GetRecord or CurrentRecord) on which the action should be performed. Refer Input JSON - Notes for name and id.

    • name string, optional

      The display name indicating which record context is used.

    • id string, mandatory

      The unique identifier of the record context.

Sample Input - Remove Tags

Copied{
    "states": [
        {
            "name": "ActionremoveTags",
            "type": "action",
            "details": {
                "type": "remove_tags",
                "remove_tags": {
                    "tags": [
                        {
                            "name": "Disqualified lead"
                        }
                    ]
                },
                "execute_for_record": {
                    "name": "GetRecords 2",
                    "id": "5039614000001194015"
                }
            }
        }
    ]
}

4.4 Input JSON - Action (Create Record-Via User Input)

This section explains the details section for the quick_create_record action state. Common fields are covered in the Input JSON section.

  • type string, mandatory

    The type of action to perform. Must be set to quick_create_record for quick record creation actions.

  • quick_create_recordJSON object, optional

    Configuration for quick record creation through user input. Required when type is quick_create_record. This action displays a form allowing users to enter field values for the new record.

    • moduleJSON object, optional

      The CRM module in which the new record will be created. Specify the mandatory id and an optional display name of the module. Refer Get Modules API for details.

    • layoutJSON object, optional

      The layout to be used for the quick create form. Specify the mandatory id and an optional display name of the layout. Refer to the Get Layouts API for more details.

Sample Input - Create Record(Via User Input)

Copied{
    "states": [
        {
            "name": "Quick",
            "details": {
                "quick_create_record": {
                    "type":"quick_create_record",
                    "layout": {
                        "id": "5039614000000095053",
                        "name": "Standard"
                    },
                    "module": {
                        "id": "5039614000000000143",
                        "api_name": "Tasks"
                    }
                }
            }
        }
    ]
}

4.5 Input JSON - Action (Create Record - Predefined Configuration)

This section explains the details section for the create_record action state. Common fields are covered in the Input JSON section.

  • typestring, mandatory

    Specify the type of action.

  • create_recordJSON object, optional

    Configuration for creating new records with specified field values and mappings. Required when type is create_record.

    • moduleJSON object mandatory

      The CRM module in which the new record will be created. Specify the mandatory id and an optional display name of the module. Refer Get Modules API for details.

    • layoutJSON object, mandatory

      The layout to be used for the new record. Specify the mandatory id and an optional display name of the layout. Refer Get Layouts API for more details.

    • field_mappingsJSON array, optional

      Array of field mappings that define which fields to populate and their values. At least one mapping is required.

      • fieldJSON object, optional

        The field to be populated. Specify the mandatory id and an optional display name of the field. Refer Get Fields API for details.

      • type string, optional

        The type of value to assign. Determines how the value is interpreted.

        Possible values:

        static - The value is a literal string or object that is directly assigned to the field.

        merge_field - The value is a merge field expression that is evaluated at runtime.

      • value string or object, optional

        The value to assign to the field. Format depends on field data type and the type specified.

        • For static type: Can be a string literal, an object with properties or a simple value.
        • For merge_field type: Must be a merge field expression string.

Sample Input - Create Record(Predefined Configuration)

Copied{
    "states": [
        {
            "name": "CREATE RECORD",
            "details": {
                "type": "create_record",
                "create_record": {
                    "layout": {
                        "id": "5039614000000095055",
                        "api_name": "Standard"
                    },
                    "module": {
                        "id": "5039614000000000125",
                        "api_name": "Leads"
                    },
                    "field_mappings": [
                        {
                            "field": {
                                "id": "5039614000000000555",
                                "api_name": "Company"
                            },
                            "type": "static",
                            "value": "Test"
                        }
                    ]
                }
            }
        }
    ]
}

4.6 Input JSON - Action (Convert)

This section explains the convert action state. Specify details about converting records from one type to another, including field mappings, tag handling, and relationship settings. Common fields are covered in the Input JSON section.

  • type string, mandatory

    The type of action to perform. Must be set to convert for record conversion actions (for example, converting Leads to Contacts and Deals).

  • convertJSON object, optional

    Configuration for converting records from one type to another with associated field mappings, tag handling, and relationship settings.

    • add_to_existing_contactBoolean, mandatory

      Specify whether to prompt the user to select an existing Contact. If set to true, the user selects an existing Contact. If set to false, a new Contact is created. The default value is false.

    • add_to_existing_accountBoolean, mandatory

      Specify whether the converted record should be linked to an existing Account. If set to true, the user is prompted to select an existing Account. If set to false, a new Account is created. The default value is false.

    • create_dealBoolean, optional

      Specify whether a Deal should be created during the conversion process. If set to true, a new Deal is created using the specified field mappings. If set to false, no Deal is created. The default value is false.

    • contact_rolestring, optional

      The unique identifier of the Contact role to be assigned to the converted Contact record during the conversion process. Refer Get Contact Roles API for the contact role ID.

    • change_owner JSON object, optional

      Specify the configuration for changing the owner of the converted record and optionally updating ownership in related modules. Specify the owner's id and name, along with an optional array of related_modules (related items of current owner will be transferred to whose records will also have their ownership updated.)

      • idstring, mandatory

        The unique identifier of the user to be assigned as the owner.

      • namestring, optional

        The display name of the user to be assigned as the owner.

      • related_modulesJSON array, optional

        Array of modules whose records will have their ownership updated when the parent record owner is changed.

        • idstring, mandatory

          The unique identifier of the related module.

        • api_namestring, optional

          The API name of the related module.

    • move_attachment_toJSON object, optional

      Specify the target module to which attachments from the original record should be moved during Lead conversion. Provide the target module's id and api_name. Supported target modules are Contacts, Accounts, and Deals. The Deals module can be specified only when create_deal is set to true. If this object is not specified, attachments are moved to the Contacts module by default. This configuration is applicable only to Lead conversion and is not supported for other record conversions, such as Quote to Sales Order or Invoice, or Sales Order to Invoice.

    • carry_tagsJSON array, optional

      Specify the array of tags to be carried over to the converted records during conversion. Each object in the array must specify the tag's id and api_name. Refer to the Get Tags API to retrieve the available tags.

    • field_mappingsJSON array, optional

      Array of field mappings that define which fields in the converted record are populated and their values. Typically used for populating Deal fields, when create_deal is true.

      • fieldJSON object, optional

        The field to be populated. Specify the mandatory id and an optional display name of the field. Refer Get Fields API for details.

      • type string, optional

        The type of value to assign.

        Possible values:

        static - A literal string or object directly assigned to the field.

        merge_field - A merge field expression evaluated at runtime.

      • value string or object, optional

        Specify the value to assign to the field. Format depends on the field data type and type specified.

        • For static type: Can be a string literal, an object with properties, or a simple value.
        • For merge_field type: Must be a merge field expression string.
  • execute_for_recordJSON object optional

    Specify the record context (GetRecord or CurrentRecord) on which the action should be performed. Refer Input JSON - Notes for name and id.

    • name string, optional

      The type of record context to use when opening the record.

    • id string mandatory

      The unique identifier of the record context.

Sample Input - Convert

Copied{
    "states": [
        {
            "name": "Convert Action",
            "details": {
                "type": "convert",
                "convert": {
                    "add_to_existing_contact": false,
                    "add_to_existing_account": true,
                    "move_attachment_to": {
                        "id": "5039614000000000129",
                        "api_name": "Contacts"
                    },
                    "carry_tags": [
                        {
                            "id": "5039614000000000131",
                            "api_name": "Deals"
                        }
                    ],
                    "field_mappings": [
                        {
                            "field": {
                                "id": "5039614000000000517",
                                "api_name": "Amount"
                            },
                            "type": "static",
                            "value": "60000"
                        },
                        {
                            "field": {
                                "id": "5039614000000000519",
                                "api_name": "Deal_Name"
                            },
                            "type": "static",
                            "value": "test Deal"
                        },
                        {
                            "field": {
                                "id": "5039614000000000521",
                                "api_name": "Closing_Date"
                            },
                            "type": "static",
                            "value": "28/05/2026"
                        },
                        {
                            "field": {
                                "id": "5039614000000000525",
                                "api_name": "Stage"
                            },
                            "type": "static",
                            "value": "Qualification"
                        }
                    ],
                    "create_deal": true,
                    "contact_role": "5039614000000007170",
                    "change_owner": {
                        "id": "5039614000000709001",
                        "name": "Patricia Boyle",
                        "related_modules": [
                          
                            {
                                "id": "5039614000000000143",
                                "api_name": "Tasks"
                            },
                            {
                                "id": "5039614000000000145",
                                "api_name": "Events"
                            }
                        ]
                    }
                }
            }
        }
    ]
}

4.7 Input JSON - Action (Open Record)

This section explains the details section for the open_record action state. Common fields are covered in the Input JSON section.

  • typestring, mandatory

    The type of action to perform. Must be set to open_record for record opening actions.

  • open_recordJSON object, optional

    Configuration for opening a record in detail view.

  • execute_for_recordJSON object, optional

    Specify the record context (GetRecord or CurrentRecord) on which the action should be performed. Refer Input JSON - Notes for name and id.

    • namestring, optional

      The type of record context to use when opening the record.

    • idstring, mandatory

      The unique identifier of the record context.

Sample Input -Open Record

Copied{
    "states": [
        {
            "name": "OpenRecord Action",
            "details": {
                "type": "open_record",
                "execute_for_record": {
                    "name": "GetRecords 4",
                    "id": "5039614000001062171"
                }
            }
        }
    ]
}

4.8 Input JSON - Action (Add Meeting)

This section explains the details section for the add_meeting action state. Common fields are covered in the Input JSON section.

  • type string, mandatory

    The type of action to perform. Must be set to add_meeting for meeting actions.

  • add_meetingJSON object, optional

    Configuration for adding or scheduling meetings with specified field values, duration, and host settings.

    • layoutJSON object, optional

      The layout to be used for the meeting record. This determines which fields are available and their organization.

      • id string, mandatory

        The unique identifier of the layout.

      • name string, optional

        The display name of the layout.

    • meeting_durationJSON object, mandatory

      Configuration for the duration of the meeting.

      • unit string, mandatory

        Specify the numeric value representing the meeting duration.

      • periodstring, mandatory

        Specify the time unit for the duration.

        Possible values:

        • minutes
        • hours
        • days
    • host_unavailableJSON object, optional

      Configuration for handling scenarios when the configured meeting host is unavailable.

      • assign_record_owner_as_hostBoolean, optional

        If set to true, the record owner is assigned as the meeting host when the configured primary host is unavailable. The default value is false.

      • assign_taskJSON object, optional

        Specifies the task to execute when the configured primary host is unavailable. Specify the task name and id. Refer to the Get Kiosk States API to retrieve the available task IDs.

        • nameString, mandatory

          Specify the display name of the task.

        • idString, mandatory

          Specify the unique ID of the task.

    • field_mappingsJSON array, mandatory

      Array of field mappings that define which fields are populated and their values. Maximum of 50 field mappings per action.

      • fieldJSON object, mandatory

        The field to be populated. Specify the id and api_name of field. Refer Get Fields API.

      • type string, mandatory

        The type of value to assign. Determines how the value is interpreted

        Possible values:

        • static - A literal string or object directly assigned to the field.
        • execution_time - A time-based value calculated relative to the workflow execution.
        • merge_field - A merge field expression evaluated at runtime.
      • value string, mandatory

        The value to assign to the field. Format depends on the field data type and type specified.

        • For static type: Can be a string literal, an object with properties, or a simple value.
        • For execution_time type: An object specifying the following:
          • period -Specify the meeting period in either minutes or hours.
          • unit - Specify the number of minutes or hours the meeting will go on.
          • time - Specify the time in "HH:MM" format. This field is required when the time is not derived from the transition trigger time.
        • For merge_field type: A merge field expression string.
  • execute_for_recordJSON object optional

    Specify the record context (GetRecord or CurrentRecord) on which the action should be performed. Refer Input JSON - Notes for name and id.

    • name string optional

      The display name indicating which record context is used.

    • id string mandatory

      The unique identifier of the record context.

Note

Only fields available in the selected Events module layout can be populated. Use the Get Fields API for the Events module to retrieve the supported fields and layouts.

Sample Input - Add Meeting

Copied{
    "states": [
        {
            "name": "Action",
            "details": {
                "type": "add_meeting",
                "add_meeting": {
                    "meeting_duration": {
                        "unit": "1",
                        "period": "hours"
                    },
                    "host_unavailable": {
                        "assign_record_owner_as_host": true
                    },
                    "layout": {
                        "id": "5039614000000095045",
                        "name": "Standard"
                    },
                    "field_mappings": [
                        {
                            "field": {
                                "id": "5039614000000000249",
                                "api_name": "Event_Title"
                            },
                            "type": "merge_field",
                            "value": "${!Update_Kiosk_Test2.Multi_Line_1}"
                        },
                        {
                            "field": {
                                "id": "5039614000000723580",
                                "api_name": "Meeting_Venue__s"
                            },
                            "type": "static",
                            "value": "In-office"
                        },
                        {
                            "field": {
                                "id": "5039614000000101001",
                                "api_name": "Start_DateTime"
                            },
                            "type": "execution_time",
                            "value": {
                                "period": "days",
                                "unit": "2",
                                "sign": "plus",
                                "trigger_field": "${CURRENTTIME}"
                            }
                        },
                        {
                            "field": {
                                "id": "5039614000000057003",
                                "api_name": "All_day"
                            },
                            "type": "static",
                            "value": "false"
                        },
                        {
                            "field": {
                                "id": "5039614000000000247",
                                "api_name": "Owner"
                            },
                            "type": "static",
                            "value": {
                                "name": "${CURRENTUSER}"
                            }
                        },
                        {
                            "field": {
                                "id": "5039614000000000257",
                                "api_name": "Who_Id"
                            },
                            "type": "merge_field",
                            "value": "${!Update_Kiosk_Test2.GetRecords_4}"
                        }
                    ]
                }
            }
        }
    ]
}

4.9 Input JSON - Action (Schedule Call)

This section explains the details section for the schedule_call action state. Common fields are covered in the Input JSON section.

  • type string, mandatory

    The type of action to perform. Must be set to schedule_call for call scheduling actions.

  • schedule_callJSON object, optional

    Configuration for scheduling calls with specified field values, layout, and call details.

    • layoutJSON object, optional

      The layout to be used for the call record. This determines which fields are available and their organization.

      • id string, mandatory

        Specify unique identifier of the layout.

      • nameJSON string, optional

        Specify display name of the layout.

    • field_mappingsJSON array, mandatory

      Array of field mappings that define which fields are populated and their values. Maximum of 50 field mappings per action.

      • fieldJSON object, mandatory

        Array of field mappings that define which fields are populated and their values. At least one mapping is required.

        • id string, mandatory

          The unique identifier of the field.

        • api_name string, mandatory

          The API name of the field.

      • type string, mandatory

        The type of value to assign. Determines how the value is interpreted.

        Possible values:

        static - The value is a literal string or object directly assigned to the field.

        execution_time - The value is calculated based on the execution time by applying a specified time offset (period and unit) to determine the future date or time.

        merge_field - The value is a merge field expression evaluated at runtime.

      • value string or object, optional

        The value to assign to the field. Format depends on the field type specified.

        For execution_time type, the value is a JSON object containing the following fields:

        • period string, mandatory

          The time unit for the offset. 

          Possible values:

          days
          hours
          minutes

        • unit string, mandatory

          The numeric value representing the offset quantity (for example, "5" for 5 days when period is "days").

        • signstring, mandatory

          The direction of the offset.

          Possible values:

          plus
          minus

        • trigger_fieldstring, mandatory

          The field that represents the base time value.

        • timestring, optional

          The scheduled time in HH:MM format.

    • execute_for_recordJSON object, optional

      Configuration for specifying which record(s) or data source the call action should be executed for. This determines the target records that will receive the scheduled call. Refer Input JSON - Notes for name and id.

      • idstring, mandatory

        The unique identifier of the record or data source configuration.

      • namestring, optional

        The display name of the record or data source.

Note

Only fields available in the Calls module layout can be populated or updated. Use the Get Fields API for the Calls module to retrieve the supported fields and layouts.

Sample Input - Schedule Call

Copied{
    "states": [
        {
            "name": "Schedule Call",
            "details": {
                "type": "schedule_call",
                "schedule_call": {
                    "layout": {
                        "id": "5039614000000095033",
                        "name": "Standard"
                    },
                    "field_mappings": [
                        {
                            "field": {
                                "id": "5039614000000017021",
                                "api_name": "Call_Type"
                            },
                            "type": "static",
                            "value": "Outbound"
                        },
                        {
                            "field": {
                                "id": "5039614000000017029",
                                "api_name": "Call_Start_Time"
                            },
                            "type": "execution_time",
                            "value": {
                                "period": "days",
                                "unit": "5",
                                "sign": "plus",
                                "time": "01:00",
                                "trigger_field": "${CURRENTTIME}"
                            }
                        },
                        {
                            "field": {
                                "id": "5039614000000017017",
                                "api_name": "Owner"
                            },
                            "type": "static",
                            "value": {
                                "name": "${CURRENTUSER}"
                            }
                        },
                        {
                            "field": {
                                "id": "5039614000000017023",
                                "api_name": "Call_Purpose"
                            },
                            "type": "static",
                            "value": "Administrative"
                        },
                        {
                            "field": {
                                "id": "5039614000000621035",
                                "api_name": "Call_Agenda"
                            },
                            "type": "static",
                            "value": "Negotiate Deal"
                        }
                    ]
                },
                "execute_for_record": {
                    "name": "GetRecords 4",
                    "id": "5039614000001062171"
                }
            }
        }
    ]
}

This section explains the details section for the open_link action state. Common fields are covered in the Input JSON section.

  • type string, mandatory

    The type of action to perform. Must be set to open_link for opening external links.

  • open_linkJSON object, optional

    Configuration for opening external links with encoding and URL specifications.

    • name string, optional

      The display name of the open link action.

    • link string, mandatory

      The URL or merge field expression that specifies the link to open. Can be a static URL or a merge field expression.

    • encode string, mandatory

      The character encoding to be applied to the link.

      Possible values:

      UTF-8 - Unicode Transformation Format with 8-bit encoding.

      UTF-16 - Unicode Transformation Format with 16-bit encoding.

      ISO-8859-1 - Latin-1 character encoding.

      ISO-8859-9 - Turkish character encoding.

      GB2312 - Simplified Chinese character encoding.

      Big5 - Traditional Chinese character encoding.

      Shift_JIS - Japanese character encoding.

Sample Input - Open Link

Copied{
    "states": [
        {
            "name": "OpenLinkActionupdate",
            "details": {
                "type": "open_link",
                "open_link": {
                    "encode": "UTF-8",
                    "link": "${!Update_Kiosk_Test2.CurrentRecord.website}"
                }
            }
        }
    ]
}

4.11 Input JSON - Action(Field Updates)

This section explains the details section for the field updates action state. Common fields are covered in the Input JSON section.

  • type string, mandatory

    The type of action to perform.

  • field_updatesJSON object, optional

    Specify the details about the field update action. Refer Get Field Update API for details.

    • id string, mandatory

      The unique identifier of the field updates configuration.

    • name string, optional

      The display name of the field updates action.

  • execute_for_recordJSON object, optional

    Specify the details about the record (get record or current record) on which the action should be performed.

    • name string, optional

      The display name indicating which record context is used.

    • id string, mandatory

      The unique identifier of the record context.

Note
For associated actions, state-related details such as name can only be updated through the Kiosk. To update Field update action, refer to the Update a Field Update Action API . For replacing the existing field update with a new one, refer the Get Field Update API. The new field update should align with the record context specified through execute_for_record.

Sample Input - Field Updates

Copied{
    "states": [
        {
            "name": "Field Update New",
            "details": {
                "type": "field_updates",
                "field_updates": {
                    "id": "5039614000000967418",
                    "name": "Field Update New"
                },
                "execute_for_record": {
                    "name": "Current record",
                    "id": "5039614000000965541"
                }
            }
        }
    ]
}

4.12 Input JSON - Action (Email Notification)

This section explains the details section for the email_notifications action state. Common fields are covered in the Input JSON section .

  • typeJSON string, mandatory

    The type of action to perform. Must be set to email_notifications for email notification actions.

  • email_notificationsJSON object, optional

    Configuration for sending email notifications with specified template and recipient settings.

    • idstring, mandatory

      The unique identifier of the email notification configuration.

    • namestring, optional

      The display name of the email notification action.

  • execute_for_recordJSON object, optional

    Specify the record context (GetRecord or CurrentRecord) on which the action should be performed. Refer Input JSON - Notes for name and id.

    • name string, optional

      The display name indicating the record context.

    • id string, mandatory

      The unique identifier of the record context.

Note
For associated actions, state-related details such as name can only be updated through the Kiosk. To update email notification settings, refer to the Update Email Notification API . For replacing the existing email notification action with a new one, refer the Get Email Notification Action API. The new one should align with the record context specified through execute_for_record.

Sample Input - Email Notification

Copied{
    "states": [
        {
            "name": "Action -Email Notification",
            "details": {
                "type": "email_notifications",
                "email_notifications": {
                    "id": "5039614000000965683",
                    "name": "Action -Email Notification"
                },
                "execute_for_record": {
                    "name": "GetRecords 2",
                    "id": "5039614000000965555"
                }
            }
        }
    ]
}

4.13 Input JSON - Action (Webhook)

This section explains the details section for the webhooks action state. Common fields are covered in the Input JSON section .

  • typeJSON string, mandatory

    The type of action to perform. Must be set to webhooks for webhook actions.

  • webhooksJSON object, optional

    Configuration for the webhook action that triggers an HTTP request to a specified endpoint.

    • idstring, mandatory

      The unique identifier of the webhook configuration to invoke.

    • namestring, optional

      The display name of the webhook action (for example, "Notify Third Party", "Send to External API").

  • execute_for_recordJSON object, optional

    Specify the record context (GetRecord or CurrentRecord) on which the action should be performed. Refer Input JSON - Notes for name and id.

    • namestring, optional

      The display name indicating the record context (for example, "Current Record", "Parent Record").

    • idstring, mandatory

      The unique identifier of the record context.

Note
For associated actions, state-related details such as name can only be updated through the Kiosk. To update webhook settings, refer to the Update Webhook API . For replacing the existing webhook action with a new one, refer the Get Webhook Action API. The new one should align with the record context specified through execute_for_record.

Sample Input - Webhook

Copied{
    "states": [
        {
            "name": "Webhook",
            "details": {
                "type": "webhooks",
                "webhooks": {
                    "id": "5039614000000975006",
                    "name": "Webhook"
                },
                "execute_for_record": {
                    "name": "Current record",
                    "id": "5039614000000965541"
                }
            }
        }
    ]
}

4.14 Input JSON - Action (Add Task)

This section explains the details section for the add task action state. Common fields are covered in the Input JSON section .

  • typeJSON string, mandatory

    The type of action to perform. Must be set to tasks for add task actions.

  • tasksJSON object, optional

    Configuration for the automation task that creates a new task record when the action executes.

    • idstring, mandatory

      Specify the ID of the task action to be associated.

    • namestring, optional

      Specify the name of the task action to be associated.

  • execute_for_recordJSON object, optional

    Specify the record context (GetRecord or CurrentRecord) on which the action should be performed. Refer Input JSON - Notes for name and id.

    • namestring, optional

      The display name indicating the record context (for example, "Current Record", "Parent Record").

    • idstring, mandatory

      The unique identifier of the record context.

Note
For associated actions, state-related details such as name can only be updated through the Kiosk. To update task, refer to the Update Automation Task API . For replacing the existing add task action with a new one, refer the Get Automation Tasks API. The new one should align with the record context specified through execute_for_record.

Sample Input - Add Task

Copied{
    "states": [
        {
            "name": "Action add task",
            "details": {
                "type": "tasks",
                "tasks": {
                    "id": "5039614000000965700",
                    "name": "New Task"
                },
                "execute_for_record": {
                    "name": "Current record",
                    "id": "5039614000000965541"
                }
            }
        }
    ]
}

Possible Errors

  • INVALID_DATA HTTP 400
    • No such Kiosk exists with the provided ID.
      Resolution: Verify that the kiosk_ID in the request URL is a valid and existing Kiosk identifier. You can retrieve a list of valid Kiosk IDs using the GET Kiosks API.

    • Invalid GetRecord ID.
      Resolution: Verify that the get_record_id in the request URL is a valid and existing GetRecord identifier. You can retrieve a list of valid GetRecord IDs using the Kiosk Get Records API.

    • Invalid Tag.
      Resolution: Verify that the tag in the request URL is a valid and existing Tag identifier. You can retrieve a list of valid Tag IDs using the Get Tags API.

    • Unsupported mergefield provided.
      Resolution: Ensure that the mergefield expression provided in the request body is valid and adheres to any naming conventions or restrictions defined by the API.

    • Invalid module.
      Resolution:For Create Record action, the modules supported are Contacts, Leads, Potentials, Products, Cases, Accounts and custom modules.

    • No such state exists in Kiosk.
      Resolution:Verify that the state_id provided in the request URL corresponds to an existing state within the specified Kiosk. You can retrieve a list of valid state IDs for a Kiosk using the GET Kiosk States API.

    • The fieldId given seems to be invalid.
      Resolution: Verify that the fieldId provided in the request body corresponds to a valid field within the specified module. You can retrieve a list of valid field IDs for a module using the Get Module Fields API.

  • AMBIGUITY_DURING_PROCESSING HTTP 400

    Default path not supported the filter conditions.
    Resolution: In Decision Component, default path should not have filter conditions, only one path should be the default, and it shouldn't have filters.

  • NOT_ALLOWED HTTP 400
    • State type cannot be edited.
      Resolution: The value of type cannot be changed.

    • Active kiosk does not allow perform given operation.
      Resolution: Ensure that the specified kiosk_ID refers to the Kiosk in draft state. Operations are not allowed on active Kiosks. You can retrieve the list of available Kiosks and verify their status using the GET Kiosks API.

    • Single GetRecords alone supported for action state.
      Resolution: Provide the Get Records which have result_type as single. Refer to the Kiosk Get Records API for more details on Get Records and their request types.

    • The given action ID is not from a kiosk module.
      Resolution: Check whether the provided action ID is associated with a valid Kiosk module. You can verify this by checking the related_module field of the action. Refer to the Get Automation Field Updates Action API, Get Automation Email Notifications Action API, Get Automation Webhook Action API and Get Automation Tasks APIfor more details.

    • The data type for field id and given data type mismatch.
      Resolution: The data_type provided in the request body should match the data type of the field ID as per the module metadata. Refer to the Get Module Fields API for details on field data types.

  • MANDATORY_NOT_FOUNDHTTP 400
    • Required field not found.
      Resolution: Refer to the Input JSON section. The states array is mandatory.

    • GetRecord id is missing. Resolution:Provide the id of get records in the request body. Refer to the Kiosk Get Records API for valid get record IDs.

    • Data type is missing
      Resolution: Provide the data_type of the respective field in the request body. Refer Get Module Fields API for valid data types.

    • Display label is missing
      Resolution: Provide the display_label of the respective field in the request body. Refer Get Module Fields API for valid display labels.

  • DEPENDENT_FIELD_MISSINGHTTP 400

    Dependent field is missing.
    Resolution: A required field is missing based on a dependency relationship. When the parent field (identified as dependee.api_name in the error response) is specified, its dependent field (identified as api_name in the error response) must also be included in the request body. Check the error response for the json_path values to locate where each field should be provided. For example, if the error indicates that id depends on type, ensure both type and id are included in your request.

  • DEPENDENT_MISMATCHHTTP 400

    Dependent field is not matching.
    Resolution: The dependent field value does not match or is incompatible with its parent field. When a field has a dependency relationship, the dependent field (identified as api_name in the error response) must have a value that is compatible with its parent field (identified as dependee.api_name in the error response). Check the error response for the json_path values to identify which fields are involved in the mismatch. Verify that the dependent field value is appropriate for the parent field type. For example, if the error indicates that type does not match id, ensure that the type value is valid and compatible with the specified id.

  • OAUTH_SCOPE_MISMATCHHTTP 401

    Invalid oauth scope to access this URL.
    Resolution: Create a new token with the required scopes. Refer to the scopesection.

  • AUTHENTICATION_FAILUREHTTP 401

    Authentication Failed.
    Resolution: Pass the access token in the request header of the API call.

  • INVALID_URL_PATTERNHTTP 404

    Please check if the URL trying to access is a correct one.
    Resolution: Refer Request Details section, and pass the proper URL.

Sample Response

Copied{
    "states": [
        {
            "code": "SUCCESS",
            "details": {
                "id": "5039614000000965565"
            },
            "message": "Kiosk state updated successfully",
            "status": "success"
        }
    ]
}