Skip to main content
All CollectionsCPQPandaDoc CPQ
Setting Up Conditional Logic for Forms in Workflows
Setting Up Conditional Logic for Forms in Workflows

Dynamically customize your forms based on user inputs

Updated over a month ago

Availability: Workflows are available as a part of the paid PandaDoc CPQ add-on. If this is something you're interested in, reach out to your Customer Success Manager or sign up for a demo.

Conditional logic enhances your forms by dynamically showing, hiding, or modifying questions and questions options based on user inputs. This feature allows you to build more interactive and streamlined workflows by tailoring the form experience to each user's specific responses.

How to configure conditional logic

Note: Rules are executed sequentially, from top to bottom.

Important: By default, questions in your form are always shown unless a rule explicitly hides them. This means you do not need to define an action to "show" a question when conditions are met. The system automatically handles this as the default behavior.

To set up conditional logic in your forms:

  1. Navigate to the Form step in your workflow.

  2. Select the Rules icon at the top right in your form or at the top right corner of each question individually.

  3. Define conditions: select the criteria that trigger the rule, such as "If field X is not empty.” You can choose from a range of operators to define conditions.
    The available text column operators include:

    • equal/not equal

    • empty/not empty

    • contains/does not contain

    • starts with/ends with
      The available number column operators are as follows:

      • equal/not equal

      • greater than/less than/greater than or equal to/less than or equal to

      Note: You can combine multiple conditions with AND or OR operators for complex logic.

      Warning: You’ll be unable to set up conditions for Date and Contact preset fields

  4. Define actions: specify what happens when conditions are met (e.g., show or hide a question/option, or set a default value):

  • Show or hide questions. Dynamically display or remove specific questions.

  • Show or hide options. Control the visibility of individual options in dropdowns, checkboxes, or radio buttons.

  • Set default values. Automatically pre-fill a field with a specific value when conditions are met

Example

Let’s build a form with conditional logic for a company that offers subscription services with multiple tiers (Basic, Standard, Premium) and optional add-ons. The form dynamically adjusts based on customer input to ensure they only see relevant options.

Initial questions:

  1. "Subscription tier" (Multiple-choice with options: Basic, Standard, Premium)

  2. "Number of users" (Number field)

Conditional questions:

  1. Add-ons (Checkbox with options “Advanced analytics”, “Priority support”, “Basic subscription only includes essential features”)

Set up rules:

  1. If no tier is selected - (empty) - Hide all optional add-ons.

  2. If the Basic tier is selected – show: "Basic subscription only includes essential features."

  3. If the Standard or Premium tier is selected – show optional add-ons (advanced analytics”, “priority support”)

  4. If the Premium tier is selected – pre-select "Priority Support" as a default add-on.

The final logic in the form will be as follows:


Best practices for conditional logic

Using the ELSE section for efficiency

To make your rules more concise and efficient, use the ELSE section to define what happens when conditions are not met.

For example, If the condition for showing a question is not met, specify "hide question" in the ELSE part of the rule.

Combining rules for simplicity

Instead of writing separate rules to show and hide a question, you can combine them into one rule with both a condition and an ELSE statement. For instance, if subscription tier is not empty, leave the action blank (default: show the question).

In the ELSE part, specify "hide question."

This approach reduces redundancy and makes your logic easier to manage.

Advanced use case

You can define multiple actions within the same rule if they share the same conditions. For example, you could:

  • Show a question.

  • Set its default value.

However, since showing a question is the default action, you only need to define the action for setting the default value.

By following these practices, you can build clean, efficient, and intuitive conditional logic in your workflows.

Did this answer your question?