Using Salesforce Surveys With Cases
Step 1: Add a custom look-up field to the Case object to the Survey Invitation object. Make sure to that the related list - Survey Invitations - shows up Case page layout.
Step 2 - Optional but recommended - Add a URL field to the Case object called Survey Link. Will explain how to use this later.
Step 3 - Create your Case Survey - remember you can only have one survey unless you purchase a Survey Creator license.
Step 4 - In a Case record, find the related list created in step 1. Click on New. Then create and save the Survey Invitation. Make sure to link the Invitation to a Community (Network field) and to the Case Survey created in Step 3. Recommend that you name it something useful like "Survey for Case <CaseNumber>. The record is automatically linked to the case.
Another optional field is Survey Invitation Expiration date. Once this time passes, the invitation link associated with the invitation is no longer any good. Currently, by design, this field is not editable once the Survey Invitation is created, and you cannot edit the field if the record is created manually. But if you use an automated process to create the invitation, you can set a value.
Step 5 - Once the Survey Invitation is created, the Survey Link is automatically generated (formula field ?). If all is OK, when you click on the link in the survey invitation record, the survey linked to your community should launch.
Step 6 - Send the survey link to the case contact in an email. And wait . . . wait . . .
Step 7 - If the contact responds, you can see the responses in the Case record. First, open the Survey Invitation in the Case related list. Next, open Survey Response in the Survey Invitation related list. The responder is named "Anonymous Responder". But because the Invitation is linked to the Case, you should know who the responder is. You can get multiple responses to the same cases. Because the invitations are anonymous, multiple responses could be generated for one invitation. But since each case has a unique invitation this should not be a problem. Finally, on the Survey Response record, there is one more related list - Survey Question Responses. So you can see all of the responses related to the case.
Doing More - Reporting
You have to create a new Report Type that shows Surveys, Survey Invitations, then Survey Responses, and finally Survey Question Responses.
Because the Case record is linked to the Survey Invitation, you can add the Case related fields like Contact Name, Account Name, and Case Owner as available fields (and available for filtering).
If you only have one Survey, this will work fine. If you have multiple surveys, you can filter the report to show Survey Invitations from only selected Surveys.
Doing More - Email Template
If you created the Survey Link on the Case object in optional Step 2 and you populate that field after the Survey Invitation is created, you can can create an email template that you use with the case. Send the email to the Case Contact and include the Survey Link field along with any other useful information you want to pass to the case contact.
With an email template, you could have a workflow rule that sends the invitation to case contact when:
- The case is closed.
- The case contact has an email address.
- The Survey Link field is populated.
Doing More - Automated Creation of Survey Invitation
You can create a apex method that automatically creates the Survey Invitation. You can run the process from a Case Trigger or from a button/action on the Case. If you go this route, you need to have the Survey record ID and your Community (Network) record ID. I suggest putting these values in custom settings or metadata instead of specifying them explicitly in the code.
And once the Survey Invitation is created, the same process can update the Case record with the freshly created Survey Link.
Would love to get feedback on this.
Comments? Questions?
@David Claiborne Thanks for the info. But is it possible to see survey responses as a separate section in case page layout itself ? Instead of going to related list and navigating to response records?