Use MuleSoft Composer to Integrate Systems
After completing this unit, you’ll be able to:
- Explain how it’s possible to integrate dissimilar systems in a way that automates a business process or customer experience without having to be a software developer or write code.
- Identify how certain processes in your organization might be automated with an eye toward improving overall organizational agility.
- Explain the difference between the events that trigger the start of a citizen-built automation and conditions that must be tested for the process to continue.
Northern Trail Outfitters (NTO), a fictitious company, is a nationwide retailer that also customizes outerwear and other swag (coffee mugs, key fobs, and more) for customers. The company prides itself on the personal touches it offers to its corporate and public-sector clients through its concierge service, and the results prove that it’s working. Not only has the company been doubling its year-over-year revenues, many of its satisfied customers have made NTO their exclusive provider of custom gear.
At least some of that meteoric growth can be attributed to Ashley Wiggins. Shortly after joining NTO as an inside sales rep 2 years ago, she spotted opportunities to optimize the company’s sales process. Ashley suggested some changes, including modifications that would help the sales team better use Salesforce Sales Cloud to develop a unified, 360-degree view of its customers. Fortunately, a widely held value at NTO is that innovation should be democratized and go-getters like Ashley should be empowered to take charge and effect change. It wasn’t long before company executives noticed the impact of Ashley’s work on the bottom line. In hopes she’d find other ways to increase sales velocity, they wasted no time promoting her into the role of sales operations manager.
Soon, the sales team was also a victim of its own overnight success. Between the new customers that were coming online thanks to NTO’s stellar reputation, loyal customers returning at greater frequency, and the much improved sales velocity thanks to Ashley’s innovative thinking, the sales team no longer had the luxury of time to accommodate some of the highly repetitive manual steps in the sales process.
Completing the Become an Integration Champion trail inspired Ashley to eliminate one of the more burdensome and potentially problematic steps. She integrated two systems that until now, were totally foreign to one another. Fortunately, thanks to NTO’s culture of employee-led innovation, Ashley was not only equipped with the authority to implement such an integration, she had MuleSoft Composer at her disposal. Mulesoft Composer enabled her, as a citizen integrator, to wire-up the integration herself, without having to add a new integration project to the IT department’s lengthy queue.
Integrate Salesforce and Netsuite Using MuleSoft Composer
Today, the NTO sales workflow depends on two major systems in order to complete a sale. One of these systems is Salesforce Sales Cloud where NTO not only relies on many of the standard Salesforce objects like Accounts, Products, and Opportunities, it also has a sales cycle consisting of five stages.
The workflow that governs the product ordering process at NTO involves standard Salesforce Sales Cloud objects such as:
- (1) The Opportunity object, which is created and updated whenever NTO is trying to close sales. The creation or update of an Opportunity object is the type of event that can be used to trigger an automated process that’s built with a citizen integration tool.
- (2) The Account object to which all opportunities are tied
- (3) The Stage object, which can be checked by an automated process to ensure that the deal is at the proper sales stage for that automated process to run
However, similar to many other companies that rely on up to 900 distinctly separate systems of record to run their businesses, NTO uses NetSuite to manage its product inventory instead of the native inventory capabilities built into Salesforce itself. As a result, the members of the NTO sales team are experts at “swivel-chair sales.” Swivel-chair sales is when a salesperson metaphorically swivels their chair between the keyboards of two different systems in order to complete a sale.
In NTO’s case, the company’s sales reps must task switch between Salesforce and NetSuite, using the former to close a sale and the latter to double-check product inventory and deplete it accordingly. That workflow is easily exemplified by a recent sale to New Haven High School that Ashley helped to close. The school’s highly anticipated annual senior field trip was coming up. And the field trip swag is a big part of what makes the bonding experience so memorable for the soon-to-be graduates.
To complete the deal, Ashley had to “swivel” away from the opportunity in Salesforce to check the inventory in NetSuite. Once she confirmed the inventory was available in NetSuite, she reserved it for the sale. Then she swiveled back to Salesforce where she had to manually check the boxes to verify that the requested quantities of each swag item were reserved.
Of course, in reality (and thanks to computers and smartphones that can multitask), nobody actually swivels their chairs between two systems anymore. But the imagery makes it clear how inefficiencies like this one can interfere with sales velocity, and they introduce opportunities for human error. For example, whereas the order calls for 200 Graphic Tee Shirts, Ashley could have easily reserved 100 shirts in NetSuite by mistake. It’s not hard to imagine some problems that might have resulted. Half of the students could’ve ended up without their commemorative T-shirts (which would be a huge letdown). And, it’s easy to see how such errors might jeopardize NTO’s long-standing relationships with its most loyal customers.
Ashley realized the solution is to eliminate the manual steps in a way that sales reps never have to manually interact with NetSuite. Instead, the process of checking, reserving, and depleting the inventory in NetSuite and then checking the aforementioned boxes in Salesforce should happen automatically by way of an integration between Salesforce Sales Cloud and NetSuite—one that she as a citizen integrator can build without help from NTO’s IT department or the assistance of a software developer.
Ashley starts by checking MuleSoft Composer to see if Salesforce and NetSuite are among the many systems supported by way of off-the-shelf connectors offered by MuleSoft or through one of the highly personalized connectors that were custom built by NTO’s IT department.
She’s in luck! Composer has off-the-shelf connectors for both systems, so she begins the process of building an automated workflow. But in order for such citizen-built automations to work, Ashley must also decide how to automatically trigger it. Fortunately, connectors are rich in terms of how they expose the functions and capabilities of the underlying systems. So Ashley can use Composer to choose from a list of preexisting system events to trigger the flow. Not only that, she can also set some conditions (such as the contents of a field) for the flow to continue to the next step.
For this integration of Salesforce Sales Cloud and NetSuite, Ashley decides that her flow will be triggered by either the creation of a new opportunity or by an update to an existing opportunity. Additionally, she sets a condition that the opportunity must be in the Negotiation/Review stage (stage 4 of the 5 stages shown above) for the flow to continue to its next step.
- An event such as (1) a new or updated opportunity is what triggers the process.
- The process’ continuation can be predicated on the satisfaction of a condition such as (2) the stage of the sales cycle being equal to “Negotiation/Review.”
- Once the process has been triggered and the conditions have been satisfied, actions can be taken such as (3) retrieving the order details (products, quantity, etc.) from the Salesforce Sales Cloud Opportunity object.
Once the flow is triggered and the condition is satisfied, the flow continues by retrieving each of the four product records on the opportunity. In the case of the order being placed by New Haven High School, the product records are as follows.
- 200 Baseball Caps
- 50 Puffed Jackets
- 200 Graphic T-Shirts
- 100 Woolen Mittens
The opportunity’s product records are then fed as a list (see partial screenshot below) into the next major stage of the workflow (labeled by Ashley as “Process list of products”). This stage consists of three steps, each of which happens in the order specified for each of the product records in the list.
- Search NetSuite for the item.
- Update the item’s inventory in NetSuite. For example, check NetSuite to verify that 50 Puffed Jackets are in stock, and if they are, reduce the inventory level by 50.
- Update the product record on the Salesforce opportunity by automatically checking the checkbox on the product record (instead of a salesperson having to check it manually).
For each of the three steps that Ashley uses to process the product records, Ashley can add some customizations. For example, the second of the three steps (Update Inventory Item) is one of several special methods made available to Ashley through MuleSoft Composer’s off-the-shelf connector for NetSuite. When she double clicks into that step’s configuration, she just has to tell it where to source the ID of the product, the amount to reserve, and the release date (as shown in the following graphic).
The step for updating the inventory database includes:
- A configuration field to specify what (1) product ID to search for in the NetSuite system
- The (2) quantity to reserve in the inventory system, based on the quantity of the product that is found on the Opportunity object in Salesforce Sales Cloud
- A (3) release date, sourced from the Opportunity object, that specifies when the inventory must be released for shipment to the customer
- A sample of the (4) status data that is generated once the step is complete. This status data can be used as source data for the automation of additional steps in the process. For example, if the quantity requested exceeds the quantity in inventory, the status field “Is success” would indicate “False” and a subsequent step in the process might be set up to discover the quantity that is available, reserve it, and backorder the rest.
MuleSoft’s NetSuite connector is smart enough to know if the Update Inventory Item step fails because there’s not enough inventory to reserve. If the step fails, the all-important checkbox won’t get checked on the product record on the opportunity, and the salesperson will know that there’s an inventory problem.
Ashley was able to implement an integration of two sophisticated systems—Salesforce Sales Cloud and NetSuite—with a bunch of mouse clicks. At most organizations, an integration request of this nature goes into a long queue of projects that takes weeks or months for the IT department to service. But now that Ashley is a citizen integrator who can service herself with clicks instead of code, the new integration took less than a day. As a result, NTO’s sales velocity has scaled to new heights, and one of the key opportunities for human error has been eliminated in the name of improved customer loyalty. Even better, sales reps no longer need direct access to NetSuite, thereby reducing the number of steps needed to access multiple systems.