Creates, monitors, manages, cancels bulk deletion jobs in Dynamics 365, including status checks and failure analysis. For bulk delete record requests.
npx claudepluginhub nickmeron/dataverse-mcp-serverThis skill is limited to using the following tools:
The user wants to create or manage bulk deletion jobs in Dynamics 365.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
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.