Periscope Data Documentation

Connecting to Periscope

First Time Connecting

Connection Definitions

Common Connection Errors

Private Network SSH Tunnels



Getting Started

Keyboard Shortcuts

Charts & Dashboards

Chart Overview

Chart Options

Dashboard Overview

Refresh Mechanics

Organizing Charts

Organizing Dashboards

Table-like Charts

Table Overview

Cohort Grids

Pivot Tables

Graph-like Charts

Overview & General Settings

Chart Types and Settings

Mixing Chart Types

Map Charts

Map Chart Overview


Clusters and Bubbles

Satellite Maps


Other Charts & Customizations

Pie Charts

Image Charts

Chart Annotations

Site Administration

Adding Users

Removing Users

User Types

User Groups

Two-Factor Authentication

Managing User Permissions

Dashboard Permissions

Site Preferences

Query Management

Color Themes

Dashboard Refresh Management

Usage Data

Periscope Cache

Caching Strategies

Querying the Periscope Cache

Cross-Database Joins

CSV Upload

Materializing Views

SQL Formatters

Using SQL Formatters

Composing SQL Formatters

Dollars and Percentages

Time Zone Formatters

Date Aggregation

Date Parts

Basic Filters

Custom Filters

Date Range Filters

Aggregation Filter

Adding, Moving, and Hiding Filters

Advanced Filters

Default Filters


Parent-Child Filters

Matching Filter Values

Time Zone Conversions

Direct Replacement

User Friendly Names


SQL Views

Joining to Views

More SQL Tools

SQL Snippets

Parameterized SQL Snippets

SQL Alerts

Automatic Joins

Version History

Sharing and Embedding

Sharing Dashboards Externally

Email Reports

Easy Embedding

Embed API

Embed API Options

CSV Download

Public CSV URL

Slack API

Slack Linking Reports

Data Management

Adding and Deleting Datasource

Spaces: Data-Level Permissions

Improving Query Throughput

Revoking Table Permissions

Salesforce Datasource

Schema Browser

SSO Integrations




Google Apps

Salesforce Datasource


The Periscope Salesforce datasource serves as an add-on and allows for data to be extracted from a Salesforce instance and loaded into the Periscope cache. Salesforce tables that have been cached can be queried in charts and joined to other cached tables.

Creating a Salesforce Connected App

To connect Saleseforce to Periscope, a Connected App must first be created within Salesforce.

  1. Click "Setup" in the top right of Salesforce.

  2. On the left navigation pane, within the "Build" menu expand "Create" and select "Apps."

  3. Under the "Connected Apps" section, click "New" to create a new connected app.

  4. Fill out the basic information and check "Enable OAuth Settings" to open the OAuth form. Use the following callback URL and add "Access and manage your data(api)" to the selected OAuth scopes.

    Callback URL:

  5. Click "Save" at the top of the new connected app form.

  6. Copy the Consumer Key and Consumer Secret to enter into Periscope's new datasource form.

Connecting a Salesforce Instance to Periscope Data

Once a connected app has been set up, navigate to the data-burger menu in Periscope and click "Add Database" to add a new datasource. In the database type dropdown, select "Salesforce," and fill out the form with the following credentials.

  1. Dislay Name: This is the name that is visible in the datasource selector.

  2. Login Email Address: This is the email address of the admin account used to log in to

  3. Login Password: This is the password associated with the Login Email Address.

  4. Login Security Token: This is the security token only; do not include the password as a part of this field. If the user does not have or has forgotten the security token, follow these steps in Salesforce:

    • From the personal settings, enter Reset in the Quick Find box, then select Reset My Security Token
    • Click Reset Security Token. The new security token is sent to the email address in the Salesforce personal settings.
  5. Client ID: This is the "Consumer Key" from Creating a Salesforce Connected App above.

  6. Client Secret Token: This is the "Consumer Secret" from Creating a Salesforce Connected App above.

Caching Tables from a Salesforce Instance

After connecting Salesforce to Periscope, any tables to be used in a query must be cached. To cache a Salesforce table, navigate to the Cache Settings through the gear icon at the bottom of the sidebar and select the Salesforce instance from the datasource dropdown menu.

Click on the table to be cached to open its cache settings. Select "Full" fom the caching strategy dropdown.

An interval based strategy will cache the table on the interval selected in the dropdown

A schedule based strategy will cache the table at the selected time every day.

Querying Salesforce Tables

After the relevant tables have been cached, they can be queried within a chart like any other table.

SELECT * FROM salesforce_database.opportunties;

Once the tables have been cached they can be seen in the schema tab when the salesforce connection has been selected as a datasource. As the tables are stored on the cache, they will need to use Redshift's syntax. Documentation on how to query the Periscope cache can be found here and guidance on how to join Salesforce tables to other tables can be found in our cross-database join documentation here.