Skip to Content

Salesforce Pardot Connection Details

Introduction

Connector Version

This documentation is based on version 21.0.8662 of the connector.

Get Started

Salesforce Pardot Version Support

The connector leverages the SalesforcePardot API to enable bidirectional access to SalesforcePardot. Supports Pardot API v3 and v4.

Establish a Connection

Connect to Pardot

Connect using OAuth2

Set the AuthScheme to OAuth to authenticate with this method.

Pardot Business Unit ID

To connect via OAuth2.0 you need to obtain the BusinessUnitId.

To find the Pardot Business Unit ID, use Setup in Salesforce.

  • From Setup, enter "Pardot Account Setup" in the Quick Find box.

Your Pardot Business Unit ID begins with "0Uv" and is 18 characters long. If you cannot access the Pardot Account Setup information, ask your Salesforce Administrator to provide you with the Pardot Business Unit ID.

You can connect after setting required connection properties for your user credentials and obtaining required access tokens using a tool such as Postman.

See Using OAuth Authentication for an authentication guide and details of the OAuth authentication flow.

Use OAuth Authentication

OAuth requires the use of access tokens obtained with Postman or a similar tool. OAuth authentication is supported as described in Connection under Configure OAuth Connections.

Embedded Credentials

Authenticate using the Embedded OAuth Credentials
Desktop Authentication with the Embedded OAuth App

You can connect without setting any connection properties for your user credentials. After setting the following, you are ready to connect:

  • InitiateOAuth: Set this to GETANDREFRESH. You can use InitiateOAuth to avoid repeating the OAuth exchange and manually setting the OAuthAccessToken.
  • BusinessUnitID: Set this to your business unit id.

When you connect the connector opens the OAuth endpoint in your default browser. Log in and grant permissions to the application. The connector then completes the OAuth process.

  1. Extracts the access token from the callback URL and authenticates requests.
  2. Obtains a new access token when the old one expires.
  3. Saves OAuth values in OAuthSettingsLocation so the the values persist across connections.

Custom Credentials

This section describes desktop authentication using the credentials for your custom OAuth app. See Creating a Custom OAuth App for more information.

Get an OAuth Access Token

After setting the following, you are ready to connect:

  • OAuthClientId: Set to the Client ID in your app settings.
  • OAuthClientSecret: Set to the Client Secret in your app settings.
  • CallbackURL: Set to the Redirect URL in your app settings.
  • InitiateOAuth: Set to GETANDREFRESH. You can use InitiateOAuth to avoid repeating the OAuth exchange and manually setting the OAuthAccessToken.

When you connect, the connector opens the OAuth endpoint in your default browser. Log in and grant permissions to the application. The connector then completes the following OAuth process:

  1. Extracts the access token from the callback URL and authenticates requests.
  2. Obtains a new access token when the old one expires.
  3. Saves OAuth values in OAuthSettingsLocation to be persisted across connections.
Authenticate with OAuthJWT Certificate Authentication

Set the AuthScheme to OAuthJWT.

After creating your OAuth Application, set the following connection properties:

  • AuthScheme: Set to OAuthJWT.
  • InitiateOAuth: Set to GETANDREFRESH.
  • OAuthJWTCert: Set this to the JWT Certificate store.
  • OAuthJWTPassword: Set this to the Password of the JWT Certificate store.
  • OAuthJWTIssuer: Set this to the OAuth Client ID.
  • OAuthJWTCertType: Set this to the type of the certificate store specified by OAuthJWTCert.

Note

This flow never issues a refresh token.

Headless Machines

To create Salesforce Pardot data sources on headless servers or other machines on which the connector cannot open a browser, you need to authenticate from another machine. Authentication is a two-step process.

  1. Instead of installing the connector on another machine, you can follow the steps below to obtain the OAuthVerifier value. Or, you can install the connector on another machine and transfer the OAuth authentication values, after you authenticate through the usual browser-based flow.
  2. You can then configure the connector to automatically refresh the access token from the headless machine.

You can follow the headless OAuth authentication flow using the connector's embedded OAuth credentials or using the OAuth credentials for your custom OAuth app.

Use the Credentials for a Custom OAuth App
Create a Custom OAuth App

See Creating a Custom OAuth App for a procedure. This section describes the procedure to authenticate and connect to data.

Obtain a Verifier Code

First, set the following properties on the headless machine:

  • InitiateOAuth: Set to OFF.
  • OAuthClientId: Set to the App ID in your app settings.
  • OAuthClientSecret: Set to the App Secret in your app settings.

Next, authenticate from another machine and obtain the OAuthVerifier connection property:

  1. Call the GetOAuthAuthorizationURL stored procedure with the CallbackURL input parameter set to the exact Redirect URI you specified in your app settings.
  2. Open the returned URL in a browser. Log in and grant permissions to the connector. You are then redirected to the callback URL, which contains the verifier code.
  3. Save the value of the verifier code. You need to set this in the OAuthVerifier connection property.

Finally, on the headless machine, set the following connection properties to obtain the OAuth authentication values:

  • OAuthClientId: Set to the consumer key in your app settings.
  • OAuthClientSecret: Set to the consumer secret in your app settings.
  • OAuthVerifier: Set to the verifier code.
  • OAuthSettingsLocation: Set to persist the encrypted OAuth authentication values to the specified file.
  • InitiateOAuth: Set to REFRESH.
Connect to Data

After the OAuth settings file is generated, set the following properties to connect to data:

  • OAuthSettingsLocation: Set to the file containing the encrypted OAuth authentication values. Make sure this file gives read and write permissions to the provider to enable the automatic refreshing of the access token.
  • InitiateOAuth: Set to REFRESH.
Transfer OAuth Settings

To install the connector on another machine, authenticate, and then transfer the resulting OAuth values:

  1. On a second machine, install the connector and connect with the following properties set:
    • OAuthSettingsLocation: Set to a writable text file.
    • InitiateOAuth: Set to GETANDREFRESH.
    • OAuthClientId: Set to the Client ID in your app settings.
    • OAuthClientSecret: Set to the Client Secret in your app settings.
    • CallbackURL: Set to the Callback URL in your app settings.
  2. Test the connection to authenticate. The resulting authentication values are written, encrypted, to the path specified by OAuthSettingsLocation. Once you have successfully tested the connection, copy the OAuth settings file to your headless machine. On the headless machine, set the following connection properties to connect to data:
    • InitiateOAuth: Set to REFRESH.
    • OAuthSettingsLocation: Set to the path to your OAuth settings file. Make sure this file gives read and write permissions to the connector to enable the automatic refreshing of the access token.
Authenticate with OAuthJWT Certificate Authentication

Set the AuthScheme to OAuthJWT.

After creating your OAuth Application, set the following connection properties:

  • AuthScheme: Set to OAuthJWT.
  • InitiateOAuth: Set to GETANDREFRESH.
  • OAuthJWTCert: Set this to the JWT Certificate store.
  • OAuthJWTPassword: Set this to the Password of the JWT Certificate store.
  • OAuthJWTIssuer: Set this to the OAuth Client ID.
  • OAuthJWTCertType: Set this to the type of the certificate store specified by OAuthJWTCert.

Note

This flow never issues a refresh token.

Create a Custom OAuth App

If you do not have access to the user name and password or do not wish to require them, you can use OAuth authentication. Salesforce Pardot uses the OAuth authentication standard, which requires the authenticating user to interact with Salesforce Pardot via the browser. The connector facilitates the OAuth exchange in various ways, as described in this section.

Create a Connected App

To obtain the OAuth client credentials, consumer key, and consumer secret:

  1. Log in to Salesforce.com.
  2. From Setup, enter Apps in the Quick Find box and then click the link to create an app. In the Connected Apps section of the resulting page, click New.
  3. Enter a name to be displayed to users when they log in to grant permissions to your app, along with a contact Email address.
  4. Click Enable OAuth Settings and enter a value in the Callback URL box. If you are making a desktop application, set the Callback URL to http://localhost:33333 or a different port number of your choice. If you are making a web application, set the Callback URL to a page on your Web app you want the user to be returned to after they have authorized your application.
  5. Select the scope of permissions that your app should request from the user. At least the "pardot_api" and "api" scopes and/or "full" scope must be among the selected OAuth scopes. Otherwise, only the username-password OAuth flow can be used with the Pardot API.
  6. In addition, the "refresh_token" scope must be selected. By adding this scope, the API will return a refresh token in the OAuth request, which will be used by the driver to automatically refresh the access token when it expires.
  7. Click your app name to open a page with information about your app. The OAuth client credentials, the consumer key, and consumer secret are displayed.

Important Notes

Configuration Files and Their Paths

  • All references to adding configuration files and their paths refer to files and locations on the Harmony Agent where the connector is installed. These paths are to be adjusted as appropriate depending on the agent and the operating system. If multiple agents are used in an agent group, identical files will be required on each agent.

Advanced Features

This section details a selection of advanced features of the Salesforce Pardot connector.

User Defined Views

The connector 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.

SSL Configuration

Use SSL Configuration to adjust how connector handles TLS/SSL certificate negotiations. You can choose from various certificate formats; see the SSLServerCert property under "Connection String Options" for more information.

Proxy

To configure the connector using Private Agent proxy settings, select the Use Proxy Settings checkbox on the connection configuration screen.

User Defined Views

The Salesforce Pardot connector allows you to define a virtual table whose contents are decided by a pre-configured query. These are called User Defined Views, which are useful in situations where you cannot directly control the query being issued to the driver, e.g. when using the driver from Jitterbit. The User Defined Views can be used to define predicates that are always applied. If you specify additional predicates in the query to the view, they are combined with the query already defined as part of the view.

There are two ways to create user defined views:

  • Create a JSON-formatted configuration file defining the views you want.
  • DDL statements.

Define Views Using a Configuration File

User Defined Views are defined in a JSON-formatted configuration file called UserDefinedViews.json. The connector 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 connector.

This User Defined View configuration file is formatted as follows:

  • Each root element defines the name of a view.
  • Each root element contains a child element, called query, which contains the custom SQL query for the view.

For example:

{
    "MyView": {
        "query": "SELECT * FROM Prospects 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"

Schema for User Defined Views

User Defined Views are exposed in the UserViews schema by default. This is done to avoid the view's name clashing with an actual entity in the data model. You can change the name of the schema used for UserViews by setting the UserViewsSchemaName property.

Work with User Defined Views

For example, a SQL statement with a User Defined View called UserViews.RCustomers only lists customers in Raleigh:

SELECT * FROM Customers WHERE City = 'Raleigh';

An example of a query to the driver:

SELECT * FROM UserViews.RCustomers WHERE Status = 'Active';

Resulting in the effective query to the source:

SELECT * FROM Customers WHERE City = 'Raleigh' AND Status = 'Active';

That is a very simple example of a query to a User Defined View that is effectively a combination of the view query and the view definition. It is possible to compose these queries in much more complex patterns. All SQL operations are allowed in both queries and are combined when appropriate.

SSL Configuration

Customize the SSL Configuration

By default, the connector 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.

Data Model

Overview

This section shows the available API objects and provides more information on executing SQL to Salesforce Pardot APIs.

Key Features

  • The connector models Salesforce Pardot entities like documents, folders, and groups as relational views, allowing you to write SQL to query Salesforce Pardot data.
  • Stored procedures allow you to execute operations to Salesforce Pardot, including retrieving the access token and keeping it refreshed in OAuth 2.0.
  • Live connectivity to these objects means any changes to your Salesforce Pardot account are immediately reflected when using the connector.

Collaborative Query Processing

The connector offloads as much of the SELECT statement processing as possible to Salesforce Pardot and then processes the rest of the query in memory. API limitations and requirements are also documented in this section.

See SupportEnhancedSQL for more information on how the connector circumvents API limitations with in-memory client-side processing.

Salesforce Pardot V3 & V4 Data Model

The Salesforce Pardot connector models Salesforce Pardot entities as relational Tables, Views, and Stored Procedures. API limitations and requirements are documented in this section; you can use the SupportEnhancedSQL feature, set by default, to circumvent most of these limitations.

Tables

The connector models the data in Salesforce Pardot into a list of tables that can be queried using standard SQL statements.

Generally, querying Salesforce Pardot 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.

Salesforce Pardot Connector Tables
Name Description
Campaigns Retrieve and modify campaigns.
CustomFields Retrieve and modify custom fields.
ListMemberships Retrieve and modify list memberships.
Lists Retrieve and modify lists.
Opportunities Retrieve and modify opportunities.
ProspectAccounts Retrieve and modify prospect accounts.
Prospects Retrieve and modify prospects.
Campaigns

Retrieve and modify campaigns.

Table Specific Information
Select

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the connector.

  • Id supports '=', '<', '<=', '>', '>='.
  • Name supports '='.
  • CreatedAt supports '=', '<', '<=', '>', '>='.
  • UpdatedAt supports '=', '<', '<=', '>', '>='.

For example, the following queries are processed server side:

SELECT * FROM Campaigns WHERE Id = 43
SELECT * FROM Campaigns WHERE Name = 'Website Tracking'
Insert

This table does not have any required attributes when performing an insert.

Columns
Name Type ReadOnly References Description
Id [KEY] Integer True Pardot ID for this campaign.
Name String False Campaign's name.
Cost Integer False Cost associated to the campaign.
CrmFId String True The CRM FID associated to the campaign.
Pseudo-Columns

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
CreatedAt Datetime Filter by the creation time.
UpdatedAt Datetime Filter by the modification time.
CustomFields

Retrieve and modify custom fields.

Table Specific Information
Select

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the connector.

  • Id supports '=', '<', '<=', '>', '>='.
  • CreatedAt supports '=', '<', '<=', '>', '>='.

For example, the following queries are processed server side:

SELECT * FROM CustomFields WHERE Id = 50
SELECT * FROM CustomFields WHERE CreatedAt > '01/01/2019'
Insert

The following attributes are required when performing an insert: FieldId, Name.

INSERT INTO CustomFields(FieldId, Name) VALUES(100, 'Example')
Columns
Name Type ReadOnly References Description
Id [KEY] Integer True Pardot ID for this custom field.
Name String False Custom field's name.
FieldId String True API ID for custom field.
Type String False type of field.
TypeId Integer True Pardot ID for custom field's type.
CreatedAt Datetime True Time custom field was created in Pardot.
UpdatedAt Datetime True Last time custom field was updated.
IsRecordMultipleResponses Boolean False If true, this custom field will record multiple responses.
CrmId String False The CRM ID of the field you would like to map to this custom field.
IsUseValues Boolean False If true, this custom field will use predefined values.
ListMemberships

Retrieve and modify list memberships.

Table Specific Information
Select

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the connector.

  • Id supports '=', '<', '<=', '>', '>='.
  • ListId supports '='.
  • CreatedAt supports '=', '<', '<=', '>', '>='.
  • UpdatedAt supports '=', '<', '<=', '>', '>='.

For example, the following queries are processed server side:

SELECT * FROM ListMemberships WHERE Id = 26
SELECT * FROM ListMemberships WHERE ListId = 44
SELECT * FROM ListMemberships WHERE CreatedAt > '01/01/2019'
Insert

The following attributes are required when performing an insert: ListId, ProspectId.

INSERT INTO ListMemberships(ListId, ProspectId) VALUES(20104, 3457990)
Get Deleted

To retrieve deleted records, a GETDELETED statement can be executed. The GETDELETED statement supports the same server side filters that are supported by the SELECT statement (except ID when using the equality(=) operator), but does not perform any client side filtering.

GETDELETED FROM ListMemberships WHERE ID = 231
Columns
Name Type ReadOnly References Description
Id [KEY] Integer True Pardot ID for this list membership.
ListId Integer True Lists.Id Pardot ID of the list for this membership.
ProspectId Integer True Prospects.Id Pardot ID of the prospect for this membership.
OptedOut Integer False If value is 1, the prospect is unsubscribed from receiving emails from this list.
CreatedAt Datetime True Time that this membership was created in Pardot.
UpdatedAt Datetime True Last time that this membership was updated.
Lists

Retrieve and modify lists.

Columns
Name Type ReadOnly References Description
Id [KEY] Integer True Pardot ID of this list.
Name String False List's name (internal to Pardot).
IsPublic Boolean False If true, list will show on EPC pages to prospects.
IsDynamic Boolean True If true, list has prospects dynamically added to it via a set of chosen rules.
Title String False List's title (visible to subscribers).
Description String False List's description.
IsCrmVisible Boolean False If true, list will be visible in CRM to add or remove from.
CreatedAt Datetime True Time list was created in Pardot.
UpdatedAt Datetime True Last time list was updated.
Opportunities

Retrieve and modify opportunities.

Table Specific Information
Select

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the connector.

  • Id supports '=', '<', '<=', '>', '>='.
  • Probability supports '=', '<', '<=', '>', '>='.
  • CreatedAt supports '=', '<', '<=', '>', '>='.
  • ProspectEmail supports '='.
  • ProspectId supports '='.

For example, the following queries are processed server side:

SELECT * FROM Opportunities WHERE Id = 14
SELECT * FROM Opportunities WHERE ProspectId = 34
SELECT * FROM Opportunities WHERE ProspectEmail = 'example@exampledomain.com'
Insert

The following attributes are required when performing an insert: CampaignId, Name, Value, Probability, ProspectEmail, ProspectId.

INSERT INTO Opportunities(CampaignId, Name, Value, Probability, ProspectEmail, ProspectId) VALUES(1, 'Example', 3, 75, 'example@exampledomain.com', 2)

Note: This table cannot be updated if a Salesforce connector is present.

Columns
Name Type ReadOnly References Description
Id [KEY] Integer True Pardot ID for this opportunity.
CampaignId Integer False Campaigns.Id Pardot ID of the campaign associated with this opportunity Note: Information about an opportunity's campaign association is returned in a campaign node in the XML response. However, updates to campaign associations are done by providing campaign_id during an UPDATE> request. See XML Response Formats in Using Opportunities for more details.
Name String False Opportunity's name.
Value Double False Opportunity's value Restrictions: value must be a positive numeric value.
Probability Integer False Opportunity's probability Restrictions: value must be a positive numeric value between 0 and 100 inclusive.
Type String False Opportunity's type.
Stage String False Opportunity's stage.
Status String False Opportunity's status Restrictions: status must be either won, lost, or open.
ClosedAt Datetime False Opportunity's closed date Note: if this is left blank, the closed_at datetime (Closed Date within the app) will not be set, even when the Opportunity's stage, status or probability are set to indicate opportunity closure.
CreatedAt Datetime True Time opportunity was created in Pardot.
UpdatedAt Datetime True Last time opportunity was updated in Pardot.
ProspectEmail String False Email of the prospect.
ProspectId Integer False Id of the prospect.
ProspectAccounts

Retrieve and modify prospect accounts.

Columns
Name Type ReadOnly References Description
Id [KEY] Integer True Pardot ID of the prospect account.
CreatedAt Datetime False Filter by the creation time.
UpdatedAt Datetime False Filter by the modification time.
Prospects

Retrieve and modify prospects.

Columns
Name Type ReadOnly References Description
Id [KEY] Integer True Pardot ID for this prospect.
CampaignId Integer False Campaigns.Id Pardot ID of the campaign associated with this prospect Note: Information about a prospect's campaign association is returned in a campaign node in the XML response. However, updates to campaign associations are done by providing campaign_id during an UPDATE> request. See XML Response Formats in Using Prospects for more details.
Salutation String False Prospect's formal prefix.
FirstName String False Prospect's first name.
LastName String False Prospect's last name.
Email String False Prospect's email address.
Password String False Prospect's password.
Company String False Prospect's company.
ProspectAccountId Integer False ProspectAccounts.Id Prospect's account ID.
Website String False Prospect's website URL.
JobTitle String False Prospect's job title.
Department String False Prospect's department.
Country String False Prospect's country.
AddressOne String False Prospect's address, line 1.
AddressTwo String False Prospect's address, line 2.
City String False Prospect's city.
State String False Prospect's US state.
Territory String False Prospect's territory.
Zip String False Prospect's postal code.
Phone String False Prospect's phone number.
Fax String False Prospect's fax number.
Source String False Prospect's source.
AnnualRevenue String False Prospect's annual revenue.
Employees String False Prospect's number of employees.
Industry String False Prospect's industry.
YearsInBusiness String False Prospect's number of years in business.
Comments String False Comments about this prospect.
Notes String False Notes about this prospect.
Score Integer False Prospect's score.
Grade String True Prospect's letter grade.
LastActivityAt Datetime True Time stamp of this prospect's latest visitor activity.
RecentInteraction String True Describes the prospect's most recent interaction with Pardot.
CrmLeadFid String True Prospect's lead ID in a supported CRM system.
CrmContactFid String True Prospect's contact ID in a supported CRM system.
CrmOwnerFid String True Prospect's owner ID in a supported CRM system.
CrmAccountFid String True Account ID in a supported CRM system.
CrmLastSync Datetime True Last time this prospect was synced with a supported CRM system.
CrmUrl String True URL to view the prospect within the CRM system.
IsDoNotEmail Boolean False If value is 1, prospect prefers not to be emailed.
IsDoNotCall Boolean False If value is 1, prospect prefers not to be called.
OptedOut Boolean True If value is 1, prospect has opted out of marketing communications.
IsReviewed Boolean False If value is 1, prospect has been reviewed.
IsStarred Boolean False If value is 1, prospect has been starred.
CreatedAt Datetime True Time prospect was created in Pardot.
UpdatedAt Datetime True Last time prospect was updated in Pardot.

Views

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. To find out more about tables and stored procedures, please navigate to their corresponding entries in this help document.

Salesforce Pardot Connector Views
Name Description
Account Retrieve account info.
CustomRedirects Retrieve and modify custom redirects.
DynamicContents Retrieve dynamic contents.
EmailClicks Retrieve email clicks.
Emails Retrieve emails.
EmailStats Retrieve email stats.
EmailTemplates Retrieve email templates.
Forms Retrieve forms.
LifecycleHistories Retrieve lifecycle histories.
LifecycleStages Retrieve lifecycle stages.
OneToOneEmails Retrieve one to one emails.
TagObjects Retrieve tag objects.
Tags Retrieve tags.
Users Retrieve users.
VisitorActivities Retrieve visitor activities.
Visitors Retrieve visitors.
VisitorsPageViews Retrieve visitors page views.
Visits Retrieve visits.
Account

Retrieve account info.

Table Specific Information
Select

The connector will process all filters client side.

Columns
Name Type References Description
Id [KEY] Integer Pardot ID for this account.
Level String The level of product for the account.
Website String Account website.
VanityDomain String Custom vanity domain name.
PluginCampaignId Integer Plugin ID for account campaign.
TrackingCodeTemplate String Markup and code for use in tracking templates.
Address1 String Account contact address, line 1.
Address2 String Account contact address, line 2.
City String Account contact city.
State String Account contact state.
Territory String Account contact territory.
Zip String Account contact zip code.
Country String Account contact country.
Phone String Account contact phone number.
Fax String Account contact fax number.
CustomRedirects

Retrieve and modify custom redirects.

Columns
Name Type References Description
Id [KEY] Integer Pardot ID for this custom redirect.
Name String Custom redirect's name.
Url String URL for the custom redirect.
Destination String URL the custom redirect leads to.
CampaignId Integer Campaigns.Id The campaign associated with this custom redirect.
CampaignName String Campaigns.Name The campaign associated with this custom redirect.
CreatedAt Datetime Time custom redirect was created in Pardot.
UpdatedAt Datetime Last time custom redirect was updated.
DynamicContents

Retrieve dynamic contents.

Table Specific Information
Select

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the connector.

  • Id supports '=', '<', '<=', '>', '>='.
  • CreatedAt supports '=', '<', '<=', '>', '>='.
  • UpdatedAt supports '=', '<', '<=', '>', '>='.

For example, the following queries are processed server side:

SELECT * FROM DynamicContents WHERE Id = 32
SELECT * FROM DynamicContents WHERE CreatedAt > '02/03/2019 23:11:33'
SELECT * FROM DynamicContents WHERE UpdatedAt > '01/03/2018 23:11:33' AND UpdatedAt <= '02/03/2019 23:11:33'
Columns
Name Type References Description
Id [KEY] Integer Pardot ID for this dynamic content.
Name String Dynamic content's name.
EmbedCode String Code to embed this dynamic content onto your webpage.
EmbedUrl String URL to embed this dynamic content.
BaseContent String The default dynamic content.
BasedOn String Field that this dynamic content is based on.
Variation String The variation of content prospect will see based on the field's value Note: Information about a variation is returned in a variation node in the XML response. It contains the value of the field in the comparison tag and the content of the variation in the content tag.
CreatedAt Datetime Time dynamic content was created in Pardot.
UpdatedAt Datetime Last time dynamic content was updated.
EmailClicks

Retrieve email clicks.

Table Specific Information
Select

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the connector.

  • Id supports '>', '>='.
  • ListEmailId supports '='.
  • DripProgramActionId supports '='.
  • EmailTemplateId supports '='.
  • TrackerRedirectId supports '='.
  • CreatedAt supports '=', '<', '<=', '>', '>='.

For example, the following queries are processed server side:

SELECT * FROM EmailClicks WHERE ListEmailId = 20
SELECT * FROM EmailClicks WHERE DripProgramActionId = 42
SELECT * FROM EmailClicks WHERE EmailTemplateId = 26 AND TrackerRedirectId = 31 AND CreatedAt > '02/03/2019 23:11:33'
Columns
Name Type References Description
Id [KEY] Integer Pardot ID for this email click.
ProspectId Integer Prospects.Id Pardot ID for the associated prospect.
Url String URL of the email click.
ListEmailId Integer Pardot ID for the associated list email. Value not present if null.
DripProgramActionId Integer Pardot ID for the associated drip program action. Value not present if null.
EmailTemplateId Integer EmailTemplates.Id Pardot ID for the associated email template. Value not present if null.
TrackerRedirectId Integer Pardot ID for the associated tracker redirect. Value not present if null.
CreatedAt Datetime Time that email click occurred.
Emails

Retrieve emails.

Table Specific Information
Select

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the connector.

  • Id supports '='.

For example, the following query is processed server side:

SELECT * FROM Emails WHERE ID = 10
Columns
Name Type References Description
Id [KEY] Integer Pardot ID for this email.
Name String Name of this email.
Subject String Email Subject.
Message String Contains text and html elements of different formats.
CreatedAt Datetime Time the Email Was Created.
EmailStats

Retrieve email stats.

Table Specific Information

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following column and operator. To query this table, you need to specify the Id. The rest of the filter is executed client side within the connector.

  • Id supports '='.

For example, the following query is processed server side:

SELECT * FROM EmailStats WHERE ID = 10
Columns
Name Type References Description
Id [KEY] Integer Pardot ID for this email.
Sent Integer Sent status.
Delivered Integer Delivered status.
TotalClicks Integer Total clicks.
UniqueClicks Integer Unique clicks.
SoftBounced Integer Soft bounces.
HardBounced Integer Hard bounces.
OptOuts Integer Opt count.
SpamComplains Integer Spam complains.
Opens Integer Opens.
UniqueOpens Integer Unique opens.
DeliveryRate String Delivery rate.
OpensRate String Open rate.
ClickThroughRate String Click through rate.
UniqueClickThroughRate String Unique click through rate.
ClickOpenRatio String Click to open ration.
OptOutrate String Opt rate.
SpamComplaintRate String Spam complaint rate.
EmailTemplates

Retrieve email templates.

Table Specific Information
Select

By default only templates connected to OneToOneEmails will be returned.

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the connector.

  • Id supports '='.

For example, the following queries are processed server side:

SELECT * FROM EmailTemplates WHERE ID = 22
Columns
Name Type References Description
Id Integer Identifier.
EmailType Integer Email type.
Error Integer Error.
HtmlMessage String Html content.
IsAutoResponderEmail Integer Whether it is an auto responder email.
IsDripEmail Integer Whether it is a drip email.
IsListEmail Integer Whether it is a lsit email.
IsOneToOneEmail Integer Whether it is a one to one email.
Name String Name
SendOptionsReplyToAddressAggregate String Reply to addresses.
SendOptionsSendFromDataAggregate String Send from information.
Subject String Email subject.
TextMessage String Email text.
TrackedHtmlMessage String Tracked html message.
TrackedTextMessage String Tracked text message.
Type Integer Email type.
Forms

Retrieve forms.

Columns
Name Type References Description
Id [KEY] Integer Pardot ID for this form.
Name String Form's name.
CampaignId String Campaigns.Id Pardot ID of the campaign associated with this form.
EmbedCode String The code used to embed the form on your webpage.
CreatedAt Datetime Time form was created in Pardot.
UpdatedAt Datetime Last time form was updated.
LifecycleHistories

Retrieve lifecycle histories.

Table Specific Information
Select

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the connector.

  • Id supports '=', '<', '<=', '>', '>='.
  • CreatedAt supports '=', '<', '<=', '>', '>='.

For example, the following queries are processed server side:

SELECT * FROM LifecycleHistories WHERE Id = 49
SELECT * FROM LifecycleHistories WHERE Id >= 44
SELECT * FROM LifecycleHistories WHERE CreatedAt <= '02/03/2019 23:11:33'
Columns
Name Type References Description
Id [KEY] Integer Pardot ID of this lifecycle history.
ProspectId Integer Prospects.Id Pardot's ID for the prospect in this stage.
PreviousStageId Integer Pardot ID of the stage this prospect was previously in.
NextStageId Integer Pardot ID of the stage this prospect will be in next.
SecondsElapsed Integer Number of seconds for prospect to get to current stage.
CreatedAt Datetime Time lifecycle history was created in Pardot.
LifecycleStages

Retrieve lifecycle stages.

Table Specific Information
Select

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the connector.

  • Id supports '=', '<', '<=', '>', '>='.

For example, the following queries are processed server side:

SELECT * FROM LifecycleStages WHERE ID = 18
Columns
Name Type References Description
Id [KEY] Integer Pardot ID of this lifecycle stage.
Name String Lifecycle stage's name.
Position Integer Lifcycle stage's position in lifecycle.
IsLocked Boolean If true, lifecycle stage is locked.
OneToOneEmails

Retrieve one to one emails.

Table Specific Information
Select

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the connector.

  • Id supports '='.

For example, the following queries are processed server side:

SELECT * FROM OneToOneEmails WHERE ID = 11
Columns
Name Type References Description
Id [KEY] Integer Identifier.
EmailType Integer Email type.
IsAutoResponderEmail Integer Whether it is an auto responder email.
IsDripEmail Integer Where it is a drip email.
IsListEmail Integer Whether it is a list email.
IsOneToOneEmail Integer Whether it is a one to one email.
Name String Name.
Subject String Email subject.
Type Integer Email type.
TagObjects

Retrieve tag objects.

Table Specific Information
Select

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the connector.

  • Id supports '=', '<', '<=', '>', '>='.
  • TagId supports '='.
  • Type supports '='.
  • ObjectId supports '='.
  • CreatedAt supports '=', '<', '<=', '>', '>='.

For example, the following queries are processed server side:

SELECT * FROM TagObjects WHERE Id <= 31
SELECT * FROM TagObjects WHERE TagId = 12
SELECT * FROM TagObjects WHERE CreatedAt <= '02/03/2019 23:11:33'
Columns
Name Type References Description
Id [KEY] Integer Pardot ID of the tag object.
TagId Integer Tags.Id The Pardot ID of the tag.
Type String The type of object associated with the tag.
ObjectId Integer The Pardot ID of the object.
CreatedAt Datetime Time tag was associated with the object in Pardot.
Tags

Retrieve tags.

Table Specific Information
Select

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the connector.

  • Id supports '=', '<', '<=', '>', '>='.
  • Name supports '='.
  • CreatedAt supports '=', '<', '<=', '>', '>='.

For example, the following queries are processed server side:

SELECT * FROM Tags WHERE Id >= 42
SELECT * FROM Tags WHERE Name = 'criteria'
SELECT * FROM Tags WHERE CreatedAt >= '02/03/2019 23:11:33'
Columns
Name Type References Description
Id [KEY] Integer Pardot ID for this tag.
Name String Tag's name.
CreatedAt Datetime Time tag was created in Pardot.
UpdatedAt Datetime Last time tag was updated.
Users

Retrieve users.

Columns
Name Type References Description
Id [KEY] Integer Pardot ID of the user.
Email String User's email address.
FirstName String User's first name.
LastName String User's last name.
JobTitle String User's job title.
Role String User's role.
CreatedAt Datetime Time user was created in Pardot; Time is reported in the API user's preferred timezone.
UpdatedAt Datetime Last time user was updated in Pardot; Time is reported in the API user's preferred timezone.
VisitorActivities

Retrieve visitor activities.

Columns
Name Type References Description
Id [KEY] Integer Pardot ID for this visitor activity.
ProspectId Integer Prospects.Id Pardot ID for the associated prospect.
VisitorId Integer Visitors.Id Pardot ID for the associated visitor.
Type Integer Visitor activity's type number; See listing below.
TypeName String Visitor activity's type name; See listing below.
Details String Details about this visitor activity such as the name of the object associated with this activity, the search phrase used in a site search query, etc.
EmailId Integer Emails.Id Pardot ID of the email associated with this visitor activity Note: This node will only appear if this visitor activity has an email associated with it.
EmailTemplateId Integer EmailTemplates.Id Pardot ID of the email template associated with this visitor activity Note: This node will only appear if this visitor activity has an email associated with it.
ListEmailId Integer Pardot ID of the list email associated with this visitor activity Note: This node will only appear if this visitor activity has an email associated with it.
FormId Integer Forms.Id Pardot ID of the form associated with this visitor activity Note: This node will only appear if this visitor activity has a form associated with it.
FormHandlerId Integer Pardot ID of the form handler associated with this visitor activity Note: This node will only appear if this visitor activity has a form handler associated with it.
SiteSearchQueryId Integer Pardot ID of the site search query associated with this visitor activity Note: This node will only appear if this visitor activity has a site search query associated with it.
LandingPageId Integer Pardot ID of the landing page associated with this visitor activity Note: This node will only appear if this visitor activity has a landing page associated with it.
PaidSearchIdId Integer Pardot ID of the paid search ad associated with this visitor activity Note: This node will only appear if this visitor activity has a paid search ad associated with it.
MultivariateTestVariationId Integer Pardot ID of the multivariate test variation associated with this visitor activity Note: This node will only appear if this visitor activity has a multivariate test variation associated with it.
VisitorPageViewId Integer Pardot ID of the visitor page view associated with this visitor activity Note: This node will only appear if this visitor activity has a visitor page view associated with it.
FileId Integer Pardot ID of the file associated with this visitor activity Note: This node will only appear if this visitor activity has a file associated with it.
CampaignId Integer Campaigns.Id Campaign id.
CampaignName String Campaign name.
CampaignCost Integer Campaign cost.
CreatedAt Datetime Time that visitor activity occurred.
Visitors

Retrieve visitors.

Columns
Name Type References Description
Id [KEY] Integer Pardot ID for this visitor.
PageViewCount Integer Number of page views by this visitor.
IpAddress String Visitor's IP address.
Hostname String Visitor's hostname.
CampaignParameter String Visitor's campaign parameter utm_campaign from Google Analytics.
MediumParameter String Visitor's medium parameter utm_medium from Google Analytics.
SourceParameter String Visitor's source parameter utm_source from Google Analytics.
ContentParameter String Visitor's content parameter utm_content from Google Analytics.
TermParameter String Visitor's term parameter utm_term from Google Analytics.
CreatedAt Datetime Time visitor was created in Pardot.
UpdatedAt Datetime Last time visitor was updated in Pardot.
ProspectId Integer Selects visits with the given Prospect IDs.
VisitorsPageViews

Retrieve visitors page views.

Columns
Name Type References Description
Id [KEY] Integer Pardot ID for this visitor page view.
VisitId Integer Visits.Id Pardot ID for this visit.
VisitorId Integer Visitors.Id Pardot ID for the associated visitor.
ProspectId Integer Prospects.Id Pardot ID for the associated prospect.
Url String The Url of the page.
Title String The Title column of the VisitorsPageViews object.
CreatedAt Datetime The CreatedAt column of the VisitorsPageViews object.
Visits

Retrieve visits.

Columns
Name Type References Description
Id [KEY] Integer Pardot ID for this visit.
VisitorId Integer Visitors.Id Pardot ID for the associated visitor.
ProspectId Integer Prospects.Id Pardot ID for the associated prospect.
VisitorPageViewCount Integer Number of page views for this visit.
FirstVisitorPageViewAt Datetime Time of first page view for this visit.
LastVisitorPageViewAt Datetime Time of last page view for this visit.
DurationInSeconds Integer Length of this visit.
CampaignParameter String Visit's campaign parameter utm_campaign from Google Analytics.
MediumParameter String Visit's medium parameter utm_medium from Google Analytics.
SourceParameter String Visit's source parameter utm_source from Google Analytics.
ContentParameter String Visit's content parameter utm_content from Google Analytics.
TermParameter String Visit's term parameter utm_term from Google Analytics.
CreatedAt Datetime Time visit was created in Pardot.
UpdatedAt Datetime Last time visit was updated in Pardot.

Stored Procedures

Stored procedures are available to complement the data available from the Data Model. It may be necessary to update data available from a view using a stored procedure because the data does not provide for direct, table-like, two-way updates. In these situations, the retrieval of the data is done using the appropriate view or table, while the update is done by calling a stored procedure. Stored procedures take a list of parameters and return back a dataset that contains the collection of tuples that constitute the response.

Salesforce Pardot Connector Stored Procedures
Name Description
AssignProspect Update the locations for a shipping zone.
AssignProspectAccount Update the locations for a shipping zone.
GetOAuthAccessToken If using a Windows application, set Authmode to App. If using a Web app, set Authmode to Web and specify the Verifier obtained by GetOAuthAuthorizationUrl.
GetOAuthAuthorizationUrl Gets the authorization URL that must be opened separately by the user to grant access to your application. Only needed when developing Web apps.
RefreshOAuthAccessToken Refreshes the OAuth token or session ID after the session has expired. Your OAuth application must have the refresh_token scope enabled.
SendEmail Update the locations for a shipping zone.
UnAssignProspect Update the locations for a shipping zone.
UnDeleteOpportunity Update the locations for a shipping zone.
AssignProspect

Update the locations for a shipping zone.

Execute
EXEC AssignProspect ProspectId=432, AssignmentType='user', AssignTo=101

EXEC AssignProspect ProspectId=432, AssignmentType='email', AssignTo='prospectEmail@host.tld'

Input

Name Type Required Description
ProspectId String False The ID of the prospect.
AssignmentType String False The type of the assignment. Can be one of: email, user, group.
AssignTo String False The value to assign to. If the type is user or group the value should be the respective id.

Result Set Columns

Name Type Description
Success String This value shows a boolean indication of whether the operation was successful or not.
AssignProspectAccount

Update the locations for a shipping zone.

Execute
EXEC AssignProspectAccount UserId=432, ProspectAccountId=501

Input

Name Type Required Description
ProspectAccountId String False The ID of the prospect account.
UserId String False The ID of the user.

Result Set Columns

Name Type Description
Success String This value shows a boolean indication of whether the operation was successful or not.
GetOAuthAccessToken

If using a Windows application, set Authmode to App. If using a Web app, set Authmode to Web and specify the Verifier obtained by GetOAuthAuthorizationUrl.

Input
Name Type Required Description
Authmode String False The type of authentication mode to use. Select App for getting authentication tokens via a desktop app. Select Web for getting authentication tokens via a Web app. The allowed values are APP, WEB. The default value is APP.
Verifier String False The verifier token returned by Salesforce after using the URL obtained with GetOAuthAuthorizationUrl.
Scope String False A space-separated scope of permissions you need the app to have access to. The available values are api, chatter_api, full, id, refresh_token, visualforce, and web. For details, refer to: http://help.salesforce.com/help/doc/en/remoteaccess_oauth_scopes.htm.
CallbackUrl String False The page to return the Salesforce app after authentication has been completed.
Api_Version String False The API version you would like to authenticate to. The default value is 49.0.
State String False Any value that you wish to be sent with the callback.
GrantType String False Authorization grant type. Only available for OAuth 2.0. If left unspecified, the default value is the value of the OAuthGrantType connection property. The allowed values are CODE, PASSWORD.
Result Set Columns
Name Type Description
Scope String The scope of permissions for the app.
Instance_Url String The instance URL being used by the app.
Id String The ID associated with the OAuth token.
Issued_At String When the token was issued at.
Signature String A signature for the OAuth token.
OAuthRefreshToken String A token that may be used to obtain a new access token.
OAuthAccessToken String The OAuth access token.
ExpiresIn String The remaining lifetime on the access token. A -1 denotes that it will not expire.
GetOAuthAuthorizationUrl

Gets the authorization URL that must be opened separately by the user to grant access to your application. Only needed when developing Web apps.

Input
Name Type Required Description
CallbackUrl String False The page to return the user after authorization is complete.
Scope String False A space-separated scope of permissions you need the app to have access to. The available values are api, chatter_api, full, id, refresh_token, visualforce, web. For more details, refer to: http://help.salesforce.com/help/doc/en/remoteaccess_oauth_scopes.htm.
Grant_Type String False The type of authorization to be granted for your app. If this is set to code, the stored procedure will return an authorization URL containing the verifier code in a query string parameter, which you will need to submit back with the GetOAuthAccessToken stored procedure. Implicit will cause the OAuth access token to be returned directly in the URL. The allowed values are Implicit, Code.
State String False Any value that you wish to be sent with the callback.
Result Set Columns
Name Type Description
Url String The authorization URL.
RefreshOAuthAccessToken

Refreshes the OAuth token or session ID after the session has expired. Your OAuth application must have the refresh_token scope enabled.

Input
Name Type Required Description
OAuthRefreshToken String True The refresh token returned when the OAuth Token was first created.
Result Set Columns
Name Type Description
Instance_Url String Instance of Salesforce the OAuth token is valid for.
OAuthAccessToken String The OAuth token.
Id String ID associated with the OAuth Token.
Issued_At String When the OAuth Token was issued.
Signature String Signature of the OAuth Token.
ExpiresIn String The remaining lifetime on the access token. A -1 denotes that it will not expire.
SendEmail

Update the locations for a shipping zone.

Execute

This procedure requires any of the following input combinations:

One of: ProspectId, ProspectEmail or ListId. One of: TemplateId or (TextContent, Name, Subject and (FromEmail, FromName or FromUserId)) Examples:

EXEC SendEmail CampaignId=20006, ProspectId=1807618, TemplateId=13598
EXEC SendEmail CampaignId=20006, ProspectEmail='prospectEmail@host.tld', TextContent='content', Name='email name', Subject='email subject', FromUserId=24486
EXEC SendEmail CampaignId=20006, ListId=20104, TextContent='content', Name='email name', Subject='email subject', FromEmail='senderEmail@host.tld', FromName='Name Surname'

Input

Name Type Required Description
CampaignId String False The ID of the campaign.
ProspectId String False The ID of the prospect.
ProspectEmail String False The email of the prospect.
ListId String False The ID of the lists to send to.
TemplateId String False The ID of the prospect.
TextContent String False The ID of the prospect.
Name String False The ID of the prospect.
Subject String False The ID of the prospect.
FromEmail String False The ID of the prospect.
FromName String False The ID of the prospect.
FromUserId String False The ID of the prospect.
ReplyToEmail String False The ID of the prospect.
OperationalEmail String False The ID of the prospect.
HTMLContent String False The ID of the prospect.

Result Set Columns

Name Type Description
Success String This value shows a boolean indication of whether the operation was successful or not.
UnAssignProspect

Update the locations for a shipping zone.

Execute
EXEC UnAssignProspect ProspectId=432

Input

Name Type Required Description
ProspectId String False The ID of the prospect.

Result Set Columns

Name Type Description
Success String This value shows a boolean indication of whether the operation was successful or not.
UnDeleteOpportunity

Update the locations for a shipping zone.

Execute
EXEC UnDeleteOpportunity Id=600

Input

Name Type Required Description
Id String False The ID of the opportunity.

Result Set Columns

Name Type Description
Success String This value shows a boolean indication of whether the operation was successful or not.

Salesforce Pardot V5 Data Model

The Salesforce Pardot connector models Salesforce Pardot Pardot API v5 objects as relational Tables, Views, and Stored Procedures. API limitations and requirements are documented in this section; you can use the SupportEnhancedSQL feature, set by default, to circumvent most of these limitations.

Tables

Tables describes a sample of the available standard tables.

Tables

The connector models the data in Salesforce Pardot into a list of tables that can be queried using standard SQL statements.

Generally, querying Salesforce Pardot 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.

Salesforce Pardot Connector Tables
Name Description
CustomRedirects Track links on your website or third-party site with Pardot custom redirects.
EmailTemplates Query email templates.
Files Upload images and other files to use in your Pardot emails, forms, and landing pages.
LayoutTemplates Retrieve and modify layout templates.
Lists Retrieve and modify lists.
Prospects Retrieve and modify prospects.
CustomRedirects

Track links on your website or third-party site with Pardot custom redirects.

Table Specific Information
Select

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the connector.

  • Id supports '=', '<', '<=', '>', '>='.
  • IsDeleted supports '='.

For example, the following queries are processed server side:

SELECT * FROM CustomRedirects WHERE Id = 40
SELECT * FROM CustomRedirects WHERE IsDeleted = 'true'
Insert

The following attributes are required when performing an insert: Name, CampaignId, DestinationUrl.

INSERT INTO CustomRedirects (Name,CampaignId,DestinationUrl) VALUES ('name','1','https://example.com/content.html')
Update

Update CustomRedirects attributes.

Update CustomRedirects set Name='newName', FolderId='527425' where Id=24143

Delete

Remove all CustomRedirects objects or one by specifying the ID of the CustomRedirect.

DELETE FROM CustomRedirects

DELETE FROM CustomRedirects WHERE ID = 10003
GetDeleted

To retrieve custom redirects that are in the recycle bin in Pardot the following operation is supported:

GETDELETED FROM CustomRedirects
Columns
Name Type ReadOnly References Description
Id [KEY] Integer True Pardot ID for this campaign.
Name String False Name of the object for identification in Pardot.
CampaignId Integer False Pardot Campaign related to this object.
DestinationUrl String False A fully qualified URL. The visitor who clicks the custom redirect is directed to this location.
FolderId Integer False ID of the folder containing this object. Uses the asset type's uncategorized folder if not specified on create.
TrackerDomainId Integer False ID of the tracker domain to use in the URL for this object. Uses the primary tracker domain for the account if not specified on create.
VanityUrl String True Fully qualified vanity URL. Includes tracker domain and vanityUrlPath.
VanityUrlPath String False Vanity URL path (excluding protocol and host). Must be unique for each tracker domain.
gaSource String False Google Analytics Campaign source.
gaMedium String False Google Analytics Campaign medium.
gaTerm String False Google Analytics Campaign keyword.
gaContent String False Google Analytics Campaign content.
gaCampaign String False Google Analytics Campaign ID.
SalesforceId String True ID of the Salesforce object representing this object.
TrackedUrl String True Fully qualified tracked URL. Does not include Vanity. URL
BitlyIsPersonalized String True True if a custom Bitly URL was. set
BitlyShortUrl String True If set, a fully qualified Bitly. URL
IsDeleted Boolean True True if the object is in the Pardot recycle bin.
CreatedAt Datetime True The object creation timestamp.
UpdatedAt Datetime True The timestamp of the last update of the object.
CreatedById Integer True ID of the individual who created this object.
UpdatedById Integer True ID of the individual who last updated this object.
EmailTemplates

Query email templates.

Table Specific Information
Select

The connector uses the Salesforce Pardot API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the connector.

  • Id supports '=', '<', '<=', '>', '>='.
  • IsOneToOneEmail supports '='.
  • IsDeleted supports '='.
  • CreatedAt supports '=', '<', '<=', '>', '>='.
  • UpdatedAt supports '=', '<', '<=', '>', '>='.

For example, the following queries are processed server side:

SELECT * FROM EmailTemplates WHERE Id = 50
SELECT * FROM EmailTemplates WHERE UpdatedAt > '01/01/2022'
SELECT * FROM EmailTemplates WHERE CreatedAt > '01/01/2022'

To insert into a table, specifying the SenderOptionsAggregate is required. The input for this field follows principles of Deep Inserts. In Deep Insert, you simultaneously create a base object and link it to the related field in the main table. To submit JSON data, supply the values for the child table in JSON format. In order to execute the insert, the complete JSON can be referenced or included as string literals. For example:

GetDeleted

To retrieve email templates that are in the recycle bin in Pardot the following operation is supported:

GETDELETED FROM EmailTemplates
Columns
Name Type ReadOnly References Description
Id [KEY] Integer True ID of the email.
Name String False Name of the object for identification in Pardot.
Subject String False Subject line for the email template.
TextMessage String False The text content of the email. This field is retrieved only when filtering with email id.
HtmlMessage String False The HTML content of the email. This field is retrieved only when filtering with email id.
IsOneToOneEmail Boolean False If True, the template is available for one-to-one emails.
IsAutoResponderEmail Boolean False If True, the template is available for autoresponder emails.
IsDripEmail Boolean False If True, the template is available for Engagement Programs.
IsListEmail Boolean False If True, the template is available for list emails.
TrackerDomainId Integer False ID of the tracker domain used for the list email.
FolderId Integer False ID of the folder containing this object.
Type String False 'html', 'text', and 'htmlAndText' values.
CampaignId Integer False Pardot campaign related to this object.
IsDeleted Boolean True True if the object is in the recycle bin in Pardot.
CreatedById Integer True ID of the individual who created this object.
UpdatedById Integer True ID of the individual who last updated this object.
CreatedAt Datetime True The timestamp of when this object was created.
UpdatedAt Datetime True The timestamp of when this object was last updated.
SenderOptionsType String True The sending user type(s).
SenderOptionsAddress String True The sending email address(s).
SenderOptionsName String True The name(s) of the sender.
SenderOptionsUserId String True The user ID(s) of the sender.
SenderOptionsProspectCustomFieldId String True The ID of the prospect custom field that contains the sender value. Only available on read and query.
SenderOptionsAccountCustomFieldId String True The ID of the account custom field that contains the sender value. Only available on read and query.
ReplyToOptionsType String True The reply to user type(s).
ReplyToOptionsAddress String True The sending email address(s).
ReplyToOptionsUserId String True The user ID(s) of the sender.
ReplyToOptionsProspectCustomFieldId String True The ID of the prospect custom field that contains the sender value. Only available on read and query.
ReplyToOptionsAccountCustomFieldId String True The ID of the account custom field that contains the sender value. Only available on read and query.
Pseudo-Columns

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
SenderOptionsAggregate String This input is used for INSERT/UPDATE statements. Set this to SenderOptions#TEMP temporary table, whose rows contain inputs for inserting/updating the sender options. Or simply reference or include as string literals the complete JSON.
ReplyToOptionsAggregate String This input is used for INSERT/UPDATE statements. Set this to ReplyToOptions#TEMP temporary table, whose rows contain inputs for inserting/updating the replyTo options. Or simply reference or include as string literals the complete JSON.
Files

Upload images and other files to use in your Pardot emails, forms, and landing pages.

Table Specific Information
Select

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the connector.

  • Id supports '=', '<', '<=', '>', '>='.
  • CreatedAt supports '=', '<', '<=', '>', '>='.
  • UpdatedAt supports '=', '<', '<=', '>', '>='.

For example, the following queries are processed server side:

SELECT * FROM Files WHERE Id = 40
SELECT * FROM Files WHERE UpdatedAt < '2021-12-30T03:16:27-08:00' and CreatedAt >= '2021-11-12T07:18:56-08:00'
Insert

The following attributes are required when performing an insert: Name, FilePath.

INSERT INTO Files (Name, FilePath) VALUES ('file1','C:\file1.txt')
Update

Updating Files:

UPDATE Files SET Name='testingUpdate', FolderId='33609' WHERE id='804969'

Delete

Remove all files or a file by specifying the ID of the file.

DELETE FROM Files

DELETE FROM Files WHERE ID = 10003
Columns
Name Type ReadOnly References Description
Id [KEY] Integer True Pardot ID of this file.
Name String False Name of the object for identification in Pardot. Uses the name of the file being uploaded if not specified on create.
FolderId Integer False ID of the folder containing this object. Uses the asset type's uncategorized folder if not specified on create.
CampaignId Integer False Pardot campaign related to this object. Uses null if not specified on create.
VanityUrlPath String False Vanity URL path (excluding protocol and host). Must be unique for each tracker domain.
TrackerDomainId Integer False ID of the TrackerDomain to use in the URL for this object. Uses the primary tracker domain for the account if not specified on create.
SalesforceId String True ID of the Salesforce object representing this object.
Url String True URL where the downloadable file can be accessed.
Size Integer True Size (in bytes) of the downloadable file.
BitlyIsPersonalized Boolean True True if the object has a bitly URL that is personalized.
BitlyShortUrl String True Bitly URL if present.
VanityUrl String True Vanity URL if present.
IsTracked Boolean True True if downloads of this file are recorded as visitor activity.
CreatedAt Datetime True The timestamp of when this object was created.
UpdatedAt Datetime True The timestamp of when this object was last updated.
CreatedById Integer True ID of the individual who created this object.
UpdatedById Integer True ID of the individual who last updated this object.
Pseudo-Columns

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
FilePath String This parameter is used only in INSERT operations to upload the content of a file. It should be set to the path of the file including the name. Ex: C:\Users\User\Desktop\test.txt or to the BASE64 encoded content of the file.
LayoutTemplates

Retrieve and modify layout templates.

Table Specific Information
Select

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the connector.

  • Id supports '=', '<', '<=', '>', '>='.
  • IsDeleted supports '='.

For example, the following queries are processed server side:

SELECT * FROM LayoutTemplates WHERE Id = 40
SELECT * FROM LayoutTemplates WHERE IsDeleted = 'true'
Insert

The following attributes are required when performing an insert: Name, LayoutContent.

INSERT INTO LayoutTemplates (Name,IsIncludeDefaultCss,LayoutContent,FolderId) VALUES ('name','true','content', 33621)
Update

Updating LayoutTemplates:

Update LayoutTemplates set Name='newName' where Id=24143

Delete

Remove all layout templates or a layout template by specifying the ID of the template.

DELETE FROM LayoutTemplates

DELETE FROM LayoutTemplates WHERE ID = 10003
GetDeleted

To retrieve layout templates that are in the recycle bin in Pardot the following operation is supported:

GETDELETED FROM LayoutTemplates
Columns
Name Type ReadOnly References Description
Id [KEY] Integer True ID of this object.
Name String False Name of the object for identification in Pardot. Uses the name of the file being uploaded if not specified on create.
LayoutContent String False HTML content of this layout template encoded as JSON string.
FormContent String False HTML content encoded as JSON string that controls form display logic. Uses default values if not provided.
SiteSearchContent String False HTML content encoded as JSON string that controls the site search content.
IsIncludeDefaultCss Boolean False True if not supplying custom CSS styling.
FolderId Integer False ID of the folder containing this object. Uses the asset type's uncategorized folder if not specified on create.
IsDeleted Boolean True True if the object is in the recycle bin in Pardot.
CreatedAt Datetime True The timestamp of when this object was created.
UpdatedAt Datetime True The timestamp of when this object was last updated.
CreatedById Integer True ID of the individual who created this object.
UpdatedById Integer True ID of the individual who last updated this object.
Lists

Retrieve and modify lists.

Table Specific Information
Select

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the connector.

  • Id supports '=', '<', '<=', '>', '>='.
  • CreatedAt supports '=', '<', '<=', '>', '>='.
  • UpdatedAt supports '=', '<', '<=', '>', '>='.
  • IsDeleted supports '='.

For example, the following queries are processed server side:

SELECT * FROM Lists WHERE Id = 40
SELECT * FROM Lists WHERE IsDeleted = 'true'
SELECT * FROM Lists WHERE CreatedAt > '01/01/2022'
Insert

The following attribute is required when performing an insert: Name.

INSERT INTO Lists (Name) VALUES ('name')
Update

Update Lists attributes.

Update Lists set Name='newName' where Id=24143

Delete

Remove all lists or a list by specifying the ID of the list.

DELETE FROM Lists

DELETE FROM Lists WHERE ID = 10003
GetDeleted

To retrieve lists that are in the recycle bin in Pardot the following operation is supported:

GETDELETED FROM Lists
Columns
Name Type ReadOnly References Description
Id [KEY] Integer True Pardot ID of this list.
Name String False List's name (internal to Pardot).
FolderId Integer False ID of the folder containing this object.
CampaignId Integer False Campaigns.Id Pardot campaign related to this object. Uses null if not specified on create.
IsDeleted Boolean True True if the object is in the recycle bin in Pardot.
IsDynamic Boolean True True if the list is dynamic.
IsPublic Boolean False True if the list is public.
Title String False Title of the list object.
Description String False List's description.
CreatedAt Datetime True The timestamp of when this object was created.
UpdatedAt Datetime True The timestamp of when this object was last updated.
CreatedById Integer True ID of the individual who created this object.
UpdatedById Integer True ID of the individual who last updated this object.
Prospects

Retrieve and modify prospects.

Table Specific Information
Select

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the connector.

  • Id supports '=', '<', '<=', '>', '>='.
  • UserId supports '=', '<', '<=', '>', '>='.
  • AssignedToId supports '=', '<', '<=', '>', '>='.
  • LastActivityAt supports '=', '<', '<=', '>', '>='.
  • IsDeleted supports '='.
  • CreatedAt supports '=', '<', '<=', '>', '>='.
  • UpdatedAt supports '=', '<', '<=', '>', '>='.

For example, the following queries are processed server side:

SELECT * FROM Prospects WHERE Id = 3457992
SELECT * FROM Prospects WHERE UserId = 14
SELECT * FROM Prospects WHERE UpdatedAt < '2021-12-30T03:16:27-08:00' and CreatedAt >= '2021-11-12T07:18:56-08:00'
Get Deleted

To retrieve deleted prospects, a GETDELETED statement can be executed.

GETDELETED FROM Prospects
Columns
Name Type ReadOnly References Description
Id [KEY] Integer True Pardot ID for this prospect.
AddressOne String False Prospect's address, line 1.
AddressTwo String False Prospect's address, line 2.
AnnualRevenue String False Prospect's annual revenue.
CampaignId Integer False Pardot campaign related to this object.
CampaignParameter String True Prospect's campaign parameter utm_campaign from Google Analytics.
SalesforceCampaignId String True The alpha-numeric ID of the associated campaign in the Salesforce Org.
City String False Prospect's city.
Comments String False Comments about this prospect.
Company String False Prospect's company.
ContentParameter String True Prospect's content parameter utm_content from Google Analytics.
ConvertedAt Datetime True Time when prospect was converted from visitor.
ConvertedFromObjectName String True Name of object associated with visitor activity that resulted in prospect being converted from visitor.
ConvertedFromObjectType String True ype of object associated with visitor activity that resulted in prospect being converted from visitor. Supported values include 'Form', 'FormHandler', 'LandingPage', 'MultivariateTestVariation', and 'Video'.
Country String False Prospect's country.
SalesforceAccountId String True Account ID in a supported Salesforce system.
SalesforceContactId String True Prospect's contact ID in a supported Salesforce system.
SalesforceLastSync Datetime True Last time this prospect was synced with a supported Salesforce system.
SalesforceLeadId String True Prospect's lead ID in a supported Salesforce system.
SalesforceOwnerId String False Prospect's owner ID in a supported Salesforce system.
SalesforceId String False The alpha-numeric ID of the Salesforce Org.
Department String False Prospect's department.
Email String False Prospect's email address.
EmailBouncedAt Datetime True Time
EmailBouncedReason String True Reason why prospect email address hard bounced.
Employees String False Prospect's number of employees.
Fax String False Prospect's fax number.
FirstActivityAt Datetime True Time when first visitor activity occurred for this prospect.
FirstAssignedAt Datetime True Time prospect was first assigned to a user.
FirstName String False Prospect's first name.
FirstReferrerQuery String True First referrer's search query.
FirstReferrerType String True First referrer's vendor and type (such as 'Google Natural Search').
FirstReferrerUrl String True First referrer's URL.
Grade String True Prospect's letter grade.
Industry String False Prospect's industry.
IsDeleted Boolean True True if the object is in the recycle bin in Pardot.
IsDoNotCall Boolean False If value is 1, prospect prefers not to be called.
IsDoNotEmail Boolean False If value is 1, prospect prefers not to be emailed.
isEmailHardBounced Boolean True If true, prospect email address has hard bounced.
IsReviewed Boolean False If value is 1, prospect has been reviewed.
IsStarred Boolean False If value is 1, prospect has been starred.
JobTitle String False Prospect's job title.
LastActivityAt Datetime True Time stamp of this prospect's latest visitor activity.
LastName String False Prospect's last name.
MediumParameter String True Prospect's medium parameter utm_medium from Google Analytics.
Notes String False Notes about this prospect.
OptedOut Boolean False If value is 1, prospect has opted out of marketing communications.
Password String True Prospect's password.
Phone String False Prospect's phone number.
ProspectAccountId Integer False Prospect's account ID.
Salutation String False Prospect's formal prefix.
Score Integer False Prospect's score.
Source String False Prospect's source.
SourceParameter String True Prospect's source parameter utm_source from Google Analytics.
State String False Prospect's US state.
TermParameter String True Prospect's term parameter utm_term from Google Analytics.
Territory String False Prospect's territory.
Website String False Prospect's website URL.
YearsInBusiness String False Prospect's number of years in business.
Zip String False Prospect's postal code.
AssignedToId Integer True ID of the user who the object record is assigned to.
ProfileId Integer False Pardot profile related to this object.
SalesforceUrl String True URL to view the prospect within the Salesforce system.
LifecycleStageId Integer True Pardot lifecycle stage related to this object.
UserId Integer False User the prospect is assigned to.
RecentInteraction String True Describes the prospect's most recent interaction with Pardot.
CreatedAt Datetime True Time prospect was created in Pardot.
UpdatedAt Datetime True Last time prospect was updated in Pardot.
CreatedById Integer True ID of the individual who created this object.
UpdatedById Integer True ID of the individual who last updated this object.

Views

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. To find out more about tables and stored procedures, please navigate to their corresponding entries in this help document.

Salesforce Pardot Connector Views
Name Description
Campaigns Retrieve and modify campaigns.
CustomFields Retrieve custom fields metadata.
Emails Query emails to learn how prospects responded to the emails.
Folders Retrieve folders or organize and nest your content and marketing assets in a way that makes sense for your team.
Forms Retrieve forms.
ListEmail A list email is a single email sent to a recipient list.
ProspectAccounts Retrieve and modify prospect accounts.
ReplyToOptions Query the repltyTo options of email templates.
SenderOptions Query the sender options of email templates.
TrackerDomains Query the available tracker domains.
Users Query the available users.
VisitorsPageViews Retrieve visitors page views.
Visits Retrieve visits.
Campaigns

Retrieve and modify campaigns.

Table Specific Information
Select

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the connector.

  • Id supports '=', '<', '<=', '>', '>='.
  • Name supports '='.
  • CreatedAt supports '=', '<', '<=', '>', '>='.
  • UpdatedAt supports '=', '<', '<=', '>', '>='.

For example, the following queries are processed server side:

SELECT * FROM Campaigns WHERE Id = 50
SELECT * FROM Campaigns WHERE Name = 'campaignName'
SELECT * FROM Campaigns WHERE CreatedAt > '01/01/2022'
GetDeleted

To retrieve campaigns that are in the recycle bin in Pardot the following operation is supported:

GETDELETED FROM Campaings
Columns
Name Type References Description
Id [KEY] Integer Pardot ID for this campaign.
Name String Campaign's name.
Cost Integer Cost associated to the campaign.
IsDeleted Boolean True if the object is in the recycle bin in Pardot.
FolderId Integer ID of the folder containing this object.
ParentCampaignId Integer The ID of the parent campaign.
CreatedAt Datetime The timestamp of when this object was created.
UpdatedAt Datetime The timestamp of when this object was last updated.
CreatedById Integer ID of the individual who created this object.
UpdatedById Integer ID of the individual who last updated this object.
CustomFields

Retrieve custom fields metadata.

Table Specific Information
Select

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the connector.

  • Id supports '=', '<', '<=', '>', '>='.
  • CreatedAt supports '=', '<', '<=', '>', '>='.
  • UpdatedAt supports '=', '<', '<=', '>', '>='.

For example, the following queries are processed server side:

SELECT * FROM CustomFields WHERE Id = 50
SELECT * FROM CustomFields WHERE CreatedAt > '01/01/2022'
SELECT * FROM CustomFields WHERE UpdatedAt < '01/01/2022'
Columns
Name Type References Description
Id [KEY] Integer Pardot ID for this custom field.
Name String Custom field's name.
FieldId String API ID for custom field.
Type String The type of field.
CreatedAt Datetime Time custom field was created in Pardot.
UpdatedAt Datetime Last time custom field was updated.
CreatedById Integer ID of the individual who created this object.
UpdatedById Integer ID of the individual who last updated this object.
IsRecordMultipleResponses Boolean If true, this custom field will record multiple responses.
IsUseValues Boolean If true, this custom field will use predefined values.
SalesforceId String The alpha-numeric ID of the Salesforce Org.
IsRequired String True if the custom field is required.
isAnalyticsSynced Boolean True if the object is synced to Analytics.
Pseudo-Columns

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
ValuesPrefill String
Emails

Query emails to learn how prospects responded to the emails.

Table Specific Information
Select

The connector uses the Salesforce Pardot API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the connector.

  • Id supports '=', '<', '<=', '>', '>='.
  • ProspectId supports '=', '<', '<=', '>', '>='.
  • ListEmailId supports '=', '<', '<=', '>', '>='.
  • SentAt supports '=', '<', '<=', '>', '>='.

For example, the following queries are processed server side:

SELECT * FROM Emails WHERE Id = 50
SELECT * FROM Emails WHERE ProspectId = 23
SELECT * FROM Emails WHERE SentAt > '01/01/2022'
Columns
Name Type References Description
Id [KEY] Integer ID of the email.
ProspectId Integer Pardot prospect ID related to this email.
CampaignId Integer Pardot campaign related to this object.
CreatedById Integer ID of the individual who created this object.
ClientType String Value is 'Builder' if the email was sent via the Lightning Email Builder. Value is 'Web' if it was sent via the legacy Pardot email builder.
TextMessage String The text content of the email. This field is retrieved only when filtering with email id.
HtmlMessage String The HTML content of the email. This field is retrieved only when filtering with email id.
ListId Integer ID of the list associated with this email.
listEmailId Integer ID of the list email associated with this email.
Name String Name of the email for identification in Pardot.
SentAt Datetime Time the email was sent.
Subject String The email subject.
Folders

Retrieve folders or organize and nest your content and marketing assets in a way that makes sense for your team.

Table Specific Information
Select

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the connector.

  • Id supports '=', '<', '<=', '>', '>='.
  • ParentFolderId supports '=', '<', '<=', '>', '>='.

For example, the following queries are processed server side:

SELECT * FROM Folders WHERE Id = 50
SELECT * FROM Folders WHERE ParentFolderId = 2
Columns
Name Type References Description
Id [KEY] Integer Pardot ID of this file.
Name String Name of the folder.
ParentFolderId Integer ID of the folder containing this folder. This value is null when the folder is a root folder and doesn't have a parent.
Path String The names of each folder from the root folder separated with forward slashes.
UsePermissions Boolean True if the folder is configured to use permissions.
CreatedAt Datetime The timestamp of when this object was created.
UpdatedAt Datetime The timestamp of when this object was last updated.
CreatedById Integer ID of the individual who created this object.
UpdatedById Integer ID of the individual who last updated this object.
Forms

Retrieve forms.

Table Specific Information
Select

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the connector.

  • Id supports '=', '<', '<=', '>', '>='.
  • IsDeleted supports '='.

For example, the following queries are processed server side:

SELECT * FROM Forms WHERE Id <= 17
SELECT * FROM Forms WHERE IsDeleted = 'true'
GetDeleted

To retrieve forms that are in the recycle bin in Pardot the following operation is supported:

GETDELETED FROM Forms
Columns
Name Type References Description
Id [KEY] Integer Pardot ID for this form.
Name String Form's name.
CampaignId Integer Campaigns.Id Pardot ID of the campaign associated with this form.
EmbedCode String The code used to embed the form on your webpage.
SalesforceId String The alpha-numeric ID of the Salesforce Org.
LayoutTemplateId Integer The ID of the layout template associated with this object
SubmitButtonText String The label used for the submit button
BeforeFormContent String The HTML text displayed above the form
AfterFormContent String The HTML text displayed below the form
ThankYouContent String The HTML text displayed after the form is submitted
ThankYouCode String Thank you code is typically Javascript used to call other systems like Google Conversion Tracking
IsAlwaysDisplay Boolean Always display form after submission. Disable the 10 minute waiting period after submitting a form
RedirectLocation String Redirect to this URL instead of showing the
IsUseRedirectLocation Boolean When redirect location is valid and enabled.
FontSize String Possible values: default, 8pt, 10pt, 12pt, 14pt , 18pt, 24pt, 36pt.
FontFamily String Possible values: default,
FontColor String 6 digit number in hexadecimal format such as #123456
LabelAlignment String Possible values: default, above, left
RadioAlignment String Possible values: default, horizontal, stacked
CheckboxAlignment String Possible values: default, horizontal, stacked
RequiredCharacter String Possible values: default , *
IsCookieless String Kiosk/Data Entry Mode: Do not cookie browser as submitted prospect
ShowNotProspect Boolean Include
IsCaptchaEnabled Boolean Enable explicit bot protecting using reCAPTCHA
IsDeleted Boolean True if the object is in the recycle bin in Pardot.
TrackerDomainId Integer The ID of the tracker domain associated with this object.
FolderId Integer ID of the folder containing this object.
CreatedAt Datetime The timestamp of when this object was created.
UpdatedAt Datetime The timestamp of when this object was last updated.
CreatedById Integer ID of the individual who created this object.
UpdatedById Integer ID of the individual who last updated this object.
ListEmail

A list email is a single email sent to a recipient list.

Table Specific Information
Select

The connector uses the Salesforce Pardot API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the connector.

  • Id supports '=', '<', '<=', '>', '>='.
  • IsDeleted supports '='.
  • CreatedAt supports '=', '<', '<=', '>', '>='.
  • UpdatedAt supports '=', '<', '<=', '>', '>='.
  • SentAt supports '=', '<', '<=', '>', '>='.

For example, the following queries are processed server side:

SELECT * FROM ListEmail WHERE Id = 50
SELECT * FROM ListEmail WHERE SentAt > '01/01/2022'
SELECT * FROM ListEmail WHERE CreatedAt > '01/01/2022'
GetDeleted

To retrieve list email that are in the recycle bin in Pardot the following operation is supported:

GETDELETED FROM ListEmail
Columns
Name Type References Description
Id [KEY] Integer ID of the email.
Name String Name of the object for identification in Pardot.
Subject String The email subject.
TextMessage String The text content of the email. This field is retrieved only when filtering with email id.
HtmlMessage String The HTML content of the email. This field is retrieved only when filtering with email id.
CampaignId Integer Pardot campaign related to this object.
IsPaused Boolean True if the email send is paused.
IsSent Boolean True if the email has been sent.
IsDeleted Boolean True if the object is in the recycle bin in Pardot.
CreatedById Integer ID of the individual who created this object.
UpdatedById Integer ID of the individual who last updated this object.
CreatedAt Datetime The timestamp of when this object was created.
UpdatedAt Datetime The timestamp of when this object was last updated.
ClientType String Value is 'Builder' if the email was sent via the Lightning Email Builder. Value is 'Web' if it was sent via the legacy Pardot email builder.
SentAt Datetime Time the email was sent.
OperationalEmail Boolean True if the email is operational.
EmailTemplateId Integer ID of the email template used for the list email.
TrackerDomainId Integer ID of the tracker domain used for the list email.
SenderOptionsType String The sending user type(s).
SenderOptionsAddress String The sending email address(s).
SenderOptionsName String The name(s) of the sender.
SenderOptionsUserId String The user ID(s) of the sender.
ReplyToOptionsType String The reply to user type(s).
ReplyToOptionsAddress String The sending email address(s).
ReplyToOptionsUserId String The user ID(s) of the sender.
ProspectAccounts

Retrieve and modify prospect accounts.

Table Specific Information
Select

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the connector.

  • Id supports '=', '<', '<=', '>', '>='.

For example, the following queries are processed server side:

SELECT * FROM ProspectAccounts WHERE ID > 31
Get Deleted

To retrieve deleted prospect accounts, a GETDELETED statement can be executed.

GETDELETED FROM ProspectAccounts
Columns
Name Type References Description
Id [KEY] Integer ID of the object.
Name String Name of the object.
SalesforceId String ID of the Salesforce object representing this object.
IsDeleted Boolean True if the object is in the recycle bin in Pardot.
AnnualRevenue String Annual Revenue of the object.
BillingAddressOne String Billing Address of the object.
BillingAddressTwo String Second Billing Address of the object.
BillingCity String City of the object.
BillingCountry String County of the object.
BillingState String State of the object.
BillingZip String Zip of the object.
Description String Description of the object.
Employees String Employees of the object.
Fax String Fax of the object.
Industry String Industry of the object.
Number String Number of the object.
Ownership String Ownership of the object.
Phone String Phone Number of the object.
Rating String Rating of the object.
ShippingAddressOne String Shipping Address of the object.
ShippingAddressTwo String Second Shipping Address of the object.
ShippingCity String Shipping Address city of the object.
ShippingCountry String Shipping Address country of the object.
ShippingState String Shipping Address state of the object.
ShippingZip String Shipping Address zip of the object.
Sic String SIC of the object.
Site String Site of the object.
TickerSymbol String Ticker Symbol of the object.
Type String Type of the object.
Website String Website of the object.
CreatedAt Datetime Creation time of the object.
UpdatedAt Datetime Last update time of the object.
AssignedToId Integer ID of the user who the object record is assigned to.
CreatedById Integer ID of the individual who created this object.
UpdatedById Integer ID of the individual who last updated this object.
ReplyToOptions

Query the repltyTo options of email templates.

Columns
Name Type References Description
EmailId [KEY] Integer ID of the email template.
Type String The sending user type. Can be general_user, specific_user, assigned_user, or account_owner.
Address String The sending email address(s).
UserId String The user ID(s) of the sender.
Name String The name of the sender.
ProspectCustomFieldId String The ID of the prospect custom field that contains the sender value. Only available on read and query.
AccountCustomFieldId String The ID of the account custom field that contains the sender value. Only available on read and query.
SenderOptions

Query the sender options of email templates.

Columns
Name Type References Description
EmailId [KEY] Integer ID of the email template.
Address String The sending email address.
Name String The name of the sender.
Type String The sending user type. Can be general_user, specific_user, assigned_user, or account_owner.
UserId String The user ID of the sender.
ProspectCustomFieldId String The ID of the prospect custom field that contains the sender value. Only available on read and query.
AccountCustomFieldId String The ID of the account custom field that contains the sender value. Only available on read and query.
TrackerDomains

Query the available tracker domains.

Table Specific Information
Select

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the connector.

  • Id supports '=', '<', '<=', '>', '>='.
  • IsDeleted supports '='.

For example, the following queries are processed server side:

SELECT * FROM TrackerDomains WHERE ID = 50
GetDeleted

To retrieve deleted records, a GETDELETED statement can be executed.

GETDELETED FROM TrackerDomains
Columns
Name Type References Description
Id [KEY] Integer Pardot ID for this object.
Domain String Hostname to which links using this tracker domain are resolved.
IsPrimary Boolean True if the tracker domain is primary tracker domain for the account. Only one tracker domain can be designated as the primary and must be unique across all Pardot accounts.
IsDeleted Boolean True if the object is in the recycle bin in Pardot.
DefaultCampaignId Integer The ID of the default campaign for this tracker domain.
HttpsStatus String Identify if this tracker domain is using http or https.
SslStatus String Status of SSL for this vanity tracker domain.
SslStatusDetails String Extra information for the status of SSL for this vanity tracker domain.
SslRequestedById Integer ID of the User who manually requested enabling SSL for this tracker domain.
ValidationStatus String The status can be default, validated or not validated
ValidatedAt Datetime Time when this tracker domain validation became validated.
VanityUrlStatus String Indicates whether this tracker domain can serve vanity URLs.
TrackingCode String The tracking code for this object encoded as JSON string. A default campaign is required before generating tracking codes as well as enabling first party tracking in account settings.
CreatedAt Datetime The timestamp of when this object was created.
UpdatedAt Datetime The timestamp of when this object was last updated.
CreatedById Integer ID of the individual who created this object.
UpdatedById Integer ID of the individual who last updated this object.
Users

Query the available users.

Table Specific Information
Select

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the connector.

  • Id supports '=', '<', '<=', '>', '>='.
  • IsDeleted supports '='.
  • UpdatedAt supports '=', '<', '<=', '>', '>='.
  • CreatedAt supports '=', '<', '<=', '>', '>='.

For example, the following queries are processed server side:

SELECT * FROM Users WHERE Id = 32
SELECT * FROM Users WHERE CreatedAt < '02/03/2019 23:11:33' AND CreatedAt > '02/03/2018 23:11:33'
Get Deleted

To retrieve deleted users, a GETDELETED statement can be executed.

GETDELETED FROM Users
Columns
Name Type References Description
Id [KEY] Integer Pardot ID for this object.
Email String Email address of the user.
FirstName String First name of the user.
Username String Formatted as an email address, though distinct from the email field on the user object.
JobTitle String Job title of the user.
Role String Role of the user.
SalesforceId String Salesforce ID of the object.
IsDeleted Boolean True if the object is in the recycle bin in Pardot.
CreatedAt Datetime The timestamp of when this object was created.
UpdatedAt Datetime The timestamp of when this object was last updated.
CreatedById Integer ID of the individual who created this object.
UpdatedById Integer ID of the individual who last updated this object.
VisitorsPageViews

Retrieve visitors page views.

Table Specific Information
Select

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the connector.

  • Id supports '=', '<', '<=', '>', '>='.
  • VisitId supports '=', '<', '<=', '>', '>='.
  • VisitorId supports '=', '<', '<=', '>', '>='.
  • CreatedAt supports '=', '<', '<=', '>', '>='.

For example, the following queries are processed server side:

SELECT * FROM VisitorPageViews WHERE VisitId = 22
SELECT * FROM VisitorPageViews WHERE ID >= 22 AND VisitorId = 1234
Columns
Name Type References Description
Id [KEY] Integer Pardot ID for this visitor page view.
Url String The Url of the page.
Title String The Title column of the VisitorsPageViews object.
VisitId Integer Pardot ID for this visit.
VisitorId Integer Pardot ID for the associated visitor.
CampaignId Integer Pardot campaign related to this object.
SalesforceId String Salesforce ID of the object.
DurationInSeconds Integer Length of this page view.
CreatedAt Datetime The timestamp of when this object was created.
Visits

Retrieve visits.

Table Specific Information
Select

The connector will use the Salesforce Pardot API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the connector.

  • Id supports '=', '<', '<=', '>', '>='.
  • VisitorId supports '=', '<', '<=', '>', '>='.
  • ProspectId supports '=', '<', '<=', '>', '>='.
  • CreatedAt supports '=', '<', '<=', '>', '>='.
  • UpdatedAt supports '=', '<', '<=', '>', '>='.

For example, the following queries are processed server side:

SELECT * FROM Visits WHERE Id = 22
SELECT * FROM Visits WHERE VisitorId > 234
Columns
Name Type References Description
Id [KEY] Integer ID of the object.
VisitorId Integer Pardot ID for the associated visitor.
ProspectId Integer Prospects.Id Pardot ID for the associated prospect.
VisitorPageViewCount Integer Number of page views for this visit.
FirstVisitorPageViewAt Datetime Time of first page view for this visit.
LastVisitorPageViewAt Datetime Time of last page view for this visit.
DurationInSeconds Integer Length of this visit.
CampaignParameter String Visit's campaign parameter utm_campaign from Google Analytics.
MediumParameter String Visit's medium parameter utm_medium from Google Analytics.
SourceParameter String Visit's source parameter utm_source from Google Analytics.
ContentParameter String Visit's content parameter utm_content from Google Analytics.
TermParameter String Visit's term parameter utm_term from Google Analytics.
CreatedAt Datetime The timestamp of when this object was created.
UpdatedAt Datetime The timestamp of when this object was last updated.

Stored Procedures

Stored procedures are available to complement the data available from the Data Model. It may be necessary to update data available from a view using a stored procedure because the data does not provide for direct, table-like, two-way updates. In these situations, the retrieval of the data is done using the appropriate view or table, while the update is done by calling a stored procedure. Stored procedures take a list of parameters and return back a dataset that contains the collection of tuples that constitute the response.

Salesforce Pardot Connector Stored Procedures
Name Description
GetOAuthAccessToken If using a Windows application, set Authmode to App. If using a Web app, set Authmode to Web and specify the Verifier obtained by GetOAuthAuthorizationUrl.
GetOAuthAuthorizationUrl Gets the authorization URL that must be opened separately by the user to grant access to your application. Only needed when developing Web apps.
RefreshOAuthAccessToken Refreshes the OAuth token or session ID after the session has expired. Your OAuth application must have the refresh_token scope enabled.
GetOAuthAccessToken

If using a Windows application, set Authmode to App. If using a Web app, set Authmode to Web and specify the Verifier obtained by GetOAuthAuthorizationUrl.

Input
Name Type Required Description
Authmode String False The type of authentication mode to use. Select App for getting authentication tokens via a desktop app. Select Web for getting authentication tokens via a Web app. The allowed values are APP, WEB. The default value is APP.
Verifier String False The verifier token returned by Salesforce after using the URL obtained with GetOAuthAuthorizationUrl.
Scope String False A space-separated scope of permissions you need the app to have access to. The available values are api, chatter_api, full, id, refresh_token, visualforce, and web. For details, refer to: http://help.salesforce.com/help/doc/en/remoteaccess_oauth_scopes.htm.
CallbackUrl String False The page to return the Salesforce app after authentication has been completed.
Api_Version String False The API version you would like to authenticate to. The default value is 49.0.
State String False Any value that you wish to be sent with the callback.
GrantType String False Authorization grant type. Only available for OAuth 2.0. If left unspecified, the default value is the value of the OAuthGrantType connection property. The allowed values are CODE, PASSWORD.
Result Set Columns
Name Type Description
Scope String The scope of permissions for the app.
Instance_Url String The instance URL being used by the app.
Id String The ID associated with the OAuth token.
Issued_At String When the token was issued at.
Signature String A signature for the OAuth token.
OAuthRefreshToken String A token that may be used to obtain a new access token.
OAuthAccessToken String The OAuth access token.
ExpiresIn String The remaining lifetime on the access token. A -1 denotes that it will not expire.
GetOAuthAuthorizationUrl

Gets the authorization URL that must be opened separately by the user to grant access to your application. Only needed when developing Web apps.

Input
Name Type Required Description
CallbackUrl String False The page to return the user after authorization is complete.
Scope String False A space-separated scope of permissions you need the app to have access to. The available values are api, chatter_api, full, id, refresh_token, visualforce, web. For more details, refer to: http://help.salesforce.com/help/doc/en/remoteaccess_oauth_scopes.htm.
Grant_Type String False The type of authorization to be granted for your app. If this is set to code, the stored procedure will return an authorization URL containing the verifier code in a query string parameter, which you will need to submit back with the GetOAuthAccessToken stored procedure. Implicit will cause the OAuth access token to be returned directly in the URL. The allowed values are Implicit, Code.
State String False Any value that you wish to be sent with the callback.
Result Set Columns
Name Type Description
Url String The authorization URL.
RefreshOAuthAccessToken

Refreshes the OAuth token or session ID after the session has expired. Your OAuth application must have the refresh_token scope enabled.

Input
Name Type Required Description
OAuthRefreshToken String True The refresh token returned when the OAuth Token was first created.
Result Set Columns
Name Type Description
Instance_Url String Instance of Salesforce the OAuth token is valid for.
OAuthAccessToken String The OAuth token.
Id String ID associated with the OAuth Token.
Issued_At String When the OAuth Token was issued.
Signature String Signature of the OAuth Token.
ExpiresIn String The remaining lifetime on the access token. A -1 denotes that it will not expire.

System Tables

You can query the system tables described in this section to access schema information, information on data source functionality, and batch operation statistics.

Schema Tables

The following tables return database metadata for Salesforce Pardot:

Data Source Tables

The following tables return information about how to connect to and query the data source:

  • sys_connection_props: Returns information on the available connection properties.
  • sys_sqlinfo: Describes the SELECT queries that the connector can offload to the data source.

Query Information Tables

The following table returns query statistics for data modification queries:

  • sys_identity: Returns information about batch operations or single updates.

sys_catalogs

Lists the available databases.

The following query retrieves all databases determined by the connection string:

SELECT * FROM sys_catalogs
Columns
Name Type Description
CatalogName String The database name.

sys_schemas

Lists the available schemas.

The following query retrieves all available schemas:

SELECT * FROM sys_schemas
Columns
Name Type Description
CatalogName String The database name.
SchemaName String The schema name.

sys_tables

Lists the available tables.

The following query retrieves the available tables and views:

SELECT * FROM sys_tables
Columns
Name Type Description
CatalogName String The database containing the table or view.
SchemaName String The schema containing the table or view.
TableName String The name of the table or view.
TableType String The table type (table or view).
Description String A description of the table or view.
IsUpdateable Boolean Whether the table can be updated.

sys_tablecolumns

Describes the columns of the available tables and views.

The following query returns the columns and data types for the Prospects table:

SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='Prospects'
Columns
Name Type Description
CatalogName String The name of the database containing the table or view.
SchemaName String The schema containing the table or view.
TableName String The name of the table or view containing the column.
ColumnName String The column name.
DataTypeName String The data type name.
DataType Int32 An integer indicating the data type. This value is determined at run time based on the environment.
Length Int32 The storage size of the column.
DisplaySize Int32 The designated column's normal maximum width in characters.
NumericPrecision Int32 The maximum number of digits in numeric data. The column length in characters for character and date-time data.
NumericScale Int32 The column scale or number of digits to the right of the decimal point.
IsNullable Boolean Whether the column can contain null.
Description String A brief description of the column.
Ordinal Int32 The sequence number of the column.
IsAutoIncrement String Whether the column value is assigned in fixed increments.
IsGeneratedColumn String Whether the column is generated.
IsHidden Boolean Whether the column is hidden.
IsArray Boolean Whether the column is an array.

sys_procedures

Lists the available stored procedures.

The following query retrieves the available stored procedures:

SELECT * FROM sys_procedures
Columns
Name Type Description
CatalogName String The database containing the stored procedure.
SchemaName String The schema containing the stored procedure.
ProcedureName String The name of the stored procedure.
Description String A description of the stored procedure.
ProcedureType String The type of the procedure, such as PROCEDURE or FUNCTION.

sys_procedureparameters

Describes stored procedure parameters.

The following query returns information about all of the input parameters for the UnAssignProspect stored procedure:

SELECT * FROM sys_procedureparameters WHERE ProcedureName='UnAssignProspect' AND Direction=1 OR Direction=2
Columns
Name Type Description
CatalogName String The name of the database containing the stored procedure.
SchemaName String The name of the schema containing the stored procedure.
ProcedureName String The name of the stored procedure containing the parameter.
ColumnName String The name of the stored procedure parameter.
Direction Int32 An integer corresponding to the type of the parameter: input (1), input/output (2), or output(4). input/output type parameters can be both input and output parameters.
DataTypeName String The name of the data type.
DataType Int32 An integer indicating the data type. This value is determined at run time based on the environment.
Length Int32 The number of characters allowed for character data. The number of digits allowed for numeric data.
NumericPrecision Int32 The maximum precision for numeric data. The column length in characters for character and date-time data.
NumericScale Int32 The number of digits to the right of the decimal point in numeric data.
IsNullable Boolean Whether the parameter can contain null.
IsRequired Boolean Whether the parameter is required for execution of the procedure.
IsArray Boolean Whether the parameter is an array.
Description String The description of the parameter.
Ordinal Int32 The index of the parameter.

sys_keycolumns

Describes the primary and foreign keys.

The following query retrieves the primary key for the Prospects table:

SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Prospects'
Columns
Name Type Description
CatalogName String The name of the database containing the key.
SchemaName String The name of the schema containing the key.
TableName String The name of the table containing the key.
ColumnName String The name of the key column.
IsKey Boolean Whether the column is a primary key in the table referenced in the TableName field.
IsForeignKey Boolean Whether the column is a foreign key referenced in the TableName field.
PrimaryKeyName String The name of the primary key.
ForeignKeyName String The name of the foreign key.
ReferencedCatalogName String The database containing the primary key.
ReferencedSchemaName String The schema containing the primary key.
ReferencedTableName String The table containing the primary key.
ReferencedColumnName String The column name of the primary key.

sys_foreignkeys

Describes the foreign keys.

The following query retrieves all foreign keys which refer to other tables:

SELECT * FROM sys_foreignkeys WHERE ForeignKeyType = 'FOREIGNKEY_TYPE_IMPORT'
Columns
Name Type Description
CatalogName String The name of the database containing the key.
SchemaName String The name of the schema containing the key.
TableName String The name of the table containing the key.
ColumnName String The name of the key column.
PrimaryKeyName String The name of the primary key.
ForeignKeyName String The name of the foreign key.
ReferencedCatalogName String The database containing the primary key.
ReferencedSchemaName String The schema containing the primary key.
ReferencedTableName String The table containing the primary key.
ReferencedColumnName String The column name of the primary key.
ForeignKeyType String Designates whether the foreign key is an import (points to other tables) or export (referenced from other tables) key.

sys_indexes

Describes the available indexes. By filtering on indexes, you can write more selective queries with faster query response times.

The following query retrieves all indexes that are not primary keys:

SELECT * FROM sys_indexes WHERE IsPrimary='false'
Columns
Name Type Description
CatalogName String The name of the database containing the index.
SchemaName String The name of the schema containing the index.
TableName String The name of the table containing the index.
IndexName String The index name.
ColumnName String The name of the column associated with the index.
IsUnique Boolean True if the index is unique. False otherwise.
IsPrimary Boolean True if the index is a primary key. False otherwise.
Type Int16 An integer value corresponding to the index type: statistic (0), clustered (1), hashed (2), or other (3).
SortOrder String The sort order: A for ascending or D for descending.
OrdinalPosition Int16 The sequence number of the column in the index.

sys_connection_props

Returns information on the available connection properties and those set in the connection string.

When querying this table, the config connection string should be used:

jdbc:cdata:salesforcepardot:config:

This connection string enables you to query this table without a valid connection.

The following query retrieves all connection properties that have been set in the connection string or set through a default value:

SELECT * FROM sys_connection_props WHERE Value <> ''
Columns
Name Type Description
Name String The name of the connection property.
ShortDescription String A brief description.
Type String The data type of the connection property.
Default String The default value if one is not explicitly set.
Values String A comma-separated list of possible values. A validation error is thrown if another value is specified.
Value String The value you set or a preconfigured default.
Required Boolean Whether the property is required to connect.
Category String The category of the connection property.
IsSessionProperty String Whether the property is a session property, used to save information about the current connection.
Sensitivity String The sensitivity level of the property. This informs whether the property is obfuscated in logging and authentication forms.
PropertyName String A camel-cased truncated form of the connection property name.
Ordinal Int32 The index of the parameter.
CatOrdinal Int32 The index of the parameter category.
Hierarchy String Shows dependent properties associated that need to be set alongside this one.
Visible Boolean Informs whether the property is visible in the connection UI.
ETC String Various miscellaneous information about the property.

sys_sqlinfo

Describes the SELECT query processing that the connector can offload to the data source.

Collaborative Query Processing

When working with data sources that do not support SQL-92, you can query the sys_sqlinfo view to determine the query capabilities of the underlying APIs, expressed in SQL syntax. The connector offloads as much of the SELECT statement processing as possible to the server and then processes the rest of the query in memory.

Discovering the Data Source's SELECT Capabilities

Below is an example data set of SQL capabilities. The following result set indicates the SELECT functionality that the connector can offload to the data source or process client side. Your data source may support additional SQL syntax. Some aspects of SELECT functionality are returned in a comma-separated list if supported; otherwise, the column contains NO.

Name Description Possible Values
AGGREGATE_FUNCTIONS Supported aggregation functions. AVG, COUNT, MAX, MIN, SUM, DISTINCT
COUNT Whether COUNT function is supported. YES, NO
IDENTIFIER_QUOTE_OPEN_CHAR The opening character used to escape an identifier. [
IDENTIFIER_QUOTE_CLOSE_CHAR The closing character used to escape an identifier. ]
SUPPORTED_OPERATORS A list of supported SQL operators. =, >, <, >=, <=, <>, !=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL, AND, OR
GROUP_BY Whether GROUP BY is supported, and, if so, the degree of support. NO, NO_RELATION, EQUALS_SELECT, SQL_GB_COLLATE
STRING_FUNCTIONS Supported string functions. LENGTH, CHAR, LOCATE, REPLACE, SUBSTRING, RTRIM, LTRIM, RIGHT, LEFT, UCASE, SPACE, SOUNDEX, LCASE, CONCAT, ASCII, REPEAT, OCTET, BIT, POSITION, INSERT, TRIM, UPPER, REGEXP, LOWER, DIFFERENCE, CHARACTER, SUBSTR, STR, REVERSE, PLAN, UUIDTOSTR, TRANSLATE, TRAILING, TO, STUFF, STRTOUUID, STRING, SPLIT, SORTKEY, SIMILAR, REPLICATE, PATINDEX, LPAD, LEN, LEADING, KEY, INSTR, INSERTSTR, HTML, GRAPHICAL, CONVERT, COLLATION, CHARINDEX, BYTE
NUMERIC_FUNCTIONS Supported numeric functions. ABS, ACOS, ASIN, ATAN, ATAN2, CEILING, COS, COT, EXP, FLOOR, LOG, MOD, SIGN, SIN, SQRT, TAN, PI, RAND, DEGREES, LOG10, POWER, RADIANS, ROUND, TRUNCATE
TIMEDATE_FUNCTIONS Supported date/time functions. NOW, CURDATE, DAYOFMONTH, DAYOFWEEK, DAYOFYEAR, MONTH, QUARTER, WEEK, YEAR, CURTIME, HOUR, MINUTE, SECOND, TIMESTAMPADD, TIMESTAMPDIFF, DAYNAME, MONTHNAME, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, EXTRACT
REPLICATION_SKIP_TABLES Indicates tables skipped during replication.
REPLICATION_TIMECHECK_COLUMNS A string array containing a list of columns which will be used to check for (in the given order) to use as a modified column during replication.
IDENTIFIER_PATTERN String value indicating what string is valid for an identifier.
SUPPORT_TRANSACTION Indicates if the provider supports transactions such as commit and rollback. YES, NO
DIALECT Indicates the SQL dialect to use.
KEY_PROPERTIES Indicates the properties which identify the uniform database.
SUPPORTS_MULTIPLE_SCHEMAS Indicates if multiple schemas may exist for the provider. YES, NO
SUPPORTS_MULTIPLE_CATALOGS Indicates if multiple catalogs may exist for the provider. YES, NO
DATASYNCVERSION The Data Sync version needed to access this driver. Standard, Starter, Professional, Enterprise
DATASYNCCATEGORY The Data Sync category of this driver. Source, Destination, Cloud Destination
SUPPORTSENHANCEDSQL Whether enhanced SQL functionality beyond what is offered by the API is supported. TRUE, FALSE
SUPPORTS_BATCH_OPERATIONS Whether batch operations are supported. YES, NO
SQL_CAP All supported SQL capabilities for this driver. SELECT, INSERT, DELETE, UPDATE, TRANSACTIONS, ORDERBY, OAUTH, ASSIGNEDID, LIMIT, LIKE, BULKINSERT, COUNT, BULKDELETE, BULKUPDATE, GROUPBY, HAVING, AGGS, OFFSET, REPLICATE, COUNTDISTINCT, JOINS, DROP, CREATE, DISTINCT, INNERJOINS, SUBQUERIES, ALTER, MULTIPLESCHEMAS, GROUPBYNORELATION, OUTERJOINS, UNIONALL, UNION, UPSERT, GETDELETED, CROSSJOINS, GROUPBYCOLLATE, MULTIPLECATS, FULLOUTERJOIN, MERGE, JSONEXTRACT, BULKUPSERT, SUM, SUBQUERIESFULL, MIN, MAX, JOINSFULL, XMLEXTRACT, AVG, MULTISTATEMENTS, FOREIGNKEYS, CASE, LEFTJOINS, COMMAJOINS, WITH, LITERALS, RENAME, NESTEDTABLES, EXECUTE, BATCH, BASIC, INDEX
PREFERRED_CACHE_OPTIONS A string value specifies the preferred cacheOptions.
ENABLE_EF_ADVANCED_QUERY Indicates if the driver directly supports advanced queries coming from Entity Framework. If not, queries will be handled client side. YES, NO
PSEUDO_COLUMNS A string array indicating the available pseudo columns.
MERGE_ALWAYS If the value is true, The Merge Mode is forcibly executed in Data Sync. TRUE, FALSE
REPLICATION_MIN_DATE_QUERY A select query to return the replicate start datetime.
REPLICATION_MIN_FUNCTION Allows a provider to specify the formula name to use for executing a server side min.
REPLICATION_START_DATE Allows a provider to specify a replicate startdate.
REPLICATION_MAX_DATE_QUERY A select query to return the replicate end datetime.
REPLICATION_MAX_FUNCTION Allows a provider to specify the formula name to use for executing a server side max.
IGNORE_INTERVALS_ON_INITIAL_REPLICATE A list of tables which will skip dividing the replicate into chunks on the initial replicate.
CHECKCACHE_USE_PARENTID Indicates whether the CheckCache statement should be done against the parent key column. TRUE, FALSE
CREATE_SCHEMA_PROCEDURES Indicates stored procedures that can be used for generating schema files.

The following query retrieves the operators that can be used in the WHERE clause:

SELECT * FROM sys_sqlinfo WHERE Name='SUPPORTED_OPERATORS'

Note that individual tables may have different limitations or requirements on the WHERE clause; refer to the Data Model section for more information.

Columns
Name Type Description
NAME String A component of SQL syntax, or a capability that can be processed on the server.
VALUE String Detail on the supported SQL or SQL syntax.

sys_identity

Returns information about attempted modifications.

The following query retrieves the Ids of the modified rows in a batch operation:

SELECT * FROM sys_identity
Columns
Name Type Description
Id String The database-generated ID returned from a data modification operation.
Batch String An identifier for the batch. 1 for a single operation.
Operation String The result of the operation in the batch: INSERTED, UPDATED, or DELETED.
Message String SUCCESS or an error message if the update in the batch failed.

Advanced Configurations Properties

The advanced configurations 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. Click the links for further details.

Authentication

Property Description
AuthScheme The type of authentication to use when connecting to Salesforce Pardot.
Schema Specify the Salesforce Pardot API version to use. SalesforcePardotV5 is the new rebuilt API.
BusinessUnitID Your Salesforce Pardot Business Unit ID (BU). Required when connecting via OAuth 2.0.
IsDemoAccount Whether the provided account is a demo account or not.
UseSalesforceSandbox A boolean determining if the connection should be made to a Salesforce sandbox account.
User The user that is SSO-enabled.
Password The password of the user that is SSO-enabled.
SecurityToken The security token used to authenticate access to the Salesforce Pardot account.

OAuth

Property Description
InitiateOAuth Set this property to initiate the process to obtain or refresh the OAuth access token when you connect.
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.
OAuthAccessToken The access token for connecting using OAuth.
CallbackURL The OAuth callback URL to return to when authenticating. This value must match the callback URL you specify in your app settings.
OAuthGrantType The grant type for the OAuth flow.
OAuthVerifier The verifier code returned from the OAuth authorization URL.
OAuthRefreshToken The OAuth refresh token for the corresponding OAuth access token.
OAuthExpiresIn The lifetime in seconds of the OAuth AccessToken.
OAuthTokenTimestamp The Unix epoch timestamp in milliseconds when the current Access Token was created.

JWT OAuth

Property Description
OAuthJWTCert The JWT Certificate store.
OAuthJWTCertType The type of key store containing the JWT Certificate.
OAuthJWTCertPassword The password for the OAuth JWT certificate.
OAuthJWTCertSubject The subject of the OAuth JWT certificate.
OAuthJWTIssuer The issuer of the Java Web Token.
OAuthJWTSubject The user subject for which the application is requesting delegated access.

SSL

Property Description
SSLServerCert The certificate to be accepted from the server when connecting using TLS/SSL.

Schema

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.

Miscellaneous

Property Description
Archived Specify whether to get archived or unarchived records.
IncludeMessage Set this property when querying Emails table. If false, the response does not include the html or text body of the email message. Default value is true.
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.
MaxThreads Specifies the number of concurrent requests.
Other These hidden properties are used only in specific use cases.
Pagesize The maximum number of results to return per page from Salesforce Pardot.
PseudoColumns This property indicates whether or not to include pseudo columns as columns to the table.
ResponseMode The Pardot API supports several output formats, each of which returns different levels of detail in the response. Supported output formats include: full - Returns all supported data for the Pardot object and all objects associated with it. simple - Returns all supported data for for the Pardot object. bulk -- Returns basic data for an object. Does not provide object associations and total object count. The default value is simple. Not applicable for SalesforcePardotV5 schema.
Timeout The value in seconds until the timeout error is thrown, canceling the operation.

Authentication

This section provides a complete list of authentication properties you can configure.

Property Description
AuthScheme The type of authentication to use when connecting to Salesforce Pardot.
Schema Specify the Salesforce Pardot API version to use. SalesforcePardotV5 is the new rebuilt API.
BusinessUnitID Your Salesforce Pardot Business Unit ID (BU). Required when connecting via OAuth 2.0.
IsDemoAccount Whether the provided account is a demo account or not.
UseSalesforceSandbox A boolean determining if the connection should be made to a Salesforce sandbox account.
User The user that is SSO-enabled.
Password The password of the user that is SSO-enabled.
SecurityToken The security token used to authenticate access to the Salesforce Pardot account.

AuthScheme

The type of authentication to use when connecting to Salesforce Pardot.

Possible Values

Auto, OAuth, OAuthJWT

Data Type

string

Default Value

Auto

Remarks

Schema

Specify the Salesforce Pardot API version to use. SalesforcePardotV5 is the new rebuilt API.

Possible Values

SalesforcePardotV3, SalesforcePardotV4, SalesforcePardotV5

Data Type

string

Default Value

SalesforcePardotV4

Remarks

Specify the Salesforce Pardot API version to use. SalesforcePardotV5 is the rebuilt API.

BusinessUnitID

Your Salesforce Pardot Business Unit ID (BU). Required when connecting via OAuth 2.0.

Data Type

string

Default Value

""

Remarks

IsDemoAccount

Whether the provided account is a demo account or not.

Data Type

bool

Default Value

false

Remarks

If set to true, all the requests will be made to the Pardot demo endpoints.

UseSalesforceSandbox

A boolean determining if the connection should be made to a Salesforce sandbox account.

Data Type

bool

Default Value

false

Remarks

To connect to a Salesforce sandbox account, set UseSalesforceSandbox = true and append the sandbox name to the end of the user name. For example, if your user name is "user", and sandbox name in Salesforce is "sandbox", the specified User should appear as "user.sandbox".

User

The user that is SSO-enabled.

Data Type

string

Default Value

""

Remarks

An SSO-enabled user is one who can log in to the Pardot user interface (https://pi.pardot.com) using "Log In with Salesforce" or who can access Pardot using the Pardot Lightning App. Together with Password, this field is used for OAuth flow with PASSWORD grant type.

Password

The password of the user that is SSO-enabled.

Data Type

string

Default Value

""

Remarks

An SSO-enabled user is one who can log in to the Pardot user interface (https://pi.pardot.com) using "Log In with Salesforce" or who can access Pardot using the Pardot Lightning App. Together with User, this field is used for OAuth flow with PASSWORD grant type.

SecurityToken

The security token used to authenticate access to the Salesforce Pardot account.

Data Type

string

Default Value

""

Remarks

Together with User and Password, this field can be used to authenticate against the Salesforce server. This is only required if your organization is setup to require it. A security token can be obtained by going to your profile information and resetting your security token. If your password is reset, you will also need to reset the security token.

OAuth

This section provides a complete list of OAuth properties you can configure.

Property Description
InitiateOAuth Set this property to initiate the process to obtain or refresh the OAuth access token when you connect.
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.
OAuthAccessToken The access token for connecting using OAuth.
CallbackURL The OAuth callback URL to return to when authenticating. This value must match the callback URL you specify in your app settings.
OAuthGrantType The grant type for the OAuth flow.
OAuthVerifier The verifier code returned from the OAuth authorization URL.
OAuthRefreshToken The OAuth refresh token for the corresponding OAuth access token.
OAuthExpiresIn The lifetime in seconds of the OAuth AccessToken.
OAuthTokenTimestamp The Unix epoch timestamp in milliseconds when the current Access Token was created.

InitiateOAuth

Set this property to initiate the process to obtain or refresh the OAuth access token when you connect.

Possible Values

OFF, GETANDREFRESH, REFRESH

Data Type

string

Default Value

OFF

Remarks

The following options are available:

  1. OFF: Indicates that the OAuth flow will be handled entirely by the user. An OAuthAccessToken will be required to authenticate.
  2. GETANDREFRESH: Indicates that the entire OAuth Flow will be handled by the connector. If no token currently exists, it will be obtained by prompting the user via the browser. If a token exists, it will be refreshed when applicable.
  3. REFRESH: Indicates that the connector will only handle refreshing the OAuthAccessToken. The user will never be prompted by the connector to authenticate via the browser. The user must handle obtaining the OAuthAccessToken and OAuthRefreshToken initially.

OAuthClientId

The client ID assigned when you register your application with an OAuth authorization server.

Data Type

string

Default Value

""

Remarks

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.

OAuthClientSecret

The client secret assigned when you register your application with an OAuth authorization server.

Data Type

string

Default Value

""

Remarks

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.

OAuthAccessToken

The access token for connecting using OAuth.

Data Type

string

Default Value

""

Remarks

The OAuthAccessToken property is used to connect using OAuth. The OAuthAccessToken is retrieved from the OAuth server as part of the authentication process. It has a server-dependent timeout and can be reused between requests.

The access token is used in place of your user name and password. The access token protects your credentials by keeping them on the server.

OAuthSettingsLocation

The location of the settings file where OAuth values are saved when InitiateOAuth is set to GETANDREFRESH or REFRESH. Alternatively, you can hold this location in memory by specifying a value starting with 'memory://'.

Data Type

string

Default Value

%APPDATA%\CData\Acumatica Data Provider\OAuthSettings.txt

Remarks

When InitiateOAuth is set to GETANDREFRESH or REFRESH, the driver saves OAuth values to avoid requiring the user to manually enter OAuth connection properties and to allow the credentials to be shared across connections or processes.

Instead of specifying a file path, you can use memory storage. Memory locations are specified by using a value starting with 'memory://' followed by a unique identifier for that set of credentials (for example, memory://user1). The identifier can be anything you choose but should be unique to the user. Unlike file-based storage, where credentials persist across connections, memory storage loads the credentials into static memory, and the credentials are shared between connections using the same identifier for the life of the process. To persist credentials outside the current process, you must manually store the credentials prior to closing the connection. This enables you to set them in the connection when the process is started again. You can retrieve OAuth property values with a query to the sys_connection_props system table. If there are multiple connections using the same credentials, the properties are read from the previously closed connection.

The default location is "%APPDATA%\CData\Acumatica Data Provider\OAuthSettings.txt" with %APPDATA% set to the user's configuration directory. The default values are

  • Windows: "register://%DSN"
  • Unix: "%AppData%..."

where DSN is the name of the current DSN used in the open connection.

The following table lists the value of %APPDATA% by OS:

Platform %APPDATA%
Windows The value of the APPDATA environment variable
Linux ~/.config

CallbackURL

The OAuth callback URL to return to when authenticating. This value must match the callback URL you specify in your app settings.

Data Type

string

Default Value

""

Remarks

During the authentication process, the OAuth authorization server redirects the user to this URL. This value must match the callback URL you specify in your app settings.

OAuthGrantType

The grant type for the OAuth flow.

Possible Values

CODE, PASSWORD

Data Type

string

Default Value

PASSWORD

Remarks

The grant type for the OAuth flow. The following options are available: CODE,PASSWORD

OAuthVerifier

The verifier code returned from the OAuth authorization URL.

Data Type

string

Default Value

""

Remarks

The verifier code returned from the OAuth authorization URL. This can be used on systems where a browser cannot be launched such as headless systems.

Authentication on Headless Machines

See to obtain the OAuthVerifier value.

Set OAuthSettingsLocation along with OAuthVerifier. When you connect, the connector exchanges the OAuthVerifier for the OAuth authentication tokens and saves them, encrypted, to the specified file. Set InitiateOAuth to GETANDREFRESH automate the exchange.

Once the OAuth settings file has been generated, you can remove OAuthVerifier from the connection properties and connect with OAuthSettingsLocation set.

To automatically refresh the OAuth token values, set OAuthSettingsLocation and additionally set InitiateOAuth to REFRESH.

OAuthRefreshToken

The OAuth refresh token for the corresponding OAuth access token.

Data Type

string

Default Value

""

Remarks

The OAuthRefreshToken property is used to refresh the OAuthAccessToken when using OAuth authentication.

OAuthExpiresIn

The lifetime in seconds of the OAuth AccessToken.

Data Type

string

Default Value

""

Remarks

Pair with OAuthTokenTimestamp to determine when the AccessToken will expire.

OAuthTokenTimestamp

The Unix epoch timestamp in milliseconds when the current Access Token was created.

Data Type

string

Default Value

""

Remarks

Pair with OAuthExpiresIn to determine when the AccessToken will expire.

JWT OAuth

This section provides a complete list of JWT OAuth properties you can configure.

Property Description
OAuthJWTCert The JWT Certificate store.
OAuthJWTCertType The type of key store containing the JWT Certificate.
OAuthJWTCertPassword The password for the OAuth JWT certificate.
OAuthJWTCertSubject The subject of the OAuth JWT certificate.
OAuthJWTIssuer The issuer of the Java Web Token.
OAuthJWTSubject The user subject for which the application is requesting delegated access.

OAuthJWTCert

The JWT Certificate store.

Data Type

string

Default Value

""

Remarks

The name of the certificate store for the client certificate.

The OAuthJWTCertType field specifies the type of the certificate store specified by OAuthJWTCert. If the store is password protected, specify the password in OAuthJWTCertPassword.

OAuthJWTCert is used in conjunction with the OAuthJWTCertSubject

field in order to specify client certificates. If OAuthJWTCert has a value, and OAuthJWTCertSubject is set, a search for a certificate is initiated. Please refer to the OAuthJWTCertSubject field for details.

Designations of certificate stores are platform-dependent.

The following are designations of the most common User and Machine certificate stores in Windows:

Property Description
MY A certificate store holding personal certificates with their associated private keys.
CA Certifying authority certificates.
ROOT Root certificates.
SPC Software publisher certificates.

In Java, the certificate store normally is a file containing certificates and optional private keys.

When the certificate store type is PFXFile, this property must be set to the name of the file. When the type is PFXBlob, the property must be set to the binary contents of a PFX file (i.e. PKCS12 certificate store).

OAuthJWTCertType

The type of key store containing the JWT Certificate.

Possible Values

USER, MACHINE, PFXFILE, PFXBLOB, JKSFILE, JKSBLOB, PEMKEY_FILE, PEMKEY_BLOB, PUBLIC_KEY_FILE, PUBLIC_KEY_BLOB, SSHPUBLIC_KEY_FILE, SSHPUBLIC_KEY_BLOB, P7BFILE, PPKFILE, XMLFILE, XMLBLOB

Data Type

string

Default Value

USER

Remarks

This property can take one of the following values:

Property Description
USER For Windows, this specifies that the certificate store is a certificate store owned by the current user. Note: This store type is not available in Java.
MACHINE For Windows, this specifies that the certificate store is a machine store. Note: this store type is not available in Java.
PFXFILE The certificate store is the name of a PFX (PKCS12) file containing certificates.
PFXBLOB The certificate store is a string (base-64-encoded) representing a certificate store in PFX (PKCS12) format.
JKSFILE The certificate store is the name of a Java key store (JKS) file containing certificates. Note: this store type is only available in Java.
JKSBLOB The certificate store is a string (base-64-encoded) representing a certificate store in Java key store (JKS) format. Note: this store type is only available in Java.
PEMKEY_FILE The certificate store is the name of a PEM-encoded file that contains a private key and an optional certificate.
PEMKEY_BLOB The certificate store is a string (base64-encoded) that contains a private key and an optional certificate.
PUBLIC_KEY_FILE The certificate store is the name of a file that contains a PEM- or DER-encoded public key certificate.
PUBLIC_KEY_BLOB The certificate store is a string (base-64-encoded) that contains a PEM- or DER-encoded public key certificate.
SSHPUBLIC_KEY_FILE The certificate store is the name of a file that contains an SSH-style public key.
SSHPUBLIC_KEY_BLOB The certificate store is a string (base-64-encoded) that contains an SSH-style public key.
P7BFILE The certificate store is the name of a PKCS7 file containing certificates.
PPKFILE The certificate store is the name of a file that contains a PPK (PuTTY Private Key).
XMLFILE The certificate store is the name of a file that contains a certificate in XML format.
XMLBLOB The certificate store is a string that contains a certificate in XML format.

OAuthJWTCertPassword

The password for the OAuth JWT certificate.

Data Type

string

Default Value

""

Remarks

If the certificate store is of a type that requires a password, this property is used to specify that password in order to open the certificate store.

OAuthJWTCertSubject

The subject of the OAuth JWT certificate.

Data Type

string

Default Value

*

Remarks

When loading a certificate the subject is used to locate the certificate in the store.

If an exact match is not found, the store is searched for subjects containing the value of the property.

If a match is still not found, the property is set to an empty string, and no certificate is selected.

The special value "*" picks the first certificate in the certificate store.

The certificate subject is a comma separated list of distinguished name fields and values. For instance "CN=www.server.com, OU=test, C=US, E=support@jitterbit.com". Common fields and their meanings are displayed below.

Field Meaning
CN Common Name. This is commonly a host name like www.server.com.
O Organization
OU Organizational Unit
L Locality
S State
C Country
E Email Address

If a field value contains a comma it must be quoted.

OAuthJWTIssuer

The issuer of the Java Web Token.

Data Type

string

Default Value

""

Remarks

The issuer of the Java Web Token. This is typically either the Client ID or Email Address of the OAuth Application.

OAuthJWTSubject

The user subject for which the application is requesting delegated access.

Data Type

string

Default Value

""

Remarks

The user subject for which the application is requesting delegated access. Typically, the user account name or email address.

SSL

This section provides a complete list of SSL properties you can configure.

Property Description
SSLServerCert The certificate to be accepted from the server when connecting using TLS/SSL.

SSLServerCert

The certificate to be accepted from the server when connecting using TLS/SSL.

Data Type

string

Default Value

""

Remarks

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.

Certificates are validated as trusted by the machine based on the System's trust store. The trust store used is the 'javax.net.ssl.trustStore' value specified for the system. If no value is specified for this property, Java's default trust store is used (for example, JAVA_HOME\lib\security\cacerts).

Use '*' to signify to accept all certificates. Note that this is not recommended due to security concerns.

Schema

This section provides a complete list of schema properties you can configure.

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.

Location

A path to the directory that contains the schema files defining tables, views, and stored procedures.

Data Type

string

Default Value

%APPDATA%\SalesforcePardot Data Provider\Schema

Remarks

The path to a directory which contains the schema files for the connector (.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%\SalesforcePardot Data Provider\Schema" with %APPDATA% being set to the user's configuration directory:

Platform %APPDATA%
Windows The value of the APPDATA environment variable
Mac ~/Library/Application Support
Linux ~/.config

BrowsableSchemas

This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC.

Data Type

string

Default Value

""

Remarks

Listing the schemas from databases can be expensive. Providing a list of schemas in the connection string improves the performance.

Tables

This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC.

Data Type

string

Default Value

""

Remarks

Listing the tables from some databases can be expensive. Providing a list of tables in the connection string improves the performance of the connector.

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.

Views

Restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC.

Data Type

string

Default Value

""

Remarks

Listing the views from some databases can be expensive. Providing a list of views in the connection string improves the performance of the connector.

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.

Miscellaneous

This section provides a complete list of miscellaneous properties you can configure.

Property Description
Archived Specify whether to get archived or unarchived records.
IncludeMessage Set this property when querying Emails table. If false, the response does not include the html or text body of the email message. Default value is true.
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.
MaxThreads Specifies the number of concurrent requests.
Other These hidden properties are used only in specific use cases.
Pagesize The maximum number of results to return per page from Salesforce Pardot.
PseudoColumns This property indicates whether or not to include pseudo columns as columns to the table.
ResponseMode The Pardot API supports several output formats, each of which returns different levels of detail in the response. Supported output formats include: full - Returns all supported data for the Pardot object and all objects associated with it. simple - Returns all supported data for for the Pardot object. bulk -- Returns basic data for an object. Does not provide object associations and total object count. The default value is simple. Not applicable for SalesforcePardotV5 schema.
Timeout The value in seconds until the timeout error is thrown, canceling the operation.

Archived

Specify whether to get archived or unarchived records.

Data Type

string

Default Value

false

Remarks

This property is only valid for tables OneToOneEmails and EmailTemplates of SalesforcePardot.

IncludeMessage

Set this property when querying Emails table. If false, the response does not include the html or text body of the email message. Default value is true.

Data Type

bool

Default Value

true

Remarks

Set this property when querying Emails table. If false, the response does not include the html or text body of the email message. Default value is true.

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.

Data Type

int

Default Value

-1

Remarks

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.

MaxThreads

Specifies the number of concurrent requests.

Data Type

string

Default Value

5

Remarks

This property allows you to issue multiple requests simultaneously, thereby improving performance. However, the number of concurrent requests should be reduced to avoid the following error "You have exceeded your concurrent request limit".

Other

These hidden properties are used only in specific use cases.

Data Type

string

Default Value

""

Remarks

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.

Integration and Formatting
Property Description
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.

Pagesize

The maximum number of results to return per page from Salesforce Pardot.

Data Type

int

Default Value

200

Remarks

The Pagesize property affects the maximum number of results to return per page from Salesforce Pardot. Setting a higher value may result in better performance at the cost of additional memory allocated per page consumed.

PseudoColumns

This property indicates whether or not to include pseudo columns as columns to the table.

Data Type

string

Default Value

""

Remarks

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, "*=*".

ResponseMode

The Pardot API supports several output formats, each of which returns different levels of detail in the response. Supported output formats include: full - Returns all supported data for the Pardot object and all objects associated with it. simple - Returns all supported data for for the Pardot object. bulk -- Returns basic data for an object. Does not provide object associations and total object count. The default value is simple. Not applicable for SalesforcePardotV5 schema.

Possible Values

full, simple, bulk

Data Type

string

Default Value

simple

Remarks

The Pardot API supports several output formats, each of which returns different levels of detail in the response. The default value is simple. Not applicable for SalesforcePardotV5 schema.

Timeout

The value in seconds until the timeout error is thrown, canceling the operation.

Data Type

int

Default Value

60

Remarks

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 connector throws an exception.