Creates, monitors, manages, cancels bulk deletion jobs in Dynamics 365, including status checks and failure analysis. For bulk delete record requests.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dynamics365-dataverse:bulk-deleteThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
The user wants to create or manage bulk deletion jobs in Dynamics 365.
The user wants to create or manage bulk deletion jobs in Dynamics 365.
Argument provided: $ARGUMENTS
Select environment — call list_environments, ask the user, call select_environment.
Confirm scope — ask the user to confirm the target entity and any filter conditions before creating the job. Bulk deletion is irreversible.
Resolve the entity logical name — if the user provides a display name (e.g. "Knowledge Article"), use list_entities to find the logical name (e.g. knowledgearticle).
Build filter conditions (optional) — if the user wants to delete a subset of records, map their criteria to QueryExpression conditions:
attribute (logical name), operator, and optionally valuesEqual, NotEqual, Null, NotNull, Like, In, GreaterThan, LessThan, OlderThanXDays{ attribute: "statecode", operator: "Equal", values: ["1"] }Create the job — call create_bulk_delete_job:
job_name: descriptive name (e.g. "Delete all Knowledge Articles – 2026-05-04")
entity: logical name (e.g. "knowledgearticle")
filter_conditions: [...] or omit for all records
Returns a JobId (asyncoperationid) — save this for monitoring.
Confirm to the user — report the JobId and explain they can monitor it with get_bulk_delete_job.
Call get_bulk_delete_job with the job_id.
Status interpretation:
| statecode | statuscode | Meaning |
|---|---|---|
| 0 | 0 | Waiting for resources |
| 1 | 10 | Waiting |
| 2 | 20 | In progress |
| 2 | 21 | Pausing |
| 2 | 22 | Canceling |
| 3 | 30 | Succeeded |
| 3 | 32 | Cancelled |
| 3 | 33 | Failed |
get_bulk_delete_failures.get_bulk_delete_failures to show which records could not be deleted and why.Call list_bulk_delete_jobs. Optional status filter: waiting, running, completed, failed, cancelled.
Present results as a table: Job Name | Status | Created | Completed | JobId.
get_bulk_delete_job to confirm the job is still active (statecode 0, 1, or 2).cancel_bulk_delete_job with the job_id.Call get_bulk_delete_failures with the job_id. The response includes:
objectid — the GUID of the record that failederrordescription — the reason for failure (e.g. cascading relationships, active child records)Common failure reasons:
recurrence_pattern to run the job on a schedule (e.g. daily cleanup). Leave empty for a one-time run.get_bulk_delete_job.get_bulk_delete_failures after completion.npx claudepluginhub nickmeron/dataverse-mcp-serverGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.