We automate the entire trial creation process through a Tines story. In this post, we explore what happens after you request a trial instance.

The Trial creation story contains 15 agents, a diagram depicting the agent event flow is shown below.

When a user submits a request for a trial instance, the details are sent via Webhook to the “Receive trial request from wp” Agent (“wp” here stand for WordPress). A HTTP Request Agent, “Create new tenant” is then used to begin provisioning a trial instance. At Tines, we use Digital Ocean for hosting. The “Create new tenant” agent sends a request to the Create A new Droplet API endpoint.¬†The agent configuration here looks like the below:

Based on the details submitted by the user during the trial request, a custom provisioning script is generated and submitted via the Digital Ocean user_data field. This script performs a number of actions, including ensuring that each tenant has the latest version of the product. When the script is complete, it sends details of the new instance to the “Receive tenant deployed webhook” Agent.

A HTTP Request agent (“Rename tenant in DO”) is then used to update the tenant name from the temporary placeholder we set when the droplet was originally created. The agent config for this is below:

We now get the IP address that has been assigned to the trial instance (“Get tenant IP”) and use it to create a new DNS record for the trial (“Create DNS entry”). The DNS entry allows the tenant be access from https://trial-name.tines.io.

Two trigger agents are then used to check whether everything worked as expected.

“Trigger if ok”: all the below logic rules must match for an event to be emitted

“Trigger if not ok”: if any of the below logic rules match, an event will be emitted and an email will be sent to Tines Support (“Email support”) for manual follow-up.

If everything worked as expected, a welcome email will be sent to the requesting user with information on how they can access their trial (“Send welcome email”).

Additionally, when the trial was created as expected, information on the requesting user is added to our CRM (Hubspot) so we can better track trial requests and their statuses.