Someone at my company set up a workflow for ServiceNow to send survey invitations by email. The First Name, Last Name, Email, and Language fields are all filled in with a Piped Text format I am not familiar with, and I can’t find any documentation for it.

The email message also uses the ~{sfob://Fieldname} syntax to copy data from the ServiceNow event to the email message.
I can intuit that SFOB stands for Salesforce Object, and I can tell that the fieldname that follows must match the fieldname in ServiceNow, but I have some remaining questions that I hope the community will be able to help me with:
- Why does my workflow message use specialized pipe text ( ~{sfob://Fieldname} ) instead of the normal {e://Field/Fieldname}? In other words, why isn’t the imported data from ServiceNow treated like embedded data by piped text the same way that transaction data is?
- What is the tilde (~) before the left curly brace for? Is it necessary?
- If I want to use data from ServiceNow in my survey, do I use the embedded data syntax for piped text {e://Field/Fieldname} (assuming I define Fieldname in an embedded data survey block) or can I use the ~{sfob://Fieldname} syntax? If not, why does that syntax work in messages then?
