SmritiGupta
ServiceNow Employee
ServiceNow Employee

 

Overview 

  • What is Approvals Hub?  

Approvals Hub is an Employee Center pro capability, launched in June 2023, that creates a unified approvals inbox by consolidating approvals from multiple external systems onto Employee Center Pro. Technically, it is the extension of the “My tasks” framework that is offering within Employee Center Standard to include approvals from third-party systems like Concur and Workday.  

ServiceNow’s vision with the Approval Hub capability is to create a single-entry point for approvals across business applications that is:  

  1. Actionable (i.e., includes all the required level of details),  
  2. Omni-channel (i.e., meets where employees are web, mobile, or conversational interfaces), and 
  3. Configurable (i.e., can be easily tailored to meet the needs of different approvals/ organizations). 

 

 

  • What use cases are enabled for admins and approvers on Employee Center, with pre-built Approvals Hub integration with Concur? 

As an administrator with ServiceNow, you could perform the following actions: 

  1. Use pre-built integration to pull external data and transform it for display on Employee Center Pro 
  2. Use the default to-dos configuration and task configuration to customize the approval flows 
  3. Enable quick actions to process the request 
  4. Sync data and status between ServiceNow and Concur applications 

Once a report is submitted by a user in Concur, approver in ServiceNow should be able to perform the following actions: 

  1. View and manage Concur approval on My Task page within Employee Center Pro 
  2. View Concur approval's expenses, itemizations and comments.  
  3. View receipt of Concur approval on click of 'View receipts' action. 
  4. View receipt of an expense on click of receipt icon present in each expense. 
  5. Make approval decisions based on contextual information like expenses, itemizations, comments and receipts 
  6. Perform quick actions of Approve/Reject (Sent back) to process the request 

  

 

Framework Architecture 

  • How does Approval Hub work? 

Below is the high-level architecture for Approvals Hub functionality:  

SmritiGupta_0-1697571904561.png

 

 

At an architectural level, the implementation has been segmented into four layers, as described below starting from the bottom layer: – 1) The integration, 2) the data model, 3) the configuration layer, and 4) the experience or UI layer.   

  1. The integration layer - Approvals Hub leverages the integration hub and existing spokes to build the integration with external applications.   
  2. The data model layer - This includes custom flow that fetches data from the third-party system (like Concur) and inserts them in ServiceNow data tables.   
  3. The configurations layer - This configuration layer is same as the configurable approvals experience we delivered as part of our August 2022 release for Employee Center. Admins can configure different sections on the to-dos or approvals page to display the request-specific information according to individual task type. In addition, admins can embed custom widget on these sections or even source this information from different data tables.   
  4. The Experience or the UI layer - Finally, Approval hub is designed to provide an omnichannel experience to approvers across various channels like portal, mobile, Microsoft Teams, and email.  

  

This framework for Approvals Hub will ensure to bring in approvals-related data from third-party systems like Concur, Workday or Ariba, complete the approvals within ServiceNow, and then update these third-party systems back with this record. 

 

We’ve captured additional details around the technical framework of the functioning of Approval Hub and how you could integrate other external applications on similar lines as Concur or Workday here in Approvals Hub playbook.  

 

 

Licensing and Spoke Availability 

  • What are the pre-requisites for enabling Approvals Hub for Concur? 

Ensure that you are entitled for following plugins to enable Approvals Hub for Concur: 

  1. Employee Center Pro (Needed for enabling Enterprise Service Management Integrations Framework) 
  2. SAP Concur spoke 2.0.0 and above (sn_sap_concur_spok) 
  3. Approvals hub integration with SAP Concur plugin sn_ex_cnc 

Approvals hub integration with SAP Concur is supported with Employee Center Utah patch 3 as the minimum supported release for the functionality to work on Utah. 

 

 

  • Do we need Integration Hub to connect Concur and ServiceNow? 

Yes, we need Concur spoke which consists of actions and flows. To pull data from external systems, we leverage integration hub Concur spoke and connect with external systems to pull the data within ServiceNow. 

 

 

  • Is it possible to plug and play custom integrations with other external applications at the integration layer without using the spokes from Integration Hub for showing approval notifications within Employee Center? 

The Integration Hub spokes provides a framework for getting data from external applications to within ServiceNow – a lot of flows have been designed to minimise the integration effort at customer’s end. So even though idealistically it is possible, our recommendation is to route the integrations via the Integration hub spokes.  

 

 

  • Is the Approvals Hub capability available with HRSD Pro or do we need HRSD enterprise? 
  1. Employee Center Pro is available with either with HRSD Pro/Ent packages or as a standalone SKU. Approvals Hub integration with Concur will be available with Employee Center pro (both with HRSD Pro/Ent entitlement or as a standalone SKU).  
  2. However, Approvals Hub integration with Workday will only be available with Employee Center Pro with HRSD Pro/Ent, not with standalone Employee Center Pro SKU.  

 

 

Implementation Details - Concur and Workday

  • Is Concur queried in real time, while navigating the line items within Approvals Hub or is the data pre-recorded in ServiceNow data tables first? 

Initially reports within ServiceNow Approvals Hub are synced daily with Concur. A daily sync job updates these reports at a definite time based on configuration.  

When a user/admin opens the Approval in ServiceNow Approvals Hub UI, a query to Concur fetches line items, itemizations in real time and save them in ServiceNow data tables. Unless something is changed in Concur on that report, the data from ServiceNow tables continues to be populated. To check if something on report is changed in Concur, a call is made every time user opens the approval record in ServiceNow Approvals Hub UI.  

SmritiGupta_1-1697571904562.png

 

 

 

  • As information is copied over from Concur to ServiceNow, how are permissions or user rights managed ensuring that the users have right authentication to access the information? 

We have Access control on the records that only approver can look at the data. No other users will be to view the data 

 

 

  • In our Concur instance, we have 2 consecutive approvers i.e., Manager and Business Head, will there be a problem to have two consecutive approvers? 

It takes cares of the flow. In next sync cycle report will be assigned to next level approvers 

 

 

  • If an approval is rejected at the end, is there a way for the employee or previous approvers to know that it was rejected by Concur flow? 

If an approval is rejected and sent back to employee, the status on the report changes and the same reflects to the approvers who previously approved. If a comment is provided during rejection that comment also will be visible to the previous approvers. 

 

 

  • Does Approvals Hub also pass information back to Concur that the receipts have been reviewed since Concur has a report that shows whether reviewers have opened receipts for review or not? 

Approvals Hub opens the receipt URL shared by Concur directly, without any other API call to track if receipts have been reviewed or not. So as of now, out of the box, Approvals Hub does not pass such information back to Concur for reporting purpose.  

 

 

  • Can we also link the expense pre-approval template created via the application in App Engine Studio (AES) with the Concur approvals in Approvals Hub? 

As of now, there is no link between expense pre-approvals and Concur expense approvals within ServiceNow Approvals Hub. 

 

 

  • How are Concur approvals captured within ServiceNow? 

SmritiGupta_2-1697571904563.png

 

1.  There is a dependency on Integration Hub Concur spoke to help pull Concur expense reports, expense line items, itemization and user records from Concur system into ServiceNow. Using ESM integration framework, an integration with Concur is created to fetch Concur reports and expenses metadata.  

2.  A scheduled Job triggers the flow “Get Concur Reports” which fetches the data like expense report, user records from Concur into ServiceNow at a frequency which is configurable, typically daily. 

SmritiGupta_3-1697571904565.png

 

 

SmritiGupta_4-1697571904566.jpeg

 

 

3.  Within ServiceNow, there is a Staging table called “Concur Expense Report Staging” (sn_ex_cnc_concur_report_staging) where expense reports from Concur are synced within ServiceNow. 

4.  For each report updated/inserted in Staging table, we delete all related previous expenses/itemizations/comments for that report. 

Refer to product documentation on populating SAP Concur report and metadata for additional information.  

5.  Once the metadata is synced, transformation (via ESM framework) is performed on "Concur Expense Report Staging" (sn_ex_cnc_concur_report_staging) table and each report is evaluated/transformed and then updated/inserted in "Concur Expense Report" (sn_ex_cnc_concur_report) table. 

6.  Data transformation is done through Transformation map Concur Report Transform Map in "Table Transform Map" (sys_transform_map) table which transforms data into approval records by data formatting, currency formatting and user mapping. 

7.  The next steps are to create approval tasks for the Concur reports. Approval record is created in "Pulled Integration To-do" (sn_hr_integr_fw_todo_inbound) table for approver user based on Approver field in "Concur Expense Report" table. 

8.  Using the to-do configuration on the approval tasks created, approvals are shown in ‘My tasks’ page and user can Approve/Reject them from approval hub which will update the report in concur system too.  

Refer to product documentation on using task configuration for SAP concur Approvals for additional details.  

 

  • Where are the approval receipts stored within ServiceNow? 

Approvals Hub opens the receipt URL shared by Concur directly. 

 

 

  • What are the different tables defined as part of Approvals Hub Concur Integration? 

Following tables have been defined as part of Approvals Hub Concur Integration -  

  1. Concur Expense Report (sn_ex_cnc_concur_report) - Stores the expense reports post data transformation
  2. Concur Expense Report Staging (sn_ex_cnc_concur_report_staging) - Stores the expense reports synced by the scheduled job ‘Pull Concur Reports’ before data transformation 
  3. Concur Expense Entry (sn_ex_cnc_concur_expense) 
  4. Concur Configuration (sn_ex_cnc_concur_configuration) - Stores the base URL and relative path that helps display the fetched reports and expenses metadata from SAP Concur. The base URL and relative path help the approver navigate to SAP Concur from the respective approval or report for more details. 
  5. Concur Sync Details (sn_ex_cnc_concur_sync_details) 
  6. Concur Comment (sn_ex_cnc_concur_comment) 

 

 

  • How are Concur reports synced in ServiceNow? 
  1. All Concur actions are present in SAP Concur Spoke (sn_sap_concur_spok) plugin. 
  2. Scheduled job Pull concur reports (sysauto_script) is triggered daily. This scheduled job internally calls the Concur Integration record from the Integration Source table (sn_hr_integr_fw_source) of the ESM framework. 

SmritiGupta_5-1697571904568.png

 

 

3. Schedule job runs and updates the record in the Concur Sync Details table (sn_ex_cnc_concur_sync_details) with latest timestamp. 

SmritiGupta_6-1697571904569.png

 

4. Concur reports from ServiceNow are synced in the Concur Expense Report Staging table (sn_ex_cnc_concur_report_staging). 

5. Reports from the Staging table are transformed in the Concur Expense Report table (sn_ex_cnc_concur_report) by the ESM framework. Use the transformation map Concur Report Transform Map in the Table Transform Map table (sys_transform_map). 

6. Approval record is created in the Pulled Integration To-do table (sn_hr_integr_fw_todo_inbound) based on the Approver field in the Concur Expense Report table. 

For additional details on the sync process, refer to SAP Concur reference info on product documentation.  

 

 

  • How are Workday reports synced in ServiceNow? 

Workday uses RAAS reports to send data to external system. Once the open requests are displayed approvers ‘My Task’ page, the approval and rejection actions are performed using the Integration System User (ISU) which is a virtual user that helps in safe keeping of approver credentials. For additional details on the sync process, refer to Workday reference info on product documentation.  

 

 

  • What are the different Concur expense standard code values used with expense report statuses? 

The Concur Expense standard code values are: 

  • A_FILE - Report has been submitted; 
  • A_PEND - Report is pending manager approval;  
  • A_NOTF- Report has not been submitted; 
  • A_APPR - Report has been approved; 
  • A_ACCO - Report is pending reviews; 
  • A_RESU - Report needs to be resubmitted; 
  • A_PBDG - Report approval is pending Budget approval; 
  • A_PECO - Report approval is pending Cost object approval; 
  • A_PVAL - Report is pending prepayment validation; 
  • A_EXTV - Report is pending external validation; 
  • A_AAFH - Report submission triggered an anomaly and fraud check; 
  • A_RHLD - Report submission is pending receipt images; 
  • A_TEXP - Report expired in approval queue. 

  

Comments
Bhavesh Bijagar
Tera Guru

@SmritiGupta : Is there something planned for ARIBA as well like we have for Concur & WD? Looks like lot of work, if it is not pre-built😊

Version history
Last update:
‎10-17-2023 01:06 PM
Updated by:
Contributors