Enterprise Approvals Overview

How does Enterprise Approvals work?

Your systems of record are designed to hold the audit trail & your business logic. It’s where your IT, HR, Finance, and other teams creates the processes needed to ensure effective business operations. Moveworks makes sure to respect your approval workflows by only integrating with your approval records.

Imagine the following approval workflow that first captures an approval from a team of admins, and then the employees manager.

Moveworks does not want to make you replicate all the business logic & validations. Instead, your bot will take just the last mile, the approval record, and make it happen faster.

Usually your employees will be notified via email about a pending approval.

Moveworks funnels this approval through chat, making it happen in MINUTES, not days.


Moveworks builds first party integrations into all your favorite tools to ensure your bot is speeding up approvals across your systems. Based on the business processes & information needed to be shown to the user, Moveworks can integrate with a category of “resources” at a time. For example:

CategoryExample ResourcesCurrently Supported
Service DeskRequested Items, Service RequestsServiceNow
IT OperationsChange Requests, Knowledge, Policy ExceptionServiceNow
Time & AbsenceTime Off Requests, Time Off Corrections, Leave of AbsenceWorkday, Fieldglass
RecruitingJob Requisition, Compensation PackageWorkday
ProcurementPurchase Requisition, Purchase Order, InvoicesAriba, Coupa
ExpensesExpense ReimbursementsConcur

To get an understanding of how your specific approval workflows make their way into Moveworks, see our Enterprise Approvals Integration Guide.

Approval Actions

Moveworks' approval action system which can be configured to match your organization’s needs.

Action Buttons

Approvers can directly approve or deny their approvals from their Moveworks chat bot.

Moveworks also supports comment buttons, which can collect a mandatory justification from the user before applying the “approve” or “deny” action.

Link Buttons

If the approval requires the user to navigate to the portal, Moveworks can produce a deep link to the approval in your system of record. This is popular for scenarios like delegating the approval to another individual or looking up additional information before approving.

You can see your integration-specific handbook for configuration option details.

Approval Queue

Generally, Moveworks will synchronizes approval records from all your systems and stores them in our Approval 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. Your system is not overburdened with calls for every single user.
  3. Once an approval is in the queue, Moveworks offers some additional powerful interaction patterns for the user which drive ~70% of all approvals.


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).

Approval Lookups

Retrieve the approval any time the user asks for their latest approvals.

Approval Looping

Remind the user about the approval whenever they act on another approval.

Approval Notifications

When users are assigned an approval that requires their attention the Moveworks bot will notify users about their approvals in-chat.

These approvals are delivered as soon as they are detected. Moveworks can control the order in which information is rendered and displayed to a user. See your integration-specific handbook for details on how to control which attributes are shown to a user.

Notification Control: Silent Delivery

Moveworks can optionally deliver a notification silently. This means that your Moveworks bot will not send a notification, BUT the user will still be able to view the approval if they engage with our Approval Queue.

This generally works well for power approvers, who receive many notifications a day.

Note: There is no configuration to enable approval notifications to only occur during business hours, Moveworks recommends turning on quiet hours through your Chat Platform itself.


Q: Why does the approval queue only last 30 days?

A: By only showing approvals from the last 30 days, Moveworks provides a stronger end user experience and avoids users feeling overwhelmed with 200 pending approvals over the last 2 years.

This design was decided upon after analyzing millions of approval experiences and identifying that beyond 30 days, most users do not act on approvals.

In addition, we have seen that some processes end up in “zombie” states (e.g. a ticket that was cancelled but never closed, an ad hoc approval that was requested but never formally cancelled).

Adding these guardrails both improves the product experience & reduces the system load experienced by your systems of record (e.g. imagine Moveworks fetching approvals that are 2 years old and likely in cold storage — this can cause issues with your instance performance).

Q: How does approval detection work?

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

Moveworks 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.

What is the SLA?

Our system periodically checks for updated approvals, however, there are any number of reasons approval records may be missed such as: system timeouts, or permission issues.

When Moveworks pollers misses an approval record, users will not receive a notification & they will not be able to retrieve that approval record by asking the bot.

Q: What data is stored?

A: Enterprise Approvals stores the following information:

Identity Information

When a user interacts with the bot, we need to know who they are in the other system. For example, we might receive messages from a user in a chat platform asking us to take an action (e.g. approve something). The chat platform tells us CHAT_USER123 messaged us, but we need to figure out who they are in your integration.

To do this, we link three things together:

CHAT_USER123 = [email protected] = WORKER123

Approval Information

As we detect approvals in your integration systems, we store the notification data in our Approval Queue.

See our Data Handling & Deletion documentation for the most up-to-date data retention details.

Q: Does Moveworks maintain an audit trail?

A: Moveworks maintains an audit trail of which users clicked approve / deny buttons. This is part of our conversational audit and can be requested on demand from your customer success team.

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

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

A: 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.

Q: What happens if a user clicks on an approval that’s already been completed?

A: Like in email, it’s possible for an approval to no longer be required after the notification has been sent.

To avoid disrupting your system of record, Moveworks does not update the approval record if it has been already completed. If your integration supports comments, Moveworks will add a comment indicating that the user expressed an intent to approve / deny the record, but we did not apply the update because their approval was no longer required.