How to notify additional people when a commitment expires

I was talking to a customer today, and they asked me about how to notify additional people when a commitment expires.

For example, if a support agent makes a commitment to call the customer back at 4:00, but the agent goes home, we want to notify others within the department, so that someone else can call back the customer.

When the commitment expires, Rulemanager uses a template to notify the commitment owner that the commitment has been missed. One way to accomplish this task is by customizing this commitment template.

Baseline Commitment Template

The baseline commitment template can be found with the following SQL:

select * from table_com_tmplte where title = ‘Commitment’

You can also extract it using Dovetail ArchiveManager (or dataex) using a directives file that looks like:

EXPORT OBJECT com_tmplte
  WHERE "title = ‘Commitment’"

The baseline commitment template looks like this:

TO: <OWNER.e_mail>
FR: <OWNER.login_name>
RE: Commitment Escalation
Commitment <FOCUS.title> of <ADDITIONAL_INFO> has expired at <FOCUS.sched_cmpltime>.
Here is a transcript of this commitment:

Commitment History:


Custom Commitment Template

Here’s my customized commitment template:

TO: <OWNER.e_mail>

CC: [WorkgroupMembers]

FR: <OWNER.login_name>

RE: Commitment Escalation for <ADDITIONAL_INFO>
The following commitment has expired:

This commitment is for <ADDITIONAL_INFO>
Commitment Date: <FOCUS.sched_cmpltime>

You are being notified because you are the commitment owner, or part of the same workgroup as <OWNER.first_name> <OWNER.last_name> (<OWNER.login_name>).

Here is the Commitment History:

This notification was automatically generated by the Dovetail System

Notice that we’ve added a CC of WorkgroupMembers. This is how we’ll notify additional people. I’ve also tweaked the message body a bit.

I simply exported the baseline template, modified it, and then imported it back in using Dovetail ArchiveManager.

Note: If you want this as a DAT file, just email me and I’ll be happy to send it.

Workgroup Members

We need to define the new WorkgroupMembers property. Since the actual workgroup property of an employee is de-normalized (table_employee.work_group), we can’t traverse to other employees through the workgroup. But we can get to the employees who share the same supervisor.

  1. From the commitment, get the current owner (user/employee).
  2. From the owner, get his supervisor.
  3. From the supervisor, get the supervised employees.

The schema traversal path looks like this:


We can create this as a property by importing it as a business rule property alias using Dovetail ArchiveManager or Clarify’s dataex:

OBJECT TYPE="prop_name", NAME="commitment workgroup members"
UNIQUE_FIELD=obj_type, prop_name
        obj_type=30;     /* object type 30 = commit_log */
        subtype=1;   /* subtype of 1 means its an alias */
END_OBJECT NAME="commitment workgroup members"

Test Setup

I created a new employee, and marked him as a supervisor:


Then, I modified a few of my existing employee so that they all have this employee listed as their supervisor:




Login to the client, and create a commitment. Let it expire, and observe the email notification. Here’s an email notification I received:

From: Texas Agent
Sent: Wednesday, February 25, 2009 4:13 PM
To: Texas Agent
Cc: Annie Agent; Gary Sherman; Texas Agent
Subject: Commitment Escalation for CASE 11

The following commitment has expired:

call back customer

This commitment is for CASE 11

Commitment Date: 2/25/2009 4:12:45 PM

You are being notified because you are the commitment owner, or part of the same workgroup as Texas Agent (texas).

Here is the Commitment History:

*** Commitment made 02/25/2009 04:12:43 PM texas Due date of 02/25/2009 04:12:45 PM

call back customer to verify that the supplied patch resolved the issue

This notification was automatically generated by the Dovetail System

Additional observation

We can also examine the Rulemanager log file for detailed info, specifically to see how it resolved the workgroup members:

Property "WorkgroupMembers" was found in the database for object type 30.

Property "WorkgroupMembers" using "commit_owner2user:user2employee:emp_supvr2employee:supvr2employee:employee2user:login_name" expands to "hank,annie,gsherman,west,cali,texas,fred"

Exactly as I expected.

You may notice that the actual email notification only has 3 members on the CC list, but the WorkgroupMembersproperty resolved to 7 people. This is because these other users do not have valid email addresses (as you can tell from the screenshot for the West Coast Agent above). So, Rulemanager emails to the users with valid email addresses, and skips the others. (It also logs them, and emails the Sys Admin as well) Hey, it’s my test database – cut me some slack. 🙂


Please note that I did all of this using Dovetail Rulemanager. I’m not sure that the Clarify Rulemanager will behave the same when adding custom alias properties into the commitment template. If you get a chance to try it out, let me know the results, and I’ll update this post.

A different approach

Another way to tackle this problem would be by creating a business rule based on the commitment object. Commitment is not a baseline object type (from the business rule UI), but it can be added. Some additional Business Rule properties may also need to be added.

One advantage of this approach is that we can delay the notification. For example, we could notify the commitment owner as soon as the commitment expires, and then notify the additional people after 60 minutes (if the commitment hasn’t yet been fulfilled). This might be handy. It depends on your specific business needs.


And there you have it. A commitment that notifies additional people. Hope this helps.

Rock on.