import_ribbon_solution
Preview and import reviewed classic Ribbon edits into an existing unmanaged Dynamics 365 solution using a whole-solution async import with exact candidate bytes and plan safeguards.
Instructions
Preview first, then submit one native async import into an EXISTING ordinary unmanaged solution for reviewed classic Ribbon edits. Replay the structured edits and require exact candidate bytes; match organization/caller/table/publisher/version/complete visible membership and a fresh target export payload baseline. This is a WHOLE-SOLUTION import, including other unchanged components. Execute with current planHash, allow_unprotected_write and allow_full_solution_import. No upgrade/managed/override/automatic publish. Unknown acceptance retains client importJobId and is never replayed. Accepted responses yield a same-server-process provenance receipt for separate publication; receipt loss/restart is not permission to reimport.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| dryRun | No | Default true. Read-only ExportSolution POST can occur during preflight; import/publish is not sent. | |
| changes | No | ||
| dry_run | No | Default true. Read-only ExportSolution POST can occur during preflight; import/publish is not sent. | |
| logicalName | No | ||
| expectedHash | No | ||
| logical_name | No | ||
| expected_hash | No | ||
| sourceFilePath | No | Absolute original unmanaged source ZIP path. | |
| source_file_path | No | Absolute original unmanaged source ZIP path. | |
| candidateFilePath | No | Absolute candidate ZIP path produced from this source and the same structured edits on this server version. | |
| candidate_file_path | No | Absolute candidate ZIP path produced from this source and the same structured edits on this server version. | |
| allowUnprotectedWrite | No | Explicitly accept the remaining platform concurrency window; no atomic package/table/pending-customization lock. | |
| allowFullSolutionImport | No | Explicitly acknowledge that native import applies the entire existing unmanaged package, not just Ribbon. | |
| allow_unprotected_write | No | Explicitly accept the remaining platform concurrency window; no atomic package/table/pending-customization lock. | |
| allow_full_solution_import | No | Explicitly acknowledge that native import applies the entire existing unmanaged package, not just Ribbon. |