Description
n8n-nodes-slack-lists
!n8n


This is an n8n community node. It lets you use Slack Lists in your n8n workflows — create Lists, and create, read, update and delete their items (rows) via the slackLists.* Web API.
The built-in Slack node does not support Slack Lists; this node fills that gap. It reuses n8n’s built-in Slack credential, so if you already have one configured you can use it as-is.
n8n is a fair-code licensed workflow automation platform.
> [!NOTE]
> Slack Lists are only available on paid Slack plans.
- n8n-nodes-slack-lists
– Installation
– Community Nodes (recommended)
– Manual installation (Docker / self-hosted)
– Operations
– Item
– List
– Trigger
– Highlights
– Credentials
– 1. Prepare the Slack app (Slack side)
– 2. Configure the credential (n8n side)
– Usage
– Using as an AI Agent tool
– Compatibility
– Troubleshooting
– Known limitations
– Development
– Resources
– License
Installation
Follow the installation guide in the n8n community nodes documentation.
Community Nodes (recommended)
1. Go to Settings > Community Nodes in your n8n instance
2. Select Install
3. Enter n8n-nodes-slack-lists as the npm package name
4. Agree to the risks of using community nodes and select Install
Manual installation (Docker / self-hosted)
Inside your n8n data directory (e.g. ~/.n8n or /home/node/.n8n in Docker)
mkdir -p nodes && cd nodes
npm install n8n-nodes-slack-lists
Restart your n8n instance
Operations
Item
| Operation | Description | API method |
| — | — | — |
| Create | Add an item (row) with column mapping | slackLists.items.create |
| Delete | Delete an item | slackLists.items.delete |
| Delete Many | Delete multiple items at once | slackLists.items.deleteMultiple |
| Get | Retrieve a single item | slackLists.items.info |
| Get Many | Retrieve items with pagination and archived filter | slackLists.items.list |
| Update | Update cells of an item | slackLists.items.update |
List
| Operation | Description | API method |
| — | — | — |
| Create | Create a List (todo mode, column schema, copy from existing) | slackLists.create |
| Get | Retrieve a List’s metadata and column schema | files.info |
| Grant Access | Grant users or channels read/write/owner access | slackLists.access.set |
| Revoke Access | Revoke access from users or channels | slackLists.access.delete |
Trigger
The Slack Lists Trigger node starts a workflow when a List is edited. Slack has no Lists webhook/event, so it polls — set the frequency with the standard Poll Times control (minimum once per minute).
| Node | Description | API method |
| — | — | — |
| Slack Lists Trigger | Fires when the picked List is edited (any cell/row change) | files.info |
How detection works:
max(updated, edit_timestamp) from files.info — and fires only when it advances past the previous poll. {
"list_id": "F0123ABCDEF",
"title": "My List",
"updated": "2026-07-20T23:12:57.000Z",
"last_editor": "U0123ABCD",
"permalink": "https://your-team.slack.com/lists/T0123456/F0123ABCDEF"
}
Highlights
rich_text format automatically.{ id, ..., fields: { "Column Name": value } } instead of the raw cell format, and timestamps (datecreated, updatedtimestamp, List created/updated) are converted to ISO 8601 strings so n8n expressions can use them directly. Toggle off via the Simplify parameter to get raw API responses, unix timestamps included.Credentials
This node uses n8n’s built-in Slack credential (Slack API, access token) — no separate credential type. If you already have a Slack credential in n8n, add the scopes below to its Slack app and you are done.
1. Prepare the Slack app (Slack side)
1. Open your app at api.slack.com/apps (or create one)
2. Go to OAuth & Permissions > Scopes and add the following (bot or user scopes, matching the token you use):
| Scope | Used for |
| — | — |
| lists:read | Reading items |
| lists:write | Creating/updating/deleting items and Lists, managing access |
| files:read | List picker, column mapping and List Get (Lists are files in Slack) |
3. Reinstall the app to your workspace so the new scopes take effect
4. Copy the Bot User OAuth Token (xoxb-…) or User OAuth Token (xoxp-…)
2. Configure the credential (n8n side)
1. In n8n, go to Credentials > Add credential and search for Slack API
2. Paste the token into Access Token and save
> [!CAUTION]
> Keep the token secret. Anyone with the token can access your Slack workspace within its scopes.
Usage
Typical flow — append a row to a List from any data source:
1. Slack Lists node → Resource: Item, Operation: Create
2. Pick the List (search by name, or paste its URL)
3. Map columns in Values to Send — or switch the mapping mode to Map Automatically to fill columns whose names match the input JSON keys
With Simplify enabled (default), items come out ready to use:
{
"id": "Rec0123ABCDEF",
"list_id": "F0123ABCDEF",
"date_created": "2026-07-19T11:27:21.000Z",
"fields": {
"Title": "Invoice issued",
"Status": "in_review",
"Assignee": "U0123ABCD"
}
}
Notes on column values:
day_1, OptXXXXXX), which you can pick from the dropdown in the mapping UIU… / C…); multi-value columns accept comma-separated IDs or arraysnew Date() can parse and are sent as YYYY-MM-DDUsing as an AI Agent tool
This node is marked as usable by AI Agents (usableAsTool). To allow community nodes as tools, set this environment variable on your n8n instance:
N8NCOMMUNITYPACKAGESALLOWTOOL_USAGE=true
The Get a List operation is handy for agents: it returns the List’s column schema, letting the agent discover valid columns and select options before writing rows.
Compatibility
Troubleshooting
| Error / Symptom | Cause | Solution |
| — | — | — |
| missing_scope | The token lacks a required OAuth scope (the message names the missing one) | Add lists:read / lists:write / files:read in the Slack app and reinstall it |
| paidteamsonly | Slack Lists are not available on free plans | Upgrade the workspace to a paid plan |
| listnotfound / access_denied | The token cannot see the List | Share the List (or its channel) with the app’s bot user, or use a user token with access |
| List picker shows nothing | files:read missing, or no Lists are visible to the token | Add the scope; paste the List URL / ID directly as an alternative |
| “Custom API Call” appears in dropdowns | Injected automatically by n8n for all nodes with authenticated credentials — not implemented by this node | Use the HTTP Request node with your Slack credential for uncovered API methods |
Known limitations
slackLists.update can only change name/description/todo-mode (columns cannot be modified after creation), so these are not exposed.files.info‘s edit_timestamp, an undocumented field; if Slack ever drops it, detection falls back to updated.slackLists.download.*) is out of scope.slackApi credential type and therefore does not target n8n Cloud’s verified community node program. Self-hosted instances are unaffected.Development
git clone https://github.com/hoyo/n8n-nodes-slack-lists.git
cd n8n-nodes-slack-lists
npm install
npm run build # compile to dist/
npm test # unit tests (vitest)
npm run lint
npm run dev # run a local n8n with the node linked