dynamics_create_web_resource
Create and deploy web resources like HTML, CSS, JavaScript, and images in Microsoft Dynamics CRM to customize interfaces and extend functionality.
Instructions
Cria um novo web resource no Dynamics CRM
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Nome do web resource (ex: new_/scripts/account.js) | |
| displayName | Yes | Nome de exibição | |
| type | Yes | Tipo do web resource | |
| content | No | Conteúdo do web resource (texto ou Base64) | |
| description | No | ||
| solutionUniqueName | No | Nome único da solução para adicionar o recurso | |
| generateTemplate | No | Gerar template padrão se content não fornecido |
Implementation Reference
- src/tools/webresources/index.ts:63-107 (handler)Handler implementation for dynamics_create_web_resource tool.
server.tool( "dynamics_create_web_resource", "Cria um novo web resource no Dynamics CRM", CreateWebResourceSchema.shape, async (params: z.infer<typeof CreateWebResourceSchema>) => { let content = params.content; if (!content && params.generateTemplate) { const templateKey = params.type.toLowerCase() as keyof typeof WEB_RESOURCE_TEMPLATES; const template = WEB_RESOURCE_TEMPLATES[templateKey]; if (template) { content = typeof template === "string" ? template : template.form || ""; content = content .replace(/{{NAME}}/g, params.name) .replace(/{{DISPLAY_NAME}}/g, params.displayName); } } const encodedContent = content ? Buffer.from(content).toString("base64") : ""; const data: Record<string, unknown> = { name: params.name, displayname: params.displayName, webresourcetype: TYPE_MAP[params.type], content: encodedContent, description: params.description || "", }; let endpoint = "webresourceset"; if (params.solutionUniqueName) { endpoint += `?SolutionUniqueName='${params.solutionUniqueName}'`; } const result = await client.create(endpoint, data); return { content: [ { type: "text" as const, text: `Web resource criado com sucesso!\nID: ${result.entityId}\nNome: ${params.name}\nTipo: ${params.type}${params.solutionUniqueName ? `\nSolução: ${params.solutionUniqueName}` : ""}`, }, ], }; } ); - Zod schema definition for input validation of the dynamics_create_web_resource tool.
export const CreateWebResourceSchema = z.object({ name: z.string().describe("Nome do web resource (ex: new_/scripts/account.js)"), displayName: z.string().describe("Nome de exibição"), type: WebResourceTypeEnum, content: z.string().optional().describe("Conteúdo do web resource (texto ou Base64)"), description: z.string().optional(), solutionUniqueName: z.string().optional().describe("Nome único da solução para adicionar o recurso"), generateTemplate: z.boolean().default(false).describe("Gerar template padrão se content não fornecido"), }); - src/tools/webresources/index.ts:58-61 (registration)Registration function that exposes the tool to the MCP server.
export function registerWebResourceTools( server: { tool: Function }, client: DataverseClient ) {