Connectors → Smartsheet

About Smartsheet

Smartsheet is a software as a service offering for collaboration and work management. It is used to assign tasks, track project progress, manage calendars, share documents, and manage other work, using a tabular user interface.

About the Smartsheet Connector

The Smartsheet connector uses the CData JDBC Driver which offers the most natural way to connect to Smartsheet data from Java-based applications and developer technologies. The driver wraps the complexity of accessing Smartsheet data in an easy-to-integrate driver that applications can use to access Smartsheet as a traditional database.

The Smartsheet connector supports the following Incorta specific functionality:

FeatureSupported
Chunking
Data Agent
Encryption at Ingest
Incremental Load
Multi-Source
OAuth
Performance Optimized
Remote
Single-Source
Spark Extraction
Webhook Callbacks

Security configurations for the Smartsheet connector

There are two authentication method options for the Smartsheet connector:

  • OAuth
  • API Access Token

Use the OAuth Authentication Method

If your application requires users to be able to login with their own account, implement the full OAuth flow. A Security or System Administrator who manages your organization’s Smartsheet account as well as the Incorta Cluster creates the OAuth client credentials. Refer to the Smartsheet Adding Security by Using OAuth documentation for more information.

Use the API Access Token Authentication Method

Use the API Access Token Authentication method if you want to get started quickly, or are developing a standalone application that can run with your credentials. Refer to the Smartsheet Raw Token Requests documentation for more information.

Allow the Smartsheet connector

In order to use the Smartsheet connector, a Cluster Management Console (CMC) administrator must first allow it. Here are the steps:

  • Sign in to the CMC.
  • In the Navigation bar, select Clusters.
  • In the cluster list, select a Cluster name.
  • In the canvas tabs, select Connectors.
  • Select Manage Connectors.
  • Select Allow for smartsheet.
  • Select OK.
Note

There is an associated cost to allow a CData connector. Contact your Incorta Sales Executive for details.

Steps to connect Smartsheet and Incorta

To connect Smartsheet and Incorta, here are the high level steps, tools, and procedures:

Create an external data source

Here are the steps to create a external data source with the Smartsheet connector:

  • Sign in to the Incorta Direct Data Platform™.
  • In the Navigation bar, select Data.
  • In the Action bar, select + NewAdd Data Source.
  • In the Choose a Data Source dialog, in Application, select Smartsheet.
  • In the New Data Source dialog, specify the applicable connector properties.
  • To test, select Test Connection.
  • Select Ok to save your changes.

Smartsheet connector properties

Here are the properties for the Smartsheet connector:

PropertyControlDescription
Data Source Nametext boxEnter the name of the data source
Authentication Methoddrop down listSelect the authentication method to connect to Smartsheet. The options are:
  • OAuth
  • API Access Token

Refer to Security configurations for the Smartsheet connector for more information.
OAuth Client IDtext boxSelect OAuth for Authentication Method to configure this property. Enter the ID used to identify the application.
OAuth Client Secrettext boxSelect OAuth for Authentication Method to configure this property. Enter the secret string the application uses to prove its identity when requesting a token.
AuthorizebuttonSelect OAuth for Authentication Method to configure this property. Select this button to authenticate your Smartsheet account and grant Incorta read access to your sheets.
API Access Tokentext boxSelect API Access Token for Authentication Method to configure this property. Enter the user access token.
Use Connection PoolingtoggleEnable this property to use connection pooling. For a description of the connection pooling properties, refer to the CData JDBC Driver for Smartsheet Connection String Options.
Show Advanced OptionstoggleEnable this property to use the advanced connection options. For a description of the advanced options, refer to the CData JDBC Driver for Smartsheet Connection String Options.

Create a schema with the Schema Wizard

Here are the steps to create a Smartsheet schema with the Schema Wizard:

  • Sign in to the Incorta Direct Data Platform™.
  • In the Navigation bar, select Schema.
  • In the Action bar, select + New → Schema Wizard.
  • In (1) Choose a Source, specify the following:
    • For Enter a name, enter the schema name.
    • For Select a Datasource, select the Smartsheet external data source.
    • Optionally create a description.
  • In the Schema Wizard footer, select Next.
  • In (2) Manage Tables, in the Data Panel, first select the name of the Data Source, and then check the Select All checkbox.
  • In the Schema Wizard footer, select Next.
  • In (3) Finalize, in the Schema Wizard footer, select Create Schema.

Create a schema with the Schema Designer

Here are the steps to create a Smartsheet schema using the Schema Designer:

  • Sign in to the Incorta Direct Data Platform™.
  • In the Navigation bar, select Schema.
  • In the Action bar, select + New → Create Schema.
  • In Name, specify the schema name, and select Save.
  • In Start adding tables to your schema, select Smartsheet.
  • In the Data Source dialog, specify the Smartsheet table data source properties.
  • Select Add.
  • In the Table Editor, in the Table Summary section, enter the table name.
  • To save your changes, select Done in the Action bar.

Smartsheet table data source properties

PropertyControlDescription
Typedrop down listThe default is Smartsheet
Data Sourcedrop down listSelect the Smartsheet external data source
IncrementaltoggleEnable the incremental load configuration for the schema table
Fetch Sizetext boxUsed for performance improvement, fetch size defines the number of records that will be retrieved from the database in each batch until all records are retrieved. The default is 5000.
Incremental Extract Usingdrop down listEnable Incremental to configure this property. Select one of the following options:
  • Last Successful Extract Time
  • Maximum Value of a Column
Incremental Columndrop down listEnable Incremental and select Maximum Value of a Column for Incremental Extract Using to configure this property. Select the column to be used for Maximum Value of a Column. The Loader will track and use the greatest value or most recent timestamp for each load operation.
Querytext boxEnter the query to retrieve data from the Smartsheet database
Update Querytext boxEnable Incremental to configure this property. Enter the query to retrieve data updates from the Smartsheet database.
Incremental Field Typedrop down listEnable Incremental to configure this property. Select the format of the incremental field:
  • Timestamp
  • Unix Epoch (seconds)
  • Unix Epoch (milliseconds)
Chunking Methoddrop down listChunking methods allow for parallel extraction of large tables. The default is No Chunking. There are two chunking methods:
  • By Size of Chunking (Single Table)
  • By Timestamp
Chunk Sizetext boxSelect By Size of Chunking for Chunking Method to configure this property. Enter the number of records to extract in each chunk in relation to the Fetch Size. The default is three times the Fetch Size.
Order Columndrop down listSelect a Chunking Method to configure this property. Select a column in the source table you want to order by before chunking. For a Chunking Method of By Size of Chunking, it is typically an ID column and must be numeric. For a Chunking Method of >By Timestamp, it is a timestamp column.
Chunk Perioddrop down listSelect the chunk period to use in dividing the chunks:
  • Daily
  • Weekly (default)
  • Monthly
  • Yearly
  • Custom
Number of Daystext boxSelect Custom for Chunk Period to configure this property. Enter the chunking period in days.
Upper Bound for Order Columntext boxOptional. Enter the maximum value for the order column.
Lower Bound for Order Columntext boxOptional. Enter the minimum value for the order column.
CallbacktoggleEnable this option to call back on the source data set
Callback URLtext boxEnable Callback to configure this property. Specify the URL.

View the schema diagram with the Schema Diagram Viewer

Here are the steps to view the schema diagram using the Schema Diagram Viewer :

  • Sign in to the Incorta Direct Data Platform™.
  • In the Navigation bar, select Schema.
  • In the list of schemas, select the Smartsheet schema.
  • In the Schema Designer, in the Action bar, select Diagram.

Load the schema

Here are the steps to perform a Full Load of the Smartsheet schema using the Schema Designer:

  • Sign in to the Incorta Direct Data Platform™.
  • In the Navigation bar, select Schema.
  • In the list of schemas, select the Smartsheet schema.
  • In the Schema Designer, in the Action bar, select Load → Load Now → Full.
  • To review the load status, in Last Load Status, select the date.

Explore the schema

With the full load of the Smartsheet schema complete, you can use the Analyzer to explore the schema, create your first insight, and save the insight to a new dashboard.

To open the Analyzer from the schema, follow these steps:

  • In the Navigation bar, select Schema.
  • In the Schema Manager, in the List view, select the Smartsheet schema.
  • In the Schema Designer, in the Action bar, select Explore Data.

Additional Considerations

Types of Incremental Loads

You can enable Incremental Load for a Smartsheet data source. There are two types of incremental extracts:

Last Successful Extract Time

Fetch updates since the last time the tables were loaded. It is determined by the difference between the current time and the database timestamp.

Maximum Value of a Column

The column-based strategy depends on an extra column called Incremental Column in each table. The Smartsheet connector supports both timestamp and numeric columns. A timestamp column is of the type date or timestamp. A numeric column is of the type int or long.

Note

Changing the incremental load strategy requires a full load to ensure data integrity.

Incremental Load Example

In this example, the invoices table must contain a column of the type Date or Timestamp in order to load the table incrementally with a last successful extract time strategy. In this case, the name of the date column is ModifiedDate and the format of the column is Timestamp.

Here are the data source property values for this example:

  • Incremental is enabled
  • Query contains SELECT * FROM invoices
  • Update Query contains SELECT * FROM invoices WHERE ModifiedDate > ?
  • Incremental Field Type = Timestamp
Note

?is a variable in the update query that contains the last schema refresh date. When running an update query for an incremental load, the ? character will be replaced with the last incremental reference to construct a valid query to the database. The ? reference character is not valid in a standard query.