getWorkflowModels
Retrieve available workflow models from Adobe Experience Manager to automate content processes and manage business logic.
Instructions
Get all available workflow models
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- Core handler function that implements the getWorkflowModels tool by querying AEM's workflow models endpoint, parsing the response into structured model objects including steps, and returning a success response.async getWorkflowModels() { return safeExecute(async () => { try { // Get workflow models from AEM const response = await this.httpClient.get('/etc/workflow/models.json', { params: { ':depth': '3' } }); const models = []; if (response.data && typeof response.data === 'object') { Object.entries(response.data).forEach(([key, value]) => { if (key.startsWith('jcr:') || key.startsWith('sling:')) return; if (value && typeof value === 'object') { const modelPath = `/etc/workflow/models/${key}`; const modelData = value['jcr:content'] || value; models.push({ modelId: key, title: modelData['jcr:title'] || key, description: modelData['jcr:description'] || '', version: modelData['version'] || '1.0', status: modelData['status'] || 'enabled', createdBy: modelData['jcr:createdBy'] || 'admin', createdAt: modelData['jcr:created'] || new Date().toISOString(), steps: this.parseModelSteps(modelData) }); } }); } return createSuccessResponse({ models, totalCount: models.length }, 'getWorkflowModels'); } catch (error) { throw handleAEMHttpError(error, 'getWorkflowModels'); } }, 'getWorkflowModels'); }
- Helper function used by getWorkflowModels to parse steps from a workflow model node structure.parseModelSteps(modelData) { const steps = []; if (modelData && modelData.nodes) { Object.entries(modelData.nodes).forEach(([key, value]) => { if (key.startsWith('jcr:') || key.startsWith('sling:')) return; if (value && typeof value === 'object') { steps.push({ name: key, title: value['jcr:title'] || key, type: value['jcr:primaryType'] || 'unknown', description: value['jcr:description'] }); } }); } return steps; }
- dist/mcp-server.js:500-504 (registration)Tool registration in the MCP server's tools array, including name, description, and input schema (no parameters required).{ name: 'getWorkflowModels', description: 'Get all available workflow models', inputSchema: { type: 'object', properties: {} }, },
- dist/mcp-server.js:776-778 (handler)MCP server top-level handler case that delegates to aemConnector.getWorkflowModels() and formats the response for MCP protocol.case 'getWorkflowModels': { const result = await aemConnector.getWorkflowModels(); return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
- dist/mcp-handler.js:157-157 (schema)Simplified tool schema definition in MCP handler's available methods list, specifying no parameters.{ name: 'getWorkflowModels', description: 'Get all available workflow models', parameters: [] },