Twist n8n integrationAutomate Twist with n8n.
Every Twist thread a team opens by hand could be opened by a workflow instead. The Twist n8n integration ships as a built-in node with 22 operations across 4 resources: channels, threads, comments and conversation messages. No Twist trigger exists, so a schedule or another app starts the run.
Verified Trustpilot reviews · AI, automation & growth agency
What does the Twist n8n integration actually do?
The Twist node ships with n8n and calls the Twist API on behalf of a workspace. It exposes 22 operations spread over 4 resources: Channel, Thread, Comment and Message Conversation. A workflow can open a channel, start a thread inside it, answer that thread with a comment, or write straight into a conversation, with nobody typing in Twist.
Scenario one, the recurring report. A Schedule Trigger fires on Monday morning, a Google Sheets node reads the numbers of the week, and thread.create opens a thread in the channel of the team concerned, with the title and the body built from the sheet. The discussion then happens under the figures instead of next to them.
Scenario two, the alert that has to reach a person rather than a room. A monitoring tool calls an n8n Webhook, which is a URL n8n exposes so an outside service can start a workflow, and messageConversation.create writes into the conversation of whoever is on duty, using the mention syntax [Name](twist-mention://user_id). The same run can post the public version as a channel thread, so the team reads what the on-call engineer reads.
Scenario three, the workspace clean-up. channel.getAll lists a workspace with Return All on, a Filter node keeps the channels whose names match finished projects, and channel.archive moves them out of the active list. Run it once a month and the sidebar stops growing on its own.
Twist has no trigger node in n8n, so every workflow above starts elsewhere: a Schedule Trigger at a fixed interval, an n8n Webhook called by a third-party service, or the trigger of another tool. That last option is the common one in a mixed setup, where an event caught on Slack or Discord ends its journey as a Twist thread, and where a digest leaves by Gmail for the people who do not open Twist daily.
The 22 operations stop at channels, threads, comments and conversation messages. When an endpoint of the Twist API is missing from the node, the HTTP Request node calls it directly and reuses the same Twist credential through its predefined authentication, so there is no second connection to maintain. If the question is whether n8n is the right host for all of this, the n8n review goes through it in detail.
How do you connect Twist to n8n?
- 01
Create a general integration in Twist
Twist authenticates n8n with OAuth2, and OAuth2 needs an app declared on the Twist side. Start from a Twist account, then create a general integration in the Twist app console. That page issues the Client ID and the Client Secret n8n will ask for, and it is also where a valid OAuth Redirect URL has to be configured before anything connects.
- 02
Register the redirect URL
Open a new Twist credential in n8n, from the Credentials menu, and copy the OAuth Redirect URL it displays. Paste that value into the OAuth 2 redirect URL field of the Twist integration, then select Update OAuth settings to save the change. Twist only completes an authorization that comes back to a URL registered there.
- 03
Finish the credential in n8n
Copy the Client ID and the Client Secret from Twist into the matching fields in n8n and run the connection. A credential is created once and reused everywhere: every Twist node added afterwards picks it from its dropdown, in any workflow of the instance, whether that instance runs on n8n Cloud or on a self-hosted server.
What can the Twist node do, operation by operation?
The Twist node exposes 22 operations across 4 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.
| Resource | Create | Get | Get Many | Update | Delete | Archive | Unarchive |
|---|---|---|---|---|---|---|---|
| Channel | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Comment | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| Message Conversation | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| Thread | ✓ | ✓ | ✓ | ✓ | ✓ |
Operations index
Channel
7 operationsArchive a channel
channel.archiveWhat you see in n8n
Notes & use cases
Archiving switches a channel to the archived state instead of removing it. Archived channels still answer Get many channels when its Archived filter is on, and Unarchive a channel brings one back to the active list.
Key parameters
- Channel ID: the identifier of the channel to archive, typed in or read from an earlier node with
{{ $json.field }}.
Create a channel
channel.createWhat you see in n8n
Notes & use cases
This is how a workflow opens a channel-based conversation in Twist. Every thread posted later points at the channel this operation creates.
Key parameters
- Workspace Name or ID: pick the workspace from the list n8n loads, or pass an ID through an expression.
- Name: the name of the channel.
- Color: the color of the channel, one of the twelve Twist values, Blue, Teal Blue or Salmon for instance.
- User Names or IDs: the users who will take part in the channel.
Delete a channel
channel.deleteWhat you see in n8n
Notes & use cases
Delete removes the channel from the workspace. It reads the same single identifier as the archive path, which makes the two easy to swap by mistake in a branch, so check which one a workflow calls before pointing it at a live workspace.
Key parameters
- Channel ID: the channel to delete. The field is required, and n8n stops the node when it arrives empty.
Get a channel
channel.getWhat you see in n8n
Notes & use cases
One channel in, its information out. This is the read step a workflow runs before deciding anything, typically to confirm a channel still exists before writing into it.
Key parameters
- Channel ID: the identifier of the channel to look up.
Get many channels
channel.getAllWhat you see in n8n
Notes & use cases
Listing happens at workspace level: give the workspace, get its channels back as items, ready for a loop or a filter.
Key parameters
- Workspace Name or ID: the workspace to list, from the dropdown or through an expression.
- Return All: on, n8n walks the API pages until every channel is in; off, it stops at Limit.
- Limit: the maximum number of channels returned when Return All is off.
- Archived: returns only the archived conversations.
Unarchive a channel
channel.unarchiveWhat you see in n8n
Notes & use cases
Unarchive is the return path. A channel that was archived goes back among the active conversations, and the workflow that archived it can reverse its own move.
Key parameters
- Channel ID: the archived channel to restore. Get many channels with the Archived filter is the usual way to find that identifier.
Update a channel
channel.updateWhat you see in n8n
Notes & use cases
Update edits a channel already in place. Fill only the entries that change under Update Fields, and leave the others out.
Key parameters
- Channel ID: the channel to edit.
- Name: the name of the channel.
- Description: the description of the channel.
- Color: the color of the channel, from Grey to Yellow through Berry Red.
Comment
5 operationsCreate a comment
comment.createWhat you see in n8n
Notes & use cases
A comment answers inside a thread that already exists. The thread is the anchor, the content is the message, and the mention fields decide which users are named in it.
Key parameters
- Thread ID: the thread the comment is attached to.
- Content: the content of the comment.
- Direct Mention Names or IDs: the users directly mentioned, from the list or by ID.
- Send as Integration: whether the integration is displayed as the comment creator.
Delete a comment
comment.deleteWhat you see in n8n
Notes & use cases
Deletion works on one comment, named by its own identifier rather than by the thread it sits in.
Key parameters
- Comment ID: the comment to delete, usually carried over from Get many comments.
Get a comment
comment.getWhat you see in n8n
Notes & use cases
Reading a single comment is what a workflow does when another system kept the identifier and needs the current version of what was written.
Key parameters
- Comment ID: the identifier of the comment to read.
Get many comments
comment.getAllWhat you see in n8n
Notes & use cases
All the comments of one thread come back as items, in the order asked for. That is the raw material for a digest, an export or a summary step.
Key parameters
- Thread ID: the thread whose comments are read.
- Return All: on, every page of comments is fetched; off, the node stops at Limit.
- Limit: the maximum number of comments returned.
- Order By:
ASCorDESC. - As IDs: returns only the IDs of the comments.
ASC order and turns the exchange into 5 bullet points for the client.Update a comment
comment.updateWhat you see in n8n
Notes & use cases
Editing replaces the text of a comment already posted, instead of adding a second one below it.
Key parameters
- Comment ID: the comment to edit.
- Content: the content of the comment.
- Attachments: the name of the property holding the binary data, several of them separated by commas.
Message Conversation
5 operationsCreate a message
messageConversation.createWhat you see in n8n
Notes & use cases
A conversation is the other place a workflow can write to, alongside channel threads. This operation drops a message into one of them.
Key parameters
- Workspace Name or ID: the workspace holding the conversation.
- Conversation Name or ID: the conversation to post in, from the list or through an expression.
- Content: the content of the new message. Mentions are written
[Name](twist-mention://user_id)for a user and[Group name](twist-group-mention://group_id)for a group. - Direct Mention Names or IDs: the users directly mentioned.
Delete a message
messageConversation.deleteWhat you see in n8n
Notes & use cases
One message leaves the conversation. The node works from the message identifier, not from the conversation it belongs to, so the delete branch needs the ID captured when the message was posted.
Key parameters
- Message ID: the ID of the conversation message to delete.
Get a message
messageConversation.getWhat you see in n8n
Notes & use cases
Fetching a single conversation message hands a workflow the current state of something written earlier, by a person or by an earlier run.
Key parameters
- Message ID: the ID of the conversation message to read.
Get many messages
messageConversation.getAllWhat you see in n8n
Notes & use cases
Reading a whole conversation is a paging job, driven by Limit and by the two object indexes.
Key parameters
- Workspace Name or ID: the workspace of the conversation.
- Conversation Name or ID: the conversation to read.
- Limit: the maximum number of messages returned.
- Order By:
ASCorDESC. - Starting Object Index: limits messages starting at the specified object index.
Update a message
messageConversation.updateWhat you see in n8n
Notes & use cases
The text of a conversation message can be rewritten in place, attachments included.
Key parameters
- Conversation Message ID: the message to edit.
- Content: the content of the new message, with the same mention syntax as at creation.
- Attachments: the property that holds the binary data, comma separated when there are several.
Thread
5 operationsCreate a thread
thread.createWhat you see in n8n
Notes & use cases
Threads are where a channel discussion starts. Three fields are required here, and they map to what a person would type: where, what about, and the message itself.
Key parameters
- Channel ID: the channel the thread opens in.
- Title: the title of the new thread, shorter than 300 characters.
- Content: the content of the thread.
- Recipient Names or IDs: the users attached to the thread.
Delete a thread
thread.deleteWhat you see in n8n
Notes & use cases
Deletion takes the thread identifier, the same one Create a thread produces and Get many threads returns. Nothing else is asked, so the safety net has to sit before the node, in the branch that decides which thread deserves to go.
Key parameters
- Thread ID: the thread to delete.
Get a thread
thread.getWhat you see in n8n
Notes & use cases
A single thread, read on demand. Useful whenever an identifier arrives from somewhere else and the workflow needs the thread behind it before acting.
Key parameters
- Thread ID: the identifier of the thread to read.
Get many threads
thread.getAllWhat you see in n8n
Notes & use cases
Channel by channel, the node returns threads as items, with filters that narrow the window before the rest of the workflow runs.
Key parameters
- Channel ID: the channel to read threads from.
- Return All: on, every page comes back; off, the node stops at Limit.
- Limit: the maximum number of threads returned.
- Filter By:
attached_to_me,everyoneoris_starred. - Newer Than: keeps the threads newer than the Unix time given.
Update a thread
thread.updateWhat you see in n8n
Notes & use cases
Title and content can both be corrected after posting, which matters when the first version came out of a template with a wrong value in it.
Key parameters
- Thread ID: the thread to edit.
- Title: the title of the thread, under 300 characters.
- Content: the content of the thread.
- Direct Mention Names or IDs: the users directly mentioned.
Need help automating Twist with n8n?
A person reads every message.

