Configuration modals are used in Workflow Builder during the addition of steps from apps
To define these modals, apps create view objects β packages of information that describe layout, interactivity, and other useful metadata.
Configuration view objects are used within the following Web API methods:
Configuration modals are used just like regular modals, with a few differences.
Below is a reference of all the possible fields within a configuration view object:
Field | Type | Required? | Description |
---|---|---|---|
type |
String | Yes | The type of view. Always set to workflow_step |
blocks |
Array | Yes | An array of blocks that defines the content of the view. Max of 100 blocks. |
private_metadata |
String | No | An optional string that will be sent to your app in view_submission and block_actions events. Max length of 3000 characters. |
callback_id |
String | No | An identifier to recognize interactions and submissions of this particular view. Don't use this to store sensitive information (use private_metadata instead). Max length of 255 characters. |
submit_disabled |
Boolean | No | When set to true , disables the submit button until the user has completed one or more inputs. |
external_id or view_id |
string | Yes | A unique identifier of the view set by the developer. Must be unique for all views on a team. Max length of 255 characters. Note: only one of either view_id or external_id is required. |
If you use non-standard characters (including characters with diacritics), please be aware that these are converted and sent in unicode format when you receive the view callback payloads.
A configuration modal view:
{
"type": "workflow_step",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "It's Block Kit...but _in a modal_"
},
"block_id": "section1",
"accessory": {
"type": "button",
"text": {
"type": "plain_text",
"text": "Click me"
},
"action_id": "button_abc",
"value": "Button value",
"style": "danger"
}
},
{
"type": "input",
"label": {
"type": "plain_text",
"text": "Input label"
},
"element": {
"type": "plain_text_input",
"action_id": "input1",
"placeholder": {
"type": "plain_text",
"text": "Type in here"
},
"multiline": false
},
"optional": false
}
],
"private_metadata": "Shhhhhhhh",
"callback_id": "view_identifier_12"
}