Send consolidated approval email for multiple demands/projects
						
					
					
				
			
		
	
			
	
	
	
	
	
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
a week ago
Hello Team,
We have received a recent requirement from our business users. Currently, they are managing the approval of multiple demands through an Excel sheet. They are now looking for a similar capability within ServiceNow, where the approver should receive a single approval email for multiple demands as well as project closures.
Could you please share your thoughts on the best solution to meet this requirement? I am eager to hear your ideas on how we can streamline this process in ServiceNow to enhance efficiency and user experience for our business users.
Looking forward to your valuable inputs.
Regards,
Prabhjot
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
a week ago
Option 1 – Build a “Consolidated Approval Portal” (Recommended)
Concept
Instead of sending multiple approval emails, ServiceNow can send one digest-style approval notification that links to a UI Builder page or Workspace component where the approver sees all pending approvals in one list.
Implementation Steps
- Create an “Approvals Dashboard” page (UI Builder or classic Service Portal) - Data source: sysapproval_approver 
- Filter: state = requested AND approver = javascript:gs.getUserID() 
- Include columns: document_id.number, document_id.short_description, document_id.type (Demand/Project), requested_by, due_date, etc. 
 
- Add Bulk Action buttons: - ✅ Approve Selected → Scripted REST API or Flow to update sysapproval_approver.state = approved. 
- ❌ Reject Selected → same mechanism for rejection. 
- (Optional) View Details → opens the Demand or Project record in modal. 
 
- Send a single weekly/daily email digest: - Use a Scheduled Scripted Email Notification or Flow: - Query pending approvals (sysapproval_approver) grouped by approver. 
- Send one email listing all records with a “Go to Approval Dashboard” link. 
 
 
- Track approvals normally - You still use the OOB Approval - User records, so your workflows stay compliant. 
- Audit and reporting (e.g., “Approvals by user”, “Aging approvals”) still work out-of-box. 
 
Benefits
- One clean place to approve everything (like their Excel sheet, but dynamic and auditable). 
- You don’t lose individual approval history. 
- Easily extended to Demands, Projects, Changes, or any other approval type. 
⚙️
Option 2 – Consolidated Approval Email (Advanced but possible)
Concept
ServiceNow sends one HTML email containing a list of pending Demands/Projects, each with an embedded Approve and Reject link (using Inbound Actions or Flow API).
How it works
- Scheduled job runs daily: - Finds pending approvals grouped by approver. 
- Builds a dynamic HTML table like: - | Demand | Description | Requested by | Approve | Reject | - |———|–––––––|—————|———| - | DEM0001 | CRM Upgrade | John Doe | [Approve DEM0001] | [Reject DEM0001] | - | DEM0002 | Data Cleanup | Alice | [Approve DEM0002] | [Reject DEM0002] | 
 
- Each link calls a Scripted REST API or Inbound Action: - Approve → updates sysapproval_approver.state = approved 
- Reject → updates state = rejected 
- Sends confirmation back. 
 
- Keep audit trail intact. 
Pros
- Users can act directly from email (no need to log in). 
- Fully automated and user-friendly. 
Cons
- Needs careful security (tokens in links). 
- Can become heavy with large volumes. 
- Requires HTML email template scripting. 
🧩
Option 3 – Flow Designer “Grouped Approvals” (semi-automatic)
You can simulate grouped approvals by:
- Creating a parent approval record (custom table, e.g., u_bulk_approval_batch). 
- When multiple Demands need approval → group them under that batch. 
- Send one email referring to the batch → approver opens one record → approving it triggers approval of all child Demands. 
This approach fits well when Demands are submitted together (e.g., from a portfolio review).
How to implement
- Create u_bulk_approval_batch with fields: approver, list of child records, state. 
- Flow: - On Demand approval trigger → if multiple demands → group into batch. 
- Send one approval request to user. 
- When batch approved → loop over Demands and mark approved. 
 
