Building a "Simple" Case Management Process

So, you want to start using Cases. Your workflow is simple, right? It's just a few steps, gather a bit of data, get an approval, communicate back with the client, voila, case closed, happy client. 

Even for a simple process, there must be rules:

  • All Cases must be on an ACTION list, and be owned by a person or team, and have a definitive next action at all times, until Closed. 

Some other features: 

  • Cases will be created via Web to Case, Email to Case or by internal staff creating it from an existing Account. 

  • There are two types of Cases - increase in entitlements and technical support. 

    • There will be a field on the web to case to ask them what the contact is about. 

  • An Increase in entitlement must not be answered if the Account has outstanding bills. (Let's assume that is already built into the Account). 

    • An email should be sent saying, nicely, pay your bill before we can action this case. 

  • An Increase in entitlement must be approved by a senior staff member before granting it. 

    • Let's assume that the approval process will automatically grant the entitlement. 

    • The Entitlement certificate is sent as a PDF document on case close. 

  • Entitlements are handled by a select team, Technical support is handled by all. 

  • At any time, the Sales staff must know if there are any increase in entitlements pending, when they are out and about on their mobile phones. 

  • There needs to be a report and dashboard of each type of Case, with volume of cases and how quickly they were actioned. 

  • A case should be actioned within 48 hours. 

Scenario

This is a made up scenario, that has just enough twists and turns to use just about all features of cases - but it's a simple scenario.

There are some gaps in this scenario:

  • Why wouldn't they charge for an increase in entitlements? (they are nice people, of course).

This Scenario does not use all of the cool features of the Case Console or Macros (coming in Spring '15) in Service Cloud.

Case Process

  • Technical Support

    • New

    • Picked up by first staff member from the queue

    • Open

    • Look up knowledge base. 

    • Respond to client via email

    • Close

  • Entitlement

    • New

    • Check if outstanding monies

      • Auto email

      • Place in pending

      • Task for accounts team to chase up. 

    • Open

    • Picked up by first staff member from the queue

    • Fill in all required details

    • Send for approval

    • Approved

      • Case Closed

      • Email Sent

      • Entitlement granted (out of scope of this document). 

Flowchart

Here is a process diagram of this process.

See Business Process Diagramming for info on how the diagram was built. 

Gather information

  • What Fields are required? 

  • Which fields are required on views?

  • Which fields are required on reports?

  • What will the dashboards look like?

  • What fields are required at each stage?

    • Eg, what are the fields that are required to be entered for approval. 

  • Who are the people and teams involved? 

  • What is the exact steps that are done to grant entitlement (eg if you are doing a flow interview). 

Steps

Process

Setup

Fields, Validation Rules

Views, Reports, Dashboards

Record Types, Page Layouts, Buttons

Queues, Workflows, Approvals, Auto Responses, Knowledge, Quick Actions

Email

Code / Apps

Other

Process

Setup

Fields, Validation Rules

Views, Reports, Dashboards

Record Types, Page Layouts, Buttons

Queues, Workflows, Approvals, Auto Responses, Knowledge, Quick Actions

Email

Code / Apps

Other

Set up Cases

  • Case Settings

  • Case Feed Settings (see Case Feeds)

  • Support Processes

    • Technical Support

    • Entitlement

  • Email to Case Settings

    • Routing Address x 2 - support@, entitlement@

    • Organizational Wide Email

  • Web to Case form

  • Permission Set for Manage Cases

  • Case Escalation Rules

  • Status

    • Entitlement

      • Pending

      • In Approval

      • Approved

      • Rejected (Closed Status)

  • All Cases

  • Record Types

    • Technical Support

    • Entitlement

    • Entitlement - Grant

  • Page Layouts

    • Technical Support

      • New

      • Open Feed Layout

      • Closed

    • Entitlements

      • New

      • Open 4

      • Approval

      • Closed

  • Technical Support Queue

  • Entitlement Queue

  • Case Assignment Rule for each Queue

  • Create Letterhead

  • Email Footer (if needed)



  • Add Web to Case form to Website

  • Approve Routing Address

  • Forward support@ email address to the new Routing Address

  • Create Salesforce Case to grant Login as users

  • Login as each user

    • Ensure all users have email signatures set.

    • Ensure all users have Cases on their standard tabs

Case Created



  • Case Type

    • Technical Support

    • Entitlement 1

  • Account

    • No. Open Entitlements 2


  • ACTION - New Technical Support 0

  • ACTION - New Entitlement

  • Page Layout Accounts

    • Add No. Open Entitlements, and ensure it is available on Salesforce 1 layouts.



  • Auto Response Rules

  • Change Record Type based on Case Type

  • Quick Action to create Case from Account with pre-filled values.

  • Auto responder email for Technical Support

  • Trigger to calculate No. Open Cases on Account 2



OK for Entitlement



  • Account

    • Outstanding Payments

  • Case

    • Formula - hours in Pending

  • Pending Entitlements



  • If Record Type - Entitlement and Account.Outstanding Payments > 0 then

    • Email Alert

    • Field Update - Status = Pending

    • Task to Accounts + 7 days

  • Email saying no entitlement will be granted - contact Accounts





Pick up Technical Support from Queue

  • Set Status = Open



  • Case

    • Hours Open

  • Technical Support - Responding







  • Install Take Ownership 3

    • Add Button to Page Layout



Existing Account?















Look up answer in Knowledge

  • The following are required

    • Case Feed is set up

    • Knowledge articles are created







  • Set up Knowledge (see Knowledge)

  • Set up Knowledge to use in Cases







Respond to Case



  • Hours to Close

  • Closed Cases



  • If Status = Closed

    • Update Hours to Close

  • Quick Texts for common responses.

  • Email template for response layout





Technical Support Open too long



  • Formula field - flag if escalated.

  • ACTION - Escalated



  • If Hours Open > X (escalation rules) then

    • Field Update Escalated = true

    • Field Update Owner to Manager

    • Notify Manager







In Pending too long



  • Formula field - flag if escalated.

  • ACTION - Pending Overdue



  • If Hours in Pending > X then

    • Field Update Escalated = true

    • Field Update Owner to Manager

    • Task to Manager







Pick up Entitlement from Queue

  • Set Status = Open







  • Entitlement - Responding



  • When Status = Open then 

    • Field Update Change Record Type to Entitlement - Grant 4







Entitlement Rejected

  • set Status = Rejected





  • Rejection Reason (dependant Picklist to Status when Status = Rejected)

  • Close Case Layout to require Rejection Reason

  • Entitlement - Rejected



  • Worklfow for Rejection Email

  • Rejection Email





Fill in required details















  • For a complex scenario here, you may want to do a flow interview - eg for calculating length of entitlement.

Submit for approval



  • Formula Checkbox - OK for Approval 8.

  • Validation Rule - all fields filled in with correct values prior to approval

  • Entitlement - In Approval

    • Owner = Approval Queue OR Status = In Approval

  • Button for Submit for Approval 6.

  • Manager Queue

  • Approval Process 5.







Not Approved









  • See 5 below.







Approved



  • Latest Entitlement Date



  • Entitlement - Granted



  • Approval Process - approved

    • Status = Closed

    • Owner = Previous Owner

    • Update Hours to Close

    • Email Alert

  • Entitlement Granted

  • PDF Attachment 7.

  • Run trigger to grant entitlement

  • Trigger to update Account with latest Entitlement Date



Reports





  • Entitlement Status Report

    • By Status

    • Count of Cases

    • Show Hours Open

  • Closed Case Response Rate Report

    • By Owner

    • By No. Hours to Close

      • Grouping and Conditional Highlighting









  • After Spring '15 you can set up alerts to managers if there are too many items in the queue.

Dashboards





  • Closed Case Response Rate

  • Entitlement Status

  • Entitlements Granted this Week, Month, Year











Documentation















  • Document the process!

  • Document the apps that have been installed

  • Document the stages - what is the criteria for the case at EACH STAGE of the process.

Notes

 0. An ACTION view is a view that must always be empty - if it's not empty then the first thing people must do is deal with those cases. 

 1. The Standard Web to Case form can't handle Record Type fields - so the work around is to create a picklist field, then run a workflow to change the record type. Otherwise, you can create a custom web to case form and set the record type on the way in - depending on your web person's abilities. 

 2. Or use Rollup Helper. Case is not a Master Detail to Account so you need to 

 3. Use Take Ownership for Cases https://appexchange.salesforce.com/listingDetail?listingId=a0N30000007qNiSEAU

 4. This changes the page layout to show the additional fields required for granting an entitlement. This page layout has the Submit for Approval button on it, for example, and it has required fields for the fields that need to be updated. 

 5. This is a simple approval process:

  • Approval Conditions

    • based on OK for Approval = true

  • On enter 

    • Lock Case

    • status = In Approval

  • On non approval 

    • status = Open

    • Task to Owner

 6. I like a button for submit for approval at the top of the page. You can create some Javascript to simulate the message that occurs on approval. 

 7. You can custom build a Visualforce PDF page, or you can use Drawloop - (formerly Nintex Document Generation)

 8. I like to create complex scenarios like this into one formula - that way if the requirements for approval change, you only need to change it in one formula, rather than a validation rule, an approval process, reports, etc. 

 9. If you have scenarios where you get Cases from people that are not already Accounts or Contacts in your Salesforce, then use Email to Case Premium. It does this bit really really well. Note: It does take a bit of setup. 

Have I Missed Anything?

Anything missing?

Anything overdone or not the way you have done it?

Any better ways of doing this?  

Does anything need more explanation?

Add a comment below. Thanks



To be added

As suggested by Chad Meyer from Internet Creations

  • Business Hours

  • Tiered support for some customers who might need support out of business hours.

  • Incorporating Assets as Assets are full Salesforce Object in Spring '15

Charles suggested

  • Global dashboard (Cases opened by week, Cases closed by week, Cases by type, etc.). This helps show volume being managed as well as trends in speed of processing etc. These are things that can be directly attributed to a well-implemented process (or indeed help surface where maybe it is not working yet).

  • This is also a great way to reach users not directly involved with the cases (for example managers), as you can give them a nice tailored dashboard via email