Reference · Tools
Twake
Send messages to channels on the Twake collaboration platform.
The Twake node posts messages to channels on the Twake collaboration platform, optionally overriding the sender name and icon. A typical build is routing system notifications into the team channel that already handles that area.
- Node type
- Action
- Parameters
- 6
- Outputs
- Output, Error
- Credentials
- Twake Cloud API
Twake
Send messages to channels on the Twake collaboration platform.
Overview
Twake is a team collaboration platform by Linagora. This tool sends messages to Twake channels via the Twake Cloud plugin API. Messages support custom sender names and icons. Authentication uses a workspace key sent as a Bearer token. The API base URL is https://plugins.twake.app/plugins/n8n.
Category: Productivity
Tool Name: twake
Version: 1
Appearance: Icon: lucide-MessageCircle | Color: #7B68EE
Node Type
Action — processes input items and produces output
Input / Output
| Direction | Port(s) |
|---|---|
| Input | Input |
| Output | Output, Error |
Credentials
This tool requires Twake Cloud API credentials. See the Credentials Guide for setup instructions.
Resources
| Resource | Value |
|---|---|
| Message | message |
Operations
Message (message)
| Operation | Value | Description |
|---|---|---|
| Send | send | Send a message to a channel. |
Parameters
Message: Send
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Channel ID | string | Yes | — | The ID of the target Twake channel. Find it in the Twake app under channel settings or use the Twake API to list channels. Supports expressions like {{ $json.channelId }}. |
| Content | string | Yes | — | The text content of the message to send. Supports expressions like {{ $json.message }}. |
| Additional Fields | collection | No | {} | Additional optional fields for the message. |
| — Sender Icon | string | No | — | URL of a custom image/icon to use as the sender avatar. |
| — Sender Name | string | No | — | Custom display name for the message sender. |
All Operations
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Max Concurrency | number | No | 10 | Maximum number of items to process concurrently. |
Output Data
One output item per input item — this node never fans out. The saved message object returned by Twake is merged into the item JSON at the top level, so the rest of the incoming item’s fields pass through alongside it, and binary data on the input item is forwarded unchanged.
Every operation on this node (message / send) returns a single saved message, so there is no list-style operation and no empty-result case to guard against. Fields of the saved message sit directly on the item — reference them downstream as {{ $json.fieldName }}.
Usage Examples
- Send a message to a Twake channel
- Post a notification to a Twake workspace channel
- Send a Twake message with a custom sender name
- Send a Twake message with a custom sender icon
Example Configuration
Send plain text to a channel:
{
"type": "twake",
"parameters": {
"resource": "message",
"operation": "send",
"channelId": "ch_abc123def456",
"content": "Hello team! This is a test message from the automation."
}
}
Send a message under a custom sender name and avatar:
{
"type": "twake",
"parameters": {
"resource": "message",
"operation": "send",
"channelId": "ch_abc123def456",
"content": "Automated deployment notification: Version 2.1.3 has been successfully deployed to production.",
"additionalFields": {
"senderName": "Deploy Bot",
"senderIcon": "https://example.com/icons/deploy-bot.png"
}
}
}
Override only the sender name and keep the default avatar:
{
"type": "twake",
"parameters": {
"resource": "message",
"operation": "send",
"channelId": "ch_abc123def456",
"content": "Daily backup completed successfully at 03:00 AM.",
"additionalFields": {
"senderName": "Backup System"
}
}
}
Throttle a large batch of messages by lowering the concurrency:
{
"type": "twake",
"parameters": {
"resource": "message",
"operation": "send",
"channelId": "ch_abc123def456",
"content": "Batch notification message",
"maxConcurrency": 5
}
}
Use a custom sender name and icon to create a branded notification experience:
{
"type": "twake",
"parameters": {
"resource": "message",
"operation": "send",
"channelId": "ch_notifications",
"content": "New feature released: Real-time collaboration is now available!",
"additionalFields": {
"senderName": "Feature Bot",
"senderIcon": "https://company.com/bots/feature-bot.png"
}
}
}
Send urgent system messages with appropriate sender identification:
{
"type": "twake",
"parameters": {
"resource": "message",
"operation": "send",
"channelId": "ch_alerts",
"content": "HIGH: Database connection pool is approaching capacity (85%)",
"additionalFields": {
"senderName": "System Monitor",
"senderIcon": "https://company.com/icons/alert.png"
}
}
}
Post a plain team update built from the incoming item:
{
"type": "twake",
"parameters": {
"resource": "message",
"operation": "send",
"channelId": "ch_general",
"content": "{{ $json.summary }}"
}
}
Error Handling
| Mode | Behavior |
|---|---|
| stop | Halts workflow on first error |
| continue | Skips failed items, passes successful ones through |
| errorPort | Routes failed items to Error output port |
Tips
Send messages to Twake channels via the Twake Cloud plugin API with optional custom sender name and icon.
Important Notes
- The
channelIdmust be a valid Twake channel identifier - The
contentfield supports plain text; check Twake documentation for any markdown or formatting support - The
additionalFieldscollection uses a flat structure - do not wrap fields in arrays or use_defaultkeys - All sender customization through
additionalFieldsis optional and can be used independently
Frequently asked questions
What does the channel ID have to be?
A valid Twake channel identifier — not the channel's display name. Copy it from Twake rather than typing the label.
Does the content support formatting?
The content field takes plain text; check Twake's documentation for what markdown or formatting it renders.
How should Additional Fields be structured?
As a flat collection — do not wrap fields in arrays or use `_default` keys. Sender customisations live there.
Which credential does it need?
A Twake Cloud API credential.
Build with the Twake node
Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Twake Cloud API credentials first.
Open BusyBotLast updated . Spotted something wrong? Tell us.