Some PDIs are currently unavailable, and PDI actions are paused. View the latest updates here. Read More

State transition - Best Practices

sunilsargam
Kilo Sage

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

3 REPLIES 3

RaghavendraGund
Tera Contributor

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

Dr Atul G- LNG
Tera Patron

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

****************************************************************************************************************

Tanushree Maiti
Tera Patron

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.

 

 

Please Accept the solution if it assisted you with your question & Mark this response as Helpful.
Regards
Tanushree Maiti
ServiceNow Technical Architect
LinkedIn: https://www.linkedin.com/in/tanushreemaiti