Package Information
Documentation
n8n-nodes-solaria
n8n community nodes for SOLAR.IA, the WhatsApp CRM: manage contacts,
send WhatsApp messages and templates, move conversations, add contacts to sequences, start chatbots
and react to events in real time.
- SOLAR.IA node: actions (contacts, messages, conversations, sequences, chatbots, channels)
- SOLAR.IA Trigger node: starts a workflow when a message, conversation or contact event happens
Installation · Credentials · Operations ·
Trigger · Development
Installation
Follow the community nodes installation guide:
in n8n go to Settings › Community nodes › Install and enter n8n-nodes-solaria.
Credentials
Create a SOLAR.IA API credential with:
| Field | Where to find it |
|---|---|
| API URL | In SOLAR.IA, Ajustes › Integrações › API ("Endereço base"), e.g. https://api.yourdomain.com.br. The /integrations/v1 suffix is optional. |
| API Token | In SOLAR.IA, Ajustes › Integrações › N8N › Novo (admins only). It starts with sk_ and is shown only once. |
n8n tests the credential against GET /integrations/v1/me.
Operations
| Resource | Operations |
|---|---|
| Contact | Create (returns the existing contact when the phone number is already registered), Get, Get Many (search by name, phone or email; optionally only opted-out contacts), Update, Add Tag, Remove Tag, Opt Out, Opt In (by contact ID or phone number) |
| Message | Send a text or a message template to a phone number, a contact or a conversation |
| Conversation | Get Many (by status), Update Status (open, pending, resolved) |
| Sequence | Add Contact |
| Chatbot | Start an automation chatbot (published and available for "API") |
| Channel | Get Many |
Notes:
- Sending to a phone number finds the contact (or creates it) and uses its latest conversation, or opens
one on the chosen channel (or on the main channel). - On the official WhatsApp API, outside the 24-hour window you must send a Template: it goes out as the
approved template. On QR-code channels the template text is sent.{{nome}},{{primeiro_nome}}and{{telefone}}in the template are filled with the contact data. - Errors carry the reason returned by SOLAR.IA (e.g. no connected channel, contact not found). Enable
Settings › On Error › Continue on the node to handle them in the workflow. - Opt Out stops automated messages to the contact (campaigns, sequences and automated chatbots) and removes
it from running sequences; conversations with the team are not affected. Opt In undoes it — only use it
when the contact asked. Both are idempotent (changed: falsewhen nothing changed). Contacts carryopted_out(plusopted_out_atandopted_out_sourcewhen set). - The API allows 120 requests per minute per IP.
Trigger
The SOLAR.IA Trigger registers a webhook in SOLAR.IA when the workflow is activated and removes it when
the workflow is deactivated (it shows up under Ajustes › Integrações › Webhooks as n8n: <workflow>).
| Event | When |
|---|---|
| Message Created | A message is received from a customer or sent by the team (internal notes are never sent) |
| Conversation Created / Updated / Resolved | A conversation is opened, changes (status, assignee) or is resolved |
| Contact Created / Updated | A contact is created or changed |
| Contact Opted Out / Opted In | A contact opted out of automated messages (by replying "SAIR", by the team or by the API), or the opt-out was undone |
- Only Customer Messages (on by default) ignores messages sent by the team, bots or the workflow itself,
so a workflow that replies does not trigger itself. - Every delivery is signed (
X-Solaria-Signature: sha256=<HMAC-SHA256 of the body>) and the node rejects
requests with an invalid signature. - SOLAR.IA only delivers to public addresses: n8n must be reachable from the internet (n8n Cloud always is;
for self-hosted n8n setWEBHOOK_URLto the public URL).
The output is the event envelope:
{
"id": "delivery id",
"event": "message.created",
"workspace_id": "…",
"webhook_id": "…",
"timestamp": "2026-09-24T18:00:00Z",
"data": { "content": "Hi!", "message_type": "incoming", "conversation": { "id": 10 }, "sender": { "id": 35 } }
}
Use {{ $json.data.conversation.id }} in Message › Send › Conversation ID to reply in the same conversation.
Development
npm install
npm run dev # n8n with this package loaded, hot reload (http://localhost:5678)
npm run lint
npm run build
Release
Publishing runs on GitHub Actions (.github/workflows/publish.yml) with npm provenance, which n8n requires
for verified nodes. The package is trusted on npm for this repository's publish.yml (no token needed).
- Bump
versioninpackage.jsonand add the entry toCHANGELOG.md. - Push to
mainand create a tag with the same version:git tag 0.2.0 && git push origin 0.2.0
(orgh release create 0.2.0). The tag triggers the workflow, which lints, builds and publishes.