dynamics_list_plugin_steps
Retrieve registered plugin steps in Dynamics CRM, optionally filtered by entity or plugin type, to manage and audit custom business logic execution.
Instructions
Lista os steps registrados para plugins, opcionalmente filtrados por entidade
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| entityLogicalName | No | Filtrar por entidade | |
| pluginTypeId | No | Filtrar por tipo de plugin |
Implementation Reference
- src/tools/plugins/index.ts:156-191 (handler)The implementation of the 'dynamics_list_plugin_steps' tool handler, which lists registered plugin steps in Dataverse with optional filters.
server.tool( "dynamics_list_plugin_steps", "Lista os steps registrados para plugins, opcionalmente filtrados por entidade", z.object({ entityLogicalName: z.string().optional().describe("Filtrar por entidade"), pluginTypeId: z.string().optional().describe("Filtrar por tipo de plugin"), }).shape, async (params: { entityLogicalName?: string; pluginTypeId?: string }) => { const filters: string[] = []; if (params.entityLogicalName) { filters.push(`configuration eq '${params.entityLogicalName}' or sdkmessagefilterid/primaryobjecttypecode eq '${params.entityLogicalName}'`); } if (params.pluginTypeId) { filters.push(`_plugintypeid_value eq '${params.pluginTypeId}'`); } const result = await client.list("sdkmessageprocessingsteps", { select: [ "sdkmessageprocessingstepid", "name", "stage", "mode", "rank", "statecode", "filteringattributes", "description", "_sdkmessageid_value", "_plugintypeid_value", ], filter: filters.length > 0 ? filters.join(" and ") : undefined, orderby: "name asc", }); return { content: [ { type: "text" as const, text: `Steps encontrados: ${result.value.length}\n\n${JSON.stringify(result.value, null, 2)}`, }, ], }; } );