Creating a Rules Engine and Human Workflows with MuleSoft and Messaging Platforms
Process automation streamlines, optimizes, and accelerates business operations across an organization. Yet even organizations that have bought into process automation are hesitant to adopt it in some instances. For instance, Gartner found that 88% of corporate controllers expected to implement Robotic Process Automation (RPA) solutions in2021, but many were hesitant to use RPA for financial reporting.
It isn't just the hesitation to give up control of these functions holding companies back. Some processes are too critical, dynamic, and conditional to keep behind the curtain without human oversight and intervention.
But at the same time, enterprise workflow solutions are heavyweight and expensive. Their list of features is overkill and are a drag on resources for setup and maintenance. Plus, business users have little control over the workflows, meaning they remain handcuffed to the IT development calendar and process for any changes that they need.
It seems like there should be a better way, and for organizations using MuleSoft, there is. Taking an API-led approach and using the ever-growing list of connectors, we've identified a solution that leverages the same tools your organization is currently using and the business users are already familiar with.
Almost every modern business has adopted a messaging platform for day-to-day communication, such as Slack, Microsoft Teams, Google Chat, or Spaces. These technologies provide an ideal medium needed to facilitate an interface between business users and MuleSoft applications.Integrating real people with your autonomous application network unlocks a seemingly boundless set of new tools for IT and the business to tackle problems and meet requirements.
An integration like this places notifications and interactions directly in the business user's existing flow of work, reducing content switching and empowering them to make changes without developer intervention. While this article broadly discusses MuleSoft andSlack, as well as the demonstration in this video, the same concepts can be applied to Microsoft Teams or Google messaging platforms.
Elements and Benefits of a MuleSoft-Slack Human Workflow Automation
Human Intervention inAutomated Business Processes
Within an autonomous workflow, it's common, often critical, to require oversight and intervention from a business use injected at specific points within the process. Manual intervention is requested based on exceptions like approvals, rejections, error management, pre-requisite tasks, etc. By combining MuleSoft and Slack, you're, in essence, adding a "human interface" to your application network.
Human workflows built using Slack need to be intuitive, secure, and flexible. If your business already uses Slack for internal communication and collaboration, your business users are familiar with its use. Unlike the overhead of other solutions, users with this solution are not required to log into a separate system to track notifications and messages on yet another platform.
Leveraging natural language processing and conventional Slack syntax provides ease of use for even the least technical users. While establishing a predefined command syntax/convention allows business users to shift back and forth between executing process commands and discussing workflow issues or questions, all within a single workflow channel.
Slack's secure access also makes it an ideal candidate for this solution. The API leverages OAuth 2.0, and the application can be configured to provide temporary or permanent access tokens. MuleSoft'sSlack connector abstracts much of OAuth 2.0 dance through out-of-the-box support for a majority of the token management responsibilities. Authentication and authorization can occur on behalf of a specific user or the application service account. Slack authorization uses a least privilege model, preventing the need for global access. This allows granular control over access scopes, and privileges are administered within Slack alone. Since users are authenticating and interacting on behalf of themselves, rather than a shared service account, you have centralized visibility and intrinsic auditing for user actions.
Workflow Enhancements and Simplification
A heavyweight enterprise solution would have a learning curve and require users to be trained on the new system. Instead,Slack provides an interface that is readily available and familiar to business users. That doesn't mean that users will remember every command needed for interacting within the workflow. The functionality provided by both MuleSoft and Slack makes it possible for the application to be as robust and bullet proof as necessary.
Developers understand that business users do not possess the same technical background, rendering IT ideology foreign and daunting. Technical personnel are intimately familiar with the rigidity of command syntax. Business users should not be held responsible for programmatic command interpretation nuances such as synonymous keywords, capitalization, or extra whitespace.
The Slack System API can account for these pain points through natural language processing and user guidance through interactive responses. For example, if the application expects the keyword"retrieve" to display the status of a transaction, "get" can be programmed to be recognized as an equivalent command. In other edge cases, the implementation can respond with suggestions and insightful hints when a command is not successfully interpreted.
The Slack API gives the application access to almost every feature and function inherent in the communication platform. For instance, files can be uploaded or downloaded, and emojis can be used as responses to interaction requests. The features provided by the platform allow developers to implement an essential level of abstraction. Rich user interfaces can be created using Slack's block kit and interactive components.
The business user is presented with an intuitive interface consisting of dropdowns, radio buttons, and text fields.Without any technical expertise, business teams can utilize interactive forms, slash commands, message reactions, and responses with little to no onboarding/training. The experience perfectly separates business users from the complex, low-level code changes generated via familiar no-code commands and workflows.
Another benefit of implementing workflows with your organization's communication platform is access to user availability information. Slack can recognize and report to the application if a user is available, out of the office, in a meeting, etc. The application can use a predefined ruleset to reroute or escalate intervention requests. With automated escalation, workflows won't be delayed because someone is on vacation or team members are all in a meeting.
Business rules rarely remain static across the entire life of an API. Changes to business rules in an enterprise solution would require developer intervention, delaying implementation of the new rules.Slack opens the door for quick and easy changes to the complex underlying runtime logic and rule criteria, giving business users more control over their integrations.
The MuleSoft-Slack integration can support:
- Update business rules and conditional logic
- Modify a mapping specification
- Invoke an on-demand process with specific runtime parameters
- Change workflow source/target system configurations
- Retrieve process and record level statuses
To further simplify the interactions for business users, a lookup table can be created that automatically translates more familiar and natural commands to technical verbiage. A business user can reference a data element as "Employee Number" in the command while the implementation silently translates this to the attribute"emp_num" behind the scenes.
Business users may require some education and awareness of the downstream impacts of any changes, breaking or non-backward compatible specification changes in particular. However, training on these considerations is a much lower lift than using a more complex (and more expensive) enterprise solution rules engine. The benefit to cost ratio is even more apparent when considering empowering business users versus continued reliance on development resources. Through minimal training and technical oversight, business teams are granted true control and ownership over their integration use cases.
Again, Slack is only the example communication platform to illustrate the possibilities of using tools you already have - a communication platform and MuleSoft - to create a lightweight, secure, and flexible workflow solution. If you're looking for a deeper dive on the topic, including a demo, check out our presentation at the Denver MuleSoft Meetup.
Looking for even more mentorship and help with MuleSoft, your APIs, and your application networks? Contact Big Compass today for a conversation - we'd love to talk with you about how you're using MuleSoft today and where it can make an even more profound impact on your business.