You can use Data Actions and APIs, well done. There's also an easier approach via Architect, that does not consume APIs: Custom Attributes set via Database.set are mapped into Participant Data on the conversation, and you can then retrieve these key-value-pairs (KVPs) via Get Participant Data action, simply using the same key-name as passed into the Database.set command. For example, if you use
Original Message:
Sent: 07-28-2024 22:04
From: Greg Magsamen
Subject: messenger and architect flow persistent data extraction
Hello,
Think I have figured it out. I assumed there was inherent integration in Architect which does not seem to be the case. Using the available Genesys conversations API for messages (and having the message ID) I can get the attribute values through a custom data action.
Extraction from the raw result of the Data Action is done via the well documented "Response configuration for data actions" and getting the data out of the raw results with a translation map.
The gap I had was that you need to use the API and then sort it out for your use in the flow/scripts. Now that it's understood how to connect the pieces, my flow is complete.
------------------------------
Greg Magsamen
CC Services, Inc
Original Message:
Sent: 07-28-2024 14:28
From: Greg Magsamen
Subject: messenger and architect flow persistent data extraction
Hello,
I am looking for direction or Genesys knowledge links to help me bridge the gap between getting messenger data sent to Genesys cloud via the Messenger Database plugin commands and "extracting" it in the Genesys CX architect inbound message flow that gets invoked. I cannot seem to find examples or information on how to utilize Get Participant Data in an Architect inbound message flow for use in routing decisions or setting script variables for simple visibility.
With credit due to the documentation on Genesys messenger, I have successfully created a messenger configuration site, coded invocations and custom features and used the Database.set (and update) commands to send data to the Genesys CX Architect flow mapped to the messenger configuration and delivered it to queues for handling.
That is all working and post-handling, in the interaction view(s) of the working messenger contacts, I "see" my participant data set as it was coded from the Messenger client, so it's made it into the flow under the participant data names I gave them in the messenger coding, example:
Genesys("command", "Database.set", { messaging: { customAttributes: {
name: "Joe Smith",
callbacknumber : "555-123-4567",
messagereason : "my reason" } } });
However, I cannot seem to find Architect messenger inbound flow examples that show how to 'extract' or set architect flow persistent data variables with this messenger data for use in filtering or routing. Is there some naming convention I need to use on the messenger client side to name my variables (as exampled above as name, callbacknumber, messagereason)?
It seems I am 90% there for a complete messenger flow but this knowledge gap between having messenger data sent via the Database.set command and actually using that data (which appears to be arriving) in an Architect flow has prompted this community post, asking if there is documentation or knowledge articles. The Beyond education does not seem to contain Architect programming for inbound message flows at least for this topic.
Thank you for any pointers. If this question belongs in an architect community, I will move it, but this seemed tied to the messenger posts.
#DigitalChannels
------------------------------
Greg Magsamen
CC Services, Inc
------------------------------