talk

n8n node for Talk SDK - POD Chat Service integration

Package Information

Released: 1 mo ago
Downloads: 0 weekly / 0 monthly
Latest Version: 0.1.6
Author: Farhan

Documentation

n8n Talk node

TypeScript files under src/ are the source of truth. Generated JavaScript is written to dist/ and must not be edited directly.

Build

npm install
npm run build

The build command compiles TypeScript, emits declarations and source maps, and copies the node icon to dist/nodes/.

Test

npm test
npm pack --dry-run

Build and restart local n8n

.\runner-node.ps1

n8n loads custom node definitions at startup, so a restart is required after every build.

Talk Trigger

Execute Workflow in the editor is n8n's test mode and stops listening after the first
matching message. To listen continuously, save/publish the workflow and switch it to
Active. Each later message then starts a separate workflow execution.

The trigger and action nodes use separate SDK device identities. This prevents a
short-lived action connection (for example, Send Text Message) from replacing or
logging out the long-lived trigger connection after handling its first message.

By default, the trigger ignores messages sent by its own authenticated Talk account.
It compares the thread-scoped participant ID which is user id in chat.
This prevents auto-reply workflows from treating their reply as a new incoming message
and entering a response loop. Enable Include Own Messages only when that behavior is
explicitly required.

Connection sharing

Talk nodes in the same workflow share a single SDK connection by default. Sharing requires the same credential and the same Instance Key (the default value is default). Set a different instance key, such as secondary, when a node needs a separate Talk connection.

The registry is process-local. An n8n deployment with multiple workers can have one shared instance per worker process for the same workflow and key.

Contact operations

Contact operations use the current SDK namespace: Chat.contact.add, Chat.contact.get, Chat.contact.update, and Chat.contact.remove. Each operation waits for the matching contactEvents event by request uniqueId before returning data to n8n.

Timeouts

Normal chat operations, readiness, message acknowledgements, and contact events time out after 25 seconds. Long-running operations such as large file uploads should define their own longer timeout when they are added.

Discussion