Skip Navigation Links.
Introduction to Novo Solutions
Upgrade Guides
Novo Documentation Library
Usage Guides
All About Searches
Software Admin's Guide
Asset Management Guide
Knowledge Management Guide
Request Management Guide
Request Management Administrator's Guide
Request Management Config Guide
Manage Requests
Creating and Editing Requests
Using Requests Custom Rules
Service Level Agreements
The Requests WorkFlow Module
End User Read Only View
Business Hours
Deleting Requests
Issue Resolution Workflow - Example
Request Management End User's Guide
Novo Mail Service Guide
Using WorkFlows
Using the Report Writer
Frequently Asked Questions (FAQs)
Video Library
Issues
Release Notes

Creating a rule that fires on the "Close" event

Purpose: This procedure will create a Custom Rule that runs when a control on the request is in a certain state when the request is saved.

Prerequisites: Novo Request Management

Procedure:

Company A has created a rule that will send an email to the customer when a case is closed. This seems simple enough to handle with the Rule below:
 
 
Name:Notify Customers on Close Event
Event:Modified by User
If Timer:Null
Timer Value:Null
Use Business Hours:Null
Run:Null
Period:Null
Condition:Status Is Closed
Action:Email Request To {CUSTOMER_EMAIL}
Enabled:Yes
 
This will definately work as expected. However, it will also work when you make a slight grammer change to the resolution field of a Request that has been closed for 6 months and the customer was already notified. Then the moment you press save or stop the automatic timer or expand one of the related sections, you break into a cold sweat when you realize that the rule just may have run again, dousing your face with a jumbo and slighty old and unrefridgerated egg.  Or even worse; If you didn't know the rule existed and you don't even find out until you start getting puzzled customers calling with explitives that include the words: "spam"; "junkmail"; "hunh?" and my personal favorite, "Dude, why don't you support jocks get a real job!"
 
The software runs rules based on the value of the conditions when any of the following 3 events occur: Create, Modify or Time (i.e. some period of time has elapsed since a Create or Modify event).

Option 1: Set a pre-existing field to a value that the rule will revert

One way to accomodate the requirement is to create another Status, like "Close and Send". Then create the following rule:

 

Name:Notify Customers on Close Event
Event:Modified by User
If Timer:Null
Timer Value:Null
Use Business Hours:Null
Run:Null
Period:Null
Condition:Status Is Close and Send
Action:Email Request To {CUSTOMER_EMAIL} and Change Status To Closed
Enabled:Yes

Option 2: Set a User Defined field to a value that the rule will revert

Some folks will dislike using the Status control for anything other than statuses.  Since "Close and Send" is more of an action than a status, you could also handle the scenario by adding a User Defined Field to the Request Template, setting this field during the editing of the Request, and then creating the rule to perform the action and reset the UDF to it's original state. 
 
The example below uses a checkbox udf named "Send Notification?" to determine whether a note should be sent.

 

Name:Notify Customers on Close Event
Event:Modified by User
If Timer:Null
Timer Value:Null
Use Business Hours:Null
Run:Null
Period:Null
Condition:Status Is Closed and Send Notification? Is Yes
Action:Email Request To {CUSTOMER_EMAIL} and Update Send Notification? To No
Enabled:Yes
Note: When you use a checkbox as a condition in a udf, you will notice that the checkbox appears disabled. This is not a bug. Simply configure the condition so that the operators (Is, Is Not, Is Set, or Is Not Set) all pertain to the constant of "Yes".