A 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 a little-known fact that you can use Salesforce.com to manage this type of SLA using simple workflow rules -- no Apex Code required!
First, we should note the existence of the Entitlements Processes functionality built into Salesforce.com. This capability 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, Entitlements Processes are worth checking out. It's fairly involved to set that up, though, so today's post is focused more on people with more lightweight needs. Today we'll look at just 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.
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.