From 01a802a8d66058174a3f0bc1a837fbc796f0a78f Mon Sep 17 00:00:00 2001 From: akmhatey-ai Date: Sat, 16 May 2026 14:28:00 +0200 Subject: [PATCH 1/2] Fix Slack Lists message field response types --- .changeset/slack-lists-message-fields.md | 5 +++ .../web-api/src/types/request/slackLists.ts | 41 ++++++++++++++++++- .../test/types/methods/slacklists.test-d.ts | 34 ++++++++++++++- 3 files changed, 78 insertions(+), 2 deletions(-) create mode 100644 .changeset/slack-lists-message-fields.md diff --git a/.changeset/slack-lists-message-fields.md b/.changeset/slack-lists-message-fields.md new file mode 100644 index 000000000..b1ae8addc --- /dev/null +++ b/.changeset/slack-lists-message-fields.md @@ -0,0 +1,5 @@ +--- +"@slack/web-api": patch +--- + +Correct Slack Lists item message field response typing to accept single and multiple message objects. diff --git a/packages/web-api/src/types/request/slackLists.ts b/packages/web-api/src/types/request/slackLists.ts index 21cc8d431..d3b562988 100644 --- a/packages/web-api/src/types/request/slackLists.ts +++ b/packages/web-api/src/types/request/slackLists.ts @@ -65,6 +65,25 @@ export interface SlackListsItemFieldMessage { message: string[]; } +/** + * @description Message field value returned for Slack Lists items. + */ +export interface SlackListsItemMessage { + text?: string; + ts?: string; + user?: string; + team?: string; + type?: string; +} + +/** + * @description Message field returned for Slack Lists items. + */ +export interface SlackListsItemFieldMessageResponse { + column_id: string; + message: SlackListsItemMessage | SlackListsItemMessage[]; +} + /** * @description Number field with numeric values. */ @@ -153,6 +172,26 @@ export type SlackListsItemField = | SlackListsItemFieldTimestamp | SlackListsItemFieldUser; +/** + * @description Union type of all possible Slack Lists item field types returned by the API. + */ +export type SlackListsItemResponseField = + | SlackListsItemFieldAttachment + | SlackListsItemFieldChannel + | SlackListsItemFieldCheckbox + | SlackListsItemFieldDate + | SlackListsItemFieldEmail + | SlackListsItemFieldLink + | SlackListsItemFieldMessageResponse + | SlackListsItemFieldNumber + | SlackListsItemFieldPhone + | SlackListsItemFieldRating + | SlackListsItemFieldReference + | SlackListsItemFieldRichText + | SlackListsItemFieldSelect + | SlackListsItemFieldTimestamp + | SlackListsItemFieldUser; + /** * @description Slack Lists item structure. */ @@ -180,7 +219,7 @@ export interface SlackListsItem { /** * @description Array of field data for this item. */ - fields: SlackListsItemField[]; + fields: SlackListsItemResponseField[]; /** * @description String representation of the last update timestamp. */ diff --git a/packages/web-api/test/types/methods/slacklists.test-d.ts b/packages/web-api/test/types/methods/slacklists.test-d.ts index 0f8a02274..f751479c5 100644 --- a/packages/web-api/test/types/methods/slacklists.test-d.ts +++ b/packages/web-api/test/types/methods/slacklists.test-d.ts @@ -1,5 +1,5 @@ import { expectAssignable, expectError } from 'tsd'; - +import type { SlackListsItemsListResponse } from '../../../src/types/response/SlackListsItemsListResponse'; import { WebClient } from '../../../src/WebClient'; const web = new WebClient('TOKEN'); @@ -77,8 +77,15 @@ expectError(web.slackLists.items.create({})); // missing list_id expectAssignable>([ { list_id: 'L1234567890', + initial_fields: [{ column_id: 'Col1234567890', message: ['https://example.slack.com/archives/C123/p123'] }], }, ]); +expectError( + web.slackLists.items.create({ + list_id: 'L1234567890', + initial_fields: [{ column_id: 'Col1234567890', message: { text: 'message objects are only returned by the API' } }], + }), +); // slackLists.items.delete // -- sad path @@ -159,3 +166,28 @@ expectAssignable>([ id: 'L1234567890', }, ]); + +// slackLists.items.list response fields +expectAssignable({ + ok: true, + items: [ + { + id: 'Rec014K005UQJ', + list_id: 'L1234567890', + date_created: 1710000000, + created_by: 'U01284PCR98', + updated_by: 'U01284PCR98', + fields: [{ column_id: 'Col014K005UQJ', message: { text: 'hello', ts: '123.456', user: 'U01284PCR98' } }], + updated_timestamp: '1710000000.000000', + }, + { + id: 'Rec014K005UQK', + list_id: 'L1234567890', + date_created: 1710000001, + created_by: 'U01284PCR98', + updated_by: 'U01284PCR98', + fields: [{ column_id: 'Col014K005UQJ', message: [{ text: 'first' }, { text: 'second', ts: '123.457' }] }], + updated_timestamp: '1710000001.000000', + }, + ], +}); From 693b837faca968e3b8a8af47defea9d42c00e620 Mon Sep 17 00:00:00 2001 From: akmhatey-ai Date: Sat, 16 May 2026 15:56:05 +0200 Subject: [PATCH 2/2] Retrigger Salesforce CLA check