whatghl

Community nodes for WhatGHL integration in n8n.

Package Information

Downloads: 11,192 weekly / 11,192 monthly
Latest Version: 0.1.107
Author: WhatGHL

Documentation

n8n-nodes-whatghl

Community nodes for integrating n8n with WhatGHL.

Included nodes

  • WhatGHL Trigger: receives webhook events forwarded by WhatGHL (n8n_webhook_url in subaccount config).
  • WhatGHL: sends actions to POST /actions using subaccount API key.

Installation in n8n

  1. Open Settings -> Community Nodes in your n8n instance.
  2. Click Install.
  3. Use package name: n8n-nodes-whatghl.
  4. Restart n8n if prompted.

Credentials

Create WhatGHL API credentials in n8n:

  • Base URL: your WhatGHL API base URL (example https://api.yourdomain.com)
  • API Key: n8n_api_key generated for the target subaccount

Actions supported

  • Send Text / Image / Video
  • Send Voice / File
  • Send Reaction
  • Send Seen
  • Start Typing / Stop Typing
  • Get All Labels
  • Create Label / Update Label / Delete Label
  • Get Labels For Chat / Save Labels For Chat
  • Get Chats By Label
  • Custom Action (raw payload to /actions)

Session selection (multi-session subaccounts)

  • Session Mode = Auto (default fallback): backend selects a session automatically.
  • Session Mode = By Session Name: the node sends sessionName to /actions.
  • Session Mode = Select Session (Recommended): pick a session from available sessions for the API key; node sends sessionId.
  • Session Name supports n8n expressions, for example {{$json.sessionName}}.

Example payload sent by the node (when session is selected):

{
  "action": "send_message",
  "sessionName": "Session1-0da2bdfd",
  "chatId": "<provided-by-workflow>",
  "content": "Hello from selected session",
  "type": "text"
}

Trigger payload

Expected body from WhatGHL relay:

{
  "subaccountId": "sub_123",
  "sessionName": "AI_US",
  "event": "message.received",
  "sourceEvent": "message",
  "relayReason": "canonical_inbound",
  "type": "message.received",
  "timestamp": 1700000000000,
  "payload": {}
}

Recommended trigger branches

  • Business automation: use message.received as the single inbound source.
  • Delivery/read tracking: use message.ack.
  • Technical diagnostics only: use engine.event.
  • In canonical backend policy, duplicated inbound engine.event -> events.Message is filtered.

License

MIT

Discussion