crm
Drive Dynamics 365 CE from your shell — on-prem (NTLM) or Dataverse (OAuth), one CLI.
-
Records
Create, read, update, delete and bulk-import accounts, contacts, and custom entities over the Dataverse Web API.
-
Queries
OData v4 (
$filter/$select/$top) or FetchXML, with--jsonoutput ready for scripts and agents. -
Solutions
Export, import, clone-as-patch, stage-and-upgrade, and uninstall managed and unmanaged solutions.
-
Metadata
Browse and write entity, attribute, and relationship definitions; declarative
applyfrom a spec file. -
Plug-ins
Register plug-in assemblies and steps, manage workflows, SLAs, and async operations.
-
/crm agent skill
Ships an agent skill so Claude Code or Copilot CLI can drive D365 for you in plain language.
A first taste
crm profile add # (1)!
crm --json connection whoami # (2)!
- One-time interactive wizard: enter your server URL, the CLI infers NTLM vs OAuth, stores the secret, and verifies the connection.
- Confirms you're connected — prints your user id and org, machine-readable.
Why crm
--jsoneverywhere — every command emits a structured envelope for agents and scripts.--dry-run— preview mutations before they touch the server.- One CLI, both targets — the same commands hit on-prem v9.x and Dataverse online.
- Optional metadata cache —
CRM_CACHE_METADATA=1speeds up repeated one-shot agent calls.
For agents
Point a web-fetch agent at /llms.txt (curated index) or
/llms-full.txt (full corpus), or read the complete
CLI reference.