Ever submitted a request in ServiceNow and noticed that no Catalog Tasks were created? This can be confusing, especially when the automation appears to be configured correctly.
In most cases, the issue isn't a platform error — it's a logic or data problem somewhere in the approval-to-task path. This guide walks through the most common causes and how to debug them effectively, whether you're working with classic Workflow or Flow Designer.
The Problem
You submit a Requested Item (RITM) and it gets approved or auto-approved. However, no Catalog Tasks are generated. In some cases, the request even moves directly to a completed or closed state.
This usually means the activity or flow step responsible for creating tasks was skipped or never reached.
Common Misconceptions
- Catalog Tasks always require an assignment group. (Not true.)
- Workflows or flows always execute step-by-step unless there's a visible error. (Also not true — a condition can route around a step silently.)
- If approvals succeed, task creation must occur afterward. (Only if a path actually connects the two.)
In reality, automation steps can be skipped due to logic conditions, missing data, or — occasionally — a platform-level regression introduced by an upgrade.
How Catalog Tasks Are Normally Created
Understanding the intended flow helps pinpoint where it breaks. Most catalog items today run through Flow Designer; some older or unmigrated items still run through classic Workflow. The shape is the same either way:
User Request
↓
Requested Item (RITM)
↓
Flow Designer flow (current default) or classic Workflow (legacy)
↓
Approval Activities
↓
Catalog Task Activity / Action
↓
Task created (sc_task)
If any step above is skipped or fails silently, the task-creation step never runs.
Worth knowing: as of the Zurich release, ServiceNow no longer ships the classic Workflow Editor out-of-the-box on new instances. Existing legacy workflows continue to run fine and aren't being removed, but ServiceNow has recommended building new automation in Flow Designer for a while now. If you're troubleshooting a catalog item, it's worth confirming up front which of the two it's actually running on — the debugging steps differ.
Common Causes of Catalog Tasks Not Triggering
1. Skipped Paths
The most common reason is that the path containing the task-creation step was skipped entirely. This can happen when:
- An approval activity is skipped due to a script condition.
- No path exists for a specific outcome — for example, rejection or auto-approval.
- The request transitions directly to a closed state before task creation runs.
2. Platform Upgrade Regressions
Version upgrades occasionally change how existing logic evaluates, even without any change on your end. A real, documented example: after upgrading from Xanadu to Yokohama, some customers found that an approval-state check like current.approval == 'approved' — which evaluated correctly on Xanadu — started evaluating to false on Yokohama, due to a string-comparison behavior change. Since many approval-gated task-creation paths depend on exactly this kind of check, a regression like this can silently prevent tasks from ever being created.
The takeaway isn't "watch out for this specific bug" so much as: after any platform upgrade, re-test approval and condition logic that was working before, and check that release's Known Errors page if something that worked pre-upgrade stops working with no configuration changes on your side.
3. Data Validation or Missing User Information
Many approval and condition checks depend on user attributes. If required data is missing, those checks can silently evaluate to false rather than throwing a visible error. Common examples:
- The requester has no manager defined.
- User profile attributes such as department or location are missing.
- Custom script conditions return null or empty values instead of true/false.
If an approval step is skipped because of this, the flow may bypass task creation entirely without any indication something went wrong.
How to Debug the Issue
Start by confirming which automation type the catalog item actually uses, then follow the matching path:
If it's a classic Workflow: - Open the RITM record and check its Workflow Context. - Review each activity and confirm whether it executed, was skipped, or errored. - Inspect the results of approval activities specifically.
If it's a Flow Designer flow: - Open the flow in Flow Designer and use Flow Details / Execution History (accessible from the flow's related links) to see a step-by-step trace of the actual run — including which steps executed, which were skipped, and what each step's inputs/outputs were. This is the most direct way to see exactly where execution stopped, and it's generally more informative than adding manual logging. - Check the flow's trigger conditions and any "if" logic branches for the specific record.
Either way: - Validate the requester's user record — manager, department, location, and any other fields your conditions reference. - Confirm the task-creation step actually exists in the path that was executed, not just somewhere in the flow/workflow diagram.
Step-by-Step Debugging Checklist
- Confirm whether the catalog item runs classic Workflow or a Flow Designer flow.
- For Workflow: check the Workflow Context for skipped activities.
- For Flow Designer: review the flow's execution history/trace for the specific RITM.
- Confirm approval results and approval states.
- Validate requester data — manager, department, location, and any custom fields used in conditions.
- Review script conditions in approval or decision steps for logic that could silently evaluate false.
- If this started right after a platform upgrade, check that release's Known Errors page before assuming it's a configuration issue.
- Confirm the task-creation activity/action exists in the path that actually executed.
Logging for Troubleshooting
For classic Workflow Run Script activities, straightforward logging can help trace execution:
gs.info('RITM state: ' + current.state);
gs.info('Approval state: ' + current.approval);
gs.info('Reached task creation step for: ' + current.number);
For Flow Designer, manual logging is rarely necessary — the Execution History trace mentioned above already shows you which steps ran and what data they had at each point. If you do need custom logging inside a Script step, gs.info() works the same way there.
Best Practices for Preventing This Issue
- Define an explicit path for every approval outcome, including rejection and auto-approval.
- Ensure requester data fields are properly populated before they're relied on in conditions.
- Add logging (or rely on Flow Designer's execution trace) at critical decision points.
- Test with incomplete user data to catch silent-failure edge cases before they hit production.
- Re-test approval and condition logic after every platform upgrade — don't assume prior behavior carries forward unchanged.
- For new catalog items, build in Flow Designer rather than classic Workflow where possible, since that's where ServiceNow's ongoing development and debugging tooling investment is going.
Conclusion
Catalog Tasks not triggering is usually caused by a skipped path, silently-failing condition logic, or missing user data — not a platform failure. Occasionally an upgrade does change how existing logic evaluates, which is worth ruling in or out early rather than last.
By identifying whether you're debugging classic Workflow or Flow Designer, checking the right execution trace for that tool, and validating the data your conditions depend on, you can usually find the root cause quickly.

No comments:
Post a Comment