One workflow for 1,000+ catalog items

Up to 20 developer hours a month back, and routine catalog items handed to Tier 1 support.

Role: Workflow design ยท Platform: ServiceNow

Context

Every catalog item had its own workflow. There were around 200 of them, and the number kept growing.

Problem

Each new item took about a day to build, plus testing on top. Every workflow then had to be tracked and maintained on its own, so the maintenance load grew with every item we added.

Decision

At the time, the platform offered few ready-made options for this. So we designed our own: one workflow that decides at runtime what each request needs, instead of a new workflow for every item. We refined the design over time, but runtime execution was the goal from the start.

What we built

  • One table that holds the approval rules for each catalog item.
  • One table that holds the tasks for each catalog item.
  • One master workflow that reads both tables when a request comes in, and runs the right approvals and tasks.
  • Adding a routine catalog item now means adding rows to the tables, not building a workflow.

Result

  • 1,000+ catalog items now run on the one workflow.
  • Up to 20 developer hours saved a month.
  • Routine catalog items are now created by Tier 1 support, with no development needed unless an item has specialised needs.

What I'd do differently

Next time I'd map the nuanced requirements before building: whether tasks run in parallel or in sequence, and which special conditions decide whether a task runs. Then I'd build those into the decision logic from day one.