Configure a satisfaction survey script
This topic describes how to configure a satisfaction survey script.
This topic provides a demo of a satisfaction survey script configuration.
The following figure shows the conversation flow design.

1. Create a new scenario
Click Create Scenario. Set a name for the scenario. For Industry and Scenario, select the default General option.
After you configure these settings, click Save Scenario.
2. Configure the conversation flow (script)
2.1. Select and open the scenario
2.2. Find Conversation Flow Management and create a new conversation flow

Set a name for the conversation flow and then click OK to save it.

2.3. Select the new conversation flow and click Edit Conversation Flow

After you click Edit, the script configuration interface is displayed.

2.4. Configure the script content
2.4.1. Select the gray Start node to configure the outbound call trigger intent

Configure the start intent and start utterance. (This configuration is required to trigger outbound calls. Be sure to follow these steps.)

In the location shown in the preceding figure, click Edit.
In the empty text box after `Intent-Yes-`, select `New Intent`.
Set the intent name and intent code. You can use any name and code.

Click OK. Then, edit the user utterance and set a specific start utterance.

Enter 'start' and click Add. (You can then trigger the item to complete the process.)

Save the intent, associate it with the node, and then save the node.

2.4.2. Configure a standard node
You can click the arrow below the Start node to select a functional node, or drag a node from the left of the canvas and connect it.
1) Click the arrow and select Standard Node.

Alternatively, you can drag a Standard Node from the left onto the canvas.

Configure the first node's broadcast content and create branch intents
Attach the standard node to the downward-pointing arrow of the Start node.

Open the business broadcast and inquiry node to configure the broadcast content.

Scroll down in the node content to configure scripts for unrecognized responses and timeouts. In this example, the unrecognized response and timeout are configured to occur only once. You can configure the number of broadcasts for each as needed.

Click Unrecognized Response Configuration to configure the action that is performed when the bot cannot understand the user's reply.

Click Add Action and then select Hang up.

To help optimize the conversation flow, you can add another action. Select Variable Configuration to record the unrecognized response. This step is optional.

This completes the unrecognized response configuration. Next, you can configure the timeout, which occurs when the user does not reply after the bot finishes speaking.
Click Timeout Configuration to add a timeout configuration.

Define the number of seconds of silence that constitutes a timeout and add a response.


Similar to the unrecognized response configuration, you can add an action. Select Hang up and record the abnormal hang-up status.



After you configure the unrecognized response and timeout settings, add a branch intent node. Scroll down in the node to the User Says section.
Click Create User Branch. This lets you create intent branches for possible user replies to the bot's question.
Set a name for the branch and create the corresponding intent content.
Guide to configuring a general affirmative intent:
Set the intent name and intent code.
When you are finished, click OK. In the pop-up window that appears on the right, edit the utterance.

This example uses an LGF utterance template for editing. LGF templates are more effective at generalizing keywords. The content is as follows:
(!not|no){0,20}(is|can|ok|right|good|need|satisfied|succeed).{0,10}

After editing, click Add to confirm the utterance.

Then, click Save to associate and attach the branch intent.


Click Create User Branch again to configure a negative intent for scenarios where the wrong person answers the call.
Configure a general negative intent:


The intent configuration is: .{0,10}(not right|incorrect|cannot|no way|not.{0,2}satisfied|wrong number|not good|no|don't need).{0,10}



After you configure the branches, the trigger broadcast and user response for the first node are fully configured. Click Save Node and then configure the next step of the flow.
According to the flow guide, if the correct person answers, the bot asks if they have received the goods. If the wrong person answers, the bot hangs up. The specific flow is configured as shown in the following figure:

Configuring third-party nodes
First, click the Hang-up node, configure the broadcast script, and execute the hang-up action.

As shown in the preceding figure, the hang-up node configuration is complete. However, you also need to capture this result. To do this, select the Subsequent Action feature again, select Variable Configuration, and record this result so that it can be generated in a report.

The variable configuration acts as a mechanism to tag and record the result from the previous response for feedback.

After you finish the settings, click Save Node.
Configure the node to ask about goods receipt:
Click the node that asks about goods receipt to edit the broadcast content:

This configuration omits the unrecognized response and timeout settings. You can start configuring directly from the intent branch (User Says).

Based on the user's response, create two different branches for "received goods" and "did not receive goods". You can continue to use the general affirmative and negative intents.
Edit the "received goods" branch intent

However, based on the existing affirmative expression, you need to add keywords to the utterance.

Add the "received" keyword: (!not|no){0,20}(yes|can|ok|right|good|need|satisfied|done|have|received).{0,10}


Create the "did not receive goods" branch intent

Similarly, click Edit to add keywords.
Add intent content: .{0,10}(not right|incorrect|cannot|no way|not.{0,2}satisfied|wrong number|not good|no|don't need|haven't|not.{0,2}received).{0,10}
After you configure the branches, find the Subsequent Action feature in the node to tag the result of the previous response.


Save the node after the configuration is complete.
Configure the node to advise prompt pickup:
Click the node to edit the broadcast content:


Add subsequent actions: hang up and variable configuration (result tagging).

Check satisfaction with the node configuration:
Click the node and configure the broadcast content and intent branches:

Find User Says (intent branch) and edit the branch configuration.

Find the Subsequent Action feature and process (tag) the result from the previous round of conversation.

After you finish the settings, click Save Node.
Configure the hang-up node for "satisfied":


Configure the node to ask for the reason for dissatisfaction:

For this reason collection branch, use the built-in system intent `AnythingElse`. The `AnythingElse` intent captures whatever the user says.

After you select the `AnythingElse` intent, find the Subsequent Action feature to tag the response content from the previous node.

After you finish the settings, click Save Node.

Configure the hang-up node after collecting the reason:

The tagging for this node is different from other nodes. You need to return what the user said. To do this, you can reference a built-in system parameter.
In the value assignment field, enter `$` and select Environment Parameter. Find `CURRENTQUERY`. This built-in parameter is used with the `AnythingElse` intent. `CURRENTQUERY` outputs the content that is captured by `AnythingElse` as text.


After you set up the tagging, select Hang up as the subsequent action. Then, save the node.

After you configure the flow, click Save Conversation Flow to apply the changes.
