Service and Support Blog - April 2009
-
Automatically assign case ownership via Round Robin (without writing code)
Marco Casalaina Apr 16, 2009Guest blogger Paul Wilhoit brings us news of his new Round Robin Record Assignment package today. He writes:
I am excited to announce the release of a FREE AppExchange package called Round Robin Record Assignment that lets you assign the ownership of a case when it meets criteria you define. I will explain the three simple steps to install and configure in you org and walk through how to setup a Round Robin Assignment Group in this blog. Time needed: 20 minutes.
Round Robin Record Assignment, very simply put, assigns ownership of a case to a user who is a member of a group. When the next case meets the same criteria, it assigns case ownership to the next user in the group in a linear fashion.
I started working on this assignment package after recognizing the need with many of my clients. Developing the design of this package, I focused on 4 key elements:
1. Scalability – solution must be enterprise ready
2. Utilize the Native user interface (UI) as much as possible
3. Configuration with clicks, not code
4. Extensible across the application.I believe the first 3 elements were met in this initial release and the foundation is set for number 4.
Now on to the fun stuff….There two different activities that must take place: 1. Install and Configure and 2. Setup up a Round Robin Assignment Group.
As mentioned, installing involves 3 steps:
1. Install the Round Robin Assignment Group AppExchange package.
2. Add “Assignment Group Active” field to the User “Page Layouts”. If you have multiple User page layouts you will need to add this field to each one.
Setup -> App Setup - > Customize -> Users ->Page Layouts3. Make sure the “Assignment Group” App and Tab are visible to the System Admin or any other profile you want to grant access to the “Assignment Group” App.
That’s it! Now you are ready create your first Assignment Group.
You will be happy to know that all setup/maintenance of the Round Robin Assignment Groups is done through the native user interface. No Apex or Visualforce skills are needed. You only need to know how to set up a Queue, add records to a custom object, and create a case Assignment Rule entry. Anyone who has administered Salesforce.com Service and Support should be able to handle this.
Round Robin Assignment Groups use standard Queues and Case Assignment Rules to manage eligibility for Round Robin assignment.
First we have to either setup a new Case Queue or use an existing one. To create a Case Queue go to Setup -> Administration Setup -> Manage Users -> Queues. Select New, Add Queue Name and select Case from “Available Object”. IMPORTANT: copy-and-paste the name of the Queue. See Salesforce.com help for more information on setting up Queues.
Next, select the “Assignment Group” app and click on the Assignment Group tab.
Click New and enter a name for the Assignment Group and click save. Click “New AG-Queues” and paste or type the name of Queue you created above (i.e. “Round Robin Queue”) and click save. The app will verify the Queue exists. The final step for setting up the Assignment Group is to add members. Click “New Group Member”, Select a User, Click Save. Repeat for each member or use the Data Loader to import a large number of records. Please be aware there is a limit of 1000 members for each Assignment Group. Your Assignment Group should look like the following:
NOTE: If “Group Member” Status is red like John Doe above, make sure Active is True on the “Group Member” record AND the “Assignment Group Active” field we placed on the User page layout is checked.
At this point you are now ready to start using the Round Robin functionality. Manually change the ownership of a case to the “Round Robin Queue”’ and it will automatically be assigned to the next Group Member in the Assignment Group.
What if you want to automate this so cases are assigned to the “Round Robin Queue” and subsequently the next Group Member? You can use the standard Case Assignment Rules functionality you may already be familiar with.
Setup -> App Setup - > Customize -> Cases -> Assignment RulesFor more information on “Case Assignment Rules” rules, see salesforce.com help.
TIP: When testing Case Assignment Rules make sure “Assign using active assignment rules” is checked on the Case record before you click save.
Finally for those that are interested in how this was developed in salesforce.com, there are 3 Custom Objects (including validation rules, page layout…), 3 Apex Triggers (2 on the Case and 1 on the AG-Queue objects), 1 App, 1 Custom field each on the User and Case objects, 1 Test Class and two reports.
Enjoy and I hope this meets your needs.
Paul Wilhoit is part of the salesforce.com Global Enterprise Services team working out of Minneapolis, MN.
-
Stamping A "First Response" Field When An Email Goes Out On A Case
Marco Casalaina Apr 9, 2009A common service-level agreement (or SLA) in the support world is the first response time. Support organizations are often contractually obligated to respond to a given case within a certain number of hours. It is an apparently little-known fact that you can use Salesforce.com to manage this type of SLA using simple workflow rules -- no Apex Code required!
First, one must note the existence of the Entitlements application by Force.com Labs. This application allows you to measure and track your response, workaround and resolve time SLAs, both in calendar hours and business hours, so if you have some significant entitlement and SLA needs, this app is worth checking out. It's a fairly involved app, though, so that will be a subject of a future blog entry. For today, we'll focus on using a simple workflow rule to stamp your first response time.
Your first step will be to add a First Response date/time field to Case. Next, if you haven't turned on Email To Case, do so by going to Setup->Case->Email To Case. You don't even have to activate any routing addresses.
The reason for this is that once you have turned on Email To Case, there's an object under case called Email Message. You can make workflows on this Email Message object which update the parent Case.
So your next step is to create a workflow rule on the Email Message object. Here, set your criteria such that you stamp your field when the email message is outbound (i.e. "Is Incoming equals false") and the First Response field is empty (because you don't want to stamp it again once it's been stamped).
Finally, put a field update on this workflow rule to stamp the First Response field to NOW(). That's all it takes -- once you activate this workflow rule, your First Response field will begin getting stamped immediately, and you can start reporting on it.
The screenshots alongside this blog post show a step-by-step process for making it happen.
Also:
Note that if you are using the Customer Portal or Self-Service Portal, another means of responding to your customers would be via a public Case Comment. You can use a very similar process to that given above to stamp your First Response field from a Case Comment -- just set the object on the workflow rule to Case Comment instead of Email Message.
