Getting URL for Survey

Has anyone come up with an easy way to get the URL of the survey during the call or shortly thereafter?

Hello,

As far as I know, the Customer Survey URL is only available within the Architect Survey Invite flow via the Survey.Url Architect built-in variable.

Regards,

Is that run when the Survey is sent out after call disconnects?

Hello,

The Architect Survey Invite flow is run after the call disconnects and before the Genesys Cloud Web Survey is sent out.

Genesys Cloud Web Surveys work the following way:

  • you first create a policy with the matching criteria you want and which assigns a survey, as action to perform. You also define a Web Survey form to use and an Architect Survey Invite flow to trigger.
  • when a call/chat/email ends, if the policy is matched, it will trigger the Architect Survey Invite flow you have defined in the policy.
  • In the Architect Survey Invite flow, based on the logic you want, you will define if the conversation needs to send a survey out via email (Complete Survey action) or if you want to cancel this survey (Abort Survey action).
  • If the Complete Survey action has been requested for this conversation/flow, it will send an email out with the Survey URL.

With a call/voice conversation or a web chat conversation, the Architect Survey Invite flow is triggered shortly after the call/chat conversation is ended.
With email or message conversations, it is not triggered immediately. With email or message, the customer has 72 hours to send an update (default value - you can now change this duration per media type in the Genesys Admin UI - Message - Threading Timeline). If no new message/email is received within this window, the conversation is considered as ended and the Architect Survey Invite flow is triggered shortly after.

Regards,

1 Like

So, I could theoretically write the customer URL to the conversation in the secure flow before it is sent out and then score the survey either through a workflow or email flow.

"So, I could theoretically write the customer URL to the conversation in the secure flow"
In a Survey Invite flow (secure flow is something different).
But it is not straightforward to save the customer url as conversation participant data. I mean there is no pre-defined block/action for this in a survey invite flow.
In the survey invite flow, you have access to the Conversation ID (as an Architect built-in variable - Survey.ConversationID).
In order to attach a participant data to this conversation (key/value pair), you would need to implement and make use of 2 Genesys Cloud Data Action.
The first Genesys Cloud Data Action would consist in getting the conversation context or the conversation details (using the conversationId) and extract a valid participantId from the response (participantId corresponding to the customer participant).
The second Genesys Cloud Data Action could then use the conversationId and the retrieved participantId to request the data to be saved as participant data in the conversation (this API endpoint requires conversationId and participantId as input parameters).

"score the survey either through a workflow or email flow."
Not totally sure I follow. I mean I understand but I don't think it is trivial for different reasons.

If you do this via workflow, as the workflow is a different conversation, you would need to invoke it passing the original conversationId as paramter.

If you do this via email flow (assuming you had in mind to have the survey email sent to a Genesys Cloud address and with an email flow behind), you would need to be able to parse/extract the data from the body. In this case, you might just send the customer Url directly (in the email body - in a format that you can search easily from your Architect email flow) - maybe no need to send the Customer Survey Url as participant data.
I have never tried to send a survey email back to Genesys Cloud address. So it might be worth running a test just to check it is not blocked (for any reason I am not aware of - not saying it won't work - just that I don't know for sure as I never tried).

The reason why I am saying it might not be trivial is that to score your survey, I assume you had in mind to leverage a Web Service Data Action.
If your input body is known/fixed (I mean you know the ids in advance, questionGroupId, questionId and the possible answerId to use), then maybe. Your Data Action would have a predefined body which includes them.
With Data Actions, you cannot leverage an array/list as an input variable for your Data Action. So you would have to know how many answers you need to provide and have a corresponding input parameter for each. And from your flow, you would need to know what the valid answerIds are.

Regards,

the Survey invite flow is only invoke after the conversation disconnected (1 or 2 minutes later). you cannot set Participant data. only user-context token is allowed to set Participant data.

you can call a data action in the Survey invite flow, to save the url and conversation id to somewhere,e.g Data Table. this can be used for lookup later.

we save it to Azure Storage table due to Genesys data table only allow 5000 entries.

1 Like

Hi Yuezhong,

Thanks for chiming in with some alternatives.

  • John

Hello,

As a comment, please note that participant data/attributes can be set using an access/bearer token obtained via an OAuth Client Credentials Grant flow.
E.g. using PATCH /api/v2/conversations/{conversationId}/participants/{participantId}/attributes
This Conversation API Endpoint is not restricted to user-context token.

Regards,

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.