This documentation page assumes that you already have a SeekTable account. Create your free account by signing up.

Embed reports in a website publish to web

Embedded reporting means that BI tool reports are accessed from other software applications and SeekTable fully supports this use-case. With report's Share → Get Link function you can easily publish SeekTable report to web and share it with a public link. Also this link may be used for embedding: you can integrate published reports in any web page or app with IFRAME.

By placing several iFrames on the same 'host' page you can easily organize custom dashboards; in the case of on-premise SeekTable installation it is possible to create interactive dashboards inside the app. Report's public link is suitable for inclusion into Medium articles and sharing in social medias like Facebook or Twitter.

To access embedded report users don't need to have SeekTable account; this means that the report you publish can be viewed by anyone on the Internet who knows the link.

Embedded reports update as the underlying data changes, or when you change them in your SeekTable account. Caching notes:

  • cloud SeekTable published reports are cached for 15 minutes (except accounts with "Advanced publishing" subscription)
  • self-hosted SeekTable published reports are not cached by default. You can use NGINX to configure caching of published content as you need.
Looking for a secure reports embed? This is possible in a self-hosted SeekTable (dedicated instance), including built-in dashboards.

How to embed your report with an iframe

  1. Go to the report you want to publish and get its public link (menu "Share"→"Get Link"). If you don't see "Get Link" item please ensure that you saved the report.
  2. Insert into your web page iframe HTML element:
    <iframe border="0" frameborder="0" 
    In src attribute specify your link of the published report; with width and height specify desired report size. IFRAME size may be responsive - say, you may specify width="100%" or change iframe size with javascript on-the-fly.
  3. As result you should get something like that (this is a report from

    If you want to hide report name this is possible with adding show_report_name=false parameter to the report public URL (this option works only when report is embedded with IFRAME).

You can easily organize dashboards by embedding several reports on one web page; for example take a look to this dashboard with a common filter that affects all embedded reports. For advanced reports composition SeekTable has built-in dashboards, but this capability is available only in a self-hosted version.

Embed using oEmbed

SeekTable supports oEmbed for published report links:

You can copy-paste the report public URL to embed your reports into platforms that support oEmbed such as Medium and Reddit. SeekTable is registered as a provider on which means that SeekTable reports may be easily embedded in many apps that use Embedly API.

User-entered report parameters URL filters

If cube has report parameters you can provide their values with report_parameters in the public report URL; this should be URL-encoded JSON object, for example:

In this way you can enable end-user filters for embedded reports:

  1. Configure one or more report parameters for your cube
  2. Publish the report to web with a public link
  3. Embed the report into your host web page with IFRAME and add input(s) for the report parameters(s) on your host page
  4. When user changes an input, host page should reload IFRAME with an URL that contains new values of report parameter(s)
Alternatively you can enable inputs for parameters with Advanced Publishing subscription (also unlocks iFrame's client side API to apply parameters without whole iFrame reload).

You may use a js code from this example and adopt it for your own report parameters and input controls.

Advanced publishing/embedding paid subscription for advanced capabilities

Users with this subscription can use advanced options for the published reports:

You can easily evaluate these features by activating free 14-day trial.

These advanced options may be enabled with URL parameters (as described below) or configured inside SeekTable app with ShareGet LinkConfigure form:

Configure Published Report: Advanced publishing options

Enable exports for published report

To display export buttons specify export=pdf,excel parameter (comma-separated list of supported formats) which enables "Export to <format>" buttons at the ending of the report:,excel

Supported formats are: pdf, csv, excel, html, json, excelpivottable (this one works only for pivot table reports).

You can initiate report's export directly via URL [public_link]/export/[format], for example:

Default export's download filename is "Export"; alternatively this can be a report caption (via option on "Configure Published Report" form) or any custom filename provided with export_filename URL parameter.

By default only data that is visible in the report web view is exported; if you want to export all data (disregard pagination and report "Limits" settings) you can specify rows/columns limit for export with export_limit=5000 parameter. Max possible value depends on the report type and export format:

Pivot Table
Max number of rows depends on the matrix size:
(number of rows) x (number of columns) should be <= 1,000,000
Flat Table
For PDF and Excel exports max export_limit value is 10,000. For other formats max number of rows is 50,000

Note: these limits can be increased in self-hosted SeekTable.

When report is embedded with IFRAME it is possible to place custom export buttons in the "host" web page and initiate export with javascript as illustrated by this example.

Enable sorting / pagination

Advanced publishing subscription enables pagination if published report is a large pivot table (otherwise only current 'page' is displayed). In addition to that, you can allow users to change table sorting by adding sort=true parameter:

Enable inputs for report parameters

You can enable inputs for entering parameters by viewers by adding parameter=filter_year,filter_country:,filter_country
filter_year and filter_country are parameter names specified in the cube configuration. Parameter order is important: inputs are displayed exactly in this order. With additional settings you can:

Refresh a report page automatically

Public report page can be refreshed automatically after some interval: users can keep public report link opened in the web browser and it will refresh automatically (without need to manually force page refresh). To enable auto-refresh add refresh_interval=5 parameter (interval value in minutes) to the report public URL, for example:

This feature is useful if you want to display real-time report or dashboard on wall-mounted screens in meeting rooms, reception areas, or around the office.
Note: minimal refresh interval is 5 minutes. If you need more frequent updates consider usage of self-hosted SeekTable: in this case you'll able to use refresh_interval=1 (every minute) refresh.

Apply user-defined parameters without IFRAME reload

If you use custom filters you can avoid ugly IFRAME reload and refresh the report with new parameters in the following way: example.

var reportParams = {filter_year:1997};
var msg = JSON.stringify( {"action":"refresh","args":[reportParams]} );
window.frames.iframeName.postMessage(msg, "*");