Based on the documentation there seems to be a supported and unsupported category.
modal = ModalView(
title="Example_Modal",
submit="Submit",
close="Cancel",
callback_id="example_callback_id",
blocks=[
SectionBlock(text="Select a branch to deploy"),
InputBlock(
label="Branch",
element=StaticSelectMenu(
placeholder="Select a branch",
action_id="branch_select",
options=[
Option(text=Text(text="branch-a",type_=TextType.PLAINTEXT), value="branch-a"),
Option(text=Text(text="branch-b",type_=TextType.PLAINTEXT), value="branch-b"),
Option(text=Text(text="branch-c",type_=TextType.PLAINTEXT), value="branch-c"),
],
),
),
SectionBlock(text="Select the environment(s) to deploy to"),
InputBlock(
label="Environments",
element=StaticMultiSelectMenu(
placeholder="Select environments",
action_id="deploy_to_env",
options=[
Option(text=Text(text="dev",type_=TextType.PLAINTEXT), value="dev"),
Option(text=Text(text="preprod",type_=TextType.PLAINTEXT), value="preprod"),
Option(text=Text(text="prod",type_=TextType.PLAINTEXT), value="prod"),
],
),
),
],
)
modal = ModalView(
title="Example_Modal",
submit="Submit",
close="Cancel",
callback_id="example_callback_id",
blocks=[
SectionBlock(text="Select a branch to deploy"),
InputBlock(
label="Branch",
element=StaticSelectMenu(
placeholder="Select a branch",
action_id="branch_select",
options=[
Option(text="branch-a", value="branch-a"),
Option(text="branch-b", value="branch-b"),
Option(text="branch-c", value="branch-c"),
],
),
),
SectionBlock(text="Select the environment(s) to deploy to"),
InputBlock(
label="Environments",
element=StaticMultiSelectMenu(
placeholder="Select environments",
action_id="deploy_to_env",
options=[
Option(text="dev", value="dev"),
Option(text="preprod", value="preprod"),
Option(text="prod", value="prod"),
],
),
),
],
)
Error opening modal: The request to the Slack API failed. (url: https://www.slack.com/api/views.open)
The server responded with: {'ok': False, 'error': 'invalid_arguments', 'response_metadata': {'messages': ['[ERROR] failed to match all allowed schemas [json-pointer:/view]', '[ERROR] failed to match all allowed schemas [json-pointer:/view/blocks/1/element/options/0/text]', '[ERROR] must be a valid enum value [json-pointer:/view/blocks/1/element/options/0/text/type]', '[ERROR] failed to match all allowed schemas [json-pointer:/view/blocks/1/element/options/1/text]', '[ERROR] must be a valid enum value [json-pointer:/view/blocks/1/element/options/1/text/type]', '[ERROR] failed to match all allowed schemas [json-pointer:/view/blocks/1/element/options/2/text]', '[ERROR] must be a valid enum value [json-pointer:/view/blocks/1/element/options/2/text/type]', '[ERROR] failed to match all allowed schemas [json-pointer:/view/blocks/3/element/options/0/text]', '[ERROR] must be a valid enum value [json-pointer:/view/blocks/3/element/options/0/text/type]', '[ERROR] failed to match all allowed schemas [json-pointer:/view/blocks/3/element/options/1/text]', '[ERROR] must be a valid enum value [json-pointer:/view/blocks/3/element/options/1/text/type]', '[ERROR] failed to match all allowed schemas [json-pointer:/view/blocks/3/element/options/2/text]', '[ERROR] must be a valid enum value [json-pointer:/view/blocks/3/element/options/2/text/type]']}}