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.
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.
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.
- 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.
- An individual step within a formula workflow that can include branches to subsequent success and failure steps.
- 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-formula 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 formulas 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. In addition, headers in V1 are capitalized, while headers in V3 are not capitalized; for example, the V1-friendly
Elements-Next-Page-Token header uses initial caps, while the V3-friendly version would read