Hello everyone, this is a very common and important requirement, especially for customers with strict data privacy and compliance mandates, and you are definitely on the right track with your initial thinking. Based on community discussions and Genesys documentation, using a Workflow triggered after a conversation ends is indeed a viable and recommended approach for redacting or encrypting Participant Data. Many organizations have implemented similar solutions to automatically mask or remove PII from Participant Data after an interaction is complete, with the goal of ensuring that this sensitive information remains available to agents during the interaction via their screen scripts but is not stored in a readable format afterward.
Your idea to use a Workflow is a strong one, and the most common pattern described by other Genesys Cloud users involves a few key components working together. First, you create a trigger in Genesys Cloud that fires when a conversation ends, with a frequently used topic for this being v2.detail.events.conversation.{id}.acd.end. This trigger then initiates a Workflow, and within that Workflow you invoke a Data Action. This Data Action uses the Genesys Cloud public API endpoint PATCH /api/v2/conversations/{conversationId}/participants/{participantId}/attributes to update the Participant Data attributes. This is a practical, documented approach that has been successfully used in production environments.
However, before you proceed, it is crucial to understand a significant limitation related to analytics. A key point from the official documentation states that analytics does not save attributes that are set after the conversation completes, and if the conversation and segments are already complete, analytics cannot reopen the conversation to save the changes. This means that while the Participant Data on the interaction record itself will be overwritten with the encrypted or masked value, this change will not be reflected in your Analytics and Reporting views. If you need to report on the original values, you will have to find a way to store them elsewhere before they are overwritten.
Regarding your question on encryption algorithms, your observation about RSA is accurate in that the encrypted output can become significantly larger than the original value, which is a consideration. While there is no specific Genesys documentation detailing a recommended algorithm for this exact use case, you have a couple of options to consider. The platform itself relies on AES-256 encryption for protecting data at rest, and AES is a symmetric encryption algorithm that is very efficient and produces an output of the same size as the input after padding, with its performance and straightforward key management making it a good candidate for this scenario. A practical strategy would be to use AES to encrypt the Participant Data values and then store the Base64-encoded AES-encrypted string in the Participant Data field. Alternatively, Genesys Cloud also offers a feature called Secured Customer Data, which allows you to store attributes encrypted with your own AWS KMS symmetric key. With this feature, you do not manually handle the encryption in your Workflow; instead, you configure the Genesys Cloud platform to encrypt the data at rest using your key, and it is worth exploring if this native capability could meet your requirement. It is important to note that you cannot assign secured customer data directly in a Set Screen Pop action, so you would still need to manage the data in your script workflow for agent visibility.
To summarize, you can use a Workflow triggered by a conversation-end event to update Participant Data after the interaction ends, and this is a documented and successful approach for redacting or encrypting PII. The primary limitation is that updates made after the conversation ends will not be saved to Analytics, so any reporting needs on the original data must be handled separately. For encryption, AES is a strong, efficient choice and aligns with the platform's own encryption standards, while the native Secured Customer Data feature with AWS KMS is another option worth investigating for easier management. While the community has validated the technical approach, it is always wise to test this thoroughly in a non-production environment to fully understand the behavior and ensure it meets your customer's specific compliance and reporting requirements. I hope this helps you move forward with your solution, and good luck with the implementation.
------------------------------
Camila Meneghini
------------------------------