Make it Easy for Your Customers to Provision Trials — Part 1

Peter Martin
AppExchange and the Salesforce Ecosystem
5 min readNov 6, 2018

As a Salesforce partner, your app is your lifeblood; it’s how you put food on the table! Trials are a great way to really make your app shine — you can easily show your app with sample data that target your prospects and their industry. And that means you can close deals faster.

In this first installment of a two-part series, we’ll explain how you can leverage the SignupRequest API so your customers can provision trials. This is especially important for you as a partner as the HTML signup form will no longer be available in early 2019.

Note: We’re focusing on how your prospects or internal teams can request trials based on your Trialforce templates. To review the different types of trials and how you can create a trial using Trialforce, check outTrailhead.

Provisioning Trials

Okay, now you have the Trialforce template created, how do you allow customers and prospects to provision the actual trial orgs? Two options: you can leave it to AppExchange, or if you want full control over the provisioning process, you can host the solution yourself.

In the past, if you wanted to host it yourself we provided a static HTML form that contained your template ID. You could host it anywhere. It was a simple solution that was introduced back in 2009, but it is starting to show its age, such as:

  • There is no feedback to the Partner or Customer on the success or failure of the request. You have to log a case with our support team to resolve these issues — a very time-consuming process!
  • You do not have any option to report on the status of the requests and who was requesting trials
  • When you update your app and template, you have to log another case to get the new template ID linked to the backend process
  • You cannot collect additional information from your prospect/customer as part of the signup.

Shouldn’t there be a better way? That’s why we are ending support of the Trial HTML signup form in the first quarter of 2019. The SignupRequest API was introduced in 2013 and has been improved continually. It allows you to programmatically provision trial orgs, which is both pretty useful and ideally suited to partners. Basically, you give it a template ID and it creates a trial org. This can be done from any SignupRequest enabled org — typically your business org, which makes it easier to keep track of and to integrate with your sales processes.

SignupRequest API gives you the following benefits:

  • You can get a return code from the API call to determine success or failure.
  • Since the SignupRequest is just a plain-old Salesforce object, you can do reporting on trial requests as well as adding custom fields or validations to fit your business processes. You can even create trials by simply creating a new record via the standard Salesforce UI.
  • Being able to create custom fields on the SignupRequest object allows you to capture additional information from your customers and prospects that are specific to your business. For example, you may want to capture whether they have specific privacy or data requirements. Create fields to capture these and expose them on the form.
  • The API gives you a lot more options on the provisioning so you have total control. For instance, you can define the trial period or even allow your customers to choose their custom domain.
  • No need to log a new case when you update the template. Just use the new template id within your API call (or through the environment hub). New templates get auto approved through Security Review.

So let’s take a look at a couple of examples on how you can implement this.

Proof of Concept

There are a number of ways to implement a Trialforce sign-up using the SignupAPI, including:

  1. React/Node.js app on Heroku
  2. Lightning Component on a publicly accessible page on the Lightning Community
  3. A publicly accessible Visualforce page on Sites
  4. Web to Lead and Process Builder

Keep a lookout for part two in this series, where we’ll dive into the specifics of these demos.

Note that the Lightning Component and Visualforce options could also be used internally by your Sales or Training teams to provision trials.

We want our forms publicly accessible since we don’t want to require the prospects to authenticate just to provision a trial. Although if that is what you want from your prospects, then you can do that.

Note that the org we are linking to has the SignupRequest enabled and this does not have to be the org where you created the Template. In fact, we recommend that you enable the SignupRequest in your Partner Business Org so that you can keep the trial data along with your leads. Your PBO may already have this enabled so please check for the existence of the SignUpRequest object in your org. If not, please log a support case and we will enable it for you.

Summary

The important takeaway is that the SignupRequest gives you much more flexibility and reliability for your trial provisioning process. Even though we will be planning ending support of the webform in Q1 2019, the ISV enablement team is here to ensure our partners are successful with the Signup API.

Additional Resources

SignupRequest API developer doc

Trailhead — trial management

Partner Webinar Recording

Proof of concept GitHub repos

Let us know if you have any questions or concerns by posting on our AppExchange & ISV Partner Enablement chatter group. And keep your eyes peeled for part two in this series, coming soon!

--

--