Tag Archives: Salesforce Cases

Create a Salesforce Support Request Process For Your Users

Are you using emails to manage requests from your users? 

Dodge Emails


The problems with using email for issues & requests are many, such as:

  • Users favoriting certain Admins, causing uneven workload on the team
  • Emails getting buried & forgotten
  • Accidental deletion
  • If you’re in the habit of constantly checking email, it’s distracting
  • No prioritization
  • No reporting
  • Stressful for you: Some users are impatient.  Aside from too many emails marked as high importance, they’re following up too soon
  • Stressful for users:  They have no ability to confirm you got their request or make corrections to it.

Around 3 years ago we rolled out a Salesforce Support Case process to our users.  My work life drastically changed for the better that day.  Just in my team, we currently receive around 300 Cases per month.  I shudder at the thought of those being emails.

How my org uses Cases to manage support requests:

  1. User clicks “Salesforce Support Request” link on the home page.
  2. Some information is auto-filled, so they enter a few other fields & save
  3. The case is sent to a queue
  4. User receives email when case is opened & closed.
  5. A Dashboard is used to monitor these cases, much like a sales team would monitor open & closed Opportunities.

Here’s how to do it:

A Case record type, support process, and page layouts are created.

Regarding fields, your primary goal is speed.  Users should not to spend 5 minutes filling out fields. Here’s the fields we use:

Contact Name

This is the internal Contact, the user.  To make this work, create a process that creates a contact record for each Salesforce user.  The Contact would be related to their user profile via lookup field.

This is auto-populated. If you’re in a global org, this will come in handy later)

Category & Sub-Category
Dependent picklists. Here’s just a couple examples.

  • Users
    • New User – Salesforce
    • User Permissions
  • Data Management
    • Mass Update/Create Records
    • Merge Records




  • Open
  • Need More Information
  • Resolved (Closed)
  • No Change Required (Closed)

For use on the close case layout.  This can be used on the email notification when the case is closed.


Give your users an easy way to create the Case:

  • Under Home, create a custom link.  This link can be added to it’s own component or existing. We have a Useful Links component, so we put it there.
  • The link will be OnClick Javascript.  Calm down and stay with me.  I’m going to show you how. 

First, you need this:


Remember how I told you to create a Contact for each of your users?  This code is going to find and populate it on the case automatically.

 var result = sforce.connection.query("Select Id, Name From Contact Where User__c = '{!$User.Id}'");
 var records = result.getArray("records");
 var ContactName = records[0].Name;
 var ContactID = records[0].Id;

Now you need to specify the Case record type, the region, and anything else.  In my org, we use a Region picklist on the user profile.  I can use that in my code to populate the Region field on the case.

Here’s how to use IF – ELSE based on user attributes.   IF – ELSE can be much more complex than this if you want, keeping it simple for this example:

if('{!User.Region__c}' == 'NA'){
window.open("/500/e?retURL=%2F500%2Fo&ent=Case&cas3="+ContactName+"&cas3_lkid="+ContactID+"&00N80000003E5yO=North America&RecordType=012800000003wSZ&cas7=Open","_top");
}else if('{!User.Region__c}' == 'EU'){

If for some reason, one of those attributes doesn’t apply to a user, you need to plan for that with an Alert at the end.

alert('Unable to create the Case.');

You may be wondering, great… but what is that “Window.Open” junk in the middle?   That’s where you specify the case record type & fields.

  • 500  – the Case Object Id
  • e  – edit mode
  • cas3 – the standard field ID for Contact Name
  • Cas3_lkid  – You need this for the Contact ID.  lkid is lookup ID
  • 00N80000003E5yO –  the custom field ID for Region
  • cas7 – the standard field ID for Status.

Queue, Case Assignment, & Email Notifications

Create case assignment rules to send requests to the appropriate queue.  Maybe you have different queues for region or category.

So your users know the case was received, you can create auto response or workflow rules for that.  Pro Tip: Within that email, you can include instructions for your users on how to grant log in access to company administrators.

When a Case is closed, an email should be sent to the Contact on the Case.  I like to include the Case Status & Notes field.


Sharing & Validation

If your Case object is Private, you’ll need a sharing rule to grant Read/Write access to the cases that are owned by the queue.  This is needed as your users may need to attach a file/screenshot or update the description.

It would be wise to create a validation rule that prevents a non System Admin from editing a support case once it’s been closed.  You don’t want them to reopen it or change the details of the request after it’s been carried out.


Bringing it all together with reports & dashboards

Now that you’re able to report on the requests you’ve received, you can create a dashboard to show a lot of different metrics, such as case volume by month, ranking of closed cases by owner, cases opened per region last month, cases opened by category year to date, etc…




A Design Decision: Case or Custom Object?


The scenario: Your company has established a new business process in which a request must be created by Sales Reps and sent to Sales Support.

Is this best accomplished by using Cases or creating a new custom object?  I’ll list the questions you should be asking to help you arrive at that decision.

More often than not, Cases will win, but it’s important to know WHY Cases would be the appropriate solution and not fear exploring the use of a custom object if it makes better sense.


Does Sales Support usually work other kinds of requests via Cases?

  • If yes, your aim should be Cases if appropriate.

What is the preferred method of creating this request?

  • If these are external users, you could use Web-To-Case.
  • If the request is also very simple and no real data fields are needed, you could use Email-To-Case.
  • If the requests are originated by Salesforce users, you’re looking at a link or button, which leaves both Cases and Custom Object as options.

Does Sales Support have a queue?

  • You can use Cases or a custom object, as both work with Queues.  However,  only Cases can utilize assignment rules.  With a custom object, you’d likely be creating Workflow rules with Field Updates

If Sales Support doesn’t have a queue, do they want requests with certain specific attributes sent to specific people on their team?

  • Both Cases and Custom Objects can handle that, which like the Queue situation are accomplished with Assignment Rules or Workflows/Field Updates

…or do they want to Round Robin assign?

  • There are different ways to approach that, but could be easier within a Case. See one of those ways here

Do these requests many very specific statuses?

  • It’s probably not a deal breaker, and you could figure out a workaround with dependent picklists, but it’s good to note the limit on Case Status is 100 values.

Do they want the ability to define Open & Closed statuses?

  • Just like Opportunity Stages can be Won or Lost, you can set whether Cases statuses are Open or Closed.  Being able to reference “IsClosed” will help you in other areas.

Will there be a Contact record associated to this request?

  • There are a couple OOTB features that Cases have
    • The Contact can receive an email when a  Case is created, updated, or closed.  You may not needing to set up a Workflow/Email Alert.
    • When a Case Comment is created and set to Public and Send Customer Notification, that goes to the Contact on the Case.  …more on Comments below

Does Sales Support want to enter a series of comments on the request? Do they want the ability to dictate which of those should be private or public?

  • As mentioned above, an OOTB feature of Cases is Comments.  Unlike a text box, multiple comments can be created.  They can also be set to Private, Public, or Public & Notify Contact.

Does the manager of Sales Support want to be notified when a request is taking too long to resolve?

  • Cases have another OOTB feature of Escalation Rules.  An easily configurable feature that can escalate a Case to a manager if it’s not reached a certain status in a predefined amount of time.

Is there a need for Sales Support to escalate certain requests?

  • Again, Case Escalation Rules.

Could Sales Support benefit from sharing & storing knowledge used to complete requests?

  • If so, you could use another OOTB Case feature:  Solutions

Does this request require a lot of information?

  • You should be aware of object limits here. The Case object has a limit of 800 fields. If you have a very large organization consisting of many BU’s, it may not be appropriate to ‘use up’ so many fields on for just one type of request. 

Should these requests remain visible for reference on the parent record?

  • If you use Cases, there could be many other Cases on that related list. However, with a custom object you could highlight those requests on it’s own related list.

Are reports important?

  • If custom object, less criteria would be needed on the report.
  • If Cases, you can use “Closed” in a filter to simply report on Open or Closed cases.

What is the security need of the requests?

  • Case
    • You’ll have to work around whatever you have your Org Wide Default set to and may need to create sharing rules
    • You’ll also be ‘stuck’ with the object permissions you’ve given your users for other Cases.  You may need to create other configuration (validation rules, for example) to compensate.
    • You might run into situations where a user has access to a edit field on another type of Case, but for this Case it should be read only.
  • Custom object
    • Freedom to set the Org Wide Default and object permissions specific to this request.
    • Easier to set Field Level Security


Considerations When Adding a New Fieldnewfield



Get Organized To Get More Done



Over the years, I’ve experimented with different ways to get more work done without working harder.  I’ve learned that being organized really keeps me focused and increases productivity, while desktop clutter tends to cause stress and kill creativity.

Some people would argue the opposite, an example being Albert Einstein who once said, “If a cluttered desk is a sign of a cluttered mind, of what, then, is an empty desk a sign?”

However, Theo Theobald, Co-author of Detox Your Desk, had this to say, “Our research found a clear desk space also gives a clear mind space. It helps you prioritize what’s most urgent and makes you more efficient. It also helps your ability to make good decisions because you have the information available where you need it.”

Here’s some of the things I do to keep my mind clear and organize my work. 

Your Desk/Cubicle 
“Hey everyone! My home, car, and Salesforce org are also this cluttered

  • Try keeping your desktop as free from clutter as possible.  
  • If you write meeting notes on paper, use folders for each project.  
  • Use Post-It notes for your To-Do list & reminders.
    • It’s funny how one of the motivating factors for finishing a task becomes tearing that note off the all, crinkling it up, and throwing it away.
    • Ideas/Reminders: Get a random idea when on a call or working on another task?  Write on a post it and throw it on the board…this keeps you focused on your current task. 
  • Before leaving for the day, and especially Fridays, I clean my desk and put things back in their place. 


Email Management
Managing your email is like managing your weight. It requires a little self-discipline, but if you can stick with it, you’ll be better off.

  • I check email a few times a day, usually checking them between tasks.
  • Categorize emails and store them in inbox subfolders

  • Rules for daily emails and DL’s that aren’t important.
  • If an email must remain in the main inbox, flag it for later. Make it a point to catch up on flagged emails.


Using Salesforce To Organize Work
“I’m not only the Admin, I’m also an end user”

You’ve build efficient processes to increase your users productivity, but have you built anything for yourself?

  • Use Cases to track every Salesforce change, request, issue, etc… I live out of a Case list view all day.
  • Use a Project object for Projects that consist of many Cases.
  • Salesforce teams can use a dashboard to track the work of everyone on the team.