Hi Riyazuddin,
I would recommend setting a DateTime field on the service activity form for “Response Time”. You might have created this already.
I would also suggest you create a field to record the DateTime when the engineer reaches the client site. The modified on field is not a reliable check for when the record was updated as it can be updated if the parental record is updated.
These are the steps I recommend you follow to setup your SLA process.
1- Send Email when the service activity is created (You can check status to see if it is scheduled). Set the "Response Time" field. The workflow can be run when this field is updated. Make sure the respnose time field is date time otherwise you will not be able to access it as a datetime field in the workflow.
2- Have a read of the blog post below. This shows how your workflow can timeout after the response time has expired.
http://www.askcrm.com/Default.aspx?tabid=866&EntryID=55
3- When the Response Time expires check that the engineer has updated the "Site Arrival DateTime" field. If the field has not been set you can raise an email.
This approach will not only help you escalate activities when an engineer has not reached site on time but also record the exact time when the engineer reaches site.
Hassan.
Hassan Hussain | http://hassanhussain.wordpress.com/