The CData Sync App provides a straightforward way to continuously pipeline your Smartsheet data to any database, data lake, or data warehouse, making it easily available for Analytics, Reporting, AI, and Machine Learning.
The Smartsheet connector can be used from the CData Sync application to pull data from Smartsheet and move it to any of the supported destinations.
Create a connection to Smartsheet by navigating to the Connections page in the Sync App application and selecting the corresponding icon in the Add Connections panel. If the Smartsheet icon is not available, click the Add More icon to download and install the Smartsheet connector from the CData site.
Required properties are listed under the Settings tab. The Advanced tab lists connection properties that are not typically required.
Smartsheet supports connections via the following authentication methods:
Use the personal token to test and to access your own data. To obtain the personal token, follow the steps below:
Smartsheet uses the OAuth authentication standard. To use it, you'll need to set the AuthScheme to OAuth. To authenticate using OAuth, you will need to register an app to obtain the OAuthClientId, OAuthClientSecret, and CallbackURL connection properties.
However, to access your own account or for testing purposes you can instead set the PersonalAccessToken connection property to the Personal Access Token you get when you create an application.
For more information, refer to our Using OAuth Authentication guide.
This section details a selection of advanced features of the Smartsheet Sync App.
The Sync App allows you to define virtual tables, called user defined views, whose contents are decided by a pre-configured query. These views are useful when you cannot directly control queries being issued to the drivers. See User Defined Views for an overview of creating and configuring custom views.
Use SSL Configuration to adjust how Sync App handles TLS/SSL certificate negotiations. You can choose from various certificate formats; see the SSLServerCert property under "Connection String Options" for more information.
Configure the Sync App for compliance with Firewall and Proxy, including Windows proxies and HTTP proxies. You can also set up tunnel connections.
The Sync App offloads as much of the SELECT statement processing as possible to Smartsheet and then processes the rest of the query in memory (client-side).
See Query Processing for more information.
See Logging for an overview of configuration settings that can be used to refine CData logging. For basic logging, you only need to set two connection properties, but there are numerous features that support more refined logging, where you can select subsets of information to be logged using the LogModules connection property.
By default, the Sync App attempts to negotiate SSL/TLS by checking the server's certificate against the system's trusted certificate store.
To specify another certificate, see the SSLServerCert property for the available formats to do so.
To connect through the Windows system proxy, you do not need to set any additional connection properties. To connect to other proxies, set ProxyAutoDetect to false.
In addition, to authenticate to an HTTP proxy, set ProxyAuthScheme, ProxyUser, and ProxyPassword, in addition to ProxyServer and ProxyPort.
Set the following properties:
The CData Sync App models the Smartsheet API as relational tables, views, and stored procedures. Views are tables that cannot be modified.
Some API objects, like Workspaces, Folders, etc., are indexed with 'Info_'. These are defined in schema files, which are simple, text-based configuration files.
You can work with all the Sheets and Reports in your account using the Sync App. In addition to providing information about the static tables, the data model illustrates a sample of what your Sheets and Reports might look like. The actual data model will be obtained dynamically based on your user credentials.
When you connect, the Sync App gets the list of tables and the metadata for the tables by calling the appropriate Web services. Any changes you make to your Smartsheet account, such as adding a new table, adding new columns, or changing the data type of a column, will immediately be reflected when you connect using the Sync App.
Stored Procedures are function-like interfaces to Smartsheet. They can be used to search, update, and modify information in Smartsheet.
API limitations and requirements are documented in this section; you can use the SupportEnhancedSQL feature, set by default, to circumvent most of these limitations.
The Sync App models the data in Smartsheet into a list of tables that can be queried using standard SQL statements.
Generally, querying Smartsheet tables is the same as querying a table in a relational database. Sometimes there are special cases, for example, including a certain column in the WHERE clause might be required to get data for certain columns in the table. This is typically needed for situations where a separate request must be made for each row to get certain columns. These types of situations are clearly documented at the top of the table page linked below.
Name | Description |
Info_Attachments | Query Smartsheet Attachments. Attachments can exist on a Comment (i.e., within a Discussion), on a Row, or on a Sheet. |
Info_Columns | Query Smartsheet Columns in a Sheet or Report. |
Info_Comments | Query Smartsheet Comments in a Discussion. |
Info_Discussions | Query Smartsheet Discussions. A Discussion is a collection of one or more Comments. A Discussion can exist on a Row or a Sheet. |
Query Smartsheet Attachments. Attachments can exist on a Comment (i.e., within a Discussion), on a Row, or on a Sheet.
When getting data from this table the queries might be slow if you have a lot of sheets. To counter this, specifying SheetId is recommended. Also other parameters like DiscussionId, RowId, CommentId can be specified to get Attachments to the related object.
Retrieve all Attachments from all Sheets.
SELECT * FROM Info_Attachments
Retrieve all Attachments related to a Sheet.
SELECT * FROM Info_Attachments WHERE SheetId='2940085806098308'
Retrieve all Attachments related to a discussion.
SELECT * FROM Info_Attachments WHERE SHEETId='2940085806098308' AND DiscussionId='8206230771525508'
Retrieve all Attachments related to a Row.
SELECT * FROM Info_Attachments WHERE SheetId='2940085806098308' AND RowId='6773684447799172'
Retrieve all Attachments related to a Comment.
SELECT * FROM Info_Attachments WHERE SheetId='2940085806098308' AND CommentId='1322606759569284'
Retrieve details of a specific Attachment.
SELECT * FROM Info_Attachments WHERE Id='3053958945105796' AND SheetId='2940085806098308'
You can attach a file to a specific row in a specific sheet. Fields required for Insert are SheetId, RowId, Name of the file and either FilePath or ContentEncoded.
INSERT INTO Info_Attachments (SheetId, RowId, Name, FilePath) VALUES('8179839304787844','4728727909230468', 'TestSheet.xlsx', 'G:\\\\TestSheet.xlsx') INSERT INTO Info_Attachments (SheetId, RowId, Name, ContentEncoded) VALUES('8179839304787844','4728727909230468', 'TestSheet.xlsx', 'dGVzdGluZyBlbmNvZGVkIHRleHQ=')
Name | Type | ReadOnly | References | Description |
Id [KEY] | String | False |
The unique Identifier of the attachment. | |
Name | String | False |
The name of the attachment. | |
Url | String | False |
The temporary URL of the attachment (files only). | |
UrlExpiresInMillis | Long | False |
The temporary URL time to live for the attachment (files only). | |
AttachmentType | String | False |
The attachment type (one of FILE, GOOGLE_DRIVE, LINK, BOX_COM, DROPBOX, EVERNOTE, or EGNYTE). | |
AttachmentSubType | String | False |
The attachment subtype, valId only for either GOOGLE_DRIVE attachments or EGNYTE attachments. Possible values for GOOGLE_DRIVE attachments: DOCUMENT, SPREADSHEET, PRESENTATION, PDF, DRAWING. Possible values for EGNYTE attachments: FOLDER. | |
CreatedAt | Timestamp | False |
A timestamp of when the attachment was originally added | |
UserId | String | False |
The Id of the user who created the attachment. | |
UserEmail | String | False |
The email address of the user. | |
UserName | String | False |
The full name of the user. Read-only. | |
MimeType | String | False |
Attachment MIME type. For example PNG. | |
ParentType | String | False |
The type of object the attachment belongs to. Possible values: SHEET, ROW, or COMMENT. | |
ParentId | String | False |
The Id of the parent. | |
SizeInKb | Long | False |
The size of the file, if the attachmentType is FILE. | |
SheetId | String | False |
The Id of the sheet. | |
RowId | String | False |
The Id of the row. | |
DiscussionId | String | False |
The Id of the discussion. | |
CommentId | String | False |
The Id of the comment. | |
FilePath | String | False |
The path of the file to insert. | |
ContentEncoded | String | False |
BASE64 encoded content of the file to insert. |
Query Smartsheet Comments in a Discussion.
This view returns details for Columns of a specified Discussion. The SheetId parameter is always required.
Retrieve all comments from a sheet.
SELECT * FROM Info_Comments WHERE SheetId = '2940085806098308'
Retrieve details of a specified Comment.
SELECT * FROM Info_Comments WHERE SheetId = '2940085806098308' AND Id='1322606759569284'
You can insert a comment to a discussion by providing SheetId, DiscussionId and Text.
INSERT INTO Info_Comments (SheetId, DiscussionId, Text) VALUES ('568679927703428', '4661021235275652', 'This is a comment 3')
Name | Type | ReadOnly | References | Description |
Id [KEY] | String | False |
The unique identifier of the comment. | |
Text | String | False |
The comment body. | |
UserName | String | False |
The user name. | |
UserEmail | String | False |
The email address of the user. | |
CreatedAt | Datetime | False |
The time of creation. | |
ModifiedAt | Datetime | False |
The time of the last modification. | |
AttachmentsAggregate | String | False |
Array of attachment objects. | |
DiscussionId | String | False |
The Id of the discussion. | |
SheetId | String | False |
The Id of the sheet. |
Query Smartsheet Discussions. A Discussion is a collection of one or more Comments. A Discussion can exist on a Row or a Sheet.
This view returns a list of Discussions. The SheetId parameter is always required.
Retrieve all Discussions related to a Sheet.
SELECT * FROM Info_Discussions WHERE SheetId = '2940085806098308'
Retrieve Discussions related to a specific Row of a Sheet.
SELECT * FROM Info_Discussions WHERE SheetId = '2940085806098308' AND RowId='6773684447799172'
Retrieve details of a specified Comment.
SELECT * FROM Info_Discussions WHERE SheetId = '2940085806098308' AND Id='8206230771525508'
You can insert a discussion to a sheet by providing SheetId and FirstDiscussionComment. To add a discussion to a row, provide RowId, SheetId, and FirstDiscussionComment.
INSERT INTO Info_Discussions (SheetId, FirstDiscussionComment) VALUES ('568679927703428', 'This is a comment 1') INSERT INTO Info_Discussions (RowId, SheetId, FirstDiscussionComment) VALUES ('1889077216995204', '568679927703428', 'This is a comment 2')
Name | Type | ReadOnly | References | Description |
Id [KEY] | String | False |
The Id of the discussion. | |
Title | String | False |
The title of the comment. | |
AccessLevel | String | False |
The permissions the user has to access the discussion. | |
ParentId | String | False |
The Id of the directly associated row or sheet. | |
ParentType | String | False |
The type of the directly associated row or sheet. Possible values: SHEET or ROW. | |
LastCommentedAt | Datetime | False |
The time of the most recent comment. | |
LastCommentBy | String | False |
The full name of the user who last commented. | |
CreatorName | String | False |
The full name of the user who created the discussion. | |
ReadOnly | Boolean | False |
Whether the user can modify the discussion. | |
SheetId | String | False |
The sheet Id. | |
RowId | String | False |
The row Id. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name | Type | Description |
FirstDiscussionComment | String |
This column is used only to INSERT the first comment on a discussion, as it is required. |
Create, update, delete, and query the Sheet_Content_Calendar table in Smartsheet.
Name | Type | ReadOnly | References | Description |
RowId [KEY] | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Prio | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Image | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Title & Link | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Details | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Assigned To | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Draft Due | Datetime | False |
This column is dynamic and maps to the corresponding field in the API. | |
Draft Status | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Approved By | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Objective | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Target | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Media Type | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Art Required | Boolean | False |
This column is dynamic and maps to the corresponding field in the API. | |
Placement | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Publication Date | Datetime | False |
This column is dynamic and maps to the corresponding field in the API. | |
Keywords | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Live | Boolean | False |
This column is dynamic and maps to the corresponding field in the API. |
Create, update, delete, and query the Sheet_Customer_Order_Tracking_History table in Smartsheet.
Name | Type | ReadOnly | References | Description |
RowId [KEY] | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
PO | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
PO Date | Datetime | False |
This column is dynamic and maps to the corresponding field in the API. | |
Ship Date | Datetime | False |
This column is dynamic and maps to the corresponding field in the API. | |
Shipped Via | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Invoice Amount | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Invoice Number | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Inv Date | Datetime | False |
This column is dynamic and maps to the corresponding field in the API. | |
Terms | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Paid | Boolean | False |
This column is dynamic and maps to the corresponding field in the API. | |
Date Paid | Datetime | False |
This column is dynamic and maps to the corresponding field in the API. | |
Payment | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Check # | String | False |
This column is dynamic and maps to the corresponding field in the API. |
Create, update, delete, and query the Sheet_Event_Plan_Budget table in Smartsheet.
Name | Type | ReadOnly | References | Description |
RowId [KEY] | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Task Name | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Assigned | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Status | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Progress | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Due Date | Datetime | False |
This column is dynamic and maps to the corresponding field in the API. | |
$ Each | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Qty | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Budget | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Actual | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Comments | String | False |
This column is dynamic and maps to the corresponding field in the API. |
Create, update, delete, and query the Sheet_Expense_Report table in Smartsheet.
Name | Type | ReadOnly | References | Description |
RowId [KEY] | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Date | Datetime | False |
This column is dynamic and maps to the corresponding field in the API. | |
Description | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Expense Category | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Amount | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Manager Approved | Boolean | False |
This column is dynamic and maps to the corresponding field in the API. | |
Comment | String | False |
This column is dynamic and maps to the corresponding field in the API. |
Create, update, delete, and query the Sheet_Gantt_Project_with_Hard_Deadline table in Smartsheet.
Name | Type | ReadOnly | References | Description |
RowId [KEY] | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
At Risk | Boolean | False |
This column is dynamic and maps to the corresponding field in the API. | |
Task Name | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Start Date | Datetime | False |
This column is dynamic and maps to the corresponding field in the API. | |
End Date | Datetime | False |
This column is dynamic and maps to the corresponding field in the API. | |
Assigned To | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Status | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Duration | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
% Complete | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Predecessors | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Comments | String | False |
This column is dynamic and maps to the corresponding field in the API. |
Create, update, delete, and query the Sheet_Job_Candidate_Tracker table in Smartsheet.
Name | Type | ReadOnly | References | Description |
RowId [KEY] | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Candidate Name | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Next Steps | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Comments | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Status | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
RYG | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Start Date | Datetime | False |
This column is dynamic and maps to the corresponding field in the API. | |
Hiring Mgr | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Referral Source | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Hire Type | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Compensation | String | False |
This column is dynamic and maps to the corresponding field in the API. |
Create, update, delete, and query the Sheet_Sales_Activity_Tracking_by_Rep_Month table in Smartsheet.
Name | Type | ReadOnly | References | Description |
RowId [KEY] | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Monthly Metric | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Quota | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Actual | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Percent to Goal | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Variance | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Pace | String | False |
This column is dynamic and maps to the corresponding field in the API. |
Create, update, delete, and query the Sheet_Simple_Sales_Pipeline table in Smartsheet.
Name | Type | ReadOnly | References | Description |
RowId [KEY] | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Status | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Company Logo | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Opportunity | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Contact Name | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Sales Stage | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Forecast Amount | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Probability | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Weighted Forecast | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Expected Close Date | Datetime | False |
This column is dynamic and maps to the corresponding field in the API. | |
Sales Rep | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Next Step | String | False |
This column is dynamic and maps to the corresponding field in the API. |
Create, update, delete, and query the Sheet_Team_Objectives_Tracker table in Smartsheet.
Name | Type | ReadOnly | References | Description |
RowId [KEY] | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Task Name | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Responsible | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
State | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Due Date | Datetime | False |
This column is dynamic and maps to the corresponding field in the API. | |
Comments | String | False |
This column is dynamic and maps to the corresponding field in the API. |
Create, update, delete, and query the Sheet_Team_Task_List_by_Priority table in Smartsheet.
Name | Type | ReadOnly | References | Description |
RowId [KEY] | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
RYG | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Task | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Assigned To | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Reviewed | Boolean | False |
This column is dynamic and maps to the corresponding field in the API. | |
Status | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Due | Datetime | False |
This column is dynamic and maps to the corresponding field in the API. | |
Notes & Comments | String | False |
This column is dynamic and maps to the corresponding field in the API. |
Create, update, delete, and query the Sheet_WebFormTest table in Smartsheet.
Name | Type | ReadOnly | References | Description |
RowId [KEY] | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Form Field 1 | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Form Field 2 | String | False |
This column is dynamic and maps to the corresponding field in the API. | |
Form Date Field | Datetime | False |
This column is dynamic and maps to the corresponding field in the API. |
Views are composed of columns and pseudo columns. Views are similar to tables in the way that data is represented; however, views do not support updates. Entities that are represented as views are typically read-only entities. Often, a stored procedure is available to update the data if such functionality is applicable to the data source.
Queries can be executed against a view as if it were a normal table, and the data that comes back is similar in that regard.
Dynamic views, such as queries exposed as views, and views for looking up specific combinations of project_team work items are supported.
Name | Description |
Info_CellHistory | Query the available CellHistory of a Cell in Smartsheet. |
Info_Cells | Query Smartsheet Cells. A collection of Cells comprises each Row in a Sheet. |
Info_Contacts | Query Smartsheet Contacts. A Contact is the personal contact of a User in Smartsheet. |
Info_Favorites | Query Smartsheet Favorites. |
Info_Folders | Query Smartsheet Folders in the Sheets Folder for the User, in another Folder, or in a Workspace. |
Info_Groups | Query Smartsheet Groups. |
Info_Home | Query objects on the Home tab in Smartsheet. The Home tab shows all objects a User has access to. |
Info_Reports | Query Smartsheet Reports. |
Info_Rows | Query Rows in a Sheet or Report. Each Row is composed of a collection of Cells, and may optionally contain Discussions and Attachments. |
Info_ServerInformation | Query Smartsheet Server Information including application constants. |
Info_Shares | Query the Sharing operations of Reports, Sheets, and Workspaces. |
Info_Sheets | Query Smartsheets Sheets. A Sheet can exist in the Sheets folder for the user (Home), in a Folder, or in a Workspace. It is comprised of Columns, Rows, and Cells, and may optionally contain Attachments and Discussions. |
Info_Templates | Query Smartsheet Templates. |
Info_Users | Query the Users in the organization. |
Info_Workspaces | Query Smartsheet Workspaces. |
Query the available CellHistory of a Cell in Smartsheet.
To get data from this view a SheetId, RowId, and ColumnId are always required.
Retrieve Cell History.
SELECT * FROM Info_CellHistory WHERE SheetId = '2940085806098308' AND RowId='6773684447799172' AND ColumnId='7999197812156292'
Name | Type | References | Description |
Value | String | The value of the cell. | |
ModifiedAt | Datetime | The value of the cell. | |
EditorName | String | The name of the user who last modified the cell. | |
EditorEmail | String | The email address of the user who last modified the cell. | |
SheetId | String | The Id of the sheet. | |
RowId | String | The Id of the row. | |
ColumnId | String | The Id of the column. |
Query Smartsheet Cells. A collection of Cells comprises each Row in a Sheet.
This view returns details for Cells of a specified Row. The SheetId and RowId parameters are always required.
Retrieve Cells.
SELECT * FROM Info_Cells WHERE SheetId = '2940085806098308' AND RowId='6773684447799172'
Name | Type | References | Description |
Id [KEY] | String | The Id of the column that the cell is located in. | |
Value | String | The value of the cell. A string, a number, or a boolean value. | |
DisplayValue | String | Visual representation of cell contents as presented to the user in the UI. | |
ColumnType | String | The type definition on the Column object. | |
Formula | String | The formula for a cell, if set. | |
Format | String | The format descriptor. | |
ConditionalFormat | String | The format descriptor describing the conditional formatting of the cell. | |
Strict | Boolean | Set to false to enable lenient parsing. Defaults to true. This attribute can be specified in a request, but will never be present in a response. | |
SheetId | String | The sheet Id. | |
RowId | String | The row Id. |
Query Smartsheet Columns in a Sheet or Report.
This view returns details for Columns of a specified Sheet. The SheetId parameter is always required.
Retrieve Columns.
SELECT * FROM Info_Columns WHERE SheetId = '2940085806098308'
Retrieve details of the specified Columns.
SELECT * FROM Info_Columns WHERE SheetId = '2940085806098308' AND Id='7999197812156292'
Name | Type | References | Description |
Id [KEY] | String | The column Id. | |
Index | Integer | The column index. | |
Title | String | The column title. | |
Primary | Boolean | Whether the column is the Primary Column. | |
Type | String | The column type. One of the following values: Text_Number, Date, Datetime, Contact_List, Checkbox, Picklist, Duration, Predecessor, Abstract_datetime. | |
OptionsAggregate | String | Array of the options available for the column | |
Hidden | Boolean | Whether the column is hidden. | |
Symbol | String | The column symbol. Possible values for the checkbox column type: star, flag. Possible values for the picklist column type: harvey_balls, priority, ryg, priority_hml, decision_symbols, decision_shapes, vcr, rygb, rygg, weather, progress, arrows_3_way, arrows_4_way, arrows_5_way, directions_3_way, directions_4_way, ski, signal, star_rating, hearts, money, effort, pain. | |
ColumnType | String | The system column type. Possible values: auto_number, modified_date, modified_by, created_date, created_by. | |
TagsAggregate | String | Set of tags to indicate special columns. Each element in the array will be set to one of the following values: calendar_start_date, calendar_end_date, gantt_start_date, gantt_end_date, gantt_percent_complete, gantt_display_label, gantt_predecessor, gantt_duration, gantt_assigned_resource | |
Width | Integer | The display width of the column in pixels. | |
Format | String | The format descriptor. | |
FilterType | String | The filter applied to the column. Possible values: list, custom. | |
Locked | Boolean | Whether the column is locked. A value of true indicates that the column has been locked by the sheet owner or the admin. | |
LockedForUser | Boolean | Whether the column is locked for the requesting user. | |
SheetId | String | The sheet Id. |
Query Smartsheet Contacts. A Contact is the personal contact of a User in Smartsheet.
This view returns details for Contacts.
Retrieve Contacts.
SELECT * FROM Info_Contacts
Retrieve details of a specified Contact.
SELECT * FROM Info_Contacts WHERE Id='1322606759569284'
Name | Type | References | Description |
Id [KEY] | String | The unique identifier of the contact. | |
Name | String | The full name of the contact. | |
String | The email address of the contac. |
Query Smartsheet Favorites.
This view returns a list of Favorite objects.
Retrieve all Favorite objects.
SELECT * FROM Info_Favorites
Name | Type | References | Description |
ObjectId | String | The unique identifier of the item marked as a favorite. If the favorite type is template, only a private sheet-type template Id is allowed. | |
Type | String | The type of the favorite. Possible values: workspace, folder, sheet, report, template. |
Query Smartsheet Folders in the Sheets Folder for the User, in another Folder, or in a Workspace.
Retrieve all Folders.
SELECT * FROM Info_Folders
Retrieve details for a Folder.
SELECT * FROM Info_Folders WHERE Id='2035256120371076'
Retrieve Folders of a specified Workspace.
SELECT * FROM Info_Folders WHERE WorkspaceId = '2940085806098308'
Name | Type | References | Description |
Id [KEY] | String | The unique identifier of the folder. | |
Name | String | The folder name. | |
Permalink | String | URL that represents a direct link to the Folder in Smartsheet. | |
Favorite | Boolean | Whether the user has marked the Folder as a Favorite in their Home tab. | |
WorkspaceId | String | Id of workspace where this folder is located |
Query Smartsheet Groups.
Retrieve all Groups.
SELECT * FROM Info_Groups
Retrieve details for a Group.
SELECT * FROM Info_Groups WHERE Id='2035256120371076'
Name | Type | References | Description |
Id [KEY] | String | The unique identifier of the group. | |
Name | String | The name of the group. | |
Description | String | The description of the group. | |
Owner | String | The email address of the group. | |
OwnerId | String | The user Id of the owner of the group. | |
CreatedAt | Datetime | Time of creation. | |
ModifiedAt | Datetime | Time of the last modification. |
Query objects on the Home tab in Smartsheet. The Home tab shows all objects a User has access to.
Retrieve all objects located on the Home tab:
SELECT * FROM Info_Home
Name | Type | References | Description |
SheetsAggregate | String | Array of sheet objects. | |
FoldersAggregat | String | Array of folder objects. | |
ReportsAggregat | String | Array of report objects. | |
TemplatesAggregat | String | Array of template objects. | |
WorkspacesAggregat | String | Array of workspace objects. |
Query Smartsheet Reports.
Retrieve all Reports.
SELECT * FROM Info_Reports
Retrieve Reports located in a specific Workspace.
SELECT * FROM Info_Reports WHERE WorkspaceId='6773684447799172'
Retrieve Reports located in a specific Folder.
SELECT * FROM Info_Reports WHERE FolderId='6773684447799172'
Name | Type | References | Description |
Id [KEY] | String | The unique identifier of the report. | |
Name | String | The name of the report. | |
FolderId | String | The Id of the folder. | |
WorkspaceId | String | Id of workspace where this report is located |
Query Rows in a Sheet or Report. Each Row is composed of a collection of Cells, and may optionally contain Discussions and Attachments.
This view returns a list of Sheet Rows. The SheetId parameter is always required.
Retrieve all Rows of a Sheet.
SELECT * FROM Info_Rows WHERE SheetId = '2940085806098308'
Retrieve details of a specified Row.
SELECT * FROM Info_Rows WHERE SheetId = '2940085806098308' AND Id='8206230771525508'
Name | Type | References | Description |
Id [KEY] | String | The unique identifier of the row. | |
RowNumber | Integer | The row number within the sheet. Starts at 1. | |
Version | Integer | The version number. This is incremented every time a sheet is modified. | |
FilteredOut | Boolean | True if this row is filtered out by a column filter (and thus is not displayed in the Smartsheet app). False if the row is not filtered out. | |
InCriticalPath | Boolean | True if the sheet is a project sheet with dependencies enabled and this row is in the critical path. | |
Locked | Boolean | Whether the row has been locked by the sheet owner or the admin. | |
LockedForUser | Boolean | Whether the row is locked for the requesting user. | |
Expanded | Boolean | Whether the row is expanded or collapsed. | |
AccessLevel | String | The permissions the user has to access the sheet that contains the row. | |
Format | String | The format descriptor. | |
ConditionalFormat | String | The format descriptor for a conditional filter. | |
CreatedAt | Datetime | Time of creation. | |
ModifiedAt | Datetime | Time of the last modification. | |
Permalink | String | URL that represents a direct link to the row in Smartsheet. | |
ParentId | String | The Id of the parent row. | |
SiblingId | String | The Id of the previous sibling row at the same hierarchical level of this row. | |
ToTop | Boolean | Flag used to specify the location for a new or moved row. | |
ToBottom | Boolean | Flag used to specify the location for a new or moved row. | |
Above | Boolean | Flag used to specify the location for a new or moved row. | |
SheetId | String | The Id of the parent sheet. |
Query Smartsheet Server Information including application constants.
Retrieve Server Information:
SELECT * FROM Info_ServerInformation
Name | Type | References | Description |
SupportedLocales | String | Array of strings representing all Smartsheet-supported locales. | |
FormatsDefaults | String | A format descriptor where each element describes the formats the Smartsheet Web application displays for format values that have not been set. | |
FontFamily | String | Font families with additional font information. | |
FontSize | String | Font sizes in points. | |
Bold | String | Specifies bold font. Possible values: none, on. | |
Italic | String | Specifies italic font. Possible values: none, on. | |
Underline | String | Specifies underlined font. Possible values: none, on. | |
Strikethrough | String | Specifies strikethrough font. Possible values: none, on. | |
HorizontalAlign | String | Specifies horizontally aligned text. Possible values: none, on. | |
VerticalAlign | String | Specifies vertically aligned text. Possible values: top, middle, bottom. Note: default is the default value, which is equivalent to top. | |
Color | String | Color hex values. Note: None is the default value for all colors. Applications will need to handle this value and use app-defined colors (typically this is Black for text color and White for background color). | |
Currency | String | Currency codes and symbols. | |
ThousandsSeparator | String | Specifies whether the thousands separator for a number is displayed. Possible values: none, on. | |
NumberFormat | String | The number format. Possible values: none, NUMBER, CURRENCY, PERCENT. | |
TextWrap | String | Whether the text is wrapped. Possible values: none, on. |
Query Smartsheets Sheets. A Sheet can exist in the Sheets folder for the user (Home), in a Folder, or in a Workspace. It is comprised of Columns, Rows, and Cells, and may optionally contain Attachments and Discussions.
Retrieve all Sheets.
SELECT * FROM Info_Sheets
Retrieve Sheets located in a specific Folder.
SELECT * FROM Info_Sheets WHERE FolderId = '2928085806875091'
Retrieve Sheets located in a specific Workspace.
SELECT * FROM Info_Sheets WHERE WorkspaceId = '1928085806875098'
Name | Type | References | Description |
Id [KEY] | String | The unique identifier of the sheet. | |
Name | String | The name of the sheet. | |
Owner | String | Email address of the sheet owner. | |
OwnerId | String | User Id of the Sheet owner. | |
Permalink | String | URL that represents a direct link to the sheet in Smartsheet. | |
SourceId | String | The Id of the Sheet or Template from which the enclosing sheet was created. | |
SourceType | String | The type of the source object. Possible values: sheet or template. | |
CreatedAt | Datetime | Time that the sheet was created. | |
ModifiedAt | Datetime | Time that the sheet was modified. | |
Version | Long | A number that is incremented every time a sheet is modified. | |
TotalRowCount | Long | The total number of rows in the sheet. | |
AccessLevel | String | User permissions on the sheet. | |
ReadOnly | Boolean | Whether the Sheet belongs to an expired trial. | |
GanttEnabled | Boolean | Whether Gantt is enabled. | |
DependenciesEnabled | Boolean | Whether dependencies are enabled. | |
ResourceManagementEnabled | Boolean | Whether resource management is enabled. | |
Favorite | Boolean | Whether the user has marked this sheet as a favorite in their Home tab. | |
ShowParentRowsForFilters | Boolean | Whether the show parent rows option is enabled for the filters. | |
FromId | String | The Id of the Template from which to create the Sheet. | |
WorkspaceId | String | The Id of the workspace. | |
FolderId | String | The Id of the folder. |
Query Smartsheet Templates.
By default this view returns all Templates created by the user. If the TemplateType filter is set to 'public' , the public templates will be returned.
Retrieve all Templates.
SELECT * FROM Info_Templates
Retrieve all other public Templates.
SELECT * FROM Info_Templates WHERE TemplateType = 'public'
Retrieve Templates located on a specific folder.
SELECT * FROM Info_Templates WHERE FolderId = '2928085806875091'
Retrieve Templates located on a specific Workspace.
SELECT * FROM Info_Templates WHERE WorkspaceId = '1928085806875098'
Name | Type | References | Description |
Id [KEY] | String | The unique identifier of the template. | |
Name | String | The name of the template. | |
Description | String | The description for the template. | |
TemplateType | String | The template type.
The allowed values are public, user. | |
AccessLevel | String | The user permissions on the template. | |
Permalink | String | The permalink for the template. | |
Image | String | The image link for the template. | |
Locale | String | The locale for the template. | |
FolderId | String | The Id of the folder the template is part of. | |
WorkspaceId | String | The Id of the workspace the template is part of. |
Query the Users in the organization.
Retrieve all Users.
SELECT * FROM Info_Users
Retrieve all Users of a specific Group.
SELECT * FROM Info_Users WHERE GroupId='2928085806875091'
Name | Type | References | Description |
Id [KEY] | String | The unique identifier of the user. | |
AccountId | String | The Id of the associated account. | |
AccountName | String | The name of the associated account. | |
String | The email address of the user. | ||
Name | String | The full name of the user. | |
FirstName | String | The first name of the user. | |
LastName | String | The last name of the user. | |
Admin | Boolean | Whether the user is a system admin. A system admin can manage users and accounts. | |
Locale | String | The locale for the user. | |
TimeZone | String | The timezone for the user. | |
LicensedSheetCreator | Boolean | Whether the user is a licensed user. A licensed user can create and own sheets. | |
GroupAdmin | Boolean | Whether the user is a group admin. A group admin can create and edit groups. | |
ResourceViewer | Boolean | Whether the user is a resource viewer. A resource viewer can access resource views. | |
Status | String | The status of the user. Possible values: ACTIVE, PENDING, DECLINED. | |
GroupId | String | The Id of the group. |
Query Smartsheet Workspaces.
Retrieve all Workspaces.
SELECT * FROM Info_Workspaces
Retrieve all details for a specific Workspace.
SELECT * FROM Info_Workspaces WHERE Id = '2928085806875091'
Name | Type | References | Description |
Id [KEY] | String | The unique identifier of the workspace. | |
Name | String | The name of the workspace. | |
Favorite | Boolean | Whether the user has marked the workspace as a Favorite. | |
AccessLevel | String | The access permissions the user has to the Workspace. | |
Permalink | String | URL that represents a direct link to the workspace in Smartsheet. |
The Smartsheet table Report_Sales_Activity_And_Team_Objectives.
Name | Type | References | Description |
Sheet Name | String | The Sheet Name column for the table Report_Sales_Activity_And_Team_Objectives. | |
Primary | String | The Primary column for the table Report_Sales_Activity_And_Team_Objectives. | |
Responsible | String | The Responsible column for the table Report_Sales_Activity_And_Team_Objectives. | |
Pace | String | The Pace column for the table Report_Sales_Activity_And_Team_Objectives. | |
Percent to Goal | String | The Percent to Goal column for the table Report_Sales_Activity_And_Team_Objectives. | |
Due Date | Datetime | The Due Date column for the table Report_Sales_Activity_And_Team_Objectives. | |
Actual | String | The Actual column for the table Report_Sales_Activity_And_Team_Objectives. | |
Quota | String | The Quota column for the table Report_Sales_Activity_And_Team_Objectives. | |
Comments | String | The Comments column for the table Report_Sales_Activity_And_Team_Objectives. | |
State | String | The State column for the table Report_Sales_Activity_And_Team_Objectives. |
Query the Report_Tasks_and_Events view in Smartsheet.
Name | Type | References | Description |
RowId [KEY] | String | This column is dynamic and maps to the corresponding field in the API. | |
Sheet Name | String | This column is dynamic and maps to the corresponding field in the API. | |
Primary | String | This column is dynamic and maps to the corresponding field in the API. | |
Assigned To | String | This column is dynamic and maps to the corresponding field in the API. | |
Comments | String | This column is dynamic and maps to the corresponding field in the API. | |
Status | String | This column is dynamic and maps to the corresponding field in the API. | |
Due | Datetime | This column is dynamic and maps to the corresponding field in the API. | |
Due Date | Datetime | This column is dynamic and maps to the corresponding field in the API. | |
Budget | String | This column is dynamic and maps to the corresponding field in the API. | |
Assigned | String | This column is dynamic and maps to the corresponding field in the API. | |
Actual | String | This column is dynamic and maps to the corresponding field in the API. | |
Notes & Comments | String | This column is dynamic and maps to the corresponding field in the API. | |
Reviewed | Boolean | This column is dynamic and maps to the corresponding field in the API. | |
Progress | String | This column is dynamic and maps to the corresponding field in the API. |
The Sync App maps types from the data source to the corresponding data type available in the schema. The table below documents these mappings.
Smartsheet | CData Schema |
Auto-Number | int |
Checkbox | bool |
Contact list | string |
Created (Date) | datetime |
Created By | string |
Date | date |
Dropdown List | string |
Modified (Date) | datetime |
Modified By | string |
Symbols (Flag/Star) | bool |
Symbols (Dropdowns) | string |
Text/Number (Text) | string |
Text/Number (Whole Number) | int (<2,147,483,647) or long (>2,147,483,647) |
Text/Number (Decimal) | float |
The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider. Click the links for further details.
For more information on establishing a connection, see Establishing a Connection.
Property | Description |
AuthScheme | Whether to use Personal Access Token Authentication or OAuth Authentication when connecting to Smartsheet. |
PersonalAccessToken | The Personal Access Token that can be generated from the Smartsheet UI. |
Property | Description |
OAuthClientId | The client Id assigned when you register your application with an OAuth authorization server. |
OAuthClientSecret | The client secret assigned when you register your application with an OAuth authorization server. |
Property | Description |
SSLServerCert | The certificate to be accepted from the server when connecting using TLS/SSL. |
Property | Description |
FirewallType | The protocol used by a proxy-based firewall. |
FirewallServer | The name or IP address of a proxy-based firewall. |
FirewallPort | The TCP port for a proxy-based firewall. |
FirewallUser | The user name to use to authenticate with a proxy-based firewall. |
FirewallPassword | A password used to authenticate to a proxy-based firewall. |
Property | Description |
ProxyAutoDetect | This indicates whether to use the system proxy settings or not. This takes precedence over other proxy settings, so you'll need to set ProxyAutoDetect to FALSE in order use custom proxy settings. |
ProxyServer | The hostname or IP address of a proxy to route HTTP traffic through. |
ProxyPort | The TCP port the ProxyServer proxy is running on. |
ProxyAuthScheme | The authentication type to use to authenticate to the ProxyServer proxy. |
ProxyUser | A user name to be used to authenticate to the ProxyServer proxy. |
ProxyPassword | A password to be used to authenticate to the ProxyServer proxy. |
ProxySSLType | The SSL type to use when connecting to the ProxyServer proxy. |
ProxyExceptions | A semicolon separated list of destination hostnames or IPs that are exempt from connecting through the ProxyServer . |
Property | Description |
LogModules | Core modules to be included in the log file. |
Property | Description |
Location | A path to the directory that contains the schema files defining tables, views, and stored procedures. |
BrowsableSchemas | This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC. |
Tables | This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC. |
Views | Restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC. |
Property | Description |
Header | Indicates whether or not the provider should detect column names from the first row. |
HideFormattingCharacters | Set to True if you want to hide currency symbols and percentage signs in numeric values. This will also convert these columns from varchar to double. Only works if TypeDetectionScheme is set to RowScan and at least the first RowScanDepth values for that column are convertable to double. |
IgnoreRowsNotFound | If set to false and any of the specified Row IDs are not found, no rows will be deleted, and a 'not found' error will be returned. |
MaxRows | Limits the number of rows returned rows when no aggregation or group by is used in the query. This helps avoid performance issues at design time. |
Other | These hidden properties are used only in specific use cases. |
Pagesize | The maximum number of results to return per page from Smartsheet. |
PseudoColumns | This property indicates whether or not to include pseudo columns as columns to the table. |
ReportCompatibilityLevel | Controls whether new functionality, such as multi-contact data is returned as: Backwards-compatible, text format (level 0, default) Multi-contact data (level 1) Multi-contact data (report-compatible, level 2) Multi-picklist data (level 3) . |
RowScanDepth | The maximum number of rows to scan to look for the columns available in a table. |
Timeout | The value in seconds until the timeout error is thrown, canceling the operation. |
TypeDetectionScheme | Determines how to determine the data types of columns. |
UseFullFilePathsAsTableNames | Whether or not to include the full file path in the name of an exposed table or view, corresponding to a sheet or report. |
UserDefinedViews | A filepath pointing to the JSON configuration file containing your custom views. |
UseSimpleNames | Boolean determining if simple names should be used for tables and columns. |
ValueSource | Indicates whether the cell will use the Value fields as its value or the DisplayValue field. |
This section provides a complete list of the Authentication properties you can configure in the connection string for this provider.
Property | Description |
AuthScheme | Whether to use Personal Access Token Authentication or OAuth Authentication when connecting to Smartsheet. |
PersonalAccessToken | The Personal Access Token that can be generated from the Smartsheet UI. |
Whether to use Personal Access Token Authentication or OAuth Authentication when connecting to Smartsheet.
Whether to use Personal Access Token Authentication or OAuth Authentication when connecting to Smartsheet
The Personal Access Token that can be generated from the Smartsheet UI.
The Personal Access Token that can be generated from the Smartsheet UI.
This section provides a complete list of the OAuth properties you can configure in the connection string for this provider.
Property | Description |
OAuthClientId | The client Id assigned when you register your application with an OAuth authorization server. |
OAuthClientSecret | The client secret assigned when you register your application with an OAuth authorization server. |
The client Id assigned when you register your application with an OAuth authorization server.
As part of registering an OAuth application, you will receive the OAuthClientId value, sometimes also called a consumer key, and a client secret, the OAuthClientSecret.
The client secret assigned when you register your application with an OAuth authorization server.
As part of registering an OAuth application, you will receive the OAuthClientId, also called a consumer key. You will also receive a client secret, also called a consumer secret. Set the client secret in the OAuthClientSecret property.
This section provides a complete list of the SSL properties you can configure in the connection string for this provider.
Property | Description |
SSLServerCert | The certificate to be accepted from the server when connecting using TLS/SSL. |
The certificate to be accepted from the server when connecting using TLS/SSL.
If using a TLS/SSL connection, this property can be used to specify the TLS/SSL certificate to be accepted from the server. Any other certificate that is not trusted by the machine is rejected.
This property can take the following forms:
Description | Example |
A full PEM Certificate (example shortened for brevity) | -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE----- |
A path to a local file containing the certificate | C:\cert.cer |
The public key (example shortened for brevity) | -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY----- |
The MD5 Thumbprint (hex values can also be either space or colon separated) | ecadbdda5a1529c58a1e9e09828d70e4 |
The SHA1 Thumbprint (hex values can also be either space or colon separated) | 34a929226ae0819f2ec14b4a3d904f801cbb150d |
If not specified, any certificate trusted by the machine is accepted.
Use '*' to signify to accept all certificates. Note that this is not recommended due to security concerns.
This section provides a complete list of the Firewall properties you can configure in the connection string for this provider.
Property | Description |
FirewallType | The protocol used by a proxy-based firewall. |
FirewallServer | The name or IP address of a proxy-based firewall. |
FirewallPort | The TCP port for a proxy-based firewall. |
FirewallUser | The user name to use to authenticate with a proxy-based firewall. |
FirewallPassword | A password used to authenticate to a proxy-based firewall. |
The protocol used by a proxy-based firewall.
This property specifies the protocol that the Sync App will use to tunnel traffic through the FirewallServer proxy. Note that by default, the Sync App connects to the system proxy; to disable this behavior and connect to one of the following proxy types, set ProxyAutoDetect to false.
Type | Default Port | Description |
TUNNEL | 80 | When this is set, the Sync App opens a connection to Smartsheet and traffic flows back and forth through the proxy. |
SOCKS4 | 1080 | When this is set, the Sync App sends data through the SOCKS 4 proxy specified by FirewallServer and FirewallPort and passes the FirewallUser value to the proxy, which determines if the connection request should be granted. |
SOCKS5 | 1080 | When this is set, the Sync App sends data through the SOCKS 5 proxy specified by FirewallServer and FirewallPort. If your proxy requires authentication, set FirewallUser and FirewallPassword to credentials the proxy recognizes. |
To connect to HTTP proxies, use ProxyServer and ProxyPort. To authenticate to HTTP proxies, use ProxyAuthScheme, ProxyUser, and ProxyPassword.
The name or IP address of a proxy-based firewall.
This property specifies the IP address, DNS name, or host name of a proxy allowing traversal of a firewall. The protocol is specified by FirewallType: Use FirewallServer with this property to connect through SOCKS or do tunneling. Use ProxyServer to connect to an HTTP proxy.
Note that the Sync App uses the system proxy by default. To use a different proxy, set ProxyAutoDetect to false.
The TCP port for a proxy-based firewall.
This specifies the TCP port for a proxy allowing traversal of a firewall. Use FirewallServer to specify the name or IP address. Specify the protocol with FirewallType.
The user name to use to authenticate with a proxy-based firewall.
The FirewallUser and FirewallPassword properties are used to authenticate against the proxy specified in FirewallServer and FirewallPort, following the authentication method specified in FirewallType.
A password used to authenticate to a proxy-based firewall.
This property is passed to the proxy specified by FirewallServer and FirewallPort, following the authentication method specified by FirewallType.
This section provides a complete list of the Proxy properties you can configure in the connection string for this provider.
Property | Description |
ProxyAutoDetect | This indicates whether to use the system proxy settings or not. This takes precedence over other proxy settings, so you'll need to set ProxyAutoDetect to FALSE in order use custom proxy settings. |
ProxyServer | The hostname or IP address of a proxy to route HTTP traffic through. |
ProxyPort | The TCP port the ProxyServer proxy is running on. |
ProxyAuthScheme | The authentication type to use to authenticate to the ProxyServer proxy. |
ProxyUser | A user name to be used to authenticate to the ProxyServer proxy. |
ProxyPassword | A password to be used to authenticate to the ProxyServer proxy. |
ProxySSLType | The SSL type to use when connecting to the ProxyServer proxy. |
ProxyExceptions | A semicolon separated list of destination hostnames or IPs that are exempt from connecting through the ProxyServer . |
This indicates whether to use the system proxy settings or not. This takes precedence over other proxy settings, so you'll need to set ProxyAutoDetect to FALSE in order use custom proxy settings.
This takes precedence over other proxy settings, so you'll need to set ProxyAutoDetect to FALSE in order use custom proxy settings.
To connect to an HTTP proxy, see ProxyServer. For other proxies, such as SOCKS or tunneling, see FirewallType.
The hostname or IP address of a proxy to route HTTP traffic through.
The hostname or IP address of a proxy to route HTTP traffic through. The Sync App can use the HTTP, Windows (NTLM), or Kerberos authentication types to authenticate to an HTTP proxy.
If you need to connect through a SOCKS proxy or tunnel the connection, see FirewallType.
By default, the Sync App uses the system proxy. If you need to use another proxy, set ProxyAutoDetect to false.
The TCP port the ProxyServer proxy is running on.
The port the HTTP proxy is running on that you want to redirect HTTP traffic through. Specify the HTTP proxy in ProxyServer. For other proxy types, see FirewallType.
The authentication type to use to authenticate to the ProxyServer proxy.
This value specifies the authentication type to use to authenticate to the HTTP proxy specified by ProxyServer and ProxyPort.
Note that the Sync App will use the system proxy settings by default, without further configuration needed; if you want to connect to another proxy, you will need to set ProxyAutoDetect to false, in addition to ProxyServer and ProxyPort. To authenticate, set ProxyAuthScheme and set ProxyUser and ProxyPassword, if needed.
The authentication type can be one of the following:
If you need to use another authentication type, such as SOCKS 5 authentication, see FirewallType.
A user name to be used to authenticate to the ProxyServer proxy.
The ProxyUser and ProxyPassword options are used to connect and authenticate against the HTTP proxy specified in ProxyServer.
You can select one of the available authentication types in ProxyAuthScheme. If you are using HTTP authentication, set this to the user name of a user recognized by the HTTP proxy. If you are using Windows or Kerberos authentication, set this property to a user name in one of the following formats:
user@domain domain\user
A password to be used to authenticate to the ProxyServer proxy.
This property is used to authenticate to an HTTP proxy server that supports NTLM (Windows), Kerberos, or HTTP authentication. To specify the HTTP proxy, you can set ProxyServer and ProxyPort. To specify the authentication type, set ProxyAuthScheme.
If you are using HTTP authentication, additionally set ProxyUser and ProxyPassword to HTTP proxy.
If you are using NTLM authentication, set ProxyUser and ProxyPassword to your Windows password. You may also need these to complete Kerberos authentication.
For SOCKS 5 authentication or tunneling, see FirewallType.
By default, the Sync App uses the system proxy. If you want to connect to another proxy, set ProxyAutoDetect to false.
The SSL type to use when connecting to the ProxyServer proxy.
This property determines when to use SSL for the connection to an HTTP proxy specified by ProxyServer. This value can be AUTO, ALWAYS, NEVER, or TUNNEL. The applicable values are the following:
AUTO | Default setting. If the URL is an HTTPS URL, the Sync App will use the TUNNEL option. If the URL is an HTTP URL, the component will use the NEVER option. |
ALWAYS | The connection is always SSL enabled. |
NEVER | The connection is not SSL enabled. |
TUNNEL | The connection is through a tunneling proxy. The proxy server opens a connection to the remote host and traffic flows back and forth through the proxy. |
A semicolon separated list of destination hostnames or IPs that are exempt from connecting through the ProxyServer .
The ProxyServer is used for all addresses, except for addresses defined in this property. Use semicolons to separate entries.
Note that the Sync App uses the system proxy settings by default, without further configuration needed; if you want to explicitly configure proxy exceptions for this connection, you need to set ProxyAutoDetect = false, and configure ProxyServer and ProxyPort. To authenticate, set ProxyAuthScheme and set ProxyUser and ProxyPassword, if needed.
This section provides a complete list of the Logging properties you can configure in the connection string for this provider.
Property | Description |
LogModules | Core modules to be included in the log file. |
Core modules to be included in the log file.
Only the modules specified (separated by ';') will be included in the log file. By default all modules are included.
See the Logging page for an overview.
This section provides a complete list of the Schema properties you can configure in the connection string for this provider.
Property | Description |
Location | A path to the directory that contains the schema files defining tables, views, and stored procedures. |
BrowsableSchemas | This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC. |
Tables | This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC. |
Views | Restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC. |
A path to the directory that contains the schema files defining tables, views, and stored procedures.
The path to a directory which contains the schema files for the Sync App (.rsd files for tables and views, .rsb files for stored procedures). The folder location can be a relative path from the location of the executable. The Location property is only needed if you want to customize definitions (for example, change a column name, ignore a column, and so on) or extend the data model with new tables, views, or stored procedures.
If left unspecified, the default location is "%APPDATA%\\CData\\Smartsheet Data Provider\\Schema" with %APPDATA% being set to the user's configuration directory:
This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC.
Listing the schemas from databases can be expensive. Providing a list of schemas in the connection string improves the performance.
This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC.
Listing the tables from some databases can be expensive. Providing a list of tables in the connection string improves the performance of the Sync App.
This property can also be used as an alternative to automatically listing views if you already know which ones you want to work with and there would otherwise be too many to work with.
Specify the tables you want in a comma-separated list. Each table should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.
Note that when connecting to a data source with multiple schemas or catalogs, you will need to provide the fully qualified name of the table in this property, as in the last example here, to avoid ambiguity between tables that exist in multiple catalogs or schemas.
Restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC.
Listing the views from some databases can be expensive. Providing a list of views in the connection string improves the performance of the Sync App.
This property can also be used as an alternative to automatically listing views if you already know which ones you want to work with and there would otherwise be too many to work with.
Specify the views you want in a comma-separated list. Each view should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.
Note that when connecting to a data source with multiple schemas or catalogs, you will need to provide the fully qualified name of the table in this property, as in the last example here, to avoid ambiguity between tables that exist in multiple catalogs or schemas.
This section provides a complete list of the Miscellaneous properties you can configure in the connection string for this provider.
Property | Description |
Header | Indicates whether or not the provider should detect column names from the first row. |
HideFormattingCharacters | Set to True if you want to hide currency symbols and percentage signs in numeric values. This will also convert these columns from varchar to double. Only works if TypeDetectionScheme is set to RowScan and at least the first RowScanDepth values for that column are convertable to double. |
IgnoreRowsNotFound | If set to false and any of the specified Row IDs are not found, no rows will be deleted, and a 'not found' error will be returned. |
MaxRows | Limits the number of rows returned rows when no aggregation or group by is used in the query. This helps avoid performance issues at design time. |
Other | These hidden properties are used only in specific use cases. |
Pagesize | The maximum number of results to return per page from Smartsheet. |
PseudoColumns | This property indicates whether or not to include pseudo columns as columns to the table. |
ReportCompatibilityLevel | Controls whether new functionality, such as multi-contact data is returned as: Backwards-compatible, text format (level 0, default) Multi-contact data (level 1) Multi-contact data (report-compatible, level 2) Multi-picklist data (level 3) . |
RowScanDepth | The maximum number of rows to scan to look for the columns available in a table. |
Timeout | The value in seconds until the timeout error is thrown, canceling the operation. |
TypeDetectionScheme | Determines how to determine the data types of columns. |
UseFullFilePathsAsTableNames | Whether or not to include the full file path in the name of an exposed table or view, corresponding to a sheet or report. |
UserDefinedViews | A filepath pointing to the JSON configuration file containing your custom views. |
UseSimpleNames | Boolean determining if simple names should be used for tables and columns. |
ValueSource | Indicates whether the cell will use the Value fields as its value or the DisplayValue field. |
Indicates whether or not the provider should detect column names from the first row.
If true, the first row will be used as a column header. Otherwise, the pseudo column names A, B, C, etc. will be used.
The Sync App will follow the additional specifications below to detect column headers:
Set to True if you want to hide currency symbols and percentage signs in numeric values. This will also convert these columns from varchar to double. Only works if TypeDetectionScheme is set to RowScan and at least the first RowScanDepth values for that column are convertable to double.
Set to True if you want to hide currency symbols and percentage signs in numeric values. This will also convert these columns from varchar to double. Only works if TypeDetectionScheme is set to RowScan and at least the first RowScanDepth values for that column are convertable to double.
If set to false and any of the specified Row IDs are not found, no rows will be deleted, and a 'not found' error will be returned.
If set to false and any of the specified Row IDs are not found, no rows will be deleted, and a 'not found' error will be returned.
Limits the number of rows returned rows when no aggregation or group by is used in the query. This helps avoid performance issues at design time.
Limits the number of rows returned rows when no aggregation or group by is used in the query. This helps avoid performance issues at design time.
These hidden properties are used only in specific use cases.
The properties listed below are available for specific use cases. Normal driver use cases and functionality should not require these properties.
Specify multiple properties in a semicolon-separated list.
DefaultColumnSize | Sets the default length of string fields when the data source does not provide column length in the metadata. The default value is 2000. |
ConvertDateTimeToGMT | Determines whether to convert date-time values to GMT, instead of the local time of the machine. |
RecordToFile=filename | Records the underlying socket data transfer to the specified file. |
The maximum number of results to return per page from Smartsheet.
The Pagesize property affects the maximum number of results to return per page from Smartsheet. Setting a higher value may result in better performance at the cost of additional memory allocated per page consumed.
This property indicates whether or not to include pseudo columns as columns to the table.
This setting is particularly helpful in Entity Framework, which does not allow you to set a value for a pseudo column unless it is a table column. The value of this connection setting is of the format "Table1=Column1, Table1=Column2, Table2=Column3". You can use the "*" character to include all tables and all columns; for example, "*=*".
Controls whether new functionality, such as multi-contact data is returned as: Backwards-compatible, text format (level 0, default) Multi-contact data (level 1) Multi-contact data (report-compatible, level 2) Multi-picklist data (level 3) .
The minimum level required to get data for 'report' tables is 2.
The maximum number of rows to scan to look for the columns available in a table.
The columns in a table must be determined by scanning table rows. This value determines the maximum number of rows that will be scanned.
Setting a high value may decrease performance. Setting a low value may prevent the data type from being determined properly, especially when there is null data.
The value in seconds until the timeout error is thrown, canceling the operation.
If Timeout = 0, operations do not time out. The operations run until they complete successfully or until they encounter an error condition.
If Timeout expires and the operation is not yet complete, the Sync App throws an exception.
Determines how to determine the data types of columns.
None | Setting TypeDetectionScheme to None will return all columns as the string type. Note: Even when set to None, the column names will still be scanned when Header is set to True. |
RowScan | Setting TypeDetectionScheme to RowScan will scan rows to heuristically determine the data type. The RowScanDepth determines the number of rows to be scanned. |
Whether or not to include the full file path in the name of an exposed table or view, corresponding to a sheet or report.
If set to true, the names of the exposed sheets as tables and reports as views, will include the full file path. Ex. SalesSheets_Agents_MonthlyReports_Sheet_JuneSheet.
If set to false, the tables and views corresponding to the sheets and reports, will be exposed using only the file's name. Ex. Sheet_JuneSheet.
A filepath pointing to the JSON configuration file containing your custom views.
User Defined Views are defined in a JSON-formatted configuration file called UserDefinedViews.json. The Sync App automatically detects the views specified in this file.
You can also have multiple view definitions and control them using the UserDefinedViews connection property. When you use this property, only the specified views are seen by the Sync App.
This User Defined View configuration file is formatted as follows:
For example:
{ "MyView": { "query": "SELECT * FROM Sheet_Test_Sheet WHERE MyColumn = 'value'" }, "MyView2": { "query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)" } }Use the UserDefinedViews connection property to specify the location of your JSON configuration file. For example:
"UserDefinedViews", "C:\\Users\\yourusername\\Desktop\\tmp\\UserDefinedViews.json"
Boolean determining if simple names should be used for tables and columns.
Smartsheet tables and columns can use special characters in names that are normally not allowed in standard databases. UseSimpleNames makes the Sync App easier to use with traditional database tools.
Setting UseSimpleNames to true will simplify the names of tables and columns returned. It will enforce a naming scheme such that only alphanumeric characters and the underscore are valid for the displayed table and column names. Any nonalphanumeric characters will be converted to an underscore.
Indicates whether the cell will use the Value fields as its value or the DisplayValue field.