dynamics_get_system_jobs
Monitor system jobs in Dynamics CRM to track import, bulk delete, workflow, and other operation statuses with customizable filters.
Instructions
Monitora jobs do sistema (importações, bulk deletes, workflows, etc.)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| statusFilter | No | all | |
| top | No | ||
| operationType | No | Tipo de operação do job |
Implementation Reference
- src/tools/telemetry/index.ts:241-278 (handler)The tool "dynamics_get_system_jobs" is registered and its logic implemented here, which queries the Dynamics 'asyncoperations' table.
server.tool( "dynamics_get_system_jobs", "Monitora jobs do sistema (importações, bulk deletes, workflows, etc.)", GetSystemJobsSchema.shape, async (params: z.infer<typeof GetSystemJobsSchema>) => { const filters: string[] = []; const statusMap: Record<string, number> = { waiting: 10, inprogress: 20, succeeded: 30, failed: 31, cancelled: 32, }; if (params.statusFilter !== "all") { filters.push(`statuscode eq ${statusMap[params.statusFilter]}`); } if (params.operationType !== undefined) { filters.push(`operationtype eq ${params.operationType}`); } const result = await client.list("asyncoperations", { select: [ "asyncoperationid", "name", "operationtype", "statuscode", "startedon", "completedon", "executiontimespan", "retrycount", "friendlymessage", "primaryentitytype", "createdon", ], filter: filters.length > 0 ? filters.join(" and ") : undefined, orderby: "createdon desc", top: params.top, }); return { content: [ { type: "text" as const, text: `## Jobs do Sistema\n\nTotal: ${result.value.length}\n\n${JSON.stringify(result.value, null, 2)}`, }, ], }; } ); - src/tools/telemetry/index.ts:43-47 (schema)Validation schema for the 'dynamics_get_system_jobs' tool input parameters.
export const GetSystemJobsSchema = z.object({ statusFilter: z.enum(["all", "waiting", "inprogress", "succeeded", "failed", "cancelled"]).default("all"), top: z.number().default(30), operationType: z.number().optional().describe("Tipo de operação do job"), });