State transition - Best Practices
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-23-2026 06:21 AM
Hello All,
I have a custom application build using App engine studio. I need to move the state of task to different states like WIP, Pending Review, Reviewed, Pending Approval etc. Should we create UI action to do the state changes or any other Low Code/ No Code way we have in ServiceNow.
What is the best practice followed?
Thank you in advance
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-23-2026 07:30 AM
Hello
Good question — and the best-practice answer actually depends on one detail: does your custom table extend Task? That changes which low-code options are on the table.
If it extends Task, you've got two purpose-built mechanisms before you reach for custom UI Actions:
- State Model (active out-of-box) lets you declare, per record type, the valid enter/exit conditions for each state — so you can enforce that a record can't skip from WIP straight to Reviewed.
- State Flows (plugin) handle field behavior and visibility as the state changes, and a Process Flow Formatter gives users the visual lifecycle breadcrumb on the form.
Worth being upfront: even these OOB approaches usually still need a few UI Actions to drive the buttons, so it's not purely no-code.
If it doesn't extend Task, State Model/State Flows aren't available, and the clean pattern is:
- UI Actions (or Declarative Actions if you're in a Workspace) for user-initiated moves like "Submit for Review," each with a tight condition so the button only appears when that transition is valid (e.g. show it only when state = WIP). That condition is quietly doing your state-machine enforcement.
- Flow Designer / Workflow Studio for the transition logic, notifications, and especially the approval steps — use the OOB approval actions rather than scripting approvals by hand.
If you have any follow up questions, I am happy to answer.
Please Mark Helpful, if my answer added any insight to you.
Regards
RaghavendraGunda
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-23-2026 08:37 AM
Based on experience, it should be fixed for both scenarios.
Wherever you find it, the code should be added so that automation works properly—for example, moving from New to WIP, where conditions like assignment filtering are handled. Review can still be managed manually via a UI action if required.
It depends on what best suits the overall process, but both paths should be considered.
Regards
Dr. Atul G. - Learn N Grow Together
ServiceNow Techno - Functional Trainer
LinkedIn: https://www.linkedin.com/in/dratulgrover
YouTube: https://www.youtube.com/@LearnNGrowTogetherwithAtulG
****************************************************************************************************************
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-23-2026 10:36 AM - edited 06-23-2026 10:37 AM
Hi @sunilsargam
If you're using App Engine Studio, you can implement state-change requirements using Flows, providing a low-code approach.
For more details, refer to the App Engine Studio features page:
https://www.servicenow.com/products/app-engine-studio.html#features
Alternatively, with ServiceNow Build Agent, you can leverage LLM-based prompts to implement the same functionality using a no-code approach.
Regards
Tanushree Maiti
ServiceNow Technical Architect
LinkedIn: https://www.linkedin.com/in/tanushreemaiti