Description
# n8n-nodes-sinergiacrm
A generic n8n node to operate with any SinergiaCRM (7.x+) module via the official JSON API.
Supports CRUD operations, dynamic module and field discovery (including custom fields), advanced filtering, pagination, and relationship retrieval.
—
Features
- Full CRUD – Create, read, update, and delete any SinergiaCRM module
- Dynamic discovery – Auto-lists modules and fields, including custom fields
- Advanced filtering – Filter records using operators, custom fields, pagination
- Relationship handling – Retrieve, link, and unlink related records from any entity
- Polling trigger – React to new or updated records without touching the CRM instance
- AI agent tool – Use the main node as a tool from an n8n AI Agent
- OAuth2 authentication – Native SinergiaCRM client credentials flow
- Robust error handling – Clear errors and maintainable structure
—
Installation
Recommended: install from the n8n UI under Settings → Community Nodes, entering the package name n8n-nodes-sinergiacrm.
Self-hosted via CLI: install it into your n8n instance:
npm install n8n-nodes-sinergiacrm
Then restart n8n. See the n8n community nodes documentation for details.
—
Usage
1. Credentials
(see SinergiaCRM → Admin → OAuth2 Clients)
2. Node Configuration
3. Example – Create a Contact
Input data:
{
"first_name": "John",
"last_name": "Doe",
"email1": "john.doe@example.com"
}
4. Polling Trigger
The SinergiaCRM Trigger node polls the selected modules and emits one item per new or updated record. Events are limited to created and updated (deletion detection is not supported). Cadence is configurable: every poll, every N hours/days, or a 5-field cron expression.
5. AI Agent Tool
The main SinergiaCRM node can be used as a tool by n8n’s AI Agent. Community packages are only exposed as tools when the instance is started with:
N8NCOMMUNITYPACKAGESALLOWTOOL_USAGE=true
Without that environment variable the node does not appear as a tool (the trigger node is never usable as a tool).
#### Letting the model fill in the data
The node ships with $fromAI() defaults for its dynamic parameters, so the model controls them out of the box:
data – the record payload (Create / Update, Raw JSON mode)id – the record ID (Get One, Update, Delete, Get Relationships)limit – the page size (Get All with Return All disabled)Module and Operation stay fixed on the node: pin one module/operation per workflow (e.g. Contacts + Create), and the agent supplies data on each call. You can also enable/disable $fromAI() per field with the “Defined automatically by the model” button in the node editor.
#### Using it through an MCP server
Because the node is usableAsTool, n8n’s MCP Server trigger exposes it automatically to any MCP client. Connect the node as a tool in an MCP Server workflow, point your client at the server’s URL, and the model can call the same operations directly (e.g. Get All exposes a limit parameter, Create exposes a required data payload).
—
Supported Operations
| Operation | Description |
|——————|———————————————–|
| Get All | Fetch records with optional filters & paging |
| Get One | Retrieve a single record by ID |
| Create | Add a new record (field mode or JSON payload) |
| Update | Modify a record (field mode or JSON payload) |
| Delete | Remove a record by ID |
| Get Relationships| Fetch related records of a module by ID |
| Link Record | Link an existing record to another |
| Unlink Record | Break a link without deleting either record |
—
Requirements
—
Troubleshooting
“The specified package could not be loaded” after upgrading
n8n caches loaded node classes. When upgrading from v2.2.5 or earlier, clear the cache and reinstall:
Docker:
docker exec -it sh -c "rm -rf /home/node/.n8n/nodes/node_modules/* /home/node/.n8n/nodes/package.json"
docker restart
npm / local:
rm -rf ~/.n8n/nodes/node_modules/*
rm -f ~/.n8n/nodes/package.json
Then reinstall from Settings → Community Nodes.
Node does not appear as an AI Agent tool
Add this environment variable to your n8n instance:
N8NCOMMUNITYPACKAGESALLOWTOOL_USAGE=true
Other issues
access_token missing → Check credentials or OAuth2 setup405 Method Not Allowed → PATCH may not be enabled in your SinergiaCRMdocker logs for detailed error messages—
Contributing
Contributions welcome!
Feel free to open issues or PRs.
—
License
MIT
—
Maintainer: Javier Quilez Cabello / tecnologiasolidaria.org
Support: SinergiaCRM Forums
Source: GitHub
Docs: SinergiaCRM JSON API