Flow designer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago - last edited 3 weeks ago
I need help to create RITM approval in flow designer based on user's profile location. If user if located on certain location approval will be created on different assignment groups.
- Labels:
-
Incident Management
-
Service Catalog
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
you can configure decision table for this which stores location and approval group
Use Decision Builder with Flow Designer to pick Approvers
OR
You can use scripted flow approval
Scripted Approvals in Flow Designer with Flow Variables
💡 If my response helped, please mark it as correct ✅ and close the thread 🔒— this helps future readers find the solution faster! 🙏
Ankur
✨ Certified Technical Architect || ✨ 10x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Hello @Zuri ,
I would recommend using a Decision Table in Flow Designer. You can configure the table with user profile locations as inputs and assignment groups as outputs. Then, in your flow, call the decision table to dynamically determine the approval group.
Refer this for detailed understanding :
Smarter Assignment Using Decision Tables + Flow Designer
Although If you’d like to proceed with your current approach, you can add condition checks in Flow Designer based on the user’s profile location. For each branch, configure the approval action to the respective assignment group.
If my response helped mark as helpful and accept the solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Hi @Zuri
- Configure the Trigger
- Create a new Flow.
- Set the Trigger to Service Catalog.
- Select the appropriate Catalog Item (or trigger on Requested Item [sc_req_item], depending on your requirement).
- Evaluate the User's Location
Use Flow Logic to determine the requester's location.
- Add an If (or Switch) condition.
- Dot-walk to the requester's location:
Condition:
Trigger → Requested For → Location
- Select the appropriate operator (for example, is or is one of).
- Compare it against the required location (e.g., India, USA, UK).
If there are many locations, avoid creating multiple If conditions. Instead, use a Look Up Records, Decision Table, or Script Action/Subflow to dynamically determine the appropriate approval group.
- Configure the "Ask for Approval" Action
Inside the matching If branch:
- Add the Ask for Approval action.
- Set Record = Trigger → Requested Item (sc_req_item).
- Configure the approval rule:
- Anyone Approves
- Everyone Approves (formerly "All Users Approve")
- Specify the approver(s):
- Assignment Group
- User
- Manager
- Or dynamically determined group
Example:
- India → IT India Approval Group
- USA → IT USA Approval Group
- Configure Post-Approval Actions
After the approval action:
If Approved
- Check whether Approval State = Approved.
- Perform the required actions, such as:
- Update the RITM State to Work in Progress
- Create one or more Catalog Tasks (SCTASK)
- Trigger another Flow or Subflow
- Send a notification
If Rejected
- Update the RITM State to Closed Incomplete or Closed Skipped (based on your organization's process).
- Add comments explaining the rejection.
- Notify the requester.
- End the flow.
Refer:
Flow Designer approval based on location
Scripted Approvals in Flow Designer with Flow Variables
Regards
Tanushree Maiti
ServiceNow Technical Architect
LinkedIn: https://www.linkedin.com/in/tanushreemaiti
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago - last edited 3 weeks ago
Hi @Zuri,
You can script this in Rules field toggle code for Approval action or use decision table.
Use fd_data method to fetch location and map to each assignment group. Here is a sample code.
// Get the location from the trigger record
var location = fd_data.trigger.requested_item.variables.location.getDisplayValue();
// Location -> Approver Group Sys ID mapping
var LocationMap= {
"New York": "46d44c98db1a3010b7d5f2b6ca9619d2",
"London": "9a1f7d90db5e3010b7d5f2b6ca9619d4",
"Bangalore": "b4b7f0d8db5e3010b7d5f2b6ca9619d5",
"Tokyo": "d73d5f98db5e3010b7d5f2b6ca9619d6",
"Sydney": "d83d5f98db5e3010b7d5f2b6ca9619d7"
};
// Return the mapped Assignment Group sys_id
if (LocationMap[location])
return ApprovesG[LocationMap[location]] ;
Please Accept this response as Solution if it assisted you with your question & Mark this response as Helpful.
Kind Regards,
Ehab Pilloor