Wowza Media Systems is a Colorado-based company recognized as the gold standard of live streaming for their ability to reduce the complexities of live video delivery to any device. Wowza enables organizations to expand their reach and more deeply engage their audiences by providing software, hardware and services—including powerful APIs and SDKs. In 2017, the company introduced ClearCaster, a new hardware appliance designed specifically for reliable, high-quality broadcasts to Facebook Live. Wowza wanted to create excitement for ClearCaster—and get people using the device as quickly as possible—so it offered a trial program through which users could borrow a ClearCaster for 30 days after providing some basic information and agreeing to specific terms and conditions.
“With the DocuSign process, we’re able to set up contracts correctly every time with very little human error.” – Jason Hardy, Senior Salesforce Developer
ClearCaster trial requests were logged in Salesforce, but the process of approving a request, creating the DocuSign envelope for the official loan contract, and forwarding the request to fulfillment was largely a manual one. In addition, completed contracts were stored in DocuSign, separate from the trial request in Salesforce. The company wanted to automate the way lending requests were processed, and the way that data was transmitted to and from DocuSign and Salesforce.
While Wowza had installed DocuSign for Salesforce in its sandbox environment, they needed more automation for the ClearCaster evaluation program than the app provided “out-of-the-box.” Specifically, someone still had to fill out a DocuSign form with the customer’s information, manually send out an email for internal review and approval of the request, and, once approved, initiate the creation of the DocuSign contract for the customer to sign, acknowledging the terms and conditions for the loan of the ClearCaster appliance, including the date by which the appliance must be returned to Wowza. Once this was done, all the information then had to be re-input into Salesforce to initiate the order process.
Utilizing DocuSign for Salesforce as the base, Jason Hardy, Wowza’s Senior Salesforce Developer, built a custom Salesforce Apex REST wrapper for the DocuSign eSignature Rest API. It automates the creation of a DocuSign Envelope for the lending request from Salesforce data, routes the request for approval, and produces a DocuSign document into which the customer can input their shipping and legal details while agreeing to the terms and conditions of the loan. Upon completion, the data collected by DocuSign is sent back to Salesforce via DocuSign for Salesforce.
Unwrapping the solution
The process starts in DocuSign for Salesforce. As shown in Figure 1, a Wowza salesperson initiates the lending request by entering the customer’s information, selecting ClearCaster as the product of interest, and selecting Create Contract as shown in Figure 1.
Figure 1. Initiating the creation of the contract.
Selecting ClearCaster as the product of interest designates the Record Type for the contract in Salesforce as Hardware Loaner as shown in Figure 2. When the contract is created, it triggers Salesforce to go out to DocuSign and grab the appropriate template for that record type, in this case SFDC-Hardware_Loaner (Hardware_Loaner being the API name of the record type). The salesperson can then pre-fill the address information, and that information will sync back to both DocuSign and Salesforce using the merge fields functionality in DocuSign for Salesforce.
Figure 2. Saving the contract.
Once the contract has been saved, it goes out for internal approval using the standard approval process in Salesforce. Jason then built a trigger in Apex that runs in the background and checks for contracts with certain record types and an approved status. As a result, once the lending request is approved in Salesforce, the trigger, which leverages Salesforce Queueable Apex, kicks off an asynchronous process to create the actual DocuSign Envelope (as shown in Figure 3) and pass in key information, such as the Salesforce contract ID, the template, and the customer’s contact information. Using contract roles, Jason was able to replicate the signing roles within DocuSign so that information could be synced back and forth to both DocuSign and Salesforce without issue.
Figure 3. Setting up the DocuSign Envelope.
While the trigger sets up the initial connection to DocuSign, Jason had to build a custom REST wrapper so that the trigger could go out and get the DocuSign for Salesforce credentials needed for authentication. He leveraged the DocuSign for Saleforce admin guide to figure out how to format the login string and information gleaned from the DocuSign eSignature REST API reference to build out the custom methods used to query all the contracts; get the record types; pass in the contract, template, contact map, and user map; and initiate the envelope definition. Once the envelope has been created, DocuSign automatically routes it to customer to sign and, once signed, the final contract is stored as a record in Salesforce, as is shown in Figure 4.
Figure 4. The completed contract in Salesforce.
The lending request is then routed to Wowza’s legal team for approval. Because DocuSign for Salesforce automatically synchs data back to Salesforce at each step, once the legal team approves, an order is generated and Wowza’s order fulfillment team has only to fill in a few details before sending the order to one of Wowza’s hardware manufacturing partners for fulfillment.
A broadcast of possibilities
In all, it took Jason about a week to research and build the custom REST wrapper and method calls. Wowza’s automated solution reduced the time required to process a ClearCaster lending request from an hour to about five minutes and enabled Wowza to quickly ramp up its ClearCaster evaluation program, which, at its peak, involved the lending of 10 to 15 devices per week.
Considering additional use cases from the start, Wowza is already working to extend its custom solution to its reseller and distributor agreement processes. Per Jason Hardy, “The process, once it’s in place, will probably take two minutes instead of fifteen.”
You can experience the power and flexibility of the DocuSign eSignature REST API for yourself. Visit the DocuSign Developer Center to create your free sandbox environment today, and don’t forget to check out our Salesforce Code Examples.