Package Information
Available Nodes
Documentation generating…
Documentation
n8n-nodes-dynamics-onprem
An n8n community node for Microsoft Dynamics 365 / Dynamics CRM on-premises (8.x and 9.x)
that talks to the Web API with Windows (NTLM) authentication. The built-in HTTP Request node cannot do NTLM, and
n8n's Dynamics nodes only support Dynamics 365 online.
Installation
In n8n: Settings → Community Nodes → Install, package name n8n-nodes-dynamics-onprem.
See the n8n documentation for details.
Credential: Dynamics On-Premises (NTLM) API
| Field | Example |
|---|---|
| Organization URL | https://crm.example.com/OrgName |
| API Path | /api/data/v8.2 |
| Domain | CONTOSO (or leave empty and enter the username as CONTOSO\user) |
| Username / Password | a dedicated CRM user for n8n |
| Ignore SSL Issues | only for test systems with self-signed certificates |
The credential test calls WhoAmI().
Operations
| Operation | Web API call |
|---|---|
| Get | GET <entityset>(<id>) with $select, $expand |
| Get Many | GET <entityset> with $select, $filter, $orderby, $expand, follows @odata.nextLink |
| Run FetchXML | GET <entityset>?fetchXml=… |
| Create | POST <entityset>, returns the new ID (or the record with Return Record) |
| Update | PATCH <entityset>(<id>), by default with If-Match: * so an update never creates a record |
| Call Function | GET <function>, e.g. WhoAmI() or RetrieveVersion() |
| Execute Action | POST <action>, e.g. lists(<id>)/Microsoft.Dynamics.CRM.AddMemberList with {"EntityId": …} |
| Associate | POST <entityset>(<id>)/<relationship>/$ref |
Optional: formatted values (option set labels, lookup names) and suppression of duplicate detection.
Delete and disassociate are intentionally not offered. Actions run with the rights of the CRM user, so keep its security role narrow. Lookups are set with "attribute@odata.bind": "/entityset(<id>)" using the
navigation property name of the lookup.
Notes
- Each execution uses its own keep-alive connection, because the NTLM handshake is bound to a TCP connection.
- Grant the CRM user only the privileges your workflows need.
- NTLM is implemented with axios-ntlm (NTLMv2).
Development
npm install
npm run build
node test/logik.js # node logic against a local mock of the Web API
test/verbindung.js checks a real connection with credentials taken from DYNAMICS_RESOURCE_URL,DYNAMICS_API_PATH, DYNAMICS_USERNAME, DYNAMICS_PASSWORD (and optional DYNAMICS_DOMAIN).
License
MIT