Skip to main content
Conditions

Rules

Moustafa avatar
Written by Moustafa
Updated over 2 months ago

Conditions

Together with Placeholders, Conditions are one of the basic functions to be used in automation. They are green containers used to enclose document text that is only to be included in the document if certain rules are satisfied.

Basically, words, phrases, sentences, or entire clauses or paragraphs drop in and out of the contract depending on if they are required or not. They operate on “if this, then that” logic. For example, we may have a piece of wording (like a probation clause in an Employment Agreement) which is optional (i.e., it is only included if there is a probation period in the first place). So in the system, you highlight the probation clause and apply a condition to it - Conditions are just like rules, which trigger the inclusion or exclusion of clauses or wording.

1) DEFINITIONS:

A) Condition definition: A function allowing users to create a Boolean logic expression in order to trigger the inclusion of certain text in the document. There are two different types of conditionals: “Block” and “Inline” Conditions

B) Block condition definition: A function used to insert entire clause(s) and/or paragraph(s) into the document based on a Boolean logic expression. They will be wrapped in a light green container and include numbering.

Block condition icon:

C) Inline condition definition: A function used to insert individual sentences or words into the document based on a Boolean logic expression. Inline conditions can be inserted into Block Conditions. They will be wrapped in a dark green container.

Inline condition icon:

Worked example of conditions: In a Loan Agreement, if you want to make sure only certain text appears in the document if the lender is taking security over the borrower’s assets, you would assign the “Attribute” as “Security”, the method as “equals” and the value would be “Yes”. The system will create a corresponding item in the questionnaire where you can create a question related to the taking of security. E.g. “Is Security being granted by the Borrower in connection with the loan?”. If the answer to that question is yes, all the text within the “Security” Condition will appear in the contract.

2) CONDITIONALITY:

Conditionality allows users to create text which will only be included in the document if certain conditions are satisfied. For example, this text can be contractual provisions which will appear only if certain factual scenarios are present. Placeholders can also be inserted on a conditional basis – something that will be addressed in the next section.

If we take a document and press the Block IF tool (block condition), it will allow users to make this block of text (a clause) conditional on certain criteria being satisfied. As shown below, the selected block of text will be light green in colour, indicating its status as a block condition.

When inserting a block condition a dialogue box will appear. In the example below, a logic condition has been set up whereby if the “Probation” equals "Yes", the clause drops into the document.

3) CREATING CONDITIONS:

To create a Condition you will need to start by selecting the text with your cursor that you wish to only display in certain scenarios. Once the text has been selected, click on either the Block Condition or Inline Condition icons under the ‘Automation’ tab to create the Condition. Clicking on either the Block or Inline Condition icons will load the “Condition Builder” below:

A) Condition Builder:

The Condition Builder is separated into three distinct parts, allowing users to assemble a Boolean expression:

(i) Attribute dropdown (orange box): This is the anchor point for the condition and it forms the base element that the logic is applied to. For example, if you want the text “Company” to appear in an NDA only when the Recipient is a corporation and not an individual, you can create the attribute “Recipient Type” equals “Corporation”. The attribute created will generate a question in the questionnaire, essentially for the purpose of asking a user whether the condition has been satisfied for this text to be dropped into the document.

You can also select an existing attribute by clicking the dropdown arrow. This can be used when you have already created the attribute (i.e. as a placeholder) or when you wish to create multiple conditions surrounding the same attribute. Using the above NDA example, if you want the text “Individual” to appear in an NDA only when the Recipient is an individual and not a company, you can select the attribute “Recipient Type” that you have already created and create the condition equals “Individual”.

(ii) Method dropdown (blue box): This dropdown displays the list of methods that can occur in relation to the relevant attribute. An example of a method includes “equals, present or contains etc”

Operator

Remarks

Equals

Not equals

Examples:

“TRIAL” equals “Yes”

“DAY OF WEEK” not equals “Monday”

The “equals” operator triggers a condition when the answer input matches exactly what has been set up in the logical statement. This includes the letter case.

Conversely, “not equals” means so long as the answer is not the indicated input in the logical statement, the condition is triggered. Using the example, the condition will get triggered as long as it is not “Monday”.

Greater than or equal

This triggers a condition when a number greater than or equal to the specified value is inputted. For example, if “ATTRIBUTE” greater than or equal to “3” is used, that means any value ≥ 3 will trigger the condition.

Less than

This triggers a condition when a number less than the specified value is inputted. For example, if “ATTRIBUTE” less than “3” is used, that means any value < 3 will trigger the condition.

Less than or equal

This triggers a condition when a number less than or equal to the specified value is inputted. For example, if “ATTRIBUTE” less than or equal to “3” is used, that means any value ≤ 3 will trigger the condition.

Present

Not present

The “present” operator detects whether there is any input (i.e. any characters) in the answer field for that question. If there is, the condition is triggered. Conversely, “not present” means a condition is triggered if the answer field is left blank.

Contains

Not Contains

The “contains” operator triggers a condition when the answer input contains a section of what has been set up in the logical statement. This includes the letter case.

Conversely, “not contains” means so long as the answer is not contained in the indicated input in the logical statement, the condition is triggered.

(iii) Value (green box): This area is used to assign what value needs to be present for the condition to be satisfied (so that the relevant text in the Block or Inline Condition appears).

In the “Recipient Type” example, the value would be “Corporation” if you want the text “Company” to appear in the NDA. You can create any value you wish.

(iv) Unknowns (red box): When you select “Show if not answered”, the conditional text you set up will appear as a square bracketed text in the generated document if the question for whether its condition is satisfied is left unanswered.

4) COMBINING PLACEHOLDERS AND CONDITIONS:

As the last image demonstrated, Placeholders and Conditionality functions can be used in tandem. In this way, users will be able to layer additional input fields into conditions, thus creating more sophisticated templates to meet contracting needs.

As mentioned in the previous section, the Conditionality function can also introduce additional Placeholders into the document. This means that the answer to question A will lead to follow-up questions B and C; which in turn could result in additional clauses being included in the document, and so on.

Let’s demonstrate this with a simple example.

Above, Conditionality and Placeholders are used in setting out the terms of the probationary period.

If "probation" equals yes then the clause will drop into the document. Thus, the user will then be asked questions about the probationary period duration. These answers will then populate the contract. The answers to these questions will then appear in the final contract.

The combination of these two functions, combined with an understanding of their relationship with the questionnaire which clients/colleagues will receive, allows users to “stack” conditions and questions on top of each other. This functionality is central to Avvoka’s document automation tool.

Multiple conditionality layers:

Using this feature, users gain enhanced control over modifying conditions within their template. When a user highlights a specific segment of an existing condition—whether it's a block or inline condition—a secondary button labeled "Apply to selected range" appears. This button allows the user to apply modifications or add additional layers of conditionality precisely to the chosen fragment. This focused approach helps maintain the integrity of the larger condition while enabling detailed adjustments to a subset of it, thereby avoiding broader unintended impacts. To finalize these changes, users must click the "Apply" button, which confirms and implements the alterations to the logic flow. This new functionality is particularly useful in complex configurations where precise condition management is crucial, offering users a more tailored and efficient way to handle conditional logic.

Below you can find a video that shows you how to add conditions (among other things):

Did this answer your question?