@pokash/n8n-nodes-dataverse
v1.3.5
Published
n8n node for Microsoft Dataverse integration with Dynamics CRM
Maintainers
Keywords
Readme
n8n-nodes-dataverse
Node.js package providing n8n nodes for Microsoft Dataverse integration with Dynamics CRM.
Configuration
Prerequisites
- Azure AD App Registration: Create an application registration in Azure Active Directory
- Dataverse Environment: Access to a Microsoft Dataverse environment
- Permissions: Configure appropriate permissions for the app registration
Credentials Setup
Service Principal (Recommended)
- Client ID: Application (client) ID from Azure AD
- Client Secret: Client secret from Azure AD app registration
- Tenant ID: Directory (tenant) ID from Azure AD
- Environment URL: Your Dataverse environment URL (e.g., https://yourorg.crm.dynamics.com)
Username/Password
- Client ID: Application (client) ID from Azure AD
- Username: User's email address
- Password: User's password
- Environment URL: Your Dataverse environment URL
Usage Examples
Creating a Contact Record
{
"resource": "entityRecord",
"operation": "create",
"entityTableName": "contacts",
"fieldsUi": {
"fieldValues": [
{
"name": "firstname",
"value": "John"
},
{
"name": "lastname",
"value": "Doe"
},
{
"name": "emailaddress1",
"value": "[email protected]"
}
]
}
}Querying Account Records
{
"resource": "entityRecord",
"operation": "getAll",
"entityTableName": "accounts",
"options": {
"filter": "revenue gt 1000000",
"select": "name,accountnumber,revenue,primarycontactid",
"expand": "primarycontactid($select=fullname,emailaddress1)",
"orderby": "revenue desc",
"top": 10
}
}Updating an Account Record
{
"resource": "entityRecord",
"operation": "update",
"entityTableName": "accounts",
"recordId": "12345678-1234-1234-1234-123456789012",
"fieldsUi": {
"fieldValues": [
{
"name": "name",
"value": "Updated Company Name"
},
{
"name": "revenue",
"value": "2500000"
}
]
}
}Supported Entity Tables
Common entity table names in Dataverse:
accounts- Account recordscontacts- Contact recordsleads- Lead recordsopportunities- Opportunity recordsincidents- Case recordstasks- Task recordsemails- Email recordsappointments- Appointment records
OData Query Options
$filter
Filter records based on conditions:
name eq 'Contoso'
revenue gt 1000000
createdon ge 2023-01-01T00:00:00Z$select
Choose specific columns to retrieve:
name,accountnumber,revenue$expand
Include related data:
primarycontactid($select=fullname,emailaddress1)$orderby
Sort results:
name asc
revenue desc
createdon desc$top
Limit number of results:
10Error Handling
The node provides comprehensive error handling:
- Authentication Errors: Invalid credentials or expired tokens
- API Errors: Invalid entity names, missing required fields
- Network Errors: Connection timeouts, network issues
- Data Validation: Field validation errors from Dataverse
