function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Vandana RattanVandana Rattan 

Reassign Cases after 15 days

I need to implement the following scenario:-

All the cases which have been put on hold should be reassigned to a particular queue. I need this to run every 15 days. I am thinking of addressing this by creating a Time Dependent workflow that would be evaluated:-

1) When a record is created, and any time it’s edited to subsequently meet criteria.
2) Every15 days after Case: Last Modified Date.

Is this the correct way OR do I need to implement this programatically?

How can I take care of my existing cases which are created before the workflow is created?
Sumitkumar_ShingaviSumitkumar_Shingavi
For existing cases, you have to follow below steps:
1. Extract cases (Only Id field) using Data Laoder
2. Fire up Update and select same CSV you exported in step #1. So this is a dummy update which will change your Last Modified Date and workflow will fire.

PS: if this answers your question then hit Like and mark it as solution!
Scott McClungScott McClung
The part that is missing from your example is the criteria that identifies a Case record that 'has been put on hold'.  Is that a status value that your agents select or is it something like 'anything that hasn't been modified in the last 15 days'?

This criteria is what will define whether you can do this with a time based workflow or not.  

A workflow rule requires that a change to the record happen that meets some criteria in order to be evaluated to as true before you can use a time based field update.  If you're looking for something that moves the record to the queue 15 days after the last modified date regardless of what any field values are, then you'll probably want to create a batch process that runs daily and looks for Case records that haven't been modified in the last 15 days.
Sumitkumar_ShingaviSumitkumar_Shingavi
@Vandana, I will suggest you to put a filter in Data Loader when extracting the Case data. Filter will be LastModifiedDate "greater than or equal to" Today() - 15

PS: if this answers your question then hit Like and mark it as solution!
Sumitkumar_ShingaviSumitkumar_Shingavi
Sorry it should be "less than or equal to"
Vandana RattanVandana Rattan
Thanks for your replies Sumit/Scott.

@ Scott:On Hold is the Case status. I want the cases whose status has been changed to On Hold to be assigned to a particular queue after 15 days of status change. Will workflow suffice in this case?
Sumitkumar_ShingaviSumitkumar_Shingavi
You should be using Case Assignment rules on specific criterias based on what you mentionedin your last comment.

How to (Video): https://www.youtube.com/watch?v=Ln3PKuizhSM
One more ref: http://www.shivasoft.in/blog/salesforce/create-and-manage-assignment-rules-in-salesforce/

For older Cases, you have to go the way I mentioned to fire dummy updates on Case so that Case Assignment rule kicks off. (You might need to use Time triggered workflow to update the case status "Ready for Reassignment" after it becomes 15 days older and then Case Assignment Rule will pick up this case and reaasign to a specific Queue i.e. Change Case.Owner to a QueueId)

PS: if this answers your question then hit Like and mark it as solution!
Scott McClungScott McClung
Vandana, that criteria does make it easier.  You could use a time based workflow and use that status field as your critieria.

I don't work with cases much so I always forget that they have some additional processing rules that you can leverage.  In this case you might want to take a look at the Case Escalation Rules.  It is probably the better solution over a workflow rule. https://help.salesforce.com/apex/HTViewHelpDoc?id=creating_escalation_rules.htm&language=en