The EZAssign™ Version 1.31 release introduces new enhancements and features that will help improve the flexibility of scheduling when users are available to take leads and cases, which will help ensure that only users who are available will be receiving leads and cases to work. You asked, and we listened!

In response to customer issues reported of assignment counts becoming inaccurate under certain circumstances causing assignment inconsistencies, we performed a complete overhaul on the the assignment engine. In addition to fixing this issue, we also managed to increase the efficiency of the assignment engine.

New Functionality Highlights Include:
  1. 24 Hour Rolling Working Hours

    Previously, users could only be scheduled to receive leads and cases 11 hours a day (12am-11pm). We received many customer requests for the ability to allow users to receive lead and case assignments 24 hours a day. We heard you loud and clear! You can now schedule users to receive leads and cases 24 hours a day by setting the start time to 12am and end time to 12am.

Overnight Shift Support

In the previous EZAssign release we introduced the ability to schedule users to work overnight shifts that cross business days such as 10pm – 8pm. The problem was you had to assign the user’s working days for both days that the shift crossed. This introduced an issue that would cause the user to be available to work the following day.

Now in the latest release you only have to specify the working day for the start of the shift and not the working day of the end of the shift as in previous versions.  For example, if a user is working Monday 10pm to Tuesday 8am, and not working on Tuesday the rest of the day, you would only set Monday as the working day for that user.

Working Hours in 15 Minute Increments

We have increased the granularity in which you can schedule users to receive leads and cases. Previously you could only schedule users in 30 minute increments. You asked and we listened! You now can schedule users in 15 minute increments giving you more flexibility in the scheduling of your users.

Major Infrastructure Enhancements


When certain assignment-related activities occurred concurrently, there was a slight possibility that the internally stored assignment counts could be read and updated simultaneously by two different operations. This would cause the counts to get out of synch with the actual number of assignments, causing inconsistencies in the assignments of leads and cases.

In this release we have resolved this issue:In previous releases every time a lead or case was updated we would set a checkbox called “dirty” to mark that an update was made to the lead or case. A “Cleaner Engine” would then run periodically to check to see if any changes to the leads or cases occurred, and would update to the counts accordingly. This would periodically cause a locking issue that would display a message to the user that they could not commit the lead or case because it was updated by another user, preventing the user from saving the lead or case.In this release we have resolved this issue.

In this release we have resolved this issue:Now instead of tracking changes directly on the lead or cases, we write a delta entry of the change to a new custom object. When the process engine runs we then take the “number of assigned count” on the member info, and tally up the current delta entries to determine the current assigned count per user. This allows us to process more leads and cases, and eliminates the issues mentioned above. Periodically a new engine then takes the delta entries and incorporates them into the counts, so as to make sure that a large number of delta entries never have to be processed during each assignment engine run.

We have now introduced the following engines to EZAssign:

  • Compiler Engine:  Compiles the active members along with their schedule for the entire day, their last stored assignment counts, time stamps of their last assignments, and caches it into a custom object for later use by the Process-Records engine. This engine is one of the main reasons why we can now process many more assignments at one time.
  • Process Engine:  For each unassigned case and/or lead, the engine uses the assignable list and all of the delta entries to assign each case and lead. At the end of each run it updates the counts and last assigned time stamps.
  • Sweeper Engine:  Updates the stored global counts and last assigned timestamp based on the previous counts, and incorporates the delta entries into the counts. It then clears out the delta entries and starts the compiler to run again.
  • Reconciler Engine:  The reconciler engine runs periodically and recalculates the global member counts by tallying exactly who is assigned to each “active” lead and case. This process ensures that there are no discrepancies in the counts. Having it as a separate process means that this potentially expensive operation doesn’t slow down the normal assignment process and eliminates locking of lead and cases as in previous versions.


EZAssign Version 1.31 Pre-Release

You may now install the pre-release for the latest version of EZAssign. We recommend that you first install in a sandbox to verify that there are no issues with your organization specific configuration. Once you are confident that there are no issues with the installation you may proceed to install the new version in your production environment.

The following URLs may be used for installation.

If you experience any issues installing using the new version, please open a case by emailing For priority 1 issues, or if you have premier support, you may also call support at 800-955-0573.


EZAssign Version 1.31 Pre-Release for Customers Attending Dreamforce this week? Look for EZAssign and EZProtect in the Developer Lounges!