2

During a live Salesforce Chat session we want to allow agents to view anything that is typed by a visitor. However to remain compliant we don't want certain sensitive content to be viewable or accessible in the saved transcript.

Sensitive Data Rules don't seem to help here since they mask content even in the agent's chat window (unless I understood this wrong). So I am thinking to write a trigger on before-insert of LiveChatTranscript and remove sensitive content from the Body just as the record is about to be committed. What I'm wondering is, will this also impact the agent's view of the chat? In other words, do chat transcripts get saved to the database every time a new message is sent, or, are they stored in memory until the chat has ended before being committed at once?

If this doesn't work what options do we have to allow an agent to accept sensitive content during a chat session without compromising compliance? I have looked at the Deployment API and couldn't find a suitable way to do this. The Pre-Chat customization doesn't work since sensitive content need to be collected upon request of an agent. The Post-Chat customization doesn't work either because the agent would otherwise have to look at the saved transcript to view the sensitive content.

2
  • For clarity, are you in Lightning or in Classic? I ask because the implementation is slightly differently between the two. For example, Lightning requires Omni-Channel and uses Lightning Components. Chat Transcript saves are configured in Omni-Channel, not LiveAgent. Not to mention, the entire feature is now called Chat by Salesforce Marketing.
    – crmprogdev
    Jan 11 '20 at 18:14
  • 1
    @crmprogdev It's in Lightning and using Omni-Channel.
    – Mossi
    Jan 11 '20 at 20:20
3

Do chat transcripts get saved to the database every time a new message is sent, or, are they stored in memory until the chat has ended before being committed at once?

After some testing it turned out the LiveAgent API stores chats somewhere (can't tell if in volatile memory or in some transient database) before committing them to Salesforce. Meanwhile the message "This transcript isn't ready yet. Check back later." is shown to agents on the Conversation tab.

I am concluding that since Salesforce and their products are PCI compliant a trigger that removes sensitive data from the body should be good enough. There are also some apps on the AppExchange that mask sensitive content in the org, but they're each a bit too expensive.

1
  • I've been away since you asked this question. If I'm not mistaken, they're cached in Omni-Channel. I believe they're also written to large data objects, not standard objects. When you write a trigger on Chats, it sticks in my mind if you do write a trigger, you'll want to write it to execute from Omni-Channel. That's how I've seen them implemented in orgs I've worked with.
    – crmprogdev
    Jan 18 '20 at 13:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.