dv-data

Automate Dataverse record create, update, delete, and bulk CSV imports via the Python SDK.

195|50|Updated Mar 11, 2026
One-click install
npx skills add https://github.com/microsoft/Dataverse-skills --skill dv-data
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dv-data
Source: https://github.com/microsoft/Dataverse-skills/tree/main/.github/plugins/dataverse/skills/dv-data
Command: npx skills add https://github.com/microsoft/Dataverse-skills --skill dv-data

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires PowerPlatform-Dataverse-Client, and includes scripts (resource) components.

What problem does it solve?

Automates the laborious process of creating, updating, deleting, and bulk importing Dataverse records using Python, reducing manual effort and human error.

Core Features & Use Cases

  • SDK-first data writes: Use the official Python SDK to perform create, update, delete, and bulk import operations across Dataverse tables.
  • Bulk and upsert support: Leverage CreateMultiple, UpdateMultiple, and UpsertMultiple for large datasets and idempotent re-runs.
  • Chunked bulk imports: Break large payloads into manageable chunks to respect Dataverse payload size and timeout limits.
  • Lookup and alternate-key guidance: Use alternate keys for upsert operations and resolve lookups before inserting related records.
  • Data governance and metadata aids: Query EntityDefinitions to discover required fields and validate payloads before writes.
  • The body of this Skill provides templates, patterns, and examples for common data-write tasks using the Python SDK.

Quick Start

Create a simple Python script using the official Dataverse SDK to connect to your environment and perform a create operation.

Frequently Asked Questions about dv-data

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I bulk import CSV data into Dataverse using Python?

To bulk import CSV data into Dataverse using Python, you use the official Dataverse SDK to chunk large payloads into manageable batches. This approach respects Dataverse timeout limits and ensures reliable, idempotent imports by safely sequencing records.

What is the best way to perform idempotent upserts in Dataverse with Python?

Idempotent upserts in Dataverse are best performed using the UpsertMultiple SDK operation alongside alternate keys. This allows safe re-runs of large datasets without duplicating records, updating existing entries only when key matches occur.

How do I resolve lookups before inserting related Dataverse records in Python?

Resolving lookups before inserting related Dataverse records in Python requires querying parent tables to retrieve target identifiers. The SDK sequencing ensures parent records exist first, preventing orphaned relationships and failed imports.

Does Dataverse bulk data writing in Python require querying EntityDefinitions?

Querying EntityDefinitions is required for data governance and validating payloads before writing to Dataverse. Discovering required fields via metadata ensures your Python SDK create and update operations succeed without missing critical constraints.

What are the limitations of using the Python SDK for Dataverse bulk writes?

Limitations of Dataverse bulk writes in Python include payload size constraints and timeout risks requiring chunked operations. Large datasets must be broken into smaller batches using CreateMultiple or UpdateMultiple to avoid hitting platform limits.

Do I need the PowerPlatform-Dataverse-Client package to write data to Dataverse?

You need the PowerPlatform-Dataverse-Client package to write data to Dataverse using Python. It provides the official SDK foundation for authentication setup and executing create, update, delete, and bulk import operations.