Forms are the building blocks of any service management tool and it’s important that they too evolve, over time. This leads to users being burdened to create multiple plugins or a javascript code to add logic or context to their forms.



Business Rules for Forms lets you perform conditional actions on certain fields within a form with no-code. This lets your users perform actions on certain fields, control ticket lifecycle and implement field-level access on forms


How to create a Business Rule


  • In your Freshservice account, navigate to Admin -> Business Rules for Forms-> Create New Rule

  • Enter the name and description of the business rule

  • Choose whether the rule applies to Requesters, Agents or Both using the Applies to the dropdown
  • Specify whether the rules need to execute on the new form, edit form or both using Execute on the dropdown
  • Add the conditions based on 


    • Ticket form fields: Dynamic values on the form that trigger rules as the user fills the form

    • Logged in user fields: Attributes of the user submitting the form such as Department, Location, Role, Group etc

    • Current ticket fields: Static values of the record that is being modified.

  • You can then choose to Show/Hide, Enable/Disable, Mandate/Non-Mandate fields using  the Perform an action option 
  • Alternatively, you can also Validate the form on submission with a custom error message if the conditions specified above are met and click Save



In the advanced settings section, you can check the following boxes:


  1. Auto-Reverse If False: This will reverse the action if the conditions specified aren’t met.


For eg. If you choose to mandate a particular field when the status is changed to Resolved, the Auto-Reverse if False checkbox will non-mandate the same field if the status NOT Resolved.


This saves you the trouble of writing another rule, so we recommended you check this box by default for all business rules.


Note: If you have multiple rules that perform the same set of actions for the same field(s), it's best to consolidate these actions into a single rule to avoid conflicts.


For example: If you choose to show the same fields (such as Urgency, Impact and Category field) for both incident and network teams, you can simply consolidate them into a single rule to avoid any reversal conflicts.

 




  1.  Enforce System-Wide: The following business rule will be applicable to all forms and when a ticket is updated via bulk action, scenario automation and API requests.



  • You can enable/disable the toggle for a particular business rule from the list view

  • You can choose to edit/ delete/ clone a business rule from the list view





Heads up! 


  • Current ticket condition is applicable only on Edit Form and also allows you to create conditions based on Ticket Type and also the Requested Item/s of the underlying ticket

  • The Enforce system-wide option is not applicable to show/hide fields

  • You can test out error messages to see how it appears within the system before saving the Validate form on submission option

  • When there are multiple business rules acting on a particular field, the rule that executes last will take precedence. You can click on Reorder to change the order of execution

  • Business rules geared towards requesters work best if fields are configured to be both visible and editable in form fields


Usecases:


#Usecase-1


Let's take a scenario where when the ticket status is updated to pending mandate additional field.



In this case, the agent can't bypass and set the status to pending without filling in the additional details field.




#Usecase -2 


Let’s take a scenario where you want to prevent a ticket from being marked as closed if it’s awaiting approval.




In this case, we’re using a custom status to indicate if a ticket is in pending approval. If the agent tries to close/resolve a ticket that’s awaiting approval, the system will throw an error with the custom message configured by the user.



Pro Tip: Use the sandbox account to test out your business rules.


Note:



  • Business rules are applicable to the new/edit ticket forms, child ticket forms, new tickets created from the asset’s detail page and tickets created via the Freshcaller integration

  • Business rules that are enforced system-wide will be applied to bulk actions, scenario automation, list view and table view edits and API V1 & V2 requests

  • Business rules are not applicable for tickets created/modified via email, workflow automator, supervisor, scheduler, dispatchr, observer, priority matrix, conversational UI and third-party apps. These rules don’t apply while merging tickets either