cancel
Showing results for 
Search instead for 
Did you mean: 
intapiuser
Community Team Member
Community Team Member
Here's an example script for how to embed dashboards in a Salesforce page - in this case, we're embedding in the Accounts page. Be sure to replace your dashboard id, API key, and include the appropriate filters. 

<apex:page standardController="Account"> # Salesforce apex page tag

# include any cdn / libraries
<head>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jsSHA/2.0.1/sha.js'></script>
</head>

<body>

<div id="container"/> #container to house the embed

<script>
# function to create a periscopeURL
function periscopeUrl (apiKey, data) {
var path = '/api/embedded_dashboard?data=' + escape(JSON.stringify(data));

var sha = new jsSHA('SHA-256', 'TEXT');
sha.setHMACKey(apiKey, 'TEXT');
sha.update(path);
var signature = sha.getHMAC('HEX');

// Build and return final URL
var url = 'https://www.periscopedata.com' + path + '&signature=' + signature;
return url;
};

var iframe = document.createElement('iframe');

// Set final URL given API key, dashboard id, and account info
iframe.src = periscopeUrl('API_KEY', {
dashboard: DASHBOARD_ID,
embed: 'v2',
filters: [{name: 'FilterNameinPeriscope', value:'{!Account.Name}'}]
});

iframe.height = 1500;
iframe.width = 500;
iframe.frameBorder=0;
var div = document.getElementById('container');
div.appendChild(iframe);
</script>
</body>

</apex:page>

Rate this article:
Version history
Last update:
‎03-02-2023 09:00 AM
Updated by:
Contributors