The report is where analysis happens in Mode. Navigate to the Mode home page and click the New modal-add Created with Sketch. button in the upper right corner of the window to create a new report and get started. When you create a new report, it is automatically placed into your personal Space.

Querying data

When you create a new report in Mode, you will be taken to the query editor, where you can compose SQL code.

Query editor

Workflow Basics

The query editor contains a number of sections that should be familiar to you if you have worked with other SQL clients before:

  1. Database dropdown: Tells Mode which of your connected databases you want to query and which database’s schemas and tables to display in the schema browser.

  2. Schema browser: A visual representation of the schemas, tables and columns that are available in the selected database.

  3. Code editor: Compose your SQL code here. The code editor is powered by Ace and supports most Ace keyboard shortcuts and context-aware autocomplete for database objects (e.g., column and table names), SQL keywords, and Definitions. Across the top of the query editor are a number of controls:

    • Run: Executes all code in the editor. Select a portion of your code before clicking Run to execute only that portion.
    • Limit 100: Checked by default. Automatically appends LIMIT 100 to your query so no more than 100 rows are returned in the result set. This speeds up exploratory querying but should be unchecked once you want to see a complete result set.
    • Format SQL: Automatically indents and formats your SQL code for you. If you don’t like how it formats your code, click it again to revert.
    • View History: The running history of each query execution, including the the raw code (as written), rendered code (SQL sent to the database after processing all Liquid code), and any data that was returned. Select a historical query run and click Open to replace the code currently in the query editor with the code from that run.
  4. Results table: After you successfully execute a SQL query, the results are displayed here. Across the top are a number of actions you can take with these results:

    • Export: Exports the query results to a CSV and downloads it to your computer.
    • Copy: Copies the query results to the clipboard.
    • Chart: Creates a new chart using the query results.
    • Pivot: Creates a new pivot table using the query results.
  5. Report navigation panel - All of the queries that power your report will be listed here under the Queries tab. Click on the New modal-add Created with Sketch. button next to the Queries tab to add a new query to your report. Under each query you will see:

    • SQL: Click to change focus and edit that query’s code.
    • Display Table: A customizable display table of the results returned by the most recent query execution.
    • Each visualization that you build using this query’s data with Mode’s built-in charts will be listed separately. Click the New modal-add Created with Sketch. button to add a new one.

The query editor accepts any valid SQL code for the selected database and valid Liquid template code. Use Liquid to extend the functionality of your SQL code or add parameter input forms to your report to make it more interactive and extensible.

Schema browser

The schema browser lets you explore the schemas, tables and columns in the selected database.

Schema Browser

  1. Show/hide: Click to hide or reveal the schema browser.
  2. Selected data connection: Click to reveal and select from a list of data connections. The schema browser will show tables for the database displayed here. The query will also execute against this connection.
  3. Search: Type to search for table names in the selected database.
  4. Pinned: Tables you “pin” are shown at the top of the schema browser so you can easily find them. Tables are automatically pinned as you query them. To pin a table, hover over its name and click the pin pin Created with Sketch. icon on the right.
  5. Tables: All the tables that you have access to for a given data connection are listed here, organized by schema. Click the play button next to any table name to quickly return a sampling of 100 rows from that table.
  6. Columns: A list of all the columns in a selected table. The symbol next to the column name refers to the type of data in that column (e.g., varchar, float, date, etc.).

NOTE: The play button is not available for certain database types, including those that charge on a per-query basis (e.g., Google BigQuery, Amazon Athena, etc.).

Querying multiple data sources

Mode reports can contain multiple queries, and each individual query can retrieve data from any one connected database. Different visualizations, each with data from different databases, can exist side-by-side within the same report.

You cannot JOIN data sets between different connections in a single query. However, you can combine result sets from multiple databases and visualize the combined data using Python or R in the Notebook, or using JavaScript in the HTML editor.

Complex and multi-statement queries

Mode performs very little translation or manipulation of your code before sending it to your database for execution. This means that Mode will be able to execute any code that’s valid for your database. Given the right database permissions, you aren’t limited to SELECT statements; you can do anything your database lets you do, including:

  • Creating, dropping, and altering tables and views
  • INSERT, DELETE and UPDATE operations
  • Creating, modifying, or employing user-defined functions

Mode will execute code containing multiple SQL statements, separated by semi-colons. For example, the following code is valid in Mode:


SET search_path TO schema_name;

  SELECT email, company, LOCALTIME AS date FROM customers

SELECT * FROM temp1;


After using SQL to gather, structure and analyze all of the necessary data for your analysis, you can build visualizations on top of that data. Mode offers a number of options for building visualizations, including the ability to take your analysis even further using Python / R or using any type of custom visualization using JavaScript (e.g., D3).

Built-in charts and tables

Mode reports offer a number of built-in charts and tables that can be quickly built on top of query results.

To manage built-in charts and tables in the report editor, locate and hover over the visualization’s name on the left side of the report editor and click the More menu-dots-gray-press Created with Sketch. button to:

  • Duplicate: Creates a copy of the visualization and adds it to the report layout.
  • Add to builder: Adds the visualization to your report’s layout if it is not already there.
  • Remove from builder: Removes the visualization from the report layout but does not delete it from the editor.
  • Delete: Removes the visualization from your report layout and deletes it from the editor.
Display table

The first time you successfully execute a query, a display table containing the query’s results is automatically added to your report. By default, data tables display all columns returned in the underlying query and each column is formatted according to the data type of each column.

Click on Display Table under any query in your report to control how that query’s display table is formatted and sorted, and to show or hide columns:

  • Columns: Un-check any columns on the right side to remove them from the table.
  • Sort: Click the header of the column you’d like to sort the table by and click the drop down action-movedown-hover Created with Sketch. button to choose how you want the table sorted.
  • Formatting: Click on the column header for any column to see formatting options for that column on the right side of the window. Depending on which format you choose, a number of additional customization options will appear.
Big number

Big number

Big number visuals are useful for highlighting key metrics and how those metrics change over time. To add a big number visualization to a report:

  1. On the left side of the report editor, find the query with the data you want to visualize and click the New modal-add Created with Sketch. button under it.
  2. Click Add Big Number to add a new big number to the report layout.
  3. Use the following options to configure your big number:
    • Value: The column with the data you want to display.
    • Aggregate: How you want Mode to aggregate the data in the selected Value column for display.

When you select Last Value as the Aggregate method, there are additional options:

  • Sort by: Sorts the selected Value column. Last Value will display the top-most record in the column.
  • Trend: Includes a calculated trend below the big number’s value using the rest of the value column’s data, compared to another record in the selected value column of your choosing.
Pivot table

A pivot table aggregates and summarizes (e.g., using sum, average, count, etc.) query results and presents them in a data table. To add a pivot table to a report:

  1. On the left side of the report editor, find the query with the data you want to display and click the New modal-add Created with Sketch. button under it.
  2. Click Add Pivot Table to add a new pivot table to the report’s layout.
  3. Drag one or more fields to the quadrants on the bottom right to configure. Fields should be added to the rows quadrant in the order of nesting.

Tables display data in a format that is both customizable and easily digestable for end users. You can create new tables in many different ways. One option is to click on the green “Add Chart” dropdown in the query editor page. Once you land on the chart editor page, the default chart selection is Table.

Another option is to find the query with the data you want to display and click the green + button under it. From there, you select the “Add chart” option, and as with the first method once you land on the chart editor page the default chart selection is Table.

add chart

create table

Once you arrive at the chart editor page, a solid first step is to begin constructing your table. You can do this by dragging desired columns from the “Dimensions” and “Measures” fields over to the “Columns” section under the “Chart Settings” interface. Further, you can add columns that you wish to be used as filters under the “Filters” section.

Once you construct your table, there are many formatting options that you can apply to individual columns. You can access these formatting options by clicking on the “Format” dropdown located on the top header of the Chart Editor page.

format tables

One potential option is to display numeric data as currency or percent, and to increase/decrease decimal places. Another option is to display date entries as Mon Year, Year-Mon-Date, and Date and Time. A third option is to create URL links from string entries.

In addition to formatting the columns, you can also adjust the column width by clicking on the “Size” to fit” dropdown located on the top header of the Chart Editor page and selecting “Manually size”

Moreover, there are many formatting options that can be applied to table as a whole. You can access these options by clicking on the “Format” section directly to the right of the “Field” section. It is worth noting that any sorting/formatting options you select will persist beyond your current session and will determine how the Table appears on the Report page.

add table columns

One potential option is to display the table with alternating row colors. These alternating row colors tend to make Tables more presentable to end users. Another option is the ability to alter row heights to standard, compact, and open. By altering row heights on larger data sets, users can make more rows appear at once and reduce the amount of scrolling needed to navigate the data set. A third option is to show column/row gridlines, and to show row numbers


Mode includes a number of built-in charts that you can quickly build on top of query results and add to your reports. To add a new chart:

  1. On the left side of the report editor, find the query with the data you want to visualize and click the New modal-add Created with Sketch. button under it.
  2. Click Add Chart.
  3. Under Chart Settings, select the desired chart type from the dropdown menu and then follow the instructions in the middle of the window.

Each column in your query’s data is categorized as either a measure or a dimension based on the data it contains.

Dimension: Data that is typically qualitative and gives context to one or more measures (e.g., sales territory, customer ID, customer segment, etc.). Dimensions typically hold discrete data, such as categories or hierarchies, that cannot be aggregated.

Measure: Data that is quantitative and must be contextualized by one or more dimensions in order to be effectively understood (e.g., revenue, number of customers, etc.). Measures are typically aggregated (e.g., using sum, average, count, etc.) and grouped by dimensions.

Once you add a measure to your chart as a dependent variable (i.e., on the y-axis), you can click on its pill to adjust the type of aggregation that is performed.

Notebook visualizations

Every report contains a built-in Notebook environment where you can take the results of one or more queries, further analyze them in Python or R, and visualize the results using one of the many built-in libraries.

The contents of any Notebook output cell can be added to your report. These visualizations will update whenever the Notebook is run and the output changes.

Advanced visualizations

The HTML editor lets you embed any valid HTML, JavaScript, or CSS that you’d like in the layout of your report, allowing you to add interactivity, custom visualizations, and more. To help you get started, Mode’s community maintains the Alamode JavaScript library that makes creating D3 powered visualizations a snap.

Check out Mode’s Gallery for inspiration, sample reports, and more information about how to create advanced visualizations in Mode.

Layout and presentation

Name and description

After a report has been successfully run at least once, you can change its name and description:

  1. From the report editor, click Report in the header and then click Rename.
  2. Enter a name and, optionally, a description.
  3. Click Save.

You can remove the report’s name and/or description from the report layout using the HTML editor.

TIP: You can refer to the report’s name and description in the HTML editor using the {{ title }} and {{ description }} template code. These templates will render to the report’s name and description values when the report is viewed.

Colors and themes

Your Mode organization includes a number of chart color palettes and report themes that you can use to quickly change the look and feel of the reports that you create.

custom themes

Color palette: The set of colors used for various elements in built-in charts and visualizations, including series markers. You can browse and select color palettes in the Chart Settings box on the right side of the chart builder:

  1. Click on the Color dropdown.
  2. Select a palette from the menu below.
  3. Click Assign Palette to apply your selection to your visualization.

Report theme: The set of styles controlling various aspects of a report’s look and feel (e.g., background color, fonts, etc.). Themes can be applied to a report in report settings. In addition, you may style any report by including custom CSS using the HTML editor.

Custom color palettes and report themes may be defined for organizations on a paid plan.

Report details

Open a report and click View Details in the header to see additional details about the report, including the logic and data behind it. Along the left side you may see some or all of the following sections, depending on your level of access to the report:

  • Details: Includes the names of any collaborators (users who have modified the report) and the report’s run history.
  • HTML: The HTML code that defines the report layout as well as any embedded custom HTML, JavaScript or CSS.
  • Notebook: Any input, output, and markup cells (including Python or R code) if defined in the report’s Notebook.
  • SQL and Results: The SQL code and results for each query in the report.

TIP: Don’t see View Details in the report header? You may be in the report editor. If so, click View in the header first.

Run history

Every time you run a report, Mode saves a full copy of its configuration and results (including all SQL code, query results, Notebook code, HTML, etc.) so you can see exactly how a report looked or view its code from a given point in time. A historical run is saved even if the queries in the report do not complete successfully. Historical report runs are accessible indefinitely unless the report is deleted.

You can access a report’s run history from report details. Click on one of the historical report runs in the list to view the report as it appeared at that time. Each historical run has a unique static report run URL so that specific run can be shared with others.

IMPORTANT: Mode only stores query results for historical runs, not the underlying data from your database. When a report is deleted, historical report run results are retained on Mode’s servers for 30 days. After 30 days, historical run results are automatically deleted from Mode’s servers. After an additional 30 days, historical run results are automatically deleted from Mode’s backups and cannot be recovered by Mode.

Report builder

The report builder is a drag-and-drop interface for laying out and adding context to the components of your report. When editing a report, access the report builder by clicking on Report Builder on the left side of the window.

Common keyboard shortcuts are available while editing. You can re-arrange or re-size your text elements the same way you would any other report element. To remove a text box, click on it and then click Remove in the toolbar.

To move a component, click and drag it to move it around the layout. To resize a component, click on it and the drag the grab icons on either side to change its width, or click Set Height to adjust its height. You may choose between small, medium (the default size), and large. For display tables, you may also set the height to full to show up to 1000 records.

IMPORTANT: Any report content added via the HTML editor (e.g., D3 visualizations, HTML elements, etc.) will be visible in the report builder, but their size and layout cannot be changed using the drag-and-drop interface.

Text boxes

In the report builder, you can add text boxes (including text, links, images and more) to provide more context for your report:

  1. In the report builder, click Add Text.
  2. Add any text or links. You can also embed an image.
  3. When you are finished editing, click anywhere outside the text box to save.

HTML editor

To modify the HTML of a report, click Edit HTML at the top of the report builder. After modifying code in the HTML editor, click Update to preview your changes. Any valid HTML can be added to a report using the HTML editor, including JavaScript inside <script> tags and CSS inside <style> tags.

The HTML Editor

The report’s HTML will automatically adjust as you rearrange and resize any of the elements using the drag-and-drop interface. However, for more fine-grained control over report layout and styling, or to add advanced visualizations using JavaScript, you must use the HTML editor.

This report shows how you can combine various built-in and custom visualizations. Use the Details tab to view the HTML code and see how it works.

Layout grid

Built-in tables, charts, text boxes and Notebook visualizations are automatically arranged along a 12-column grid inside a div of class mode-grid container. The structure of the HTML is shown below:

<div class="mode-grid container">     <!-- The container div for the report grid layout.        -->

  <div class="row">                   <!-- There is a div with class "row" for each row.        -->

    <div class="col-md-7">            <!-- Each chart is inside a div with class "col-md-X".    -->
      <mode-chart ... ></mode-chart>  <!-- X equals the the number of columns wide (of 12) the  -->
    </div>                            <!-- chart should be. This chart is 7 of 12 columns wide. -->

    <div class="col-md-5">            <!-- The second chart is 5 columns wide, occupying the    -->
      <mode-chart ... ></mode-chart>  <!-- remaining space in same row as the first chart.      -->


  <div class="row">                   <!-- This div starts a new row of report components.      -->

    <div class="col-md-12">           <!-- Since this div has the class "col-md-12", the        -->
      <mode-table ... ></mode-table>  <!-- component nested within it (a display table) will    -->
    </div>                            <!-- fill the entire row.                                 -->



The HTML for the layout grid will update automatically as you modify elements in the drag-and-drop interface of the report builder. However, please note:

  • Deleting a reference to a chart or table from the report’s HTML will remove it from the layout, but will not delete the underlying chart or table from the report editor.
  • You can add custom HTML elements (e.g., paragraphs, images, links, etc.) within or outside the grid generated for you by Mode. Note that adding custom HTML elements within the grid generated for you by Mode (i.e., inside the div tags with class mode-grid container) will result in unexpected behavior and as such is not recommended at this time.
  • We recommend positioning and sizing built-in visualizations with the drag-and-drop interface before modifying the HTML directly, because custom HTML content cannot be modified using the drag-and-drop interface.

The report’s name and description are automatically added to all reports inside a <div> with the class mode-header. Either can be removed from the layout by deleting them using the HTML editor. When a report is embedded, the contents of this <div> (including the name and description), will not be rendered in the embed output unless the embed-hidden class is removed.

External assets

You may include external assets (e.g., JavaScript libraries, stylesheets, images, JSON files, etc.) in your report by referencing them via URL with the appropriate tags in the report’s HTML. Note:

  • Any external assets must be hosted on the internet (Mode does not host custom assets) and loaded securely using HTTPS, not HTTP.
  • D3 (v3.1.5) and JQuery (v1.10.2), two JavaScript libraries commonly used for data visualization, are pre-loaded into all Mode reports. You do not need to add <script> tags to your report to use these libraries.

For example, take a look at this population map report, specifically the HTML code:

  • JavaScript libraries TopoJSON and Underscore.js are included on lines 190 and 191.
  • A hosted JSON file required to draw the U.S. map is loaded on line 244.
Loading state customization

In the HTML editor or in a custom theme you can target a number of CSS classes to customize elements of a report’s presentation while data is being loaded and visualizations are being rendered:

  • .editor-chart .chart-header: The title of the fully rendered visualization (charts and notebook output).
  • .mode-placeholder .placeholder-title: The title of the chart placeholder.
  • .mode-placeholder .loading-message: The message appearing in a chart placeholder. Default: “Fetching your data…” with an animated ellipses.
  • .mode-python .loading-message: The message appearing in the notebook placeholder. Default: “Fetching your notebook data…” with an animated ellipses.
  • .ph-color-light: The first of three colors included in the placeholder image that appears in the center of the loading state.
  • .ph-color-medium: The second of three colors included in the placeholder image that appears in the center of the loading state.
  • .ph-color-dark: The third color included in the placeholder image that appears in the center of the loading state. Note: Only some of the SVGs feature three colors.

Access query results with JavaScript

Results from any query in your report can be accessed using JavaScript in the HTML editor via the datasets array available in any JavaScript scope. The content property of any dataset within datasets contains the query results.

If the query result exceeds our legacy limit, the ‘content’ property of the dataset associated with this query will be empty. Note that users will still be able to view and create Mode charts and tables in these instances.

The datasets array contains the following information for each query in the report:

Key Type Description
id string 12 character GUID for the query (equal to query_token)
isLoaded boolean Is always true
content[] JSON The query result set; one JSON object per row
columns[] JSON Metadata about the columns available in the query result set
columns[].type string Data type of the column at the given position in columns[]
columns[].name string Name of the column at the given position in columns[]
count integer The number of rows in the query result set
state string “succeeded” if the query successfully ran; “failed” otherwise
queryName string The given name of the query in Mode
reportDataUrl string URL for viewing the query result set in Mode
reportQueryUrl string URL for viewing the query SQL code in Mode
query_token string 12 character GUID for the query (equal to id)
oversized boolean Is true if the query’s results are too large (> 15mb) to access in the browser. If true, content[] will be empty.
csv string URL for downloading the query result set as a CSV file

Queries are added to datasets[] in the order that they were added to the report, regardless of the order that they appear in Mode.


For example, suppose the first query (named “2006 Oscar Nominees”) in a report returned the following data:

nominee category movie
Alan Arkin actor in a supporting role Little Miss Sunshine
Forest Whitaker actor in a leading role The Last King of Scotland
Helen Mirren actress in a leading role The Queen
Jennifer Hudson actress in a supporting role Dreamgirls

Accessing datasets[0] would return the following JSON object containing all of the query’s results and metadata (use ⊕ and ⊖ to explore):

You can see a live example of this dataset, and learn more about accessing and using the datasets[] JSON object, in this example report.

Accessing data by query name

Use the JavaScript filter() method to search datasets[] and return the result set for that query. This example declares a new variable (data) and sets it equal to the results of a query called “My Query”:

var data = datasets.filter(function(d) { return d.queryName == "My Query"; })[0].content;


Drilldowns and exploration

Mode’s built-in charts include various tools for interacting with the data they display. Report viewers should feel free to explore at will: when a viewer uses any of the interactive features below, none of these changes will persist beyond that viewer’s session, and the underlying report will not be affected.

To use interactive chart features, hover over a built-in chart. You’ll see the following options:

  • Expand tree-expand Created with Sketch. / Collapse tree-collapse Created with Sketch. : Increase or decrease the granularity of the chart data. Available when the chart’s X-axis is a time-series and more granular data is available in the underlying query results.
  • Link URL-link-selected Created with Sketch. : Generates a URL that other logged-in members of your Mode organization can use to view only that specific chart.
  • Back / Forward : Undo and redo any exploratory modifications to the chart.
  • Explore: Launches a drag-and-drop interface that can be used to customize the chart or explore the data.

Depending on the chart type and available data, viewers can click on an individual data point for additional options:

  • Explore: Launches a drag-and-drop interface that can be used to explore the data behind the chosen point.
  • View Data: Opens a display table containing the data behind the chosen point.
  • Drilldown: Increases granularity of the chart to display the detail behind the chosen point. Available when the chart’s X-axis is a time-series and more granular data is available in the underlying query results.

You can disable these options for an individual chart by un-checking Enable Drilldowns in the Format tab on the right side of the chart editor.

IMPORTANT: For security purposes, when viewing an embedded report, the View Data option is not available, and the Explore option is only available to logged-in Mode users with access to the underlying report.

Filters and parameters

Filters and Parameters let viewers customize a report’s output without touching code or modifying its configuration.

Parameters and Filters

  1. Parameters: Dynamically modify the SQL code of the report before it is executed against the database. When a report viewer changes a parameter’s value, the report must be re-run to see any changes to the results.
  2. Filters: Modify the data presented in a report’s built-in charts and visualizations. Filters are applied to the data visualized in the browser after all of the report’s queries have finished running.
How to add filters to a report
  1. In the report builder, click Add Filter.
  2. You’ll see a list of all columns from all queries in your report. Select one to filter and click Add.
  3. The filter will appear on the right side of the report builder. Hover over the filter and click the gear settings-mini-hover Created with Sketch. icon to customize.
  4. To set the default values for a report’s filters, adjust them in the report builder and click Set as Default.

NOTE: If the same column name appears in multiple queries in your report, applying a corresponding filter will filter all columns of that name across all queries.

Sharing and scheduling

To share a report, open it and click Share in the report header.


Share via email

To share a report via email with one or more teammates (or even with yourself!), enter a comma-separated list of their email addresses here. You can include a short message to provide context and use the options at the bottom to further customize the email they will receive. When you click Send, Mode will send the email immediately.

You can choose whether or not to include links to Mode reports when you share them via email, Slack, or PDF. To remove report links when sharing, un-check Include report links.

NOTE: All recipients must be members of your Mode organization or have an email address in a domain claimed by your organization, unless the report has external sharing enabled.

If the report does not have external sharing enabled and you enter an email address which is in a domain claimed by your organization but which is not a member of that organization, the user will automatically be invited to join your Mode organization and must become a member in order to see the report.


Share via slack

To share a report to a channel in a connected Slack workspace, select the name of the Slack channel and optionally include a message to provide context. The Slack message will always include your name, the report title, an internal link to the report. An image preview of the report output will also be included unless this setting is disabled for your organization by an admin. When you click Send, Mode will post the message to the designated Slack channel immediately.

Everyone in the Slack channel you choose will see the message you share (including the image preview), even those who are not members of your Mode organization or who otherwise would not have access to the report in Mode. However, only those who have access to the report in Mode will be able to access it via the included report link.

Share via link

Every report has a unique set of links that can be used to access it and share it with others. These links never expire unless the report is deleted:

  • Internal Links - Accessible only by logged-in members of your Mode organization with access to the report.
  • External Links - Report visualizations and query results are viewable by anyone on the internet. Visible when external sharing is enabled for the report.

You can also select the kind of output that is returned:

  • Report Link: Displays the report with data from the most recent time it was run.
  • Run Link: Displays the report as it appeared at the time you generated the link.

Click Copy next to any link to copy that link to your clipboard.

TIP: An easy way to tell the difference between a report link and a static run link is that a static run link will always have /runs/[RUN_TOKEN]/ near the end of the URL path.

Scheduled runs

Any member of your organization with edit access to a report can configure that report to be run, and optionally shared, on a regularly occurring schedule. Reports can have multiple schedules configured so the report is sent to different groups of users at different frequencies.

To create a new schedule or manage existing schedules for a report, open the report and click Subscribe in the report header. To modify or delete an existing schedule, click on the gear settings-mini-hover Created with Sketch. next to it. To create a new schedule:

  1. Click Create a New Schedule.
  2. Configure the schedule, including the refresh frequency as well as parameter values and delivery settings (if applicable).
  3. If you want the scheduled report run to be delivered via email, click Create + Manage Subscribers and add all recipients on the next screen.
  4. Click Create Schedule.

NOTE: A report schedule will continue to run until either the underlying report or the schedule is deleted, even if the report author or schedule creator is no longer a member of your organization.

External sharing

External sharing must be explicitly enabled on a report-by-report basis. When external sharing is enabled for a report:

  • Anyone on the internet with an external link to the report may view the report’s visualizations (e.g., charts, display tables, etc.) and query results. The underlying code, other report runs, and any other information won’t be visible.
  • The report may be shared via email with recipients outside your Mode organization or claimed domain.
  • Sharing the report from Mode via email or PDF will not contain any Mode branding.

IMPORTANT: Take care when distributing external report links to prevent unauthorized access to your private data.

Once an admin has enabled external sharing for your organization, anyone with edit access to a report may enable or disable external sharing for it. To enable or disable external sharing for a report:

  1. Open the report and click Share in the report header.
  2. Toggle the switch in the pop-up so it says “External sharing of this report is ON” to enable. To disable, toggle the switch in the pop-up so it says “External sharing of this report is OFF”.
  3. Close the pop-up.

The report can now be accessed by anyone on the internet using an external link. If you disable external sharing for a report, any previously generated external links to the report will immediately stop functioning and will return a 404 Not Found error.

TIP: To simulate what someone outside your organization can see with an external link to a report, try accessing it using your browser’s private mode.

Additional options


To access additional report settings from the report editor view, click Report in the header and select Settings:

  • Report Theme: Applies the selected theme to the report’s styling.
  • Full width: Disabled by default. When enabled, report elements will expand to fill the available viewing window.
  • Disable Run from the report view: Prevents report viewers from being able to run the report and underlying queries. When disabled, reports can still be run via a schedule or from the editor view.

Fullscreen mode

Fullscreen mode maximizes the content of your report so it occupies the entire screen, eliminating all other parts of the Mode interface and browser window. A report in fullscreen mode will automatically refresh and display the latest data whenever the report is successfully run unless you access it using a static run link. To enable fullscreen mode:

  1. In the report header, click Fullscreen (this option may be in the More menu).
  2. Your report will expand to fill the screen. Only the margins of the report will expand. The report elements themselves will not. To include more elements in your dashboard, enable full width mode in report settings.
  3. To exit fullscreen mode, press the Escape key.

TIP: Don’t see the Fullscreen button in the report header? You may be in the report editor. Click View in the report header and repeat the above steps.

URL query string

You may add one or more field-value pairs to a Mode report’s URL query string to control that report’s behavior. You may combine multiple field-value pairs in a report’s URL query string, separated by &.

TIP: All Mode URLs, including query strings, are case sensitive.


Forces the report to re-run and refreshes all query results, Notebook output, and visualizations.

  • If present in the query string, must be equal to the value now.
  • Whenever a report URL is accessed that includes run=now in the query string, the report will re-run. If run=now is not included in the query string, Mode will return data from the most recent time the report was run.
  • If the URL query string includes values for parameters then the report will be run each time the URL is accessed, even if run=now is not included.

The following example URL will update all queries and visualizations each time it is accessed:


Specifies the value that should be used for a given report parameter of [PARAMETER_NAME].

  • Parameter names and values in report URLs are case sensitive.
  • Remember to URL encode any special characters used in your parameter names or values.
  • If no value or an invalid value is provided for a parameter in the URL query string, the value of the default property in the parameter definition will be used.
  • For multiselect parameters, each distinct value must be provided as a separate field-value pair in the format param_[PARAM_NAME][]=[PARAM_VALUE].

The following example URL will run the target report with “Midwest” and “Northeast” selected for the sales_region multiselect parameter and “2000” as the value for the order_max text parameter:


Last updated March 13, 2019