From 0fcf363bd09c15f2f1f8f6a1eb714329734f4258 Mon Sep 17 00:00:00 2001 From: deepunyk Date: Sat, 8 Aug 2026 08:23:43 +0530 Subject: [PATCH 1/2] docs: clarify optional input blocks (#2044) --- docs/english/concepts/creating-modals.md | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/docs/english/concepts/creating-modals.md b/docs/english/concepts/creating-modals.md index fa07b137b..fe5edd826 100644 --- a/docs/english/concepts/creating-modals.md +++ b/docs/english/concepts/creating-modals.md @@ -70,4 +70,23 @@ app.command('/ticket', async ({ ack, body, client, logger }) => { logger.error(error); } }); -``` \ No newline at end of file +``` + +### Making input blocks optional + +Set `optional: true` on the enclosing `input` block when users should be able to submit the view without providing a value. This setting applies to the element inside the block, including select menus such as `multi_external_select`; the element itself does not need an `optional` field. + +```javascript +{ + type: 'input', + optional: true, + label: { + type: 'plain_text', + text: 'Choose projects' + }, + element: { + type: 'multi_external_select', + action_id: 'projects' + } +} +``` From 05d1a0b37f6c6c8bbf420740a4042c023e4b2305 Mon Sep 17 00:00:00 2001 From: deepunyk Date: Tue, 11 Aug 2026 08:01:39 +0530 Subject: [PATCH 2/2] address optional input docs review --- .changeset/optional-input-block-docs.md | 5 +++++ docs/english/concepts/creating-modals.md | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .changeset/optional-input-block-docs.md diff --git a/.changeset/optional-input-block-docs.md b/.changeset/optional-input-block-docs.md new file mode 100644 index 000000000..9a9c1811c --- /dev/null +++ b/.changeset/optional-input-block-docs.md @@ -0,0 +1,5 @@ +--- +"@slack/bolt": patch +--- + +Clarify how to make input blocks optional in the Bolt documentation. diff --git a/docs/english/concepts/creating-modals.md b/docs/english/concepts/creating-modals.md index fe5edd826..6a1c7b6ed 100644 --- a/docs/english/concepts/creating-modals.md +++ b/docs/english/concepts/creating-modals.md @@ -74,7 +74,7 @@ app.command('/ticket', async ({ ack, body, client, logger }) => { ### Making input blocks optional -Set `optional: true` on the enclosing `input` block when users should be able to submit the view without providing a value. This setting applies to the element inside the block, including select menus such as `multi_external_select`; the element itself does not need an `optional` field. +Set `optional: true` on the enclosing `input` block when users should be able to submit the view without providing a value. This setting applies to elements inside the block, including select menus such as `multi_external_select`; the element itself does not need an `optional` field. ```javascript {