Trying to create a sales SLA process declaratively. I have a date field (Status Change Date) which is updated with a workflow rule to TODAY() whenever the Status field is edited. I'm trying to create a task when the status hasn't changed for 21 days, so I was using a Time-based workflow rule… Trigger when status = working, time-based workflow is 21 days from status change date create a task.
I'm not sure that it's working. To test I set the time-based workflow down to 1 day, changed the status which triggered the Status Change Date to update. I checked back today, but I did not see the task.
I looked into some documentation and found this. The line that concerns me is the following:
Time triggers don't support minutes or seconds.
Time triggers can't reference the following:
DATE or DATETIME fields containing automatically derived functions, such as TODAY or NOW.
Formula fields that include related-object merge fields.
Does this mean that the time-based workflow won't use the Status Change Date because it was set by the workflow rule to TODAY()?
If that's true, is there any declaritive way to trigger a task when a record is sitting in a status after a period of time?
Best Answer
This is the correct way to do this. It will use the status change date assuming you are not using a formula field. Assuming you have just set the field using TODAY it will be fine to use.
The trigger just cant reference a nondeterministic formula. Try checking on the work flow to update field check reevaluate workflow criteria.
I created a workflow that updates a field to today based on status changed. The second workflow uses a formula that is set to true and will start a task (or in your case email) if the field value is not updated within the time period. - It creates the task every period unless the field is updated and stops it from sending.
You can use time-based workflow monitoring to help debug and check if its working. It should show up. setup->monitoring->time based workflow