Jaime_Perez | 2023-01-05 15:58:39 UTC | #1
Hello,
Using Web Messenger to collect Name and Email via a bot using a Slot.Name and Slot.Email. However, I'm running into an issue with the asynchronous conversation. When the Customer returns, I've already collected the name and email via the new conversation. In this case, I'm setting the participant data as part of the conversation.
For returning customers within the Asynchronous conversation, I am sending them to a different path to offer a different greeting (welcome back). In this path, I am not collecting the name and email again. However, I notice that each time I attempt to retrieve the Name and Email from the Set Participant Data, the conversation details get refreshed and I lose the Set Participant Data (name and email). This happens every time I return to the asynchronous conversation.
Is there a way to Set the Participant data so it won't get refreshed (deleted) when the customer returns?
Blythewarrior | 2023-01-06 17:55:20 UTC | #2
Hi Can I just ask how are you determining a returning customer and thus routing differently please.
Thanks Phil
Jaime_Perez | 2023-01-06 18:43:49 UTC | #3
@Blythewarrior, I'm using the architect's built-in variable "Message.IsNewConversation" to provide the "Welcome back" message.
Here is a snippet of the path in architect.
tim.smith | 2023-01-09 15:27:47 UTC | #4
Is the participant the same same participant both times? I'm assuming not, so you would need to inspect the previous participants on the conversation to find the participant attributes you set on the previous participant, then set them on the current active customer participant.
Blythewarrior | 2023-01-09 16:14:30 UTC | #5
Hi This works for me: Message.MessageIsNew == true or Message.MessageIsNew == false
Just make sure your threading time line is long enough, I may have left ours off when testing something else :laughing:
Blythewarrior | 2023-01-09 17:17:49 UTC | #6
Sorry I missed the important bit off:
Blythewarrior | 2023-01-09 17:22:05 UTC | #7
Jaime_Perez | 2023-01-10 13:26:40 UTC | #8
@tim.smith, in my case I'd like to identify those that are the same, i.e., returning customers. Therefore, in this case, it would be the same session. However, when I try to pull the conversation attributes to pull my participant data, the fields are returning blank in that scenario.
Jaime_Perez | 2023-01-10 13:29:47 UTC | #9
@Blythewarrior, I'm doing something similar. However, when the agent disconnects the interaction, and the customer restarts a new session, it identifies the conversation as not new but I'd like to collect the Name and Email from the first session to pass that info to the Agent. Does this example retain the attributes in the conversation ID?
Blythewarrior | 2023-01-10 15:11:07 UTC | #10
@Jaime_Perez, yes the name persists in subsequent sessions as long as it's within the threading timeline.
Kind Regards Phil
Jaime_Perez | 2023-01-10 15:26:29 UTC | #11
@Blythewarrior, weird. For some reason, I am not getting the same results. However, to fix this, I'm calling a data action before it goes through that path again in the flow and collecting the name and email to pass it as input to my Slots again. That appears to resolve my issue.
Blythewarrior | 2023-01-10 15:32:26 UTC | #12
How very odd, there will be an obscure setting somewhere no doubt. Glad its working for you
system | 2023-02-09 15:32:40 UTC | #13
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
This post was migrated from the old Developer Forum.
ref: 17862