Embedding Dashboards#

Squirro dashboards can be embedded into other web applications or even desktop software. The basis for this is iFrame technology.

How to Embed Using iFrames#

image1

To embed a dashboard into a third-party application, select the dashboard within the user interface. On the right-hand side open the menu and select “Embed iFrame” or “Share”. The only difference between the two commands is that Embed iFrame will generate the full HTML code for an iFrame, while Share simply returns a URL to use.

That URL can be used for embedding, or it can simply be shared in chat apps, email, etc.

If you select the Automatically login into this account checkbox, a token will be generated and appended to the dashboard URL. With this token, anybody will be able to access the dashboard impersonating the current user in read-only mode.

Parameters#

The URL generated by the user interface will always embed the dashboard in its saved state. This means that any dashboard query and time limits configured in the dashboard are applied. These can be overwritten with URL parameters.

For example, the user interface may have returned the following URL: https://squirro.example.com/app/dashboard/OuKRZuhmTXCA0mAfwSVm2g/hMcTiqacTIa0mXYvVh5N9Q

To extend this URL and pass in a custom query, use the query parameter as follows: https://squirro.example.com/app/dashboard/OuKRZuhmTXCA0mAfwSVm2g/hMcTiqacTIa0mXYvVh5N9Q?query=test

Further parameters are added, separated by an ampersand. An example with a query and a token: https://squirro.example.com/app/dashboard/OuKRZuhmTXCA0mAfwSVm2g/hMcTiqacTIa0mXYvVh5N9Q?query=test&token=abc

Parameter Reference#

Parameter

Documentation

token

Token for authentication. The token generated with that checkbox will be one that only grants the privileges needed to visit dashboards.

query

Items visualized in the dashboard are limited to the ones returned by this query. See Query Syntax for details on what can be included in a query.

selection

The query used for the Significant Terms widget. This defines the second result set (foreground set) that the significant term compares to the base result set defined by a query (background set).

relative_start

Only return items that were created after this date and time. Uses the relative date and time format. Relative time is a number followed by a unit, for example 1w for 1 week (ago).\

Valid units are:

Unit

Description

y

Years

M

Months

w

Weeks

d

Days

h

Hours

m

Minutes

s

Seconds

created_after

Only return items that were created after this date and time. Uses the standard date and time format.

relative_end

Only return items that were created after this date and time. Uses the relative date and time format (see relative_start).

created_before

Only return items that were created before this date and time. Uses the standard date and time format.

query_params

Query parameters that will be injected into all API requests from the dashboard as template_params. This is a JSON-encoded dictionary of key/value pairs that can be used for query transformation in the Jinja template.

chatter_token

A Salesforce.com access token. If the Share on Chatter feature is enabled and this option is set, the Share on Chatter option is displayed in the horizontal result list.

chatter_url

A Salesforce.com instance URL used for the share on Chatter function.

Sandboxing#

In case the iframe is used with sandbox attribute, modal dialogs and javascript will be blocked (https://googlechrome.github.io/samples/block-modal-dialogs-sandboxed-iframe/).

In that case, please make sure to set the sandbox attribute to “allow-scripts allow-modals”.

Troubleshooting#

Automatic Logout#

When embedding a dashboard integration with a token (automatic login) the user may be automatically logged out from the system when they access Squirro standalone the next time. This is because the read-only token only grants access to the dashboard, but not to the standalone application.

To prevent this from happening, you can point a second domain name to the Squirro application and use that domain for integrations. This will avoid clashes between the embedded iFrames and the standalone application usage.