{"id":6775,"date":"2023-05-18T16:56:03","date_gmt":"2023-05-18T16:56:03","guid":{"rendered":"https:\/\/www.process.st\/help\/docs\/conditional-logic-forms\/"},"modified":"2026-07-06T10:32:37","modified_gmt":"2026-07-06T10:32:37","slug":"conditional-logic-forms","status":"publish","type":"ht_kb","link":"https:\/\/www.process.st\/help\/docs\/conditional-logic-forms\/","title":{"rendered":"Conditional Logic for Forms"},"content":{"rendered":"<p><a href=\"https:\/\/www.process.st\/\">Process Street<\/a>&#8216;s Conditional Logic is a powerful feature that allows you to create truly dynamic <a href=\"https:\/\/www.process.st\/help\/docs\/forms\/\">forms<\/a>\u00a0with <em>if-this-then-that<\/em> logic.<\/p>\n<p>If your forms are more complex, you can also create rules that say <em>if-this-<strong>and\/or<\/strong>-this-then-that.<\/em><\/p>\n<p>You can build steps into your forms that change depending on the users&#8217; form responses as they fill out your form.<\/p>\n<h2>Example use cases<\/h2>\n<ul>\n<li>You have a new student sign-up form where the students can select their choice and mode of courses. Based on their previous responses, the students are shown the next fields in the form, finally showing them a confirmation of their selection in the end.<\/li>\n<li>You have a new employee onboarding process where the new hire first needs to fill out a form. They are required to provide their personal details, banking information, and employment history. The form shows them dynamic questions based on their responses as they progress.<\/li>\n<li>You have a merch order request process where your customers fill out a form to place an order for customized gifts. You have a single form that shows dynamic customization options based on the product your customer selects.<\/li>\n<\/ul>\n<h2>Conditional Logic options<\/h2>\n<p>There are two ways to create conditional logic rules in your forms. The first is to show or hide content <em><strong>within a step<\/strong><\/em>, the second is to show or hide the whole <em><strong>steps<\/strong><\/em>.<\/p>\n<h2>Setting up Conditional Logic<\/h2>\n<p>Whichever way you choose to set up Conditional Logic, you\u2019ll need to start by <a href=\"https:\/\/www.process.st\/help\/docs\/forms\/#edit-a-form\">creating or editing a form<\/a>.<\/p>\n<p><strong>Preparations: <\/strong>For conditional Logic to work, you will need to have built out <a href=\"https:\/\/www.process.st\/help\/docs\/forms\/#multiple-steps\">multiple steps<\/a> in your form. You can build logic in a single step as well, in which case, you would need to have added multiple form fields in that step.<\/p>\n<p>A form field will be the trigger that shows or hides the details in your form run once it\u2019s started.<\/p>\n<p>We also recommend that your form is fully built out before you start adding conditional logic to it.<\/p>\n<h2>Conditional Logic within a step<\/h2>\n<p>Conditional logic within steps allows you to build logic in a single step with one clear view of all your form fields. This option also reduces the number of steps you need to add to your form.<\/p>\n<p>Edit your form and navigate to the <strong>Logic<\/strong> tab to create rules that show or hide form fields.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-15731\" src=\"https:\/\/www.process.st\/help\/wp-content\/uploads\/2024\/02\/create-logic.gif\" alt=\"create logic\" width=\"100%\" \/><\/p>\n<h3>Hide content by default<\/h3>\n<p>One of the easiest ways to start using Conditional Logic is to start by <strong>hiding<\/strong> some information by default, and then <strong>showing<\/strong> it at a later stage.<\/p>\n<p>Click on the words \u201c<strong>Hidden<\/strong>\u201d as shown below. Next, select the fields you want to keep hidden automatically. You can click on the &gt; arrow to reveal all of the fields within that step. We will show these fields at a later stage by creating <strong>rules<\/strong>.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-15732\" src=\"https:\/\/www.process.st\/help\/wp-content\/uploads\/2024\/02\/hide-form-fields.gif\" alt=\"\" width=\"100%\" \/><\/p>\n<p><strong>Note:<\/strong> When you set up a rule to show content that you have not previously hidden, creating the rule automatically hides it by default.<\/p>\n<h3>Add rules to show or hide content<\/h3>\n<p>Now you can set up the rule\/s for your logic, which will act as the trigger for your hidden content to appear.<\/p>\n<p>If you\u2019re adding rules for the first time, click <strong>+ Add rule<\/strong> in the center of your screen to add your first rule, as shown below. Next, you&#8217;re going to choose the form field that will act as the trigger for your rule. This could be a dropdown, or a text field.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-15733\" src=\"https:\/\/www.process.st\/help\/wp-content\/uploads\/2024\/02\/create-new-role.gif\" alt=\"create new rule\" width=\"100%\" \/><\/p>\n<p>We already added a dropdown form field into our form to act as the trigger for this rule, it&#8217;s called &#8220;Select your Product&#8221;. Based on the user&#8217;s selection, we want to show the relevant product choices.<\/p>\n<p>If you already have some rules in place, click the <strong>+ button<\/strong> on the right side, to add a new rule, as shown below. Click the <strong>+ button<\/strong> to add more rules, or the three-dot menu to <strong>Duplicate, Move<\/strong>\u00a0or <strong>Delete<\/strong> a rule.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-15734\" src=\"https:\/\/www.process.st\/help\/wp-content\/uploads\/2024\/02\/create-more-rules.gif\" alt=\"\" width=\"100%\" \/><\/p>\n<p>Depending on which type of form field you use as your trigger, you may see different <a href=\"https:\/\/www.process.st\/help\/docs\/conditional-logic-forms\/#rule-selection-options\">rule selections<\/a> to choose from.<\/p>\n<p>Click &#8220;<strong>Done<\/strong>&#8221; when you&#8217;re finished and then &#8220;<strong>Save<\/strong>&#8221; in the bottom right-hand corner. This saves the changes to your conditional logic rules and then we recommend you <strong>also<\/strong>\u00a0<b>publish\u00a0<\/b>the changes to your form.<\/p>\n<p>Next, you can fill out a form response to ensure the logic works as you would like it to.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-15735\" src=\"https:\/\/www.process.st\/help\/wp-content\/uploads\/2024\/02\/test-new-forms.gif\" alt=\"test new forms\" width=\"100%\" \/><\/p>\n<h3>Add And\/Or rules in complex forms<\/h3>\n<p>If you need your rules to follow complex logic, you can add And\/Or while creating your rules.<\/p>\n<p><span style=\"font-weight: 400;\">For instance,<\/span><span style=\"font-weight: 400;\"> in the Merch Order Request form, If the customer wants a product AND some custom text on it OR a custom print Then, show customization options.<\/span><\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-15742\" src=\"https:\/\/www.process.st\/help\/wp-content\/uploads\/2024\/02\/cl-andor-forms.gif\" alt=\"conditional logic in forms\" width=\"100%\" \/><\/p>\n<p>You can add as many And\/Or conditions as you need including multiple And rules, multiple Or rules or a mix of both.<\/p>\n<h2>Conditional Logic on steps<\/h2>\n<p>Let\u2019s take a look at how to set up a different Conditional Logic example, this time to show or hide\u00a0whole <b>steps<\/b> in your forms.<\/p>\n<p>Edit your form and navigate to the<strong> Logic<\/strong> tab at the top of your screen then hide a step by default.<\/p>\n<p>One of the easiest ways to start using Conditional Logic is to start by <strong>hiding<\/strong> steps by default, and then <strong>showing<\/strong> them again at a later stage.<\/p>\n<p>Once you\u2019ve clicked the Logic button you will see the window below open up.<\/p>\n<p>Click on the words \u201c<strong>Hidden<\/strong>\u201d as shown below then choose the step you would like to hide automatically.<\/p>\n<h3><img decoding=\"async\" class=\"alignnone size-full wp-image-15743\" src=\"https:\/\/www.process.st\/help\/wp-content\/uploads\/2024\/02\/hide-step-by-default.gif\" alt=\"\" width=\"100%\" \/><\/h3>\n<p>In the example above, we hid one task by default. We will show it again using a <strong>rule<\/strong>. This is what you\u2019re going to add next.<\/p>\n<p><strong>Note:<\/strong> When you set up a rule to show a step that you have not previously hidden, creating the rule automatically hides it by default.<\/p>\n<h3>Add rules to show or hide steps<\/h3>\n<p>Now you can set up the rule\/s for your logic, which will act as the trigger for your tasks or steps to appear.<\/p>\n<p>Click the <strong>+ button<\/strong> to add a new rule. Next, choose the form field that will act as the trigger for your rule. This could be a dropdown field in one of your previous steps.<\/p>\n<p>We already added a dropdown form field in the first step of our form to act as the trigger for this rule. It\u2019s called \u201cDo you want to customize?&#8221;<\/p>\n<p>If the answer to the question is \u201cYes\u201d then we want to show the task we hid earlier:<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-15744\" src=\"https:\/\/www.process.st\/help\/wp-content\/uploads\/2024\/02\/conditional-logic-show-step.gif\" alt=\"conditional logic show step\" width=\"100%\" \/><\/p>\n<p>Depending on which type of form field you use as your trigger, you may see different <a href=\"https:\/\/www.process.st\/help\/docs\/conditional-logic-forms\/#rule-selection-options\">rule selections<\/a> to choose from. Click &#8220;<strong>Done<\/strong>&#8221; when you&#8217;re finished.<\/p>\n<p>Click the <strong>+<\/strong> <strong>button<\/strong> to add more rules, or the three-dot menu to <strong>Duplicate<\/strong>, <strong>Move<\/strong> or <strong>Delete<\/strong> a rule.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-15734\" src=\"https:\/\/www.process.st\/help\/wp-content\/uploads\/2024\/02\/create-more-rules.gif\" alt=\"\" width=\"100%\" \/><\/p>\n<p>Click &#8220;<strong>Save<\/strong>&#8221; in the bottom right-hand corner to save the changes to your conditional logic rules. Then we recommend you also\u00a0<b>publish\u00a0<\/b>the changes to your form.<\/p>\n<p>We suggest filling in a response after you publish your form to test your setup.<\/p>\n<h2><a id=\"rule-options\"><\/a>Rule selection options<\/h2>\n<p>In the two examples above (for Conditional Logic <strong>within<\/strong> a step, and hiding or showing a <strong>step<\/strong>) we used a <a href=\"https:\/\/www.process.st\/help\/docs\/form-fields\/\">dropdown form field<\/a> as the trigger for our rules. Using dropdowns is a simple way to set up Conditional Logic. However, you can select any of the form fields to act as trigger.<\/p>\n<h3>Choosing Form Fields<\/h3>\n<p>When you create Conditional Logic rules, the first dropdown you see &#8220;Select form field&#8230;&#8221; presents you with a list of all of the form fields from your form that you can use (Hint: the more form fields you add to your form, the more you can choose from in Conditional Logic rules).<\/p>\n<p>The icon to the left of the field name indicates the type of form field that you are working with (e.g. a text field, email, website, or dropdown).<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-15746\" src=\"https:\/\/www.process.st\/help\/wp-content\/uploads\/2024\/02\/form-fields-for-CL1.png\" alt=\"\" width=\"100%\" \/><\/p>\n<p>These are the current form fields and their input types that can be used for setting Conditional Logic rules.<\/p>\n<p>Text Accepting Fields:<\/p>\n<ul>\n<li>Short Text<\/li>\n<li>Long Text<\/li>\n<li>Email<\/li>\n<li>Website<\/li>\n<\/ul>\n<p>Non-Text Accepting Fields:<\/p>\n<ul>\n<li>Dropdown<\/li>\n<li>Number<\/li>\n<li>Date<\/li>\n<li>Multi Choice<\/li>\n<\/ul>\n<h3>Setting Conditions<\/h3>\n<p>The next dropdown you&#8217;ll see after the form fields lists the different types of conditions available for your chosen field.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-15747\" src=\"https:\/\/www.process.st\/help\/wp-content\/uploads\/2024\/02\/CL-form-field-option.png\" alt=\"CL form field options\" width=\"100%\" \/><\/p>\n<h2>Advanced options<\/h2>\n<p>In the examples above, we used a simple dropdown field as our trigger, to show content, or steps. However, depending on your form you can also set logic rules on the following, more advanced fields:<\/p>\n<h2>Text Accepting Fields<\/h2>\n<h3>Short and Long text fields<\/h3>\n<p>For short or long text fields, any value can be typed into the third field along.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-15748\" src=\"https:\/\/www.process.st\/help\/wp-content\/uploads\/2024\/02\/short-text-form-field.png\" alt=\"short text form field\" width=\"100%\" \/><\/p>\n<p>Your condition choices on text fields are:<\/p>\n<ul>\n<li>is<\/li>\n<li>is not<\/li>\n<li>starts with<\/li>\n<li>ends with<\/li>\n<li>contains<\/li>\n<li>does not contain<\/li>\n<li>has no value<\/li>\n<li>has any value<\/li>\n<\/ul>\n<h3>Email Fields<\/h3>\n<p>Email fields are similar to text fields, in that anything can be typed into the third box along. Email fields also have the same condition options as text fields:<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-15749\" src=\"https:\/\/www.process.st\/help\/wp-content\/uploads\/2024\/02\/email-form-field-cl.png\" alt=\"\" width=\"100%\" \/><\/p>\n<h3>Website Fields<\/h3>\n<p>Website fields are similar to text and email fields, in that anything can be typed into the third box along. Website fields also have the same condition options:<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-15750\" src=\"https:\/\/www.process.st\/help\/wp-content\/uploads\/2024\/02\/website-form-field-cl.png\" alt=\"\" width=\"100%\" \/><\/p>\n<h2>Non-Text Accepting Fields<\/h2>\n<h3>Dropdown Fields<\/h3>\n<p>Dropdown fields have slightly different condition options. You can choose one of the dropdown options instead of typing in the field along.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-15751\" src=\"https:\/\/www.process.st\/help\/wp-content\/uploads\/2024\/02\/dorpdown-cl-form-field.png\" alt=\"\" width=\"100%\" \/><\/p>\n<p>Your condition choices on the dropdown field are:<\/p>\n<ul>\n<li>is<\/li>\n<li>is not<\/li>\n<li>has no value<\/li>\n<li>has any value<\/li>\n<\/ul>\n<h3>Number Fields<\/h3>\n<p>Number fields let you set conditions based on numeric comparisons. Your condition choices on number fields are:<\/p>\n<ul>\n<li>is greater than<\/li>\n<li>is less than<\/li>\n<li>is equal to<\/li>\n<li>is not equal to<\/li>\n<li>is empty<\/li>\n<li>is not empty<\/li>\n<\/ul>\n<h3>Date Fields<\/h3>\n<p>Date fields let you set conditions based on date comparisons. Your condition choices on date fields are:<\/p>\n<ul>\n<li>is after<\/li>\n<li>is before<\/li>\n<li>is equal to<\/li>\n<li>is not equal to<\/li>\n<li>is empty<\/li>\n<li>is not empty<\/li>\n<\/ul>\n<h3>Multi Choice Fields<\/h3>\n<p>Multi Choice fields let you set conditions based on selected options. Your condition choices on multi choice fields are:<\/p>\n<ul>\n<li>is exactly<\/li>\n<li>has any of<\/li>\n<li>has none of<\/li>\n<li>is empty<\/li>\n<li>is not empty<\/li>\n<\/ul>\n<h2>Show versus hide?<\/h2>\n<p>In the examples we used above, we hid certain content or steps by default, and then set the rules to show them when a condition is met.<\/p>\n<p>However, if you <strong>don\u2019t hide<\/strong> content or steps by default first, you can set your rules to <strong>hide<\/strong> content or tasks when a condition is met instead.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-15752\" src=\"https:\/\/www.process.st\/help\/wp-content\/uploads\/2024\/02\/hide-fields-cl.png\" alt=\"\" width=\"100%\" \/><\/p>\n<h2>Managing and organizing rules<\/h2>\n<p>You can move your rules up and down to change the order that your logic will follow.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-15753\" src=\"https:\/\/www.process.st\/help\/wp-content\/uploads\/2024\/02\/reorder-cl-rules.gif\" alt=\"\" width=\"100%\" \/><\/p>\n<p><strong>Note: <\/strong>Conditional Logic rules are applied in the top-to-bottom order. It&#8217;s a good idea to build your logic rules in the same order as the steps in your form, for this reason.<\/p>\n<h2>Always be testing<\/h2>\n<p>We highly recommend you test out your Conditional Logic rules by first saving your rules, then publishing the changes to your form, and filling in a test response.<\/p>\n<p>Start to fill out your form and you&#8217;ll see the content fields or steps come into play, as your form field responses fit into the logic that you created.<\/p>\n<p>If your form doesn&#8217;t perform as expected, go back to edit it and the conditional logic rules. Then save the rules, publish the form, and test it again.<\/p>\n<h2>Troubleshooting<\/h2>\n<p>If you have <strong>deleted<\/strong> content blocks or form fields that are shown or hidden by the conditional logic rules, you may have to reset your rules around the remaining blocks and tasks.<\/p>\n<p>If you delete a form field or widget that is associated to any conditional logic rules, the relevant conditional logic rule will also be deleted automatically.<\/p>\n<p>If you delete a form field or widget with multiple And\/Or rules, the relevant rule will be deleted and the following rule will take its place.<\/p>\n<p>If you get stuck or have any questions, reach out to our <a href=\"https:\/\/www.process.st\/help\/docs\/support\/\">Process Pros team<\/a>.<\/p>\n<hr \/>\n<p>&nbsp;<\/p>\n<ul>\n<li>How to <a href=\"https:\/\/www.process.st\/quiz-template\/\" target=\"_blank\" rel=\"noopener\">Create and Use a Quiz<\/a> in Process Street With Conditional Logic<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Process Street&#8216;s Conditional Logic is a powerful feature that allows you to create truly dynamic forms\u00a0with if-this-then-that logic. If your forms are more complex, you can also create rules that say if-this-and\/or-this-then-that. You can build steps into your forms that change depending on the users&#8217; form responses as they fill out your form. Example use [&hellip;]<\/p>\n","protected":false},"author":14,"template":"","meta":{"_acf_changed":false,"available_plan":"All plans","available_product":"Forms","footnotes":""},"ht_kb_category":[483],"ht_kb_tag":[352,477],"class_list":["post-6775","ht_kb","type-ht_kb","status-publish","hentry","ht_kb_category-forms","ht_kb_tag-conditional-logic","ht_kb_tag-forms"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/ht_kb\/6775","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/ht_kb"}],"about":[{"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/users\/14"}],"version-history":[{"count":4,"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/ht_kb\/6775\/revisions"}],"predecessor-version":[{"id":10093,"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/ht_kb\/6775\/revisions\/10093"}],"wp:attachment":[{"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/media?parent=6775"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/ht_kb_category?post=6775"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/www.process.st\/help\/wp-json\/wp\/v2\/ht_kb_tag?post=6775"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}