Salesforce.com has great Case Escalation rules that give Support Managers peace of mind that cases will not go unattended for too long. But how do Sales and Channel Managers get the same peace of mind that their assigned Leads are not going untouched?
I first started trying to solve this problem using the Salesforce workflow capabilities, which are excellent for initial lead assignment, but I quickly ran into issues trying to escalate a Lead.
For example, if I assign a Lead to a Partner, I want the following rules to apply:
1) The Partner has 48 hours to Accept the Lead (in case they're on vacation)
2) The Partner has 1 week to update the Lead record
3) If the Lead is not converted in 30 days, send the Partner an Alert
4) If the Lead is not converted in 60 days, send the Partner and Account Manager an alert
5) If the Lead is not converted in 90 days, reassign the Lead to Account Manager
I came up with some semi-workable solutions using available tools in Salesforce that were limited to internal users, but didn't work for Partner contacts (of course, now that I post this, someone will probably publish some clever way to accomplish this
).
The solution I ultimately came up with was to develop an escalation rules engine using custom objects and the AppExchange API. The design is patterned after the best features in Salesforce Case Escalation Rules and Workflow and targeted specifically at sending email alerts to Users and Contacts at predetermined intervals when certain criteria are met.

Creating a workflow engine in a forms-based user interface environment presents a unique set of challenges. Graphical flowchart visualizations are usually best for depicting complex Lead escalation rules, but this wasn't an immediate option.
(As an aside, we did develop a prototype graphical workflow engine for i-Dialogue last October using Windows Workflow Foundation, but this lacked a web-based interface. Salesforce Product Managers also have this feature on their roadmap, so who knows... It could be available within 12-18 months from someone.)
As you can see in the screenshot below, the forms-based rule designer didn't turn out so bad. In fact, you could argue that this approach is easier for most business users since the rule reads from top to bottom like natural language English:
"If a Lead is not accepted in 48 hours, reassign it to the Account Manager".
