Enterprise Approvals Integration - Workday

Time & Absence

Time Off Request Approvals

  • Approve - Approves the time off request and advances the business process
  • Deny - Denies the time off request and advances the business process. This is NOT the “Send Back” action.
  • View in Workday - Redirects the user to your Workday homepage, where they can access all their pending Workday tasks.

Leave of Absence Approvals

  • Approve - Approves the time off request and advances the business process
  • Deny - Denies the time off request and advances the business process. This is NOT the “Send Back” action.
  • View in Workday - Redirects the user to your Workday homepage, where they can access all their pending Workday tasks.

Expenses

Expense Report Approvals

  • Approve - Approves the Expense Report
  • Deny with comment - Denies the Expense Report
  • View Expense Report - Redirects the user to the Workday report, where they can view additional details for this or additional expense reports.

Configuration options

  • If you do not wish to approve or deny the request directly within the bot, Moveworks supports configuring the Approve and Deny buttons to redirect to Workday in a web browser, instead of triggering the API action from Moveworks.
    Note: Once the Approve and Deny buttons have been configured to redirect the user to a link, all Approve and Deny buttons will redirect the user instead of triggering the API action.
  • If you want to display more data in the approval notifications, you can customize that content by displaying additional text fields based on any data stored in Workday related to the business process.

Architecture

The below diagram represents how Moveworks will integrate with your Workday instance. Any middleware (e.g. Agent) or authentication details are excluded for simplification purposes.

To walk through the diagram above:

  1. Approval Detection Server - checks for updated approvals in Workday every 60s
    1. This is accomplished using a Custom Report on Business Process Steps which is exposed over Reporting-as-a-Service (RaaS) APIs.
    2. We provide this as a template in the Workday - Setup Guide: Moveworks_Approval_Retrieval
  2. Approval Processor - get details for approval notifications where appropriate
    1. Approval processor filters out approval updates that do not result in notifications
    2. Approval processor fetches details for the notification from resource-specific endpoints
      1. For Leaves of Absence: /workers/{wid}/leavesOfAbsence/{request}
      2. For Time off request: Time Off Details by Event ID is another RaaS endpoint which gives us the time off entry details needed to present to an end user.
      3. For Expense Reports: Expense Details by Report ID is another RaaS endpoint which gives us the expense report details needed to present to an end user.
  3. Approval Queue - if qualified, the approval is stored in the Moveworks approval queue for the next 30 days. You can read more about the Approval Queue in the General Enterprise Approvals handbook.
  4. Conversation Engine - notifies the user & collects their response.
    1. Prepares a notification based on the results from the approval processor
    2. Applies the button action associated with the approval resource type (as defined above)

FAQ

Q: How does approval detection work?

A: Moveworks checks for approvals every 60 seconds, with a 60 second lookback period. This means that at 12:02PM, we will check for approvals that were created between 12:00PM and 12:01PM.

We designed our pollers this way because systems of record will often automatically approve dozens of approvals ~30-45 seconds after they're created (based on different business rules your organization has set up). This avoids noisy notifications on approvals that aren’t actually needed.

Q: What is the Approval Queue?

A: Generally, Moveworks will synchronizes approval records from all your systems and stores them in our Approvals Queue.

This provides many benefits:

  1. Employees don't get frustrated waiting tens of seconds for your systems to return necessary data (chat feels ~56x faster on average)
  2. We don't overburden your system health with calls for every single user
  3. Once an approval is in the queue, we offer some additional powerful interaction patterns for the user.

🚧

Approvals are removed from the approval queue if not updated in the last 30 days, or after they’ve been completed (approved, denied, or no longer required).

Q: What if I’m seeing approvals that do not belong?

A: Generally, users will not see approvals >30 days old.

There is a small risk that our approval queue may be slightly inconsistent with production (<1% of the time). Examples of these inconsistencies may include a missing approval or an approval that was already completed. We are actively making engineering investments to reduce the likelihood these appear.

If any inconsistencies are detected, please let us know and we can manually fix them with an internal tool

Q: When launching this feature, what will happen to any approval requests that are already pending?

A: Since enabling this feature requires altering the business process security definition, it won’t retroactively change approval requests that are already pending. Therefore, those approval requests CAN NOT be facilitated through Moveworks.

Q: Can we disable Business Process Notifications after enabling this?

A: You can, Moveworks relies on the Business Process itself, not the notification settings, to notify end-users about their approvals. However, some users may not have access to the bot, so you should be cautious with this change.

Q: Why doesn’t Moveworks support Send Back?

A: Workday’s internal details on Send Back are more complicated than the Approve & Deny actions because Send Back requires the selection of a step in the business process to manually send back to, which is currently not possible via Workday APIs today (see post from Workday Product Manager below).

Q: Will the subject of the business process (the employee) be notified if the request is approved?

A: No. Currently Moveworks is only facilitating the approvals. We are currently evaluating this for our roadmap, however, you can build this using our Message API in the interim. If you have Workday Extend, it’s very simple, just drop by our API office hours.

Q: Will Moveworks support time-off corrections in this process as well?

A: The time-off correction business process is not currently supported. If you are interested in this capability, please submit a feature request through your Moveworks Customer Success team.

Q: What happens if a manager is terminated? What will happen to their approvals?

A: If your organization’s Workday instance is configured to update the “Assigned To Worker” for the Business Process Event Step, then the approval will be silently delivered to the new approver. They will not be notified about this to avoid a batch notification.

Q: How does Time Requested work for the notification?

A: Moveworks receives details in this format from Workday:

06/01/2022 - 8 Hours - Moveworks Time Off - Position: P-00004 Vice President, Human
Resources, Human Resources - Reason:  - Comment:&#xa;06/10/2022 - 8 Hours - 
Moveworks Time Off - Position: P-00004 Vice President, Human Resources,
Human Resources - Reason:  - Comment:&#xa;06/15/2022 - 8 Hours - 
Moveworks Time Off - Position: P-00004 Vice President, Human Resources, 
Human Resources - Reason:  - Comment:

When presenting the data to the user, Moveworks combines consecutive dates into the same line-item, and adds any requested units together.

e.g: If someone took 8 hours off on 7/1, 4 hours on 7/2, and 6 hours on 7/3, Moveworks would show this as:

  • 7/1 ➡️ 7/3 (18 hours)