Skip to main content
Glama

completeWorkflowStep

Complete a specific workflow step in Adobe Experience Manager by providing workflow ID, step name, and optional comment to advance content approval processes.

Instructions

Complete a workflow step

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
workflowIdYes
stepNameYes
commentNo

Implementation Reference

  • Primary MCP tool handler implementation for 'completeWorkflowStep'. Extracts parameters from tool call arguments and delegates execution to the AEMConnector instance.
    case 'completeWorkflowStep': {
        const { workflowId, stepName, comment } = args;
        const result = await aemConnector.completeWorkflowStep(workflowId, stepName, comment);
        return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
    }
  • Tool schema definition including name, description, and input schema validation for 'completeWorkflowStep', used for registration and listTools response.
    {
        name: 'completeWorkflowStep',
        description: 'Complete a workflow step',
        inputSchema: {
            type: 'object',
            properties: {
                workflowId: { type: 'string' },
                stepName: { type: 'string' },
                comment: { type: 'string' }
            },
            required: ['workflowId', 'stepName'],
        },
    },
  • Core business logic handler for completing a workflow step. Makes authenticated HTTP POST request to AEM's workflow API endpoint and wraps response.
    async completeWorkflowStep(workflowId, stepName, comment) {
        return safeExecute(async () => {
            if (!workflowId || !stepName) {
                throw createAEMError(AEM_ERROR_CODES.INVALID_PARAMETERS, 'Workflow ID and step name are required', { workflowId, stepName });
            }
            // Complete the workflow step
            const stepData = {
                action: 'complete',
                comment: comment || `Step ${stepName} completed via AEM MCP Server`
            };
            const response = await this.httpClient.post(`/etc/workflow/instances/${workflowId}/steps/${stepName}`, stepData, {
                headers: {
                    'Content-Type': 'application/json'
                }
            });
            return createSuccessResponse({
                workflowId,
                stepName,
                comment: stepData.comment,
                status: 'COMPLETED',
                completedAt: new Date().toISOString()
            }, 'completeWorkflowStep');
        }, 'completeWorkflowStep');
  • Delegation method in AEMConnector class that forwards the call to the WorkflowOperations module.
    async completeWorkflowStep(workflowId, stepName, comment) {
        return this.workflowOps.completeWorkflowStep(workflowId, stepName, comment);
  • Alternative handler implementation in MCPRequestHandler class (potentially unused), delegates to AEMConnector.
    case 'completeWorkflowStep':
        return await this.aemConnector.completeWorkflowStep(params.workflowId, params.stepName, params.comment);

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/indrasishbanerjee/aem-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server