Microsoft 365 Upsert

Microsoft 365 Upsert

Certified

Upsert a Dataverse entity record

Issues an OData PATCH request to create or update a record identified by its GUID. If the record exists it is updated; if it does not exist it is created (upsert semantics). Requires the Dataverse application permission Dynamics CRM user on the service principal.

yaml
type: io.kestra.plugin.microsoft365.dynamics365.dataverse.Upsert

Upsert an account record in Dataverse

yaml
id: dataverse_upsert_account
namespace: company.team

tasks:
  - id: upsert
    type: io.kestra.plugin.microsoft365.dynamics365.dataverse.Upsert
    tenantId: "{{ secret('AZURE_TENANT_ID') }}"
    clientId: "{{ secret('AZURE_CLIENT_ID') }}"
    clientSecret: "{{ secret('AZURE_CLIENT_SECRET') }}"
    orgUrl: "https://myorg.api.crm.dynamics.com"
    entitySetName: "accounts"
    recordId: "00000000-0000-0000-0000-000000000001"
    record:
      name: "Contoso Ltd"
      emailaddress1: "info@contoso.com"
Properties

Client ID

Client ID of the Azure service principal. If you don't have a service principal, refer to create a service principal with Azure CLI.

Entity set name

OData entity set name, e.g. accounts, contacts, leads.

Dataverse Organization URL

Base URL of the Dataverse organization, e.g. https://myorg.api.crm.dynamics.com. All OData API calls are made relative to {orgUrl}/api/data/v9.2/.

Record fields

Map of field names to values to set on the record.

Record ID

GUID of the record to create or update, e.g. 00000000-0000-0000-0000-000000000001.

Tenant ID

Azure AD (Entra ID) tenant GUID used for authentication.

Client Secret

Service principal client secret. Use this for Client Secret authentication. Provide clientId, tenantId, and clientSecret. Either clientSecret OR pemCertificate must be provided, not both.

PEM Certificate

Alternative authentication method using certificate-based authentication. Use this for Client Certificate authentication. Provide clientId, tenantId, and pemCertificate. Either clientSecret OR pemCertificate must be provided, not both.

Reference (ref) of the pluginDefaults to apply to this task.

Record ID

GUID of the created or updated record.