Tableau Connector for Slack

Build 26.0.9770

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 connector 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

SlackListItems.Id

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.

Copyright (c) 2026 CData Software, Inc. - All rights reserved.
Build 26.0.9770