dataverse

n8n node for Microsoft Dataverse integration with Dynamics CRM

Package Information

Released: 9/24/2025
Downloads: 21 weekly / 42 monthly
Latest Version: 1.3.4
Author: POKASH

Documentation

n8n-nodes-dataverse

Node.js package providing n8n nodes for Microsoft Dataverse integration with Dynamics CRM.

Configuration

Prerequisites

  1. Azure AD App Registration: Create an application registration in Azure Active Directory
  2. Dataverse Environment: Access to a Microsoft Dataverse environment
  3. Permissions: Configure appropriate permissions for the app registration

Credentials Setup

Service Principal (Recommended)

  1. Client ID: Application (client) ID from Azure AD
  2. Client Secret: Client secret from Azure AD app registration
  3. Tenant ID: Directory (tenant) ID from Azure AD
  4. Environment URL: Your Dataverse environment URL (e.g., https://yourorg.crm.dynamics.com)

Username/Password

  1. Client ID: Application (client) ID from Azure AD
  2. Username: User's email address
  3. Password: User's password
  4. 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": "john.doe@example.com"
      }
    ]
  }
}

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 records
  • contacts - Contact records
  • leads - Lead records
  • opportunities - Opportunity records
  • incidents - Case records
  • tasks - Task records
  • emails - Email records
  • appointments - 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:

10

Error 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

Discussion