Take the 2-minute tour ×
Salesforce Stack Exchange is a question and answer site for Salesforce administrators, implementation experts, developers and anybody in-between. It's 100% free, no registration required.

In my Salesforce setup, we have several queues set up that we use to route certain cases to groups within the support team, such as technical, training, developement, and so on. The problem is, users can freely escalate cases to queues that either aren't monitored or aren't appropriate for their workflow. Is there a way to restrict which queues users can change ownership to, or is there a better way to set this up?

share|improve this question
add comment

2 Answers 2

You could always use validation rules on Case to restrict the routing. Something that'd use the OwnerId field (I think you'll have to hardcode the queue Ids, bit nasty) and $User, $UserRole or $Profile variables. Experiment a bit :)

But I confess it's first time I see a setup where somebody would be banned from sending Case to specific queue. What if they'll have a legitimate reason to do so?

Usually it's other way around - system built to assist users, with rules like "if Type contains 'IT' send it to Tier 2 support". Easiest way to build such rules is to explore Cases -> Assignment Rules. If your users don't know about this routing, you can tick the checkbox "Assign using active assignment rules" by default in the page layout (under the "layout properties" button). If they untick it on purpose, you could write some catch-all workflow rules ;)

I'm not aware of other means to limit. If the queue is marked to support Cases I think anybody who is allowed to change the Owner field will be able to send a Case to it. Maybe you could discourage them by playing with sharing settings... something like "if the Case is with the Tier 3 members it will disappear or become readonly for all other users").

There's also a trigger way, or even you could hide the owner field... replace it with link field that would display current owner but when clicked - would go to your custom VF page for assigning. But this smells like security by obscurity, a smart hand-crafted link will let them bypass it :)

share|improve this answer
add comment

I've run into requirements similar to this a number of times, which end up resembling the types of problems that BPM solutions are so good at solving - routing, decision limiting, state-transition etc.

For something like this, without hearing more about your requirements as to how fancy your filtering needs to be, the best general solution I've found is:

  • make the field in question hidden or read-only on the page layout
  • create a custom button or link that goes to a VF page
  • the VF page presents the user with their choices, restricted by logic in the controller (e.g. "only Case records of type X can be changed to Queue Y")
  • if your logic is complex and/or needs to change frequently, you can store the state-transition data in a new custom object that only certain admin types have access to change.

I've done things like this for Opportunity Stage, various Owner fields, and various picklist fields. It's a bit of work but is more elegant than hidden validation rules.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.