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.

Figure: Launching a Civic Platform Event



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.

Figure: Scriptable Event and Event Variables



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).

Figure: 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.