Navigate and download example survey invite flows


When planning and designing your survey invite flow, use the following examples, tips, and considerations to help maximize agent productivity and improve customer satisfaction. Before you begin, familiarize yourself with canned responses. For more information, see About canned responses and Create responses.

Survey invite flow examples

These examples contain generic keywords and variable information. To adapt the example survey invite flows for your organization, replace the generic information with ones appropriate for your situation.


This example illustrates how to set up a simple survey invite flow:

  1. From the task editor Toolbox, expand Survey Invites and drag a Complete Survey action into the task editor.
  2. Under Target Email Address, enter a literal value or an expression to retrieve the address to use to contact the survey invitee. This entry is typically an email address. In this example, switch to expression mode and type Survey.CustomerContact.personalEmail.
  3. Under Invite Subject, enter a literal value or an expression to set the subject line of the initial survey invitation. In this example, type Survey from PureCloud!
  4. Under Invite Body, enter a literal value or an expression to set up the contents of the initial survey invitation. For this example, switch to expression mode and type this expression: “Click here” + survey.url
    Note: You can optionally set subject and body information for a separate reminder email. However, our simple survey flow does not include this step.
  5. Validate, save, and publish the survey invite flow.

Download and import a simple survey invite template flow into your PureCloud Organization.

Note: Use this example as a point of reference as you create your own flow. Best practice recommends that you tailor the flow to your organization’s needs.

Download the Simple survey invite flow template.

The following procedures describe how to create an advanced survey invite flow based on the contact’s preference to opt in or out of survey invitations.

Create a reusable task and retrieve the external contact

This task encapsulates logic that attempts to collect the external contact in various ways.

  1. From the Toolbox, drag a Task action into the Reusable Tasks area.
  2. Name the task action Get External Contact
  3. Click Click to open. The task editor opens.
  4. From the task editor Toolbox, expand Logical, and do the following:
    1. Drag a Decision action below Start.
    2. Under Expression, type IsSet(Survey.CustomerContact). This expression checks to see if an External Contact is verified for the conversation. If so, the external contact is available to the flow in Survey.CustomerContact.
  5. Configure the Decision action’s Yes path:
    1. From the task editor Toolbox, expand Data, drag an Update Data action into the Decision action’s Yes path, and do the following:
    2. Click Add update statement and select ExternalContact.
    3. Under Variable Name, type Task.externalContact.
    4. Click Task.externalContact. The Edit Variable dialog box opens.
    5. Under Variable Options, select the Output from Task check box.
    6. Click Save to return to the Update Data action configuration.
    7. Under Value To Assign, type Survey.CustomerContact.
  6. Configure the Decision action’s No path. If the system cannot find a verified External Contact, this action searches for one using the participant’s address. Typically, this result is a phone number or email address:
    1. From the task editor toolbox, expand External Contacts, drag a Search External Contact action into the Decision action’s No path, and do the following:
    2. Under Search Term, type Survey.CustomerAddress.
    3. Under External Contact Results, type Task.ExternalContactsList.
  7. Configure the Search External Contacts action’s Exact Match path:
    1. From the task editor Toolbox, expand Data and drag an Update Data action into the Exact Match path.
    2. Click Add update statement and select ExternalContact.
    3. Under Variable Name, type Task.externalContact.
    4. Under Value To Assign, type GetAt(Task.externalContactsList, 0).
  8. Configure the Search External Contacts action’s Multiple path. Because the system did not locate an exact match and therefore may not have a correct email address, we choose not to send a survey and instead end the task:
    1. From the task editor Toolbox, expand Task and drag an End Task action into the Multiple path.
    2. (Optional) Rename the action.
    3. Under Output Path, select Default.
  9. Configure the Search External Contacts action’s Not Found path. As in step 8, because the system did not locate an exact match and may not have a correct email address, we do not send a survey and instead end the task:
    1. From the task editor Toolbox, expand Task and drag an End Task action into the Not Found path.
    2. Under Output Path, select Default.
  10. Check the contact to see if they indicated that they do not want surveys. If so, end the task with the OptOut disposition for tracking purposes:
    1. From the task editor Toolbox, expand Logical and drag a Decision below the Update Data action.
    2. Under Expression, type Task.externalContact.surveyOptOut.
  11. Configure the Decision action’s Yes path:
    1. From the task editor Toolbox, expand Task and drag an End Task action into the Yes path.
    2. Under Output Path, select Default.
  12. Configure the Decision action’s No path:
    1. From the task editor toolbox, expand Task and drag an End Task action into the No path.
    2. Under Output Path, select ExternalContactFound.

Create a reusable task and retrieve an external contact’s email address

  1. From the Toolbox, drag a Task action into the Reusable Tasks area.
  2. Name the task action Get Invite Email Address.
  3. Click Click to open. The task editor opens.
  4. From the task editor Toolbox, expand Logical and drag a Switch action below Start.
  5. Under Evaluation Style, select Take path of first case that returns True. The contact may have multiple email addresses, or perhaps does not have a personal email address. This action allows the survey flow to use any available email address, while giving preference to the personal email:
    1. Under Case 1, type IsSet(Task.customerExternalContact.personalEmail).
    2. Under Case 2, type IsSet(Task.customerExternalContact.workEmail).
    3. Under Case 3, type IsSet(Task.customerExternalContact.otherEmail).
  6. Configure the path for Case 1:
    1. From the task editor Toolbox, expand Data, drag an Update Data action into the Switch action’s Case 1 path, and do the following:
    2. Click Add update statement and select String.
    3. Under Variable Name, type Task.surveyInviteEmailAddress.
    4. Click Task.surveyInviteEmailAddress. The Edit Variable dialog box opens.
    5. Under Variable Options, select the Output from Task check box.
    6. Click Save to return to the Update Data action configuration.
    7. Under Value To Assign, type Task.customerExternalContact.personalEmail.
  7. Configure the path for Case 2:
    1. From the task editor Toolbox, expand Data, drag an Update Data action into the Switch action’s Case 2 path, and do the following:
    2. Click Add update statement and select String.
    3. Under Variable Name, type Task.surveyInviteEmailAddress.
    4. Under Value To Assign, type Task.customerExternalContact.workEmail.
  8. Configure the path for Case 3:
    1. From the task editor Toolbox, expand Data, drag an Update Data action into the Switch action’s Case 3 path, and do the following:
    2. Click Add update statement and select String.
    3. Under Variable Name, type Task.surveyInviteEmailAddress.
    4. Under Value To Assign, type Task.customerExternalContact.otherEmail.
  9. Configure the path for Default:
    1. From the task editor Toolbox, expand Task and drag an End Task action into the Yes path.
    2. Under Output Path, select Default.
  10. Configure the task’s ending action:
    1. From the task editor Toolbox, expand Task and drag an End Task action below the Switch action’s Case paths.
    2. Under Output Path, select EmailAddressFound.

Create and configure the action to send a survey invitation to the external contact

  1. From the Starting State, click Click to open.
  2. From the task editor Toolbox, expand Data and drag a Get Response action below Start.
    Note: The library, response, and substitutions available here depend on what you define in PureCloud Admin > Contact Center > Canned Responses.
  3. Configure the Get Response action:
    1. Under Library, select the collection that contains the response you want to add. In this example, the response is in the QM Response Library.
      Note: This selection depends on your quality management response configuration. To see an example of a canned response, see Show me a canned response example at the end of this article.
    2. Under Response, select the predefined message you want to add to the flow. In this example, the response is Survey invitation.
    3. Under Output Response Body, type the name of the variable used to store response configuration, allowing it for use in other locations within the flow. In this example, switch to expression mode and type State.inviteResponse.
    4.  Enable the Perform Substitutions check box. This example includes four available substitutions. For more information, see the canned response example image in the next section.
    5. Under COMMUNICATION_TYPE, switch to expression mode and type Survey.ConversationType.
    6. Under AGENT_NAME, leave the default configuration.
    7. Under CONTACT_DATE, switch to expression mode and type ToString(Month(Survey.ConversationEndDateTimeUtc)) + “/” + ToString(Day(Survey.ConversationEndDateTimeUtc)) + “/” + ToString(Year(Survey.ConversationEndDateTimeUtc)).
    8. Under SURVEY_URL, type Survey.URL.
  4. Complete the Get Response action’s Success path:
    1. From the task editor Toolbox, drag a Call Task action into the Get Response action’s Success path.
    2. Under Task, select the Get External Contact task created previously.
    3. Under Outputs, type State.externalContact.
  5. Configure the Call Task action’s ExternalContact path:
    1. From the task editor Toolbox, drag a Call Task action into the Call Task action’s ExternalContact path.
    2. Under Task, select the Get Invite Email Address task created previously.
    3. Under Inputs, type State.externalContact.
    4. Under Outputs, type State.surveyInviteEmailAddress.
  6. Configure the Call Task action’s EmailAddress path:
    1. From the task editor Toolbox, expand Survey Invites and drag a Complete Survey action below the Call Task action’s EmailAddress path.
    2. Under Target Email Address, type State.surveyInviteEmailAddress.
    3. Under Invite Subject, type “Thank you for your ” + Survey.ConversationType.
    4. Under Invite Bodytype State.inviteResponse
  7. Configure the Call Task action’s OptOut path and end the flow if the contact does not participate in surveys:
    1. Expand Survey Invites and drag an Abort Survey action below the Call Task action’s OptOut path. 
    2. Under Disposition, select OptOut.
      Note: Configure the option that allows an external contact to opt out of surveys in PureCloud > Directory > External Contacts. For more information, see Note an External Contact’s survey opt-out preference.
  8. Configure the closing action for the flow:
    1. Expand Survey Invites and drag an Abort Survey action to the bottom of the task.
    2. Under Disposition, select error
  9. Validate, save, and publish the survey invite flow.

Download and import an advanced survey invite template flow into your PureCloud Organization.

Note: Use this example as a point of reference as you create your own flow. Best practice recommends that you tailor the flow to your organization’s needs.

Download the Advanced survey invite flow template.

Create a canned response in PureCloud Admin > Contact Center > Canned Responses: