diff --git a/.changeset/workflow-button-action-id.md b/.changeset/workflow-button-action-id.md new file mode 100644 index 000000000..4f07855c2 --- /dev/null +++ b/.changeset/workflow-button-action-id.md @@ -0,0 +1,5 @@ +--- +"@slack/types": patch +--- + +fix(types): include `action_id` in `WorkflowButton` diff --git a/packages/types/src/block-kit/block-elements.ts b/packages/types/src/block-kit/block-elements.ts index 6fe6a127d..87c59e6a2 100644 --- a/packages/types/src/block-kit/block-elements.ts +++ b/packages/types/src/block-kit/block-elements.ts @@ -728,7 +728,7 @@ export interface URLSourceElement { * @description Allows users to run a {@link https://docs.slack.dev/tools/deno-slack-sdk/guides/creating-link-triggers/#workflow_buttons link trigger} with customizable inputs. * @see {@link https://docs.slack.dev/reference/block-kit/block-elements/workflow-button-element Workflow button element reference}. */ -export interface WorkflowButton extends Confirmable { +export interface WorkflowButton extends Actionable, Confirmable { /** * @description The type of element. In this case `type` is always `workflow_button`. */ diff --git a/packages/types/test/block-elements.test-d.ts b/packages/types/test/block-elements.test-d.ts index 020149637..21570d2c5 100644 --- a/packages/types/test/block-elements.test-d.ts +++ b/packages/types/test/block-elements.test-d.ts @@ -1,5 +1,20 @@ import { expectAssignable, expectError } from 'tsd'; -import type { RichTextInput } from '../src/index'; +import type { RichTextInput, WorkflowButton } from '../src/index'; + +// WorkflowButton happy path +expectAssignable({ + type: 'workflow_button', + text: { + type: 'plain_text', + text: 'Run workflow', + }, + action_id: 'run_workflow', + workflow: { + trigger: { + url: 'https://example.com/trigger', + }, + }, +}); // RichTextInput — happy paths expectAssignable({