Triggers and events
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.
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
Trigger | Function | Image |
---|---|---|
Question response | Checks 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. | |
Respondent data | Checks 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. | |
Survey Type | Checks the survey type. If the survey type is equal to the value selected, the events will be activated. | |
Watch Words | Listens 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. | |
Agent ID | Checks 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. | |
Always trigger | Any events attached to this trigger will be triggered whenever the question is processed. | |
Custom trigger | Compares 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. |
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
Event | Function | Image |
---|---|---|
Skip Questions | Skips 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. | |
Go To Question | Jumps 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. | |
Send an Email | Immediately 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. | |
Send a Notification | Immediately 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. | |
Send an SMS | Immediately 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. | |
Say a Message | Will 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. | |
Play Sound File | Immediately 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. | |
Set External Reference | Sets the external_ref variable on the interaction to the value specified. The value field will first be processed as a prompt template. | |
Set Call Type | Sets the call_type variable on the interaction to the value specified. The value field will first be processed as a prompt template. | |
Set Agent ID | Sets 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. | |
Set Respondent Language | Sets 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. | |
Set Interaction Data | Sets 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. | |
Post to URL | Sends 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. | |
Abandon/Complete Survey | Ends the interaction with the respondent. If the survey is not already marked as finished (see below), the interaction will be considered abandoned. | |
Mark Survey as Finished | Marks the interaction as finished, making it safe to end the interaction at any point without it counting as an abandon. |
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:
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
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.
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.
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 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.
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.
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".
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 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.
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.
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.