Problem / Requirement
My customer wanted to offer the analysts the ability to convert an Incident, into a Request. OOTB There is an action that allows you to create an Incident from a Request (capturing the necessary details), but there isn't an action for the opposite direction. The steps below tell you how to implement such a thing.
1. Before we can implement any actions, we need to have a Request Offering to use, when converting an Incident into a Request. So usually that will be a Generic Request, that has no workflow, or a very simple workflow, and not a lot else. So, if you don't have one of these already, you will need to create one.
2. Once you have the Request Offering that we will use when converting, we need to find out what the values for the SvcReqTmplLink and SvcReqSubscLink fields, when a Request is created using the Generic Offering.
There are several ways to find this out, but the easiest is to temporarily add these fields to your Request Form, Create a Request using that offering and copying the values. OOTB both of these fields are hidden, so you may need to change that, by finding the fields in the Service Request Business Object, and setting Hidden in UI to false.
Once you have your two RecId values, you can remove the fields from your Form again.
3. Now we need to create a new Quick Action within the Incident Business Object. This is a Composite Action, and needs to be configured something like below:
I have highlighted some of the key options/fields.
In the SvcReqTmplLink and SvcReqSubscLink you will use the values you copied in step 2.
I recommend you set ALL of the other attributes, to ensure they Request is logged correctly.
I also created a Boolean on the Service Request Business Object (CreatedFromIncident) that would set to True if the action was used. This could be used to report on the number of mis-logged Incidents.
An example of my expression used to set the Description is below. It simply pulls the Incident Number, Summary Description, Service, Category and Subcategory into the description of the Request, to give the analyst all the information:
$("<b>Incident# </b>" + IncidentNumber + "<br><br><b>Summary</b><br>" + Subject + "<br><br><b>Details</b><br>" + Symptom + "<br><br><b>Service</b><br>" + Service + "<br><br><b>Category</b><br>" + Category + "<br><br><b>Subcategory</b><br>" + Subcategory)
4. OPTIONAL STEP
If you want to, we can then Close the Incident down, as part of this action. To do this, we add a new action to Update the Object, setting the status and Cause Codes, as below:
We then need to Save this quick action
5. We can then add this quick action to any Incident Tools bars (Form or Grid view).