Milestone Diagrams
Milestones are used to track the completion of significant events during the life cycle of a case or task, for example, to track the submission, approval, and activation of a claim.
All case milestones are based on an associated milestone configuration configured for the setup. Each Case Type and Task Type must have an associated Milestone Diagram.
Right now, only the Milestone Diagrams for Cases can be configured. All Tasks run through the same Milestone Diagram and can't be modified.
SLA Setup
Service Level Agreement (SLA) says how long a Case remains in a particular Milestone. There are four types of SLA: Goal, Deadline, Invisible, and Case-Wide. Technically, they are all the same except for their business meaning. Goal SLA and Deadline SLA appear in the Case Search and Case Detail, while an Invisible SLA is never shown.
Each Milestone can have one (1) Goal SLA (green border), one (1) Deadline SLA (red border), and any number of Invisible SLAs (light blue border).
For each SLA, you can configure the time using the fields in properties.
These fields accept only integer values, and you can not use decimals. To set the SLA to three and a half days, you must set 3 days and 12 hours.
You can also set the SLA to a specific transition. For example, if you would like to set a Goal SLA for the assignment of new cases, check the Enable For Specific Transition, then select the transition from the dropdown list in the image below the Assign Case (New -> Assignment).
Validation Events
This event executes an AppBase Rule with the tag 'cust' or 'Case Route Validation'. All custom rules should be tagged 'cust' to select them.
These events validate whether a Case can transition from one Milestone to another.
A custom rule is attached to a Milestone to check whether moving to that Milestone is possible.
Remember that to use a rule as validation in a milestone, it must be tagged as Case Route Validation
Basic Events
These are just basic events.
Execute Rule
This event executes an AppBase Rule with a tag 'cust' or 'Case Route'. All custom rules should be tagged 'cust' to select them. The example below has 3 events attached, each executing a different type of rule but each doing the same thing.
SQL Non-Query function rules
Currently, the DCM engine is written in SQL, which means only SQL functions will execute synchronously. When the event is executed in runtime, the values for these parameters get sent in automatically. You can not add/delete parameters for SQL function rule events.
SQL Non-Query and C# rules
These rules will execute asynchronously through the AppBase Queue. You can see the details of the execution in the Queue Monitor.
Send Email
This event, aka LTR Send Email event, was created to reduce the custom code in solutions. It simply sends an email through the AppBase Distribution Channel. This event can have either hard-coded values or rule-calculated values.
To configure the rule parameters, check the following complete guide. Send Email Event Settings
Email rule configuration parameters
Parameter | Description | Example |
---|---|---|
Distribution Channel | The AppBase configuration for an SMTP account. Managed through Application Studio | StandardOutgoing or StandardOutgoing365 |
From | This is usually the SMTPs from email addresses. Often, incorrect values will result in the SMTP server rejecting the email as spam. | no-reply@email.us |
From Rule | It must be an SQL Non-Query function with input CaseId/TaskId and output Result. | QA_email_getFromAddress |
To | List of hard-coded email addresses to send emails To separated by comma (,), semicolon (;) or triple pipe (|||) | customer1@email.us;customer2@email.us |
To Rule | It needs to be an SQL Non-Query function with input CaseId/TaskId and output Result | QA_email_getToAddresses |
CC | List of hard-coded email addresses to send email copy separated by comma (,), semicolon (;) or triple pipe (|||) | customer1@email.us;customer2@email.us |
CC Rule | It needs to be an SQL Non-Query function with input CaseId/TaskId and output Result | QA_email_getCcAddresses |
BCC | List of hard-coded email addresses to send email blind copy separated by comma (,), semicolon (;) or triple pipe (|||) | customer1@email.us;customer2@email.us |
BCC Rule | It needs to be an SQL Non-Query function with input CaseId/TaskId and output Result | QA_email_getBccAddresses |
Letter Template | An email template designed in Application Studio. The Letter Template will pass in parameters CaseId/TaskId into all placeholders if the Letter Template uses them. | SMPL_MilestoneEventTesterSLA |
Letter Template Rule | It needs to be an SQL Non-Query function with input CaseId/TaskId and output Result | QA_email_getTemplate |
Attachments | It must be an SQL Non-Query function with input CaseId/TaskId and output Result separated by |||. This example returns all Documents attached to the Case. | QA_email_getAttaches |
Write to History
This event writes a message into the Case History or the Task History. The messages are predefined as a Message Template. You select the Message Template from the dropdown list.
These Message Templates are defined under the Setup → History Templates → Message Templates section.
In our example, the template writes the following message as a Case History: "Test history record at state @CaseState@ and milestone @CaseMilestone@ at @CurrentSysTime@".
Case Events
These are events for changing Case meta info.
Assign Case
This event assigns the Case to either a Case Party or to a Workbasket calculated by a Rule.
Parameter | Description | Example |
---|---|---|
Case Party | The team/skill/business role/case worker/external party assigned to the Participant. They need to be set up in the Case Type. | Customer, Front Office |
Workbasket Rule | An SQL function rule that returns the ID of a specific Workbasket. The example rule QA_getMyWorkBasketFn returns the actual logged-in user workbasket ID. | QA_getMyWorkBasketFn |
Change Case Priority
Change the Case priority to what is set in the parameter configuration. The available priorities for the case are listed in the dropdown list.
Add-on Events
These events are typical for integrated services like Twilio or Genesys.
Send to Slack Channel
This event was made for demo purposes and will be removed from the future Milestone Builder.
Send SMS using Twilio
Twilio provides a Messaging API that makes it easy to send SMS and MMS messages and the DCM provides an easy-to-configure screen for integrating a Twilio account. Eccentex has a subscription to this service, which is set up by default.
Parameter | Description | Example |
---|---|---|
Event Moment | At what point should this event execute in the Milestone's life cycle | After |
Message Template | The Message Template to generate the SMS from. Managed through Setup → Templates → Message Templates. | The case was automatically assigned to @CaseOwner@ |
Message Rule | A rule used to generate the SMS message. | QA_sms_getMessage |
To | A valid destination phone number (receiver). | |
To Rule | A rule used to obtain a valid destination phone number(s). | QA_sms_getToPhones |
From | A valid sender phone number. | |
From Rule | A rule used to obtain a valid sender phone number. | QA_sms_getFromPhone |
The SMS message will be sent only if the Twilio configuration is enabled. Check the status of the service under Setup → Integration → Twilio.
Route to Genesys Engage (deprecated)
This event was made just for demo purposes. It throws an error message, just like the Slack integration.
Route to PureConnect (deprecated)
This event was made just for demo purposes. It throws an error message, just like the Slack integration.