Comment on page

Advanced Logic & API Connections

Have total control of your form at specific interaction points, including submissions, errors, and more.
Custom logic is a powerful way for you to run custom rules at critical moments when the user interacts with your Feathery form. They allow you to completely control and modify the default behavior of the form.
You configure these rules to run on certain events such as a step of your form loading, being submitted, a field error, etc. The events available here are the same ones available to the embed SDK.
The custom logic feature is available via the Logic tab in the dashboard. You can add, modify and delete custom logic rules.
You can edit a custom logic rule by selecting it and either adding custom JavaScript or configuring the rule using our visual rule builder.

Rule Builder

With the convenience of the visual rule builder, you can configure the logic of your rule without needing to know how to code.
The rule builder exposes a visual interface that allows you to choose when the rule should run, if it should run and what should happen when it does run. Actions such as opening a URL, setting the value of a field and more are possible.
Once saved changes, the rule builder will automatically convert your rule to JavaScript code that can be seen in the "Code Editor" tab.
It's important to note that each rule is either built using the visual rule builder or with JavaScript. You can switch which method is used at any time; However, you cannot use both at the same time on a single rule.
Read more about building rules using the rule builder here.

Advanced Logic Using JavaScript

The visual rule builder is limited when it comes to advanced logic such as nested conditions, advanced expression, etc. Using JavaScript allows you to have more control over your rule's logic.
Read more about building rules in JavaScript here.

Backend API Requests

The rule logic you define will run on your end-user's browser. You may want certain network requests in your rule logic to be performed from Feathery's servers instead for security reasons. This can be done with Feathery API Connectors.