Introduction to Formulas

In Cloud Elements, you can build formula templates, reusable workflow templates that are independent of API providers. Formula templates include triggers, such as events or schedules, that kick off a series of steps. Formulas support a large variety of different use cases across different services. For example, they can keep systems in sync, migrate data between systems, or automate business workflows.

After you build formula templates, you can use the templates to create formula instances. In formula instances, you replace the variables in the templates with actual elements and values.

Formulas are a great way to move the logic out of your apps and into Cloud Elements. This helps keep your code less complex and more maintainable so you can focus on meeting your customers' needs.

Example

We give detailed examples of formulas in the Examples article, but to help you understand the power of formulas, here's a common example.

A common use case is keeping contacts synced across many systems. You might need to make sure that whenever a contact is added to Salesforce, it also syncs to HubSpot. To do this, you must first transform the data. Then, create a formula template that listens for updates to contacts in one API provider, and then pushes those contacts to another. After you set up the template, create a formula instance where you plug in Salesforce as the source element and HubSpot as the target element.

Definitions

To help you understand formulas, review the definitions in this section.

formula template
A reusable workflow that is independent of the element and includes the triggers, steps, and variables for a formula instance to execute the workflow.
formula instance
A specific instance of a formula template configured with explicit variables and associated with specific element instances.
trigger
An action that occurs and kicks off a formula. Triggers can be events set up on an element instance, an API call to an element instance, a scheduled occurrence, or manually triggered.
step
An individual step within a formula workflow that can include branches to subsequent success and failure steps.
variable
Variables that represent either element instances or specific values that must be supplied for each formula instance.

Working with Formulas

Formula Execution Timeouts

The longer a formula execution runs, the more likely it is to experience performance issues. Accordingly, as a best practice, test to ensure your formula executions are not running any longer than 15 minutes. 

In addition to performance-related best practice, formulas generally have a 15-minute execution timeout, meaning that if an execution of a formula runs for fifteen minutes, the execution will stop, even if the entire formula isn't complete. While true as a general rule, test your formulas in the staging environment to make sure they don't incur overage charges after moving them to your production environment.

If a formula execution extends beyond fifteen minutes, Cloud Elements will automatically look at the context and metadata of the instance, and in some cases, start a new execution in order to continue and—ideally—complete the formula execution.

For optimal performance, the maximum time a complete formula execution should run is 100 minutes; however, the maximum possible time for a formula execution to run is 150 minutes.

Restarting Formulas Mid-subformula

If a formula execution stops or times out during an in-progress sub{snippet.termformulalcsingular}} step, the parent formula will restart from the beginning of the subformula, regardless of how much of the subformula was completed.

Formula Step Timeouts

For consistent performance, a single formula step should not last longer than 5 minutes; this is In addition to the above-mentioned 15-minute timeouts.

Formula Engine Versions

We support two versions of the formula engine: V1 and V3. All formulas created prior to 2018 were created with the V1 engine. The V3 engine utilizes many architectural and technological improvements to offer efficiency and performance gains. The V3 engine is the default engine for all new that are created via the UI.

While you can access the functionality to upgrade a formula through the Formula Edit page, we encourage you to contact Cloud Elements before doing so. 

Note that there is some functionality that is supported by V1 but not V3. Single-threaded formulas and FaaR are not supported for V3. There are also some legacy usage practices that are not supported in V3.