n8n-nodes-toldguard
v0.2.6
Published
ToldGuard nodes for n8n workflows and aggregator-only message routing
Maintainers
Readme
n8n-nodes-toldguard
Community nodes for using ToldGuard inside n8n workflows.
The aggregator-only mode is for flows where n8n receives messages from any source, sends them to ToldGuard for debounce/deduplication, and receives one consolidated batch back in n8n. ToldGuard does not need Chatwoot in this mode and does not send the final answer to the customer.
Nodes
- ToldGuard Message sends one normalized upstream chat message into a ToldGuard
aggregator_onlyinstance. - ToldGuard Aggregation Trigger receives the
aggregation.readybatch emitted by ToldGuard.
Aggregator-Only Workflow
Use this mode when n8n owns the upstream chat integration, AI/CRM workflow, and final channel delivery.
Any source -> n8n -> ToldGuard Message -> ToldGuard
ToldGuard -> ToldGuard Aggregation Trigger -> n8n continues the flowInbound messages:
Chat / CRM / Webhook -> ToldGuard MessageAggregated batch:
ToldGuard Aggregation Trigger -> AI / CRM / analytics / channel deliveryConfigure the ToldGuard API credential with:
Base URL: for examplehttps://toldguard.comTenant ID: the aggregator-only instance IDAggregator Input Token: the instance input token generated in ToldGuard
Set the production webhook URL from ToldGuard Aggregation Trigger as the instance output webhook in ToldGuard. If a signing secret is configured in ToldGuard, put the same secret in the trigger.
For a user-facing setup guide, see the ToldGuard SaaS documentation:
docs/n8n-aggregator-node.mdToldGuard Message Input
The message node posts to:
POST /aggregator/messages/:tenantIdIt sends this contract:
{
"conversation_id": "external-conversation-id",
"message_id": "external-message-id",
"sender": "user",
"content": "message text",
"content_type": "text",
"created_at": "2026-06-14T12:00:00.000Z",
"contact_id": "optional-contact",
"inbox_id": "optional-inbox",
"phone_number": "optional-phone",
"source_channel": "whatsapp",
"attachments": [],
"raw_event_ref": "optional-event-id",
"raw_payload": {}
}ToldGuard returns accepted, duplicate, or ignored in toldguard.status.
Aggregation Trigger Output
The aggregation trigger exposes:
eventtenant_idbatch_idconversation_idmessage_countconsolidated_textraw_payload_commonmessagestoldguardrequestraw
raw_payload_common contains the repeated fields that were identical across the original upstream payloads in the batch. Each item in messages may include raw_payload_delta, with only the fields that changed from raw_payload_common. ToldGuard does not repeat the complete raw payload in every message by default. This is universal JSON compaction and does not depend on Chatwoot.
