dynamics_export_solution
Export Dynamics CRM solutions as Base64 ZIP files for backup, migration, or deployment purposes, with configurable settings for customization and system data.
Instructions
Exporta uma solução do Dynamics CRM (retorna Base64 do ZIP)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| solutionUniqueName | Yes | Nome único da solução | |
| managed | No | Exportar como managed | |
| exportAutoNumberingSettings | No | ||
| exportCalendarSettings | No | ||
| exportCustomizationSettings | No | ||
| exportEmailTrackingSettings | No | ||
| exportGeneralSettings | No | ||
| exportIsvConfig | No | ||
| exportMarketingSettings | No | ||
| exportOutlookSynchronizationSettings | No | ||
| exportRelationshipRoles | No | ||
| exportSales | No |
Implementation Reference
- src/tools/solutions/index.ts:262-293 (handler)The dynamics_export_solution tool handler is defined and registered here. It uses ExportSolutionSchema to validate inputs, performs an "ExportSolution" action via the client, and returns a text response.
server.tool( "dynamics_export_solution", "Exporta uma solução do Dynamics CRM (retorna Base64 do ZIP)", ExportSolutionSchema.shape, async (params: z.infer<typeof ExportSolutionSchema>) => { const result = await client.executeAction<{ ExportSolutionFile: string }>("ExportSolution", { SolutionName: params.solutionUniqueName, Managed: params.managed, ExportAutoNumberingSettings: params.exportAutoNumberingSettings, ExportCalendarSettings: params.exportCalendarSettings, ExportCustomizationSettings: params.exportCustomizationSettings, ExportEmailTrackingSettings: params.exportEmailTrackingSettings, ExportGeneralSettings: params.exportGeneralSettings, ExportIsvConfig: params.exportIsvConfig, ExportMarketingSettings: params.exportMarketingSettings, ExportOutlookSynchronizationSettings: params.exportOutlookSynchronizationSettings, ExportRelationshipRoles: params.exportRelationshipRoles, ExportSales: params.exportSales, }); const sizeKb = Math.round((result.ExportSolutionFile?.length || 0) * 0.75 / 1024); return { content: [ { type: "text" as const, text: `Solução ${params.solutionUniqueName} exportada com sucesso!\nTipo: ${params.managed ? "Managed" : "Unmanaged"}\nTamanho: ~${sizeKb} KB\n\n(O conteúdo Base64 do ZIP está disponível para download)`, }, ], }; } ); - src/tools/solutions/index.ts:40-53 (schema)Schema definition for the inputs required by the dynamics_export_solution tool.
export const ExportSolutionSchema = z.object({ solutionUniqueName: z.string().describe("Nome único da solução"), managed: z.boolean().default(false).describe("Exportar como managed"), exportAutoNumberingSettings: z.boolean().default(false), exportCalendarSettings: z.boolean().default(false), exportCustomizationSettings: z.boolean().default(false), exportEmailTrackingSettings: z.boolean().default(false), exportGeneralSettings: z.boolean().default(false), exportIsvConfig: z.boolean().default(false), exportMarketingSettings: z.boolean().default(false), exportOutlookSynchronizationSettings: z.boolean().default(false), exportRelationshipRoles: z.boolean().default(false), exportSales: z.boolean().default(false), });