Feathery Docs
HomeCommunityGitHub
  • Platform
    • Quickstart
    • Form Fields
      • Hidden Fields
      • How to Set Field Values
      • Link Fields Across Forms
      • Custom Field Input Format
    • Build Forms
      • Elements
        • Basic
          • Container
          • Button
          • Text
          • Progress Bar
          • Image
          • PDF Viewer
          • Video
          • Table
          • Tooltip
        • Fields
          • Address
            • Street Address Line 1
            • Street Address Line 2
            • City
            • State
            • Country
            • Zip Code
          • Button Group
          • Checkbox
          • Checkbox Group
          • Color Picker
          • Combobox
          • Dropdown
          • Dropdown Multiselect
          • Date Selector
          • Time Selector
          • Email
          • File Upload
          • Matrix
          • Number
          • Password
          • Picture Choice
          • Pin Input
          • Phone Number
          • Radio Group
          • Rating
          • Signature
            • Legally Binding Signatures
          • Slider
          • Social Security Number
          • Text Area
          • Text Field
          • Payment Method
          • URL
        • Custom HTML, JS, CSS, and Iframes
        • Custom Fields
      • Design
        • Reuse styles and elements
          • Styling
          • Assets
        • Alignment and Spacing
        • Sizing Forms and Elements
        • Responsive Layouts
      • Actions
      • Logic
        • Navigate Steps Conditionally
        • Show Elements Conditionally
        • Custom Field Validation
        • Available Conditions
        • Display Dynamic Text
        • Dynamically Repeating Containers
      • Advanced Logic & API Connections
        • Visual Rule Builder
          • Connect to API Action
            • Salesforce API Connector
          • Set Field Value Action
          • Navigate Step Action
          • Set Field Error Action
          • Open URL Action
          • Set Calendly URL Action
        • Javascript Rule Builder
          • API Connections in Code
          • Trigger Integrations from Logic
          • Reusable Logic Configs
        • Examples
          • API Connectors
            • Dynamic dropdown options
            • Dynamic form navigation
            • Pre-fill form from Salesforce
            • Pre-fill form from Hubspot
            • Pre-fill field options from Google Sheets
            • Generate ChatGPT Message
          • Field Validation
            • Complex Field Validation
            • Date and Time Validations
          • Initialize Date Field
          • Dynamically set field placeholder
          • Randomize Field Option Order
          • Update field options based on previous selection
      • Integrations
        • Event Triggers
        • Examples
          • Upload Files to Google Drive
      • Dev & Staging Environments
    • Launch Forms
      • Embed Your Forms
      • Custom URLs & SEO
      • User Tracking
      • Completion Criteria
      • UTM Parameters
      • Accessibility Standards
      • Analytics
      • A/B Testing
      • Offline Mode
    • Document Intelligence
      • Review Extractions
      • Post Processing
      • Supported Document Types
      • Prompting Guide
      • Examples
        • Investment Report
    • Document Autofill & Signatures
      • Autofill Document Templates
        • PDF Autofill
        • Word Doc Autofill
          • Dynamic Tables
        • Excel Autofill
        • InDesign Autofill
      • Signature Workflows
        • Signature Notifications
        • Access Signed Documents
        • 21 CFR Part 11 Compliance
      • Export Form Submission PDF
    • Workflows
      • Collaboration
        • Email Invite
        • Start Directly
        • Anonymous Starts
      • Review, Edit & Approve
      • Unique Submission Links
    • Enterprise Compliance
      • Security and Privacy
      • Reliability and Performance
      • Document Management
      • Data Sovereignty
    • International Forms
      • Translate Forms
      • Right to Left (RTL) Support
      • International Form Fields
    • White Label Feathery
      • Build Custom Form Fields
      • Offer Custom Form Templates
      • Custom Dashboard Domain
    • Account Settings
      • Managing Your Team
      • Permissions and User Groups
      • Account Attributes
    • FAQs
      • Account & Billing
  • Guides
    • Verify Submissions & Prevent Spam
    • Build a Login or Verification Flow
      • Connect an Auth Integration
      • Add Auth Methods
        • Email SMS Code
        • Email Magic Link
        • Phone Number Verification
        • Social Logins
          • Google
          • Amazon
          • Apple
          • Bitbucket
          • Coinbase
          • Discord
          • Facebook
          • GitHub
          • GitLab
          • LinkedIn
          • Microsoft
          • Slack
          • Twitch
          • Twitter
      • (Optional) Require Auth for Onboarding Steps
      • (Optional) Add Login Flow to Your Site
        • Feathery-Hosted (Recommended)
        • Embed Login Flow
          • Login Embed Tutorial
    • Build a Payment Flow
      • Connect to Stripe
      • Select Products or Plans
      • Collect Payment Method
      • Purchase Products
    • Send Custom SMS Messages
    • Salesforce Picklist Options
  • Developers
    • React SDK
      • API Guide
        • init()
        • <Form>
          • contextRef
          • Event Handlers
            • onSubmit()
            • onLoad()
            • onChange()
            • onAction()
            • onError()
            • onFormComplete()
            • onView()
          • Custom JSX Components
          • PopupOptions
          • initialLoader
        • getFieldValues()
        • setFieldValues()
        • updateUserId()
        • Login API
          • <LoginForm>
          • useAuthClient()
      • Inline vs Popup Form
    • Javascript SDK
    • Context API
      • Field Object
      • field.setStyles()
      • Deprecated Context API
    • REST API
Powered by GitBook
On this page
  • What is Feathery's No-Code Rule Builder?
  • Key Concepts
  • How to access Rule Builder
  • Getting Started
  • Changing action types
  • Adding additional actions
  • Adding a condition
  • Adding a clause
  • Adding a branch
  • Generated Code

Was this helpful?

  1. Platform
  2. Build Forms
  3. Advanced Logic & API Connections

Visual Rule Builder

Configure logic without needing to write code

PreviousAdvanced Logic & API ConnectionsNextConnect to API Action

Last updated 1 year ago

Was this helpful?

What is Feathery's No-Code Rule Builder?

Rule Builder allows you to define custom form logic in a natural language, without having to write any code.

This includes the following:

  • Conditionally setting certain field values or flags

  • Navigating to steps in form or external webpages

  • Conditionally showing or hiding elements

  • Calculations

  • Sending one time password via SMS and Telesign voice call (after corresponding integration is enabled)

  • Custom validation (coming soon)

Key Concepts

Each rule has multiple branches, which are independent statements within a rule.

Each branch include an action (a change in the form, like setting a field value) and a condition (when the action is triggered).

All branches of rules also share the same trigger, which is when the list of rules are run (ex: on a certain form step being completed or field value changing).

If you configure a rule with an action but no condition, it will just run each time the trigger condition is met (such as a certain form step being completed)

Here's an example: let's say I want to create a rule that automatically sets a text field for the State each time a City dropdown option is selected.

I'll create a rule called "Prefill State" and set the trigger for the rule to be whenever the "City" dropdown field value changes.

In my rule, I'll have a single branch. The condition will be if the City dropdown is set to "San Francisco". For this condition, I'll create an action that sets the State field value to "CA". I can add a more conditions based on any other Cities/States I want to support.

How to access Rule Builder

Select your Feathery form, and then click on the "Logic" Tab. Click "Create Rule" to create a rule and select the Trigger (when you want the Rule to run).

Getting Started

After creating a new rule, you will be presented with an empty rule and the ability to add your first action.

To get started, add your first action to the rule by clicking "Add Action".

Changing action types

By default, new actions are always a "Set" action which means setting a field value. You can change this by clicking the 3 dots on the action name which will open a menu with various other actions.

Adding additional actions

To add another action, click the "Add Action" button beneath the set of actions you want to add to. The actions will run in the order that they are added once triggered.

Adding a condition

If you only want to run the set of actions depending on another field's value, you can add a condition using the "Add Condition" button above the set of actions. If no condition is set, the action will run whenever the rule is triggered.

To add an additional condition, you can click the "Add Condition" button again. By default, groups of conditions are part of an "And" clause meaning each condition must be true to trigger the actions. However, you can change this to "Or" by clicking the "And" found between the conditions.

Adding a clause

Once you have a condition added to your set of actions, you can add an additional clause which by default is an "Else" statement meaning otherwise, do these actions.

You can add conditions to this additional clause as well.

Adding a branch

Branches are useful when you have a conditional action but also want to run another action every time the rule is triggered. To add a branch, you can click the "Add Branch" found at the bottom of the rule builder.

Generated Code

Once you save changes on the rule builder, you can view the generated code by navigating to the "Code Editor" tab.

It's important to note that you cannot edit the code if you are configuring the rule using the rule builder. Clicking "Edit Code" will opt the rule into using JavaScript which means the rule builder will no longer be used.

Please also note certain actions are not supported in the code editor and a reminder will pop up after trying to switch to Advanced Logic. Please remove those actions before using the code editor.

Calling APIs
Prefilling State based on which City is selected
Logic Tab
Creating a rule
"Else" was added by clicking "Add Clause"
An additional branch was added to the bottom by clicking "Add Branch"