Description
n8n-nodes-noovichat


n8n community node for NooviChat — an integration for Chatwoot-based platforms with NooviChat CRM, sales pipeline, lead scoring and WhatsApp automation features.
> Works with supported Chatwoot-compatible APIs too. Base operations (Conversations, Contacts, Messages, Inboxes, Agents, Teams, Labels, etc.) target the Chatwoot API shape. NooviChat-only resources require NooviChat.
—
Why NooviChat instead of other Chatwoot nodes?
| Feature | Other Chatwoot nodes | This node |
|———|———————|———–|
| Conversations, Contacts, Messages | ✅ | ✅ |
| Inboxes, Agents, Teams, Labels | ✅ | ✅ |
| Canned Responses, Custom Attributes, Webhooks | ✅ | ✅ |
| Sales Pipeline & Cards | ❌ | ✅ |
| Follow-ups & Templates | ❌ | ✅ |
| Lead Scoring | ❌ | ✅ |
| Activities | ❌ | ✅ |
| Campaigns (one-off & ongoing) | ❌ | ✅ |
| SLA Policies & Metrics | ❌ | ✅ |
| WhatsApp/WAHA Session Management | ❌ | ✅ |
| UAZAPI session management | ❌ | ✅ |
| Captain AI hook (rewrite/summarize/reply/label/follow-up) | ❌ | ✅ |
| Companies (B2B) | ❌ | ✅ |
| Expanded webhook trigger events | ❌ (4–6 events) | ✅ |
| Pipeline & Card webhook events | ❌ | ✅ |
| Bulk operations (update, move, delete) | ❌ | ✅ |
| Pipeline analytics (win rate, velocity, conversion) | ❌ | ✅ |
—
Features
Base Resources (Chatwoot & NooviChat compatible)
| Resource | Operations |
|———-|————|
| Conversation | Create, Get, Get Many, Update, Delete, Assign, Toggle Status, Add Label, Filter, Get Summary, Generate Summary |
| Message | Send (text / template / attachment, optional idempotency key), Get Many, Edit, Delete |
| Contact | Create, Get, Get Many, Update, Delete, Search, Filter, Merge, Get Conversations |
| Inbox | Create, Get, Get Many, Update, Delete, Get Agents, Update Agents |
| Agent | Create, Get Many, Update, Delete |
| Team | Create, Get Many, Update, Delete, Get Members, Add Members |
| Label | Create, Get Many, Update, Delete |
| Canned Response | Create, Get Many, Delete |
| Custom Attribute | Create, Get Many, Update, Delete |
| Webhook | Create, Get Many, Update, Delete |
For retry-safe message sends, set Idempotency Key to a stable value with
1-128 visible ASCII characters and no spaces. Reuse that same key when retrying
the message in the same account and conversation: NooviChat returns the original
message instead of sending a duplicate. Invalid keys return HTTP 422. Leaving the
field empty preserves the regular non-idempotent send behavior. A server that is
still completing the staged rollout returns HTTP 503 for keyed sends; retry only
after its administrator activates message idempotency.
⭐ Exclusive NooviChat Features
> These resources are not available in Chatwoot and are unique to NooviChat. They power a full CRM and sales automation layer on top of the customer engagement platform.
#### 🏆 Sales Pipeline & Cards
Full CRM pipeline management directly from n8n. Create pipelines, manage stages, move cards through the funnel and track every interaction.
| Resource | Operations |
|———-|————|
| Pipeline | Create, Get, Get Many, Update, Delete · Stage CRUD · Stage Reorder · Analytics: dashboard, win rate, conversion rate, velocity, team performance, lost reasons, lost reasons analytics, forecast, pipeline analysis, pipeline dashboard, agent pipeline · Export Report (CSV) |
| Card | Create, Get, Get Many, Update, Delete · Move to Stage · Mark Won / Lost / Reopen · Get Timeline · Bulk Update · Bulk Move · Bulk Delete · Bulk Assign Owner · Bulk Set Priority · Bulk Discard · Assign Owner · Get Discarded · Restore · Delete Permanently · Update Qualification Checklist · Override / Recalculate Lead Score · Get / Delete Attachments · Additional contacts & conversations · Export / Import Template (CSV) |
| Opportunity | Get Many (sales of a card) · Create (stand-alone sale) · Void · Get Report |
| Product | Create, Get, Get Many, Update, Deactivate · Get Performance |
| Pipeline Automation | Create, Get, Get Many, Update, Delete · Execute · Dry Run · Validate · Duplicate · Stats · Executions · Audit Logs · Dashboard · Export / Import (JSON) · Templates (list, get, categories, create from template) |
| Pipeline Webhook | Create, Get, Get Many, Update, Delete · Test |
| Sequence / Sequence Definition | Run a definition on a card (start, pause, resume, complete step, cancel) · Definition CRUD · Activate / Deactivate · Duplicate · Analytics |
> ⚠️ Closing a deal is never a side effect of a generic write. Won and lost
> stages stay out of reach of the plain create/update path: Create refuses
> to open a card straight into one, and a pipeline_stage sent through **Bulk
> Update**’s free-form JSON is refused with HTTP 422 whether it enters a
> won/lost stage or takes a closed card out of one. That shortcut used to leave
> the deal closed without its closing value or its entry in the opportunity
> ledger, so the closing now has to be explicit: Mark Won, Mark Lost and
> Reopen.
>
> Nothing here changed for the operations you already use to move cards.
> Move to Stage and Bulk Move are unaffected and still accept a won/lost
> destination — they post to the dedicated move endpoint, which recognises the
> target stage and performs the whole closing itself.
#### 📅 Follow-ups & Activities
Never miss a follow-up again. Schedule tasks, track activities and automate reminders tied to cards and conversations.
| Resource | Operations |
|———-|————|
| Follow-up | Create, Get, Get Many, Update, Delete, Cancel · Template CRUD · Template Preview · Template Variables · Template Items (create, get, update, delete, reorder) · Delete Template Attachment |
| Follow-up Automation | Create, Get, Get Many, Update, Delete (account-level triggers, send window, template or AI content) |
| Pipeline Follow-up Rule | Create, Get, Get Many, Update, Delete (stage-transition follow-ups of a pipeline) |
| Activity | Create, Get, Get Many, Update, Delete · Start · Complete · Cancel · Reschedule · Search · Bulk Create · Create From Template · Get Analytics |
| Activity Template | Create, Get, Get Many, Update, Delete · Duplicate |
#### 🎯 Lead Scoring
Score contacts automatically based on rules and conditions. Build rule-based scoring engines and monitor results via dashboard.
| Resource | Operations |
|———-|————|
| Lead Scoring | Create Rule · Get Many Rules · Update Rule · Delete Rule · Create Defaults · Get Dashboard · Distribution Report · Trends · Top Leads · Category Changes · Card Score Distribution · Bulk Recalculate · Logs |
#### 📣 Campaigns
Send targeted messages at scale. Supports both one-off blasts and ongoing automated campaigns.
| Resource | Operations |
|———-|————|
| Campaign | Create, Get, Get Many, Update, Delete, Pause, Resume (oneoff and ongoing types)_ |
#### ⏱ SLA Policies
Define, monitor and export SLA compliance metrics. Set resolution and first-response time targets per inbox.
| Resource | Operations |
|———-|————|
| SLA | Create Policy · Get Policy · Get Many Policies · Update Policy · Delete Policy · Get Applied · Get Metrics · Export CSV |
#### 💬 WhatsApp / WAHA Session Management
Manage WhatsApp sessions directly from your n8n workflows. Monitor connection status, reconnect automatically and configure Meta tracking.
| Resource | Operations |
|———-|————|
| WAHA | Get Status · Refresh QR · Start · Stop · Reconnect · Disconnect · Update Config · Get Settings · Update Meta Tracking |
| UAZAPI | Get Status · Get Settings · Update Settings · Connect · Reconnect · Disconnect · Request Pairing Code · Reconfigure Integration |
| Captain AI | Get/Update Preferences · Rewrite · Summarize · Reply Suggestion · Label Suggestion · Follow Up (draft only — does not send) |
| Company | Get Many · Search · Get · Create · Update · Delete |
Campaign (one-off & ongoing) and SLA policies exist in this node and not in @nooviai/noovichat-mcp. Keep using the Campaign / SLA resources here; do not expect MCP tools for them.
#### MCP dual path
@nooviai/noovichat-mcp is the LLM/operator surface for NooviChat extras (pipeline, follow-ups, WhatsApp, Captain, companies, internal chat). It does not register conversation/contact/message/inbox CRUD. This n8n node is the automation surface for that helpdesk CRUD and for Campaign/SLA. Captain, UAZAPI and Companies are on both packages.
Operator skills (tool names, dual-path): Noovi-AI/noovichat-skills.
—
Trigger Node
Automatically registers and removes account webhooks via the NooviChat API when you activate/deactivate a workflow.
Standard events (Chatwoot compatible):
conversationstatuschanged, conversationupdated, conversationcreated, contactcreated, contactupdated, messagecreated, messageupdated, webwidgettriggered, inboxcreated, inboxupdated, conversationtypingon, conversationtyping_off
⭐ Exclusive NooviChat events:
appointment.created, appointment.updated, appointment.confirmed, appointment.completed, appointment.cancelled, appointment.noshow, appointment.rescheduled, reminder.sent, reminder.failed, professional.created, professional.updated, service.created, service.updated, followupscheduled, followupsent, followupfailed, followupcancelled, broadcastfollowupsent, broadcaststarted, broadcastcompleted
Pipeline-card webhooks use the dedicated pipeline-webhook API and are not account-webhook events. Optional webhook signature validation is available via shared secret.
—
Installation
Via n8n Community Nodes (Recommended)
1. Go to Settings > Community Nodes
2. Click Install
3. Enter @nooviai/n8n-nodes-noovichat
4. Click Install
Via npm (self-hosted n8n)
npm install @nooviai/n8n-nodes-noovichat
Restart n8n after installing for the node to appear.
#### Docker self-hosted
Install inside the running container:
docker exec -it npm install @nooviai/n8n-nodes-noovichat
docker restart
Or add to your docker-compose.yml with a custom extensions volume:
environment:
- N8NCUSTOMEXTENSIONS=/home/node/.n8n/custom
volumes:
- n8n_custom:/home/node/.n8n/custom
#### Verifying the installation
After restarting n8n, search for “NooviChat” in the node selector. If it doesn’t appear, check the n8n logs:
docker logs | grep -i noovichat
—
Troubleshooting
See TROUBLESHOOTING.md for a full guide covering:
- Field mapping reference (camelCase UI → snake_case API)
- API compatibility matrix (NooviChat version vs node version)
- Common errors and solutions (401, 404, 422, webhook issues)
—
Configuration
Same three values as the MCP server (.mcp.json.example): Base URL, API Access Token, Account ID. Token inherits the agent’s role. Do not use a super_admin token for routine workflows.
Credentials — NooviChat API
1. In n8n: Credentials → Add Credential → NooviChat API
2. Fill in:
– Base URL — instance root, no trailing slash (e.g. https://chat.example.com). Not /app and not /api.
– API Access Token — NooviChat → Profile → API Access. Same token type the MCP uses (apiaccesstoken header).
3. n8n tests the credential with GET /api/v1/profile.
Account ID is not stored in the credential. Each NooviChat node has an Account ID field (default 1, expressions allowed) so one credential can drive several accounts.
Base URL: https://chat.example.com
API token: Profile → API Access
Account ID: per node (not in the credential)
Credentials — NooviChat Webhook API (optional)
Used only with the NooviChat Trigger node to validate incoming webhook signatures.
1. Add Credential > search NooviChat Webhook API
2. Fill in Webhook Secret — The same secret you configure in NooviChat webhooks settings
—
Workflow Examples
1. Lead Qualification Automation
Trigger: NooviChat Trigger — Contact Created
→ NooviChat — Card: Create (in "Leads" pipeline)
→ NooviChat — Follow-up: Create (due in 3 days)
→ NooviChat — Card: Get Lead Score
→ IF score >= 70
→ NooviChat — Card: Move to Stage ("Qualified")
→ NooviChat — Conversation: Assign (to Sales team)
→ ELSE
→ NooviChat — Conversation: Add Label ("nurturing")
2. Automatic Follow-up
Trigger: NooviChat Trigger — Follow-up Due
→ NooviChat — Conversation: Get
→ IF last message older than 24h
→ NooviChat — Message: Send (template "followup24h")
→ NooviChat — Follow-up: Create (due in 48h)
→ ELSE
→ NooviChat — Follow-up: Cancel
3. Pipeline + WhatsApp (Card Won)
Trigger: NooviChat Trigger — Card Won
→ NooviChat — Contact: Get (contact linked to card)
→ NooviChat — Message: Send ("Congratulations! Your order was confirmed.")
→ NooviChat — Conversation: Add Label ("active-client")
→ NooviChat — Conversation: Toggle Status (resolved)
4. WAHA Session Monitoring
Schedule Trigger: Every 5 minutes
→ NooviChat — WAHA: Get Status (your WhatsApp inbox)
→ IF status != "WORKING"
→ NooviChat — WAHA: Reconnect
→ Wait: 30 seconds
→ NooviChat — WAHA: Get Status again
→ IF still != "WORKING"
→ Slack — Send message to #alerts: "WAHA disconnected on inbox X"
5. Weekly SLA Report
Schedule Trigger: Every Monday at 9am
→ NooviChat — SLA: Get Metrics (last 7 days)
→ IF hit_rate < 80%
→ Email — Send report to manager
→ NooviChat — Activity: Create ("Review SLA compliance")
---
Development
Clone
git clone https://github.com/Noovi-AI/n8n-nodes-noovichat.git
cd n8n-nodes-noovichatInstall dependencies
npm installBuild
npm run buildWatch mode
npm run devLint
npm run lintTests
npm test
npm test -- --coverage
Local Testing with n8n
Build
npm run buildLink package globally
npm linkIn your n8n directory
npm link @nooviai/n8n-nodes-noovichat
---
Compatibility
| Requirement | Version |
|-------------|---------|
| n8n | >= 1.0.0 |
| Node.js | >= 18.0.0 |
| NooviChat API | >= v4.10.0 |
---
Resources
---
License
MIT — see LICENSE for details.
Development
This package lives in the NooviChat workspace. Shared agent policy:
AGENTS.md. Publish is versioned opt-in (G1/G2); the Chatwoot
time window does not apply.