Maximo Workflow is one of the most powerful yet underutilized features in IBM Maximo. Organizations that configure workflow effectively eliminate manual routing email chains, enforce approval compliance, and reduce work order approval cycle times from days to hours. Those that do not configure workflow correctly — or skip it entirely — find themselves managing paper approvals alongside their CMMS, negating much of the value of the system. This guide provides a complete reference for designing, configuring, testing, and debugging Maximo Workflow processes.
The Workflow Designer Interface
The Workflow Designer in Maximo is a graphical canvas-based tool accessed through the Workflow Designer application in the Administration toolbar. It presents a drag-and-drop environment where workflow authors connect nodes with arrows to define the process path.
The canvas contains:
- Toolbox panel (left side): containing all available node types that can be dragged onto the canvas
- Properties panel: opens when a node is selected, allowing configuration of the node’s behavior
- Canvas area: the working space where the process diagram is built
- Toolbar: containing save, validate, activate, and preview actions
Before creating a workflow, you must define:
- Object Structure: the Maximo application object that the workflow operates on — work orders, purchase orders, or purchase requisitions
- Roles: the user groups or individuals that will receive Task assignments within the workflow
- Communication Templates: the email or notification content that will be sent at key points in the process
Workflow activation is a one-way switch in Maximo 7.6 — once a workflow is active and has running instances, it cannot be modified without first creating a new revision. This design forces version control on production workflows, preventing mid-stream changes that would leave in-flight records in an inconsistent state.
Understanding Workflow Node Types
Each node type in Maximo Workflow has a specific function in the process definition. Using the correct node type for each step is essential for building reliable workflows.
Task nodes represent human actions. When the workflow reaches a Task node, Maximo creates an assignment (an inbox item) for the designated role or individual and waits for the user to act. The user can accept, reject, or approve the record, and each response routes the workflow to a different outgoing path. Task nodes are the primary mechanism for approval steps.
Condition nodes are decision points that evaluate expressions against the record’s field values without requiring human input. When the workflow reaches a Condition node, Maximo evaluates the defined condition (e.g., ESTCOST > 5000) and routes to either the True or False outgoing path. Condition nodes can evaluate any Maximo field, relationships, or calculated values, making them highly flexible routing mechanisms.
Subprocess nodes call a separate, independently defined workflow. This is used to encapsulate reusable process logic — for example, a “Send Notification” subprocess used in 15 different workflows — without duplicating the configuration. Subprocess nodes simplify maintenance because changes to the reusable subprocess propagate to all calling workflows.
Wait nodes pause the workflow until a specified condition becomes true. For example, a Wait node can pause a work order workflow until the work order’s SCHEDSTART date is within 24 hours, then route to a notification node to alert the assigned technician. Wait nodes reduce the need for escalation-based timing logic in some workflow patterns.
Notification nodes send communications (email, SMS, or in-app notifications) without creating an assignment or waiting for a user response. They are used to inform stakeholders of process events: “Your work order has been approved,” “Materials have been reserved for your job,” or “This purchase order has been rejected.”
Stop nodes terminate the workflow. Every valid workflow path must end at a Stop node. Orphaned paths without Stop nodes are identified during workflow validation and prevent activation.
Role Configuration for Workflow Routing
Roles in Maximo define which users receive Task assignments within a workflow. Unlike security groups (which control what users can see and do in the application), roles control who acts in a workflow process.
Roles can be defined as:
Person Groups: a named group of Maximo users who all share the same inbox. Any member of the group can claim and complete an assignment. When a member completes the assignment, it is removed from all other group members’ inboxes. This is the most common role type for approval assignments because it handles staff absences naturally — if one approver is unavailable, another group member can act.
Attribute-based roles: the user is determined dynamically by looking up a field on the record. For example, “the supervisor of the person who created this work order” or “the manager of the storeroom where this item is located.” Attribute-based roles are powerful for complex organizational hierarchies where the routing must follow organizational reporting lines.
Owner roles: routes to the person currently assigned to the record (the person in the OWNER or OWNERGROUP field of the work order or PO).
Effective role design accounts for staff absences and delegation. Maximo supports person group backup assignments, where a designated backup automatically receives assignments when the primary group member is marked unavailable. This prevents workflow stalls during vacations and extended absences.
Escalation Configuration
Escalations are Maximo’s mechanism for ensuring that workflow processes do not stall indefinitely due to non-responsive approvers or delayed actions. Escalations operate independently from the workflow engine — they are scheduled monitoring processes that act on records based on time-based conditions.
An escalation consists of:
Filter: the set of conditions that identify which records the escalation monitors. For example: records in application WORKORDER where STATUS = ‘WAPPR’ and CREATEDATE < (current date minus 2 days).
Escalation Points: time-based thresholds that trigger actions. An escalation can have multiple points, each with its own actions:
- Point 1 at 24 hours: send a reminder notification to the current assignee
- Point 2 at 48 hours: send a notification to the assignee’s manager
- Point 3 at 72 hours: automatically approve and route to next step, or reassign to an escalation handler role
Actions: the operations performed at each escalation point. Available action types include sending communications, changing field values, routing the workflow, and running automation scripts.
Schedule: the cron task frequency at which Maximo checks for records that have reached escalation thresholds. For most production environments, escalations run every 15-30 minutes.
Well-designed escalations act as a safety net for the workflow process, ensuring that exceptional situations (approver on leave, a work order forgotten in an inbox) do not cause indefinite delays. They also provide management with automatic visibility into process bottlenecks, supplementing Maximo reporting dashboards without requiring manual monitoring.
Communication Templates
Communication templates define the content of notifications sent by workflow notification nodes and escalations. In Maximo, templates are configured in the Communication Templates application.
Each template contains:
- Subject line: can include dynamic values from the record using Maximo expression syntax (
${WORKORDER.DESCRIPTION}) - Message body: HTML or plain text content with the notification message and dynamic field references
- Role: the recipient designation (can reference the workflow assignee, the record owner, a fixed person group, or an email address)
- Send from: the email address displayed as the sender
Effective communication templates include:
- The record number and description so the recipient can identify the record without logging in
- A direct link to the record in Maximo (using the MAXURL variable)
- Clear action instructions: what the recipient is expected to do and by when
- Escalation context: if this is a reminder or escalation notification, stating clearly why it was sent
For MAS implementations, communication templates integrate with IBM Maximo’s notification framework, which supports multi-channel delivery including email, SMS, and in-app push notifications to the Maximo Mobile technician application.
Common Workflow Patterns
Two workflow patterns account for the majority of production Maximo workflow deployments: work order approval and purchase order/PR approval.
Work Order Approval Workflow routes newly created work orders from WAPPR to APPR status. The typical pattern:
- Start → Condition: Is ESTCOST > threshold?
- If Yes → Task: Manager Approval
- If No → Task: Supervisor Approval
- Approval path → Condition: Is this a safety-critical asset?
- If Yes → Task: Safety Officer Review
- All approvals complete → Notification: Requester informed of approval
- Status automatically changed to APPR → Stop
Purchase Order Approval Workflow routes POs through financial and operational approval before they are transmitted to vendors. Typical pattern includes dollar-value thresholds that trigger different approval chains, commodity-category routing to specific buyers, and a three-quote verification step for high-value purchases.
The Maximo security configuration that supports these workflows includes application authorization that restricts which users can manually change work order or PO status outside the workflow — preventing users from bypassing the approval process by directly editing the Status field.
Testing and Debugging Workflows
Workflow testing before activation is essential. The most effective testing approach follows these steps:
Create test records: build representative test cases that cover each branch of the workflow. For a cost-threshold workflow, create one record below the threshold and one above it. For a safety-critical routing branch, create records with and without the safety flag set.
Use the Route Workflow action: in Maximo, the Route Workflow action on a test record initiates the workflow and routes it to the first node. Follow the workflow through each assignment by logging in as the designated role and completing each task.
Check the Workflow Instance Viewer: this tool (accessible via the Workflow Instances application) shows all active workflow instances and the current node for each record. If a workflow stalls unexpectedly, the instance viewer shows exactly which node the record is waiting at.
Review the Maximo log: for condition evaluation errors or communication template failures, the SystemOut.log contains workflow engine messages that identify the specific expression or template that failed.
Common workflow issues and fixes:
- Workflow never starts: check that the workflow is active and that the trigger condition (usually a status change) matches the record’s current state. Ensure the correct workflow is mapped to the application in the Workflow Designer.
- Condition node always takes the same path: verify the expression syntax against the actual field name in Maximo. Attribute paths are case-sensitive, and relationship traversal syntax (WORKORDER.ASSET.ASSETNUM) must exactly match the Maximo data model.
- Notifications not sent: check the SMTP configuration in System Properties. Verify that the communication template recipient role resolves to at least one user with a valid email address.
- Workflow stalls at Task node: check that the designated role has at least one active member. An empty person group causes the assignment to be created with no recipient.
Maintaining a clean workflow environment requires retiring obsolete workflow revisions and archiving completed instances. In Maximo 7.6, workflow instance data accumulates in the WFASSIGNMENT and WFINSTANCE database tables. Large tables from years of uncleaned instances can degrade system performance and should be managed through IBM’s recommended archiving procedures. Developers building automation scripts for Maximo workflows will find helpful references at CodeYourWeb alongside other enterprise application development resources.