Salesforce Visualforce Example
Complete Salesforce Implementation
This example shows how to add presentation sharing to a Salesforce Visualforce page.
Visualforce Page
<apex:page>
<script>
// HelloScreen SDK compatibility flag for Lightning/Aura
window.__upscopeFlags__ = ["aura_compatibility"];
// ... rest of code found on https://helloscreen.com/install
// Pass additional metadata about the current context
Upscope("updateConnection", {
metadata: {
recordId: "{!record.Id}",
recordType: "{!record.RecordType.Name}"
}
});
// Agent identification from Salesforce user
var agentId = '{!$User.Id}';
var agentName = '{!JSENCODE($User.Name)}';
function showLink() {
Upscope("getPublicLink", {
agentId: agentId,
agentName: agentName
}, function(link) {
alert("Share this link with the customer: " + link);
});
}
</script>
<button onclick="showLink()">Get Public Link</button>
<!-- Your presentation content here -->
<apex:pageBlock title="Presentation">
<!-- ... -->
</apex:pageBlock>
</apex:page>
Key Points
- Aura Compatibility Flag: The
window.upscopeFlags = ["aura_compatibility"]line ensures the SDK works correctly within Salesforce's Lightning framework. - User Context: We use Visualforce merge fields (
{!$User.Id},{!JSENCODE($User.Name)}) to automatically get the current Salesforce user's information. - JSENCODE: Always use
{!JSENCODE()}for string values to prevent issues with quotes. - Metadata: Pass relevant Salesforce record information via
updateConnectionto provide context in reports.