Understanding Events
An action that a user performs through the Civic Platform user interface, clicking the Submit button to create a new record for example, constitutes an event (Launching a Civic Platform Event). These events initiate some sort of reaction that may affect other parts of your system. For example, when you create a new record and save it, Civic Platform updates information on your system, as required.
Other possible events include finding a record, assessing a fee, scheduling an inspection, and so forth. Civic Platform provides more than 200 events with which you can associate scripts. You cannot create new events, but you can choose the events to set up for your agency and disable the events that you do not use.
Each of the events includes a predefined set of variables that contain values about the event trigger. The associated master script can access these values.
You can trigger events from Civic Platform clients, such as Mobile Office, IVR, and Citizen Access, or from integrated third-party products.
Civic Platform provides before and after event types (Triggered event process flow).
A before event occurs before you save any data to the database. Scripts associated with before event types typically validate data to ensure the process saves clean and accurate data to the database. Civic Platform provides the word “before” in the suffix of before event names.
An after event occurs directly after Civic Platform saves submitted data to the database. Scripts associated with an after event implement automation of an action for the user. Civic Platform provides the word “after” in the suffix of after event names.
Example Use Cases
The following provides example use cases for scripting.
Scheduling
The following provides some example use cases that relate to scheduling. You can:
Automatically update the task status in an inspection workflow when you schedule an inspection.
Schedule an investigation inspection for the next business day after filing of a complaint.
Check to ensure that all required inspections have passed, before scheduling a final inspection.
Assessing Fees
The following provides some example use cases for assessing fees. You can:
Assess and invoice standard fees or assess and invoice application dependent fees.
Check to ensure that the balance due for a record (permit or license, for example) is less than or equal to zero before issuance
Processing Documents
The following provides some example use cases that relate to document processing. You can:
Email a PDF copy of a license, to the license holder, upon issuance or renewal.
Check to ensure submission of all required documents, before processing an application.
Initiating and Configuring Communications
The following provides some example use cases that relate to initiating communications and configuring communications. You can:
Initiate any kind of communication with events and scripts.
Configure the title/subject and content of communication, by the event or action that initiates the communication.
Configure each communication with a different title/subject and with different content according to the event or action that initiate the communication.
Configure communications to have a different title/subject and content according to the recipients.
Configure communications to have a different title/subject and content according to the type of communication (i.e. email, text message, or Civic Platform/Citizen Access announcement).
Configure communications to have a different title/subject and content according to a custom set of agency-defined criteria. Examples include:
Record type (4 level hierarchy or alias)
Standard fields
Template fields
ASI
Property information
Attaching Communications to Records
Civic Platform automatically attaches any outgoing emails to the license or case from which it originated. Civic Platform tracks the date and user that sent the correspondence along with the comments.
You can define whether the message subject, message body, bcc field, cc field, etc. dictates which emails Civic Platform retrieves, stores in the database, and attaches to corresponding records.
Configuring Communication Recipients
You can configure who receives communications, based on any of the following:
Configuring communication recipients based on initiating event
You can configure communications to have different recipients according to the event or action that initiates the communication.
Configuring recipients based on type of communication
You can configure communications to have different recipients according to the type of communication (i.e. email, text message, or Civic Platform/Citizen Access announcement).
Configuring communication recipients based on Civic Platform user profiles
You configure scripts to send communications to one or more recipients based on their user profile in Civic Platform, including:
Agency
Organization (agency > bureau > division > section > group > office (department alias)
User Group
Individual users
Users with inspector status enabled (vs. disabled)
Configuring communication recipients based on APO owners
You can configure scripts to send communications to one or more recipients based on being in the reference APO database as an owner.
Configuring communication recipients based on APO owners on a record
You can configure scripts to send communications to one or more recipients based on being a property owner on a record (including a Work Order).
Configuring communication recipients based on reference contacts
You can configure scripts to send communications to one or more recipients based on their contact type as a reference contact.
Configuring communication recipients based on transaction contacts
You can configure scripts to send communications to one or more recipients based on their contact type as a contact on a record (including a Work Order).
Civic Platform prompts the user to email recipient(s) from a list of contacts associated with the license or case record.
Configuring communication recipients based on reference licensed professionals
You can configure scripts to send communications to one or more recipients based on their professional license:
All licensed professionals
Licensed professionals of one or more licensed professional types
Configuring communication recipients based on licensed professionals associated with a record
You can configure scripts to send communications to one or more recipients based on being a licensed professional on a record (including a Work Order).
Configuring communication recipients based on Citizen Access public user permissions
You can configure scripts to send communications to one or more recipients based on their Citizen Access public user permissions:
All public users
Anonymous public users
Registered public users
Record creator
Contact
Owner
Licensed Professional (any or specific)
Configuring communication recipients based on their association with an inspection
You can configure scripts to send communications to one or more recipients based on their association with an inspection:
Requestor
Contact
Inspector
Configuring recipients based on their association with a workflow task
You can configure scripts to send communications to one or more recipients based on their association to a workflow task:
Action By Department
Action By User
Assigned to Department
Assigned to User
Configuring recipients based on their association with a condition assessment
You can configure scripts to send communications to one or more recipients based on their association with a condition assessment:
Department
Inspector
Configuring recipients based on their assignment to an activity
You can configure communications to be send to one or more recipients assigned to an activity.
Configuring recipients of the communication by agency-defined criteria (i.e. set)
You can configure scripts to send communications to a set of recipients according to agency-defined criteria.
Examples of criteria that you can use to create a set include:
All contacts on records of a designated record type (4 level hierarchy or alias)
All licensed professionals associated with records that contain designated values in standard fields, template fields or ASI fields
All owners of property according to some selection criteria such as range of addresses or proximity to a location
Any other set of recipients as defined by the agency
Preventing Duplicate Communications
When you properly configure the communication event script, for each type of communication with the same subject and same content, a single person can receive only one of each type of communication, even if they are members of more than one group of recipients.
For example: A person may be part of an agency organization (agency > bureau > division > section > group > office) and also part of an agency group (building clerk).
If you configure an email to announce scheduled maintenance to members of this organization and also this group, the person only receives one email.
If you configure an email and a text message for members of this organization and also this group, the person receives one email and one text message.
Configuring Email and Text Message Sent-from Values
You can configure emails and text messages to have different “from” values, according to the initiating event/action, type of communication, or other agency-defined criteria.