SlackListItems
Query, create, update, and delete rows (items) within a Slack List. Each row in a Slack List is represented as an item whose cells correspond to the columns defined in that list's schema. The Fields column exposes the cells as JSON, since each list has a user-defined column shape.
Select
You must specify the ListId column in the WHERE clause to query the SlackListItems table. The component uses the Slack API to retrieve rows from a Slack List. The ListId and Id columns support server-side processing for the = operator and the IN operator (which fans out one API call per value). The Archived column is server-side processed when used with =. All other filters are processed client-side.
For example, the following queries are processed server side by the Slack APIs:
SELECT * FROM SlackListItems WHERE ListId = 'F099C0D2RBM'
SELECT Id, ListId, Fields FROM SlackListItems WHERE ListId = 'F099C0D2RBM' AND Id = 'Rec099HEVP1M3'
SELECT Id, Fields FROM SlackListItems WHERE ListId = 'F099C0D2RBM' AND Id IN ('Rec099HEVP1M3', 'Rec099G37PGLE')
SELECT Id, ListId, Archived FROM SlackListItems WHERE ListId = 'F099C0D2RBM' AND Archived = true
Insert
ListId is required for inserting a row. ListId, InitialFields, ParentItemId, and DuplicatedItemId are the only columns that can be set on insert. InitialFields and DuplicatedItemId are mutually exclusive. The InitialFields column accepts a JSON array of cells; each entry must include column_id and a typed value (rich_text, select, user, date, etc.) matching the column's type in the list schema.
INSERT INTO SlackListItems (ListId) VALUES ('F099C0D2RBM')
INSERT INTO SlackListItems (ListId, InitialFields) VALUES ('F099C0D2RBM', '[{"column_id":"Col099C0D3HK5","rich_text":[{"type":"rich_text","elements":[{"type":"rich_text_section","elements":[{"type":"text","text":"Task title"}]}]}]},{"column_id":"Col099C0D4XC3","select":["OptH7J6ZZVI"]}]')
INSERT INTO SlackListItems (ListId, DuplicatedItemId) VALUES ('F099C0D2RBM', 'Rec099HEVP1M3')
INSERT INTO SlackListItems (ListId, ParentItemId) VALUES ('F099C0D2RBM', 'Rec099HEVP1M3')
Update
The SlackListItems table accepts updates through the Cells column when ListId is specified in the WHERE clause. Cells is a JSON array where each entry includes row_id, column_id, and a typed value. A single UPDATE can modify multiple cells across multiple rows.
UPDATE SlackListItems SET Cells = '[{"row_id":"Rec099HEVP1M3","column_id":"Col099C0D3HK5","rich_text":[{"type":"rich_text","elements":[{"type":"rich_text_section","elements":[{"type":"text","text":"Updated task"}]}]}]}]' WHERE ListId = 'F099C0D2RBM'
UPDATE SlackListItems SET Cells = '[{"row_id":"Rec099HEVP1M3","column_id":"Col099C0D4XC3","select":["Opt2IV7HPRJ","Opt0NXYVO6D"]},{"row_id":"Rec099HEVP1M3","column_id":"Col099C0D5Z4K","rich_text":[{"type":"rich_text","elements":[{"type":"rich_text_section","elements":[{"type":"text","text":"Multi-cell update"}]}]}]}]' WHERE ListId = 'F099C0D2RBM'
Delete
Rows can be deleted by providing the ListId and the Id of the row. The IN operator on Id fans out one API call per row.
DELETE FROM SlackListItems WHERE ListId = 'F099C0D2RBM' AND Id = 'Rec099HEVP1M3'
DELETE FROM SlackListItems WHERE ListId = 'F099C0D2RBM' AND Id IN ('Rec099HEVP1M3', 'Rec099G37PGLE')
Columns
| Name | Type | ReadOnly | References | Description |
| Id [KEY] | String | True |
The Id of the row (item). | |
| ListId [KEY] | String | False |
The Id of the parent Slack List. | |
| Fields | String | True |
The cells of the row as a JSON array. Each entry contains column_id, key, and a value (rich_text, select, user, date, etc.). | |
| ParentItemId | String | False |
The Id of the parent item when this row is a subtask. | |
| Archived | Boolean | True |
Indicates whether the row is archived. | |
| IsSubscribed | Boolean | True |
Indicates whether the caller is subscribed to the row. Only populated when IncludeIsSubscribed is set in the WHERE clause. | |
| DateCreated | Datetime | True |
Timestamp when the row was created. | |
| CreatedBy | String | True |
Users.Id |
Id of the user who created the row. |
| UpdatedBy | String | True |
Users.Id |
Id of the user who last updated the row. |
| UpdatedTimestamp | Datetime | True |
Timestamp of the most recent update to the row. |
Pseudocolumns
Pseudocolumn fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.
| Name | Type | Description |
| InitialFields | String |
Initial field values for the new row as a JSON array. Each entry includes column_id and a typed value (rich_text, select, user, date, etc.). |
| Cells | String |
Cells to update as a JSON array. Each entry must include row_id, column_id, and a typed value (rich_text, select, user, date, etc.). |
| DuplicatedItemId | String |
Id of an existing row to duplicate. Mutually exclusive with InitialFields. |
| IncludeIsSubscribed | Boolean |
When true, the response includes the IsSubscribed column. Single-row lookup only. |