Triggers and events

Mindful Feedback has a number of survey flow options that can be configured using Triggers and Events. These settings can be accessed by clicking on the link in the bottom right corner of a question box.
image of the Question page with Triggers and Events highlighted

This section contains lists of triggers and events that can be added to the question. Triggers are essentially conditional statements that are evaluated after the question is answered. Events are actions that Mindful Feedback can take if a trigger has been found to be true. Multiple events can be added to a single trigger.

To add a trigger to the question, simply click and drag the label from the triggers list onto the outlined box to the left. Then to add an event to the trigger you need to add it to the outlined box.


GIF demonstrating how to add triggers and events

You can add as many triggers as you like to each question and as many events as needed to each trigger. Triggers and events can also be reordered by simply dragging them around.

Triggers

The following triggers can be added to any question

TriggerFunctionImage
Question responseChecks a question response value against the comparison field. Last response is simply the most recent response that was received (Usually this will be the response to the question that the event is triggered by), while the average, lowest, and highest responses are aggregates based on all previous number type responses in the current interaction.

When setting up a Question Response Trigger using a Yes/No question, be sure to set Last response = 1 for a Yes response, and Last response = 0 for a No response.

For example, the customer may hear Press 1 for Yes or Press 2 for No. But in your Question Response Trigger, make sure you set Last response = 0 if you want a No response to trigger an event.

image of the Question response trigger
Respondent dataChecks the respondent's phone number or email address against the comparison field. Note that these values will not always be defined for all survey types.image of the Respondent data trigger
Survey TypeChecks the survey type. If the survey type is equal to the value selected, the events will be activated.image of the Survey Type trigger
Watch WordsListens for positive, negative, or all Watch Words. When used as a Wrap-Up Trigger, an additional field allows you to wait until a specified survey attribute has been updated before triggering the associated events.image of the watch words trigger
Agent IDChecks the agent ID associated with the interaction. If the agent ID of the interaction is equal to (or not equal to, depending on the operator selected) the selected agent ID, the events will be activated. Note that you can use this trigger to check for the case when no agent ID is assigned to the interaction by leaving the comparison field blank.image of the Agent ID trigger
Always triggerAny events attached to this trigger will be triggered whenever the question is processed.image of the Always trigger
Custom triggerCompares a custom evaluation field to the comparison field by any operator you like. The custom field can be a set value, or it can be a prompt template value. This allows you a lot of flexibility, including evaluating prompt expressions with multiple variables in them or comparing different interaction variables to each other.image of the Custom trigger
Note:

As some of the surveys that pass into Mindful Feedback do not yet have all of the information of the original conversation, there is the option to have a trigger wait until a specific attribute has been updated into Mindful. This offers the ability to send email/SMS/third-party notifications that contain complete information from the call and survey.

Events

The following events can be added to any trigger

EventFunctionImage
Skip QuestionsSkips the number of questions specified in the number box. If there are fewer questions left on the survey than the number to be skipped, the closing message will be sent to the respondent and the survey will end.image of the Skip questions event
Go To QuestionJumps to a specific question, skipping all questions in between. The number of the question to jump to must match the number on the left of the question row on the survey management page. If there is no question in the survey with the number specified, the closing message will be sent to the respondent and the survey will end.image of the Go to question event
Send an EmailImmediately sends an email with the specified email message and subject line to the specified recipient. By default, the recipient is set to the email address of the respondent. Note that only plain text emails can be sent using this event, but the recipient, subject, and message fields will first be processed as prompt templates, allowing you to provide custom messages based on interaction variables. If the recipient is not a valid email address, the event will have no effect and an error will be logged in the event log.
Note: If you would like to send an email to more than one recipient, separate recipient email addresses with a semicolon.
image of the Send an email event
Send a NotificationImmediately sends an email and/or browser notification with the specified message and title to the specified recipient. By default, the recipient is set to the agent user. Note that the recipient, title, and message fields will first be processed as prompt templates, allowing you to provide custom messages based on interaction variables.image of the Send a notification event
Send an SMSImmediately sends an SMS message with the specified text to the specified recipient. By default, the recipient is set to the email address of the respondent. Both the recipient and message fields will first be processed as a prompt template allowing you to provide custom messages based on interaction variables. If the recipient field is not an SMS capable phone number, the event will have no effect and an error will be logged in the event log.image of the Send an SMS event
Say a MessageWill add the message field to the next message sent to the respondent. If the interaction is a voice survey type, this message will be played using text to speech. The message field will first be processed as a prompt template allowing you to provide custom messages based on interaction variables. In most circumstances a prompt type question can be used to accomplish the same effect in a more straightforward way.image of the Say a message event
Play Sound FileImmediately plays a sound file for the survey respondent. This event only works for voice type surveys. In most circumstances a prompt type question can be used to accomplish the same effect in a more straightforward way.image of the Play a sound file event
Set External ReferenceSets the external_ref variable on the interaction to the value specified. The value field will first be processed as a prompt template.image of the Set External Reference event
Set Call TypeSets the call_type variable on the interaction to the value specified. The value field will first be processed as a prompt template.image of the Set Call type event
Set Agent IDSets the agent ID on the interaction to the value specified. The value field will first be processed as a prompt template. This will affect which agent user is able to see reporting for this interaction.image of the Set Agent ID event
Set Respondent LanguageSets the language for the interaction respondent. The value field will first be processed as a prompt template. This will affect which agent user is able to see reporting for this interaction.image of the Set respondent language event
Set Interaction DataSets the custom interaction data variable specified by the Custom Key field to the value specified. Both the Custom Key and the Value fields will first be processed as prompt templates. Note that the Custom Key field must start with a letter and contain only letters, numbers, and underscores. The custom key also must not share a name with a predefined interaction variable such as agent_id, call_type, or external_ref. If the custom key field is not valid, the event will have no effect and an error will be logged in the event log.image of the Set Interaction data event
Post to URLSends a GET, PUT, PATCH or POST request to the specified URL with the specified Body. Both the URL and the Body fields will first be processed as prompt templates, so if you are including a JSON array in your body, it is important to escape any square brackets with a single backslash (eg. "array":["a","b"]). This event can be used for triggering unauthenticated webhooks in third-party systems, or for making secure API calls in Genesys Cloud or Salesforce. All authentication methods are supported. These integrations can be managed in your Customer Settings.image of the Post to URL event
Abandon/Complete SurveyEnds the interaction with the respondent. If the survey is not already marked as finished (see below), the interaction will be considered abandoned.image of the Abandon/Complete survey event
Mark Survey as FinishedMarks the interaction as finished, making it safe to end the interaction at any point without it counting as an abandon.image of the Mark survey as finished event

Custom Triggers can be used to evaluate multiple conditions. For "AND" conditions you simply string each condition to each other in the value input box such as:

%call_type%==Customer Service??%survey_type%==websms??%Customervalue%==GOLD??%last_response%==1

When using a condition like this you can check if it is true by using the "=" operator and the word "true" as shown in the screenshot below:

Screen capture of Custom trigger

Wrap-up Triggers and Events

Wrap-up triggers and events can be added to any survey by clicking on the link below the questions list on the survey management page.

These act exactly as question triggers and events but are activated once an interaction is fully completed (unless completed due to timeout). These triggers are especially useful if you need to use transcribed voice responses, as they are only activated once all transcriptions associated with a survey interaction are complete.

Timeout Triggers and Events

Timeout triggers and events can be added to any survey by clicking on the link below the questions list on the survey management page. These triggers are activated if an interaction times out.

Because these are activated after the survey has finished, survey flow events such as the go to question event or the play message event will have no effect here.

Example Use Case #1 - Skip Questions Based on Responses

In this example, we will begin by asking an NPS question. Based on the customer's NPS response (promoter, detractor, or passive), we will send them to different questions to gather different types of feedback.

  • We will move promoters (response >= 9) to a call to action to sign up for future notifications. This allows us to reinforce the customer relationship with promoters who are already happy. After that, the promoter will move to an open feedback question.

  • We will move detractors (response <= 6) to an apology and a request for more feedback about their interactions. After that, we will end the survey.

  • We will move passives (response = 7 or 8) directly to the open feedback question. This could help us to determine how the passive responses could be upgraded to promoters in the future.

First Question - NPS

To start, we will add three triggers to the initial NPS question to set up the three different paths:

  • Trigger 1 - If Last Response >= 9, move to Question 3 (Promoter)

  • Trigger 2 - If Last Response <= 6, move to Question 2 (Detractor)

  • Trigger 3 - If Last Response is either 7 or 8, move to Question 4 (Open Feedback)

    • To accomplish this, we will use the "in" operator and provide an array of "7,8" as the value

example of a question with three triggers

Second Question - Detractor

Only detractors will see this question. We will solicit their feedback, mark the survey as finished, then complete it. It is important to invoke the Mark Survey as Finished event before the Abandon/Complete Survey event to ensure the survey is marked as Complete. We will use the trigger type Always Trigger to ensure that the events are always invoked.

example of completing a survey via triggers and events

Third Question - Promoter

Only promoters will see this question. Since our promoters are excited and happy about our brand, we will take this opportunity to sign them up for notifications about future events. The survey will move on the next question when this one is complete.

example of a call to action for promoters

Final Question - Open Feedback

Passives and promoters will see this question, but detractors will not. For customers who are happy or indifferent, we will ask for any additional feedback they would like to share. Since this is the final question and we did not add any wrap-up triggers, the survey will end here.

example of an open feedback question

Example Use Case #2 - Send Alerts For Watch Words

In this example, we would like to analyze an open-feedback question (Text/Record) to detect when customers are excited about our brand and ready for a sales call. We can use positive Watch Words to find buying signals in customers' responses. When one of these Watch Words is detected, we will send an email to a Sales team lead.

Watch Words

To achieve our goal, we need to make sure that all of the configured Watch Words indicate a customer is a good prospect for a followup sales call.

example watch words configuration

Text/Record Question

With the Watch Words in place, we can then ask any question we'd like, as long as the Type is Text/Record. In this example, we will ask "What did you like most about the service you received?". We will set the Max Response to 250 to allow customers some room to respond.

example text record question

Watch Words Trigger

We will attach a Watch Words trigger to the question, evaluating the %last_response% variable to see if it is "A Positive Watch Word".

example watch words trigger

Send an Email Event

When the trigger activates, we will use a Send an Email event to alert the Sales team to schedule a follow-up call with the customer. We could add a Send an SMS and/or Send a Notification event to this trigger, as well.

example send an email event

Example Use Case #3 - Send an Email to a Group Based on a Question Response

We can use Triggers and Events to send an email to a group of people based on important characteristics of a survey, such as negative feedback. To send an email after receiving the lowest possible score on a question will require two pairs of triggers and events--one attached to a question, and a wrap-up trigger/event at the end of the survey.

Question Response + Set Interaction Data

First, we want to populate a variable that we can use later to determine whether we should send an email or not. For this, we will use a Question Response Trigger to detect if a low score was received for a particular question.

In our example, we check for "Last Response = 1" on a CSAT question. We will use a Set Interaction Data event to create a Custom Key, then assign a value to it (in our example, we will assign 1). We can then check this value in the next step.

example of a question response trigger with a set interaction data event

Custom Trigger + Send an Email

At the end of the survey, we can evaluate the Custom Key in a wrap-up trigger to determine whether we should send an email or not.

In the following example, we use a Custom Trigger to evaluate whether EmailAlert = 1, which would only be true if the trigger and event attached to the survey question was activated. We attach a Send an Email event with a list of email addresses to include, separated by semicolons.

example of a wrap up trigger and event

There are two enhancements used in the example above to make the email more actionable and informative:

  • The Recipient line contains text variables in addition to plain-text addresses, allowing us to add a large email distribution list efficiently.

  • The Message field contains variables as well, such as the queue name, response given, and third-party interaction data, to provide context to the recipients.