The CData Sync App provides a straightforward way to continuously pipeline your Salesforce Marketing Cloud Account Engagement data to any database, data lake, or data warehouse, making it easily available for Analytics, Reporting, AI, and Machine Learning.
The Salesforce Marketing Cloud Account Engagement connector can be used from the CData Sync application to pull data from Salesforce Marketing Cloud Account Engagement and move it to any of the supported destinations.
The Sync App leverages the Salesforce Marketing Cloud Account Engagement API to enable bidirectional access to Salesforce Marketing Cloud Account Engagement. Supports Marketing Cloud Account Engagement API v3, v4, and v5.
For required properties, see the Settings tab.
For connection properties that are not typically required, see the Advanced tab.
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.
AuthScheme must be set to OAuth in all user account flows.
For authentication, the only difference between the two methods is that you must set two additional connection properties when using custom OAuth applications.
After setting the following connection properties, you are ready to connect:
First, get an OAuthAccessToken by setting the following connection properties:
Then call stored procedures to complete the OAuth exchange:
After you have obtained the access and refresh tokens, you can connect to data and refresh the OAuth access token either automatically or manually.
Automatic Refresh of the OAuth Access Token
To have the driver automatically refresh the OAuth access token, set the following on the first data connection:
Manual Refresh of the OAuth Access Token
The only value needed to manually refresh the OAuth access token when connecting to data is the OAuth refresh token.
Use the RefreshOAuthAccessToken stored procedure to manually refresh the OAuthAccessToken after the ExpiresIn parameter value returned by GetOAuthAccessToken has elapsed, then set the following connection properties:
Then call RefreshOAuthAccessToken with OAuthRefreshToken set to the OAuth refresh token returned by GetOAuthAccessToken. After the new tokens have been retrieved, open a new connection by setting the OAuthAccessToken property to the value returned by RefreshOAuthAccessToken.
Finally, store the OAuth refresh token so that you can use it to manually refresh the OAuth access token after it has expired.
Option 1: Obtain and Exchange a Verifier Code
To obtain a verifier code, you must authenticate at the OAuth authorization URL.
Follow the steps below to authenticate from the machine with an internet browser and obtain the OAuthVerifier connection property.
On the headless machine, set the following connection properties to obtain the OAuth authentication values.
After the OAuth settings file is generated, you need to re-set the following properties to connect:
Option 2: Transfer OAuth Settings
Prior to connecting on a headless machine, you need to install and create a connection with the driver on a device that supports an internet browser. Set the connection properties as described in "Desktop Applications" above.
After completing the instructions in "Desktop Applications", the resulting authentication values are encrypted and written to the location specified by OAuthSettingsLocation. The default filename is OAuthSettings.txt.
After 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:
When authenticating with a username and password, set the following connection properties:
Set the AuthScheme to OAuthJWT.
After creating your OAuth Application (see Creating a Custom OAuth Application), set the following connection properties:
Note: This flow never issues a refresh token.
This section details a selection of advanced features of the Salesforce Marketing Cloud Account Engagement Sync App.
The Sync App allows you to define virtual tables, called user defined views, whose contents are decided by a pre-configured query. These views are useful when you cannot directly control queries being issued to the drivers. See User Defined Views for an overview of creating and configuring custom views.
Use SSL Configuration to adjust how Sync App handles TLS/SSL certificate negotiations. You can choose from various certificate formats; see the SSLServerCert property under "Connection String Options" for more information.
Configure the Sync App for compliance with Firewall and Proxy, including Windows proxies and HTTP proxies. You can also set up tunnel connections.
The Sync App offloads as much of the SELECT statement processing as possible to Salesforce Marketing Cloud Account Engagement and then processes the rest of the query in memory (client-side).
See Query Processing for more information.
See Logging for an overview of configuration settings that can be used to refine CData logging. For basic logging, you only need to set two connection properties, but there are numerous features that support more refined logging, where you can select subsets of information to be logged using the LogModules connection property.
By default, the Sync App attempts to negotiate SSL/TLS by checking the server's certificate against the system's trusted certificate store.
To specify another certificate, see the SSLServerCert property for the available formats to do so.
To connect through the Windows system proxy, you do not need to set any additional connection properties. To connect to other proxies, set ProxyAutoDetect to false.
In addition, to authenticate to an HTTP proxy, set ProxyAuthScheme, ProxyUser, and ProxyPassword, in addition to ProxyServer and ProxyPort.
Set the following properties:
This section shows the available API objects and provides more information on executing SQL to Salesforce Marketing Cloud Account Engagement APIs.
The CData Sync App models Salesforce Marketing Cloud Account Engagement 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.
The Sync App models the data in Salesforce Marketing Cloud Account Engagement as a list of tables in a relational database that can be queried using standard SQL statements.
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. |
Retrieve and modify campaigns.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM Campaigns WHERE Id = 43 SELECT * FROM Campaigns WHERE Name = 'Website Tracking'
This table does not have any required attributes when performing an insert.
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | 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 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. |
Retrieve and modify custom fields.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM CustomFields WHERE Id = 50 SELECT * FROM CustomFields WHERE CreatedAt > '01/01/2019'
The following attributes are required when performing an insert: FieldId, Name.
INSERT INTO CustomFields (FieldId, Name) VALUES (100, 'Example')
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | 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 | Int64 | 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. |
Retrieve and modify list memberships.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
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'
The following attributes are required when performing an insert: ListId, ProspectId.
INSERT INTO ListMemberships (ListId, ProspectId) VALUES (20104, 3457990)
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
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | True |
Pardot ID for this list membership. | |
ListId | Int64 | True |
Lists.Id |
Pardot ID of the list for this membership. |
ProspectId | Int64 | 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. |
Retrieve and modify lists.
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | 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. |
Retrieve and modify opportunities.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
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 = '[email protected]'
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, '[email protected]', 2)
Note: This table cannot be updated if a Salesforce connector is present.
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | True |
Pardot ID for this opportunity. | |
CampaignId | Int64 | 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 | Int64 | False |
Id of the prospect. |
Retrieve and modify prospect accounts.
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | True |
Pardot ID of the prospect account. | |
CreatedAt | Datetime | False |
Filter by the creation time. | |
UpdatedAt | Datetime | False |
Filter by the modification time. |
Retrieve and modify prospects.
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int63 | True |
Pardot ID for this prospect. | |
CampaignId | Int63 | 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. | |
String | False |
Prospect's email address. | ||
Password | String | False |
Prospect's password. | |
Company | String | False |
Prospect's company. | |
ProspectAccountId | Int63 | False |
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 are similar to tables in the way that data is represented; however, views are read-only.
Queries can be executed against a view as if it were a normal table.
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. |
Retrieve account info.
The Sync App will process all filters client side.
Name | Type | References | Description |
Id [KEY] | Int64 | 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 | Int64 | 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. |
Retrieve and modify custom redirects.
Name | Type | References | Description |
Id [KEY] | Int64 | 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 | Int64 |
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. |
Retrieve dynamic contents.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
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'
Name | Type | References | Description |
Id [KEY] | Int64 | 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. |
Retrieve email clicks.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
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'
Name | Type | References | Description |
Id [KEY] | Int64 | Pardot ID for this email click. | |
ProspectId | Int64 |
Prospects.Id | Pardot ID for the associated prospect. |
Url | String | URL of the email click. | |
ListEmailId | Int64 | 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 | Int64 | Pardot ID for the associated email template. Value not present if null. | |
TrackerRedirectId | Int64 | Pardot ID for the associated tracker redirect. Value not present if null. | |
CreatedAt | Datetime | Time that email click occurred. |
Retrieve emails.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following query is processed server side:
SELECT * FROM Emails WHERE Id = 10
Name | Type | References | Description |
Id [KEY] | Int64 | 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. |
Retrieve email stats.
The Sync App will use the Salesforce Marketing Cloud Account Engagement 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 Sync App.
For example, the following query is processed server side:
SELECT * FROM EmailStats WHERE Id = 10
Name | Type | References | Description |
Id [KEY] | Int64 | 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. |
Retrieve email templates.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM EmailTemplates WHERE Id = 22
Name | Type | References | Description |
Id | Int64 | 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. |
Retrieve forms.
Name | Type | References | Description |
Id [KEY] | Int64 | Pardot ID for this form. | |
Name | String | Form's name. | |
CampaignId | Int64 |
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. |
Retrieve lifecycle histories.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
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'
Name | Type | References | Description |
Id [KEY] | Int64 | Pardot ID of this lifecycle history. | |
ProspectId | Int64 |
Prospects.Id | Pardot's ID for the prospect in this stage. |
PreviousStageId | Int64 | Pardot ID of the stage this prospect was previously in. | |
NextStageId | Int64 | 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. |
Retrieve lifecycle stages.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM LifecycleStages WHERE Id = 18
Name | Type | References | Description |
Id [KEY] | Int64 | 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. |
Retrieve one to one emails.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM OneToOneEmails WHERE Id = 11
Name | Type | References | Description |
Id [KEY] | Int64 | 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. |
Retrieve tag objects.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
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'
Name | Type | References | Description |
Id [KEY] | Int64 | Pardot ID of the tag object. | |
TagId | Int64 |
Tags.Id | The Pardot ID of the tag. |
Type | String | The type of object associated with the tag. | |
ObjectId | Int64 | The Pardot ID of the object. | |
CreatedAt | Datetime | Time tag was associated with the object in Pardot. |
Retrieve tags.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Sync App.
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'
Name | Type | References | Description |
Id [KEY] | Int64 | 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. |
Retrieve users.
Name | Type | References | Description |
Id [KEY] | Int64 | Pardot ID of the user. | |
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. |
Retrieve visitor activities.
Name | Type | References | Description |
Id [KEY] | Int64 | Pardot ID for this visitor activity. | |
ProspectId | Int64 |
Prospects.Id | Pardot ID for the associated prospect. |
VisitorId | Int64 |
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 | Int64 |
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 | Int64 | 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 | Int64 | 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 | Int64 |
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 | Int64 | 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 | Int64 | 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 | Int64 | 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 | Int64 | 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 | Int64 | 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 | Int64 | 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 | Int64 | 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 | Int64 |
Campaigns.Id | Campaign id. |
CampaignName | String | Campaign name. | |
CampaignCost | Integer | Campaign cost. | |
CreatedAt | Datetime | Time that visitor activity occurred. |
Retrieve visitors.
Name | Type | References | Description |
Id [KEY] | Int64 | 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 | Int64 | Selects visits with the given Prospect IDs. |
Retrieve visitors page views.
Name | Type | References | Description |
Id [KEY] | Int64 | Pardot ID for this visitor page view. | |
VisitId | Int64 |
Visits.Id | Pardot ID for this visit. |
VisitorId | Int64 |
Visitors.Id | Pardot ID for the associated visitor. |
ProspectId | Int64 |
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. |
Retrieve visits.
Name | Type | References | Description |
Id [KEY] | Int64 | Pardot ID for this visit. | |
VisitorId | Int64 |
Visitors.Id | Pardot ID for the associated visitor. |
ProspectId | Int64 |
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. |
The CData Sync App models Salesforce Marketing Cloud Account Engagement 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 describes a sample of the available standard tables.
The Sync App models the data in Salesforce Marketing Cloud Account Engagement as a list of tables in a relational database that can be queried using standard SQL statements.
Name | Description |
Campaigns | Retrieve and modify campaigns. |
CustomFields | Retrieve custom fields metadata. |
CustomRedirects | Track links on your website or third-party site with Pardot custom redirects. |
DynamicContent | Retrieve a collection of dynamic content |
Emails | Query emails to learn how prospects responded to the emails. |
EmailTemplates | Query email templates. |
Files | Upload images and other files to use in your Pardot emails, forms, and landing pages. |
FolderContents | View all objects contained within Folders. |
Folders | Retrieve folders or organize and nest your content and marketing assets in a way that makes sense for your team. |
FormHandlers | Retrieve,Create,Updata,Delete a collection of Form Handlers |
FormHandlersFields | Retrieve,Create,Update,Delete a collection of Form Handler Stages |
Forms | Retrieve forms. |
LandingPages | Retrieving a collection of landing pages |
LayoutTemplates | Retrieve and modify layout templates. |
LifecycleStages | Retrieving a collection of lifecycle stages |
ListEmail | A list email is a single email sent to a recipient list. |
ListMemberships | Retrieve,Create,Update,Delete a collection of list memberships |
Lists | Retrieve and modify lists. |
Prospects | Retrieve and modify prospects. |
TrackerDomains | Query the available tracker domains. |
Users | Query the available users. |
VisitorsPageViews | Retrieve visitors page views. |
Visits | Retrieve visits. |
Retrieve and modify campaigns.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the Sync App.
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'
To retrieve campaigns that are in the recycle bin in Pardot the following operation is supported:
GETDELETED FROM Campaings
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | True |
Pardot ID for this campaign. | |
Name | String | True |
Campaign's name. | |
Cost | Integer | True |
Cost associated to the campaign. | |
IsDeleted | Boolean | True |
True if the object is in the recycle bin in Pardot. | |
FolderId | Int64 | True |
ID of the folder containing this object. | |
ParentCampaignId | Int64 | True |
The ID of the parent campaign. | |
CreatedAt | Datetime | True |
The timestamp of when this object was created. | |
UpdatedAt | Datetime | True |
The timestamp of when this object was last updated. | |
CreatedById | Int64 | True |
ID of the individual who created this object. | |
UpdatedById | Int64 | True |
ID of the individual who last updated this object. | |
SalesforceId | String | True |
The alphanumeric Id of the Salesforce Org. |
Retrieve custom fields metadata.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the Sync App.
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'
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | 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 |
The type of field. | |
CreatedAt | Datetime | True |
Time custom field was created in Pardot. | |
UpdatedAt | Datetime | True |
Last time custom field was updated. | |
CreatedById | Int64 | False |
ID of the individual who created this object. | |
UpdatedById | Int64 | False |
ID of the individual who last updated this object. | |
IsRecordMultipleResponses | Boolean | False |
If true, this custom field will record multiple responses. | |
IsUseValues | Boolean | False |
If true, this custom field will use predefined values. | |
SalesforceId | String | False |
The alpha-numeric Id of the Salesforce Org. | |
IsRequired | String | False |
True if the custom field is required. | |
isAnalyticsSynced | Boolean | False |
True if the object is synced to Analytics. |
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 |
Write-Only field on create operation. Possible values: Countries, |
Track links on your website or third-party site with Pardot custom redirects.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM CustomRedirects WHERE Id = 40 SELECT * FROM CustomRedirects WHERE IsDeleted = 'true'
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 CustomRedirects attributes.
UPDATE CustomRedirects SET Name = 'newName', FolderId = '527425' WHERE Id = 24143
Remove all CustomRedirects objects or one by specifying the Id of the CustomRedirect.
DELETE FROM CustomRedirects WHERE Id = 10003
To retrieve custom redirects that are in the recycle bin in Pardot the following operation is supported:
GETDELETED FROM CustomRedirects
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | True |
Pardot ID for this campaign. | |
Name | String | False |
Name of the object for identification in Pardot. | |
CampaignId | Int64 | 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 | Int64 | False |
ID of the folder containing this object. Uses the asset type's uncategorized folder if not specified on create. | |
TrackerDomainId | Int64 | 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 | Int64 | True |
ID of the individual who created this object. | |
UpdatedById | Int64 | True |
ID of the individual who last updated this object. |
Retrieve a collection of dynamic content
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | True |
Pardot ID for this dynamic content. | |
Name | String | True |
Dynamic content's name. | |
EmbedCode | String | True |
The code used to embed the dynamic content into a web page. | |
EmbedUrl | String | True |
The URL to embed this dynamic content. | |
BaseContent | String | True |
The default content that shows when the prospect doesn't meet the criteria for a variation. | |
BasedOn | String | True |
The kind field that dynamic content is based on. Values are | |
CreatedAt | Datetime | True |
Time | |
UpdatedAt | Datetime | True |
Time the dynamic content was last updated; reporting in API user's timezone. | |
IsDeleted | Boolean | True |
When true, the object is in the recycle bin in Pardot. | |
CreatedByID | Int64 | True |
ID of the user who created this object. | |
UpdatedById | Int64 | True |
ID of the user who last updated this object. | |
FolderId | Int64 | True |
ID of the folder containing this object. | |
TrackerDomainId | Int64 | True |
The ID of the tracker domain associated with this object. |
Query emails to learn how prospects responded to the emails.
The Sync App uses the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the Sync App.
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'
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | True |
ID of the email. | |
ProspectId | Int64 | True |
Pardot prospect id related to this email. | |
CampaignId | Int64 | True |
Pardot campaign related to this object. | |
CreatedById | Int64 | True |
ID of the individual who created this object. | |
ClientType | String | True |
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 | True |
The text content of the email. This field is retrieved only when filtering with email id. | |
HtmlMessage | String | True |
The HTML content of the email. This field is retrieved only when filtering with email id. | |
ListId | Int64 | True |
ID of the list associated with this email. | |
listEmailId | Int64 | True |
ID of the list email associated with this email. | |
Name | String | True |
Name of the email for identification in Pardot. | |
SentAt | Datetime | True |
Time the email was sent. | |
Subject | String | True |
The email subject. |
Query email templates.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the Sync App.
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 EmailTemplates the following fields are required:
For inserting into this table specifying the SenderOptionsAggregate is required. The input for this field follows CData principles of deep Inserts. In Deep Insert, you simultaneously create a base object and link it to the related field in the main table.
You may either submit JSON data, or you may create a temporary table for the child table(in this case SenderOptions) and then reference the temporary table in the insert to the base table.
To submit JSON data, simply supply the values for the child table in JSON format.
For example, the following JSON adds two sender options in the email template.
[ { "address": "[email protected]", "name": "CDataTest", "type": "general_user" }, { "address": "[email protected]", "name": "CDataTest2", "type": "general_user" } ]
In order to execute the insert, simply reference or include as string literals the complete JSON. For example:
INSERT INTO EmailTemplates (..., SenderOptionsAggregate) VALUES (..., '[{"address":"[email protected]","name":"CDataTest","type":"general_user"},{"address":"[email protected]","name":"CDataTest2","type":"general_user"}]')
If using temporary tables, they must be defined and inserted within the same connection. Closing the connection will clear out any temporary tables in memory.
Insert the child table fields into temporary table.
INSERT INTO SenderOptions#TEMP (Type, Address) VALUES ('general_user', 'address1')
INSERT INTO SenderOptions#TEMP (Type, Address) VALUES ('general_user', 'address2')
In the INSERT statement for the EmailTemplates table, reference the temporary tables in the SenderOptionsAggregate input.
INSERT INTO EmailTemplates (..., SenderOptionsAggregate) VALUES (..., 'SenderOptions#TEMP')
Updating EmailTemplates:
UPDATE EmailTemplates SET TextMessage = 'newMessage' WHERE Id = 24143
Remove all email templates or a email template by specifying the Id of the template.
DELETE FROM EmailTemplates WHERE Id = 10003
To retrieve email templates that are in the recycle bin in Pardot the following operation is supported:
GETDELETED FROM EmailTemplates
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | 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 | Int64 | False |
ID of the tracker domain used for the list email. | |
FolderId | Int64 | False |
ID of the folder containing this object. | |
Type | String | False |
'html', 'text', and 'htmlAndText' values. | |
CampaignId | Int64 | False |
Pardot campaign related to this object. | |
IsDeleted | Boolean | True |
True if the object is in the recycle bin in Pardot. | |
CreatedById | Int64 | True |
ID of the individual who created this object. | |
UpdatedById | Int64 | 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 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. |
Upload images and other files to use in your Pardot emails, forms, and landing pages.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the Sync App.
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'
The following attributes are required when performing an insert: Name, FilePath.
INSERT INTO Files (Name, FilePath) VALUES ('file1', 'C:\\file1.txt')
Updating Files:
UPDATE Files SET Name = 'testingUpdate', FolderId = '33609' WHERE id = '804969'
Remove all files or a file by specifying the Id of the file.
DELETE FROM Files WHERE Id = 10003
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | 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 | Int64 | False |
ID of the folder containing this object. Uses the asset type's uncategorized folder if not specified on create. | |
CampaignId | Int64 | 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 | Int64 | 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 | Int64 | True |
ID of the individual who created this object. | |
UpdatedById | Int64 | True |
ID of the individual who last updated this object. |
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. |
View all objects contained within Folders.
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | True |
ID of the folder content storing the folder-to-object relationship. | |
FolderId | Int64 | True |
ID of the folder containing the object with ObjectId. | |
FolderRef | String | True |
The URL for reading the specific folder with FolderId. | |
ObjectType | String | True |
Type of object referenced by ObjectId. | |
ObjectId | Int64 | True |
ID of the object contained in the folder. | |
ObjectName | String | True |
Name of the object contained in the folder. | |
ObjectRef | String | True |
The URL for reading the specific object with ObjectId. | |
CreatedAt | Datetime | True |
Creation time of the object. | |
UpdatedAt | Datetime | True |
Last update time of the object. | |
CreatedById | Int64 | True |
ID of the user who created this object. | |
UpdatedById | Int64 | True |
ID of the user who last updated this object. |
Retrieve folders or organize and nest your content and marketing assets in a way that makes sense for your team.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM Folders WHERE Id = 50 SELECT * FROM Folders WHERE ParentFolderId = 2
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | True |
Pardot ID of this file. | |
Name | String | True |
Name of the folder. | |
ParentFolderId | Int64 | True |
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 | True |
The names of each folder from the root folder separated with forward slashes. | |
UsePermissions | Boolean | True |
True if the folder is configured to use permissions. | |
CreatedAt | Datetime | True |
The timestamp of when this object was created. | |
UpdatedAt | Datetime | True |
The timestamp of when this object was last updated. | |
CreatedById | Int64 | True |
ID of the individual who created this object. | |
UpdatedById | Int64 | True |
ID of the individual who last updated this object. |
Retrieve,Create,Updata,Delete a collection of Form Handlers
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | True |
ID of this object. | |
Name | String | False |
Name of the object for identification in Pardot. | |
FolderId | Int64 | False |
ID of the folder containing this object. | |
CampaignId | Int64 | False |
The ID of the campaign associated with this object. | |
TrackerDomainId | Int64 | False |
The ID of the tracker domain associated with this object. | |
IsDataForwarded | Boolean | False |
When true, enables data forwarding to the success location. | |
SucessLocation | String | False |
The URL the user is forwarded to if the submission is successful. | |
ErrorLocation | String | False |
The URL the user is forwarded to if the submission has an error. | |
IsAlwaysEmail | Boolean | False |
When true, disables visitor activity throttling and sends autoresponder emails after every submission. Learn more about throttling in Salesforce Help. | |
IsCookieless | Boolean | False |
When true, the form handler is in Kiosk/Data Entry Mode, and does not cookie browser as a submitted prospect. | |
SalesforceId | String | True |
Salesforce Id of the object. | |
EmbedCode | String | True |
Code to embed this form handler in a webpage. | |
CreatedAt | Datetime | True |
Creation time of this object. | |
UpdatedAt | Datetime | True |
Last updated time for the object. | |
CreatedById | Int64 | True |
ID of the user who created the object. | |
IsDeleted | Boolean | True |
True if the object is in the Pardot recycle bin. | |
UpdatedById | Int64 | True |
ID of the user who last updated the object. |
Retrieve,Create,Update,Delete a collection of Form Handler Stages
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | True |
ID of this object. | |
Name | String | False |
Name of the object for identification in Pardot. | |
FormHandlerId | Int64 | False |
The ID of the form handler this field belongs to. | |
IsRequired | Boolean | False |
When true, the field is required. | |
DataFormat | String | False |
The field's data format. Values are 'text', 'number','email', 'email not from isps and free email providers', and 'email with valid mail server'. | |
ProspectApiFieldId | String | False |
The name of the Pardot prospect field that the form handler field is mapped to. On standard fields the value is the name of the field. For example, 'firstName'. If mapping to a custom field, the value is the field name followed by __c. For example, the custom field 'foodChoice' becomes 'foodChoice__c'. | |
IsMaintainInitialValue | Boolean | False |
When true, the field maintains the initial value upon subsequent form submissions. | |
ErrorMessage | String | False |
Error message for the field. | |
CreatedAt | Datetime | True |
Creation time of this object. | |
CreatedById | Int64 | True |
ID of the user who created the object. | |
UpdatedAt | Datetime | True |
Last updated time for the object. | |
UpdatedById | Int64 | True |
ID of the user who last updated the object. |
Retrieve forms.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM Forms WHERE Id <= 17 SELECT * FROM Forms WHERE IsDeleted = 'true'
To retrieve forms that are in the recycle bin in Pardot the following operation is supported:
GETDELETED FROM Forms
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | True |
Pardot ID for this form. | |
Name | String | True |
Form's name. | |
CampaignId | Int64 | True |
Campaigns.Id |
Pardot ID of the campaign associated with this form. |
EmbedCode | String | True |
The code used to embed the form on your webpage. | |
SalesforceId | String | True |
The alpha-numeric Id of the Salesforce Org. | |
LayoutTemplateId | Int64 | True |
The ID of the layout template associated with this object | |
SubmitButtonText | String | True |
The label used for the submit button | |
BeforeFormContent | String | True |
The HTML text displayed above the form | |
AfterFormContent | String | True |
The HTML text displayed below the form | |
ThankYouContent | String | True |
The HTML text displayed after the form is submitted | |
ThankYouCode | String | True |
Thank you code is typically Javascript used to call other systems like Google Conversion Tracking | |
IsAlwaysDisplay | Boolean | True |
Always display form after submission. Disable the 10 minute waiting period after submitting a form | |
RedirectLocation | String | True |
Redirect to this URL instead of showing the | |
IsUseRedirectLocation | Boolean | True |
When redirect location is valid and enabled. | |
FontSize | String | True |
Possible values: default, 8pt, 10pt, 12pt, 14pt , 18pt, 24pt, 36pt. | |
FontFamily | String | True |
Possible values: default, | |
FontColor | String | True |
6 digit number in hexadecimal format such as #123456 | |
LabelAlignment | String | True |
Possible values: default, above, left | |
RadioAlignment | String | True |
Possible values: default, horizontal, stacked | |
CheckboxAlignment | String | True |
Possible values: default, horizontal, stacked | |
RequiredCharacter | String | True |
Possible values: default , * | |
IsCookieless | String | True |
Kiosk/Data Entry Mode: Do not cookie browser as submitted prospect | |
ShowNotProspect | Boolean | True |
Include | |
IsCaptchaEnabled | Boolean | True |
Enable explicit bot protecting using reCAPTCHA | |
IsDeleted | Boolean | True |
True if the object is in the recycle bin in Pardot. | |
TrackerDomainId | Int64 | True |
The ID of the tracker domain associated with this object. | |
FolderId | Int64 | True |
ID of the folder containing this object. | |
CreatedAt | Datetime | False |
The timestamp of when this object was created. | |
UpdatedAt | Datetime | False |
The timestamp of when this object was last updated. | |
CreatedById | Int64 | True |
ID of the individual who created this object. | |
UpdatedById | Int64 | True |
ID of the individual who last updated this object. |
Retrieving a collection of landing pages
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | True |
ID of the object. | |
Name | String | True |
Name of the object for identification in Pardot. | |
SalesforceId | String | True |
ID of the Salesforce object representing this object. | |
IsDeleted | Boolean | True |
True if the object is in the recycle bin in Pardot. | |
CreatedById | Int64 | True |
ID of the user who created this object. | |
CreatedAt | Datetime | True |
Creation time of the object. | |
UpdatedAt | Datetime | True |
Last update time of the object. | |
UpdatedById | Int64 | True |
ID of the user who last updated this object. | |
CampaignId | Int64 | True |
Pardot Campaign related to this object. | |
FormId | Int64 | True |
ID of the form related to this object. | |
LayoutTemplateId | Int64 | True |
ID of the layout template related to this object. | |
Title | String | True |
The landing page's title. | |
Description | String | True |
The landing page's meta description. Used for SEO. | |
IsDoNotIndex | Boolean | True |
True if the landing page is hidden from search engine indexing. | |
LayoutType | String | True |
Specifies where the landing page was created. Possible values are Layout Template, Landing Page Builder, Legacy Page Builder, Salesforce Builder. | |
ScriptFragment | String | True |
Script specified for the landing page. Available only on read requests. | |
LayoutCss | LayoutCss | True |
CSS code for the layout template. Available only on read requests. | |
LayoutCssGenerated | String | True |
Generated CSS code for the layout template. Available only on read requests. | |
LayoutTableBorder | Int | True |
Specifies the layout table border width. | |
RedirectLocation | String | True |
The redirect URL used if the prospect is redirected instead of showing the thank you content. | |
IsUseRedirectLocation | Boolean | True |
True if the prospect is redirected instead of showing the form thank you content. | |
BitlyIsPersonalized | Boolean | True |
True if the object has a bitly URL that is personalized. | |
BitlyShortUrl | String | True |
Bitly URL if present. | |
Url | String | True |
Link for the landing page. | |
VanityUrl | String | True |
Vanity URL if present. | |
VanityUrlPath | String | True |
The unique path for the asset, used to create the vanity URL. | |
TrackerDomainId | Int64 | True |
The ID of the tracker domain associated with this object. | |
FolderId | Int64 | True |
The ID of the folder associated with this object. |
Retrieve and modify layout templates.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM LayoutTemplates WHERE Id = 40 SELECT * FROM LayoutTemplates WHERE IsDeleted = 'true'
The following attributes are required when performing an insert: Name, LayoutContent.
INSERT INTO LayoutTemplates (Name, IsIncludeDefaultCss, LayoutContent, FolderId) VALUES ('name', 'true', 'content', 33621)
Updating LayoutTemplates:
UPDATE LayoutTemplates SET Name = 'newName' WHERE Id = 24143
Remove all layout templates or a layout template by specifying the Id of the template.
DELETE FROM LayoutTemplates WHERE Id = 10003
To retrieve layout templates that are in the recycle bin in Pardot the following operation is supported:
GETDELETED FROM LayoutTemplates
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | 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 | Int64 | 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 | Int64 | True |
ID of the individual who created this object. | |
UpdatedById | Int64 | True |
ID of the individual who last updated this object. |
Retrieving a collection of lifecycle stages
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | True |
ID of the lifecycle stage. | |
Name | String | True |
Pardot ID of this lifecycle stage. | |
IsDeleted | Boolean | True |
True if the lifecycle stage is in the recycle bin in Pardot. | |
CreatedAt | Datetime | True |
Creation time of the lifecycle stage. | |
UpdatedAt | Datetime | True |
Last updated time for the lifecycle stage. | |
IsLocked | Boolean | True |
When true, lifecycle stage is locked. | |
Position | Int | True |
Lifcycle stage's position in lifecycle. | |
MatchType | String | True |
Match all is returned when a prospect must match all rules in order to be in this stage. Match any is returned when a prospect can match 1 or more rules |
A list email is a single email sent to a recipient list.
The Sync App uses the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the Sync App.
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'
To retrieve list email that are in the recycle bin in Pardot the following operation is supported:
GETDELETED FROM ListEmail
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | True |
ID of the email. | |
Name | String | True |
Name of the object for identification in Pardot. | |
Subject | String | True |
The email subject. | |
TextMessage | String | True |
The text content of the email. This field is retrieved only when filtering with email id. | |
HtmlMessage | String | True |
The HTML content of the email. This field is retrieved only when filtering with email id. | |
CampaignId | Int64 | True |
Pardot campaign related to this object. | |
IsPaused | Boolean | True |
True if the email send is paused. | |
IsSent | Boolean | True |
True if the email has been sent. | |
IsDeleted | Boolean | True |
True if the object is in the recycle bin in Pardot. | |
CreatedById | Int64 | True |
ID of the individual who created this object. | |
UpdatedById | Int64 | 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. | |
ClientType | String | True |
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 | True |
Time the email was sent. | |
OperationalEmail | Boolean | True |
True if the email is operational. | |
EmailTemplateId | Int64 | True |
ID of the email template used for the list email. | |
TrackerDomainId | Int64 | True |
ID of the tracker domain used for the list email. | |
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. | |
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. |
Retrieve,Create,Update,Delete a collection of list memberships
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | True |
Pardot ID for this list membership. | |
IsDeleted | Boolean | True |
When true, the list membership is in the Pardot recycle bin. | |
CreatedById | Int64 | True |
ID of the user who created this list membership. | |
CreatedAt | Datetime | True |
The time that this list membership was created. Reported in API user's preferred timezone. | |
UpdatedAt | Datetime | True |
The time that this list membership was last updated. Reported in API user's timezone. | |
UpdatedById | Int64 | True |
ID of the user who last updated this list membership. | |
OptedOut | Boolean | False |
When true, the prospect is unsubscribed from receiving emails from this list. | |
ListId | Int64 | False |
Pardot ID of the list for this membership | |
ProspectID | Int64 | False |
Pardot ID of the prospect for this membership |
Retrieve and modify lists.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the Sync App.
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'
The following attribute is required when performing an insert: Name.
INSERT INTO Lists (Name) VALUES ('name')
Update Lists attributes.
UPDATE Lists SET Name = 'newName' WHERE Id = 24143
Remove all lists or a list by specifying the Id of the list.
DELETE FROM Lists WHERE Id = 10003
To retrieve lists that are in the recycle bin in Pardot the following operation is supported:
GETDELETED FROM Lists
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | True |
Pardot ID of this list. | |
Name | String | False |
List's name (internal to Pardot). | |
FolderId | Int64 | False |
ID of the folder containing this object. | |
CampaignId | Int64 | 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 | Int64 | True |
ID of the individual who created this object. | |
UpdatedById | Int64 | True |
ID of the individual who last updated this object. |
Retrieve and modify prospects.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the Sync App.
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'
To retrieve deleted prospects, a GETDELETED statement can be executed.
GETDELETED FROM Prospects
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | 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 | Int64 | 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. | |
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 | Int64 | 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 | Int64 | True |
ID of the user who the object record is assigned to. | |
ProfileId | Int64 | False |
Pardot profile related to this object. | |
SalesforceUrl | String | True |
URL to view the prospect within the Salesforce system. | |
LifecycleStageId | Int64 | True |
Pardot lifecycle stage related to this object. | |
UserId | Int64 | 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 | Int64 | True |
ID of the individual who created this object. | |
UpdatedById | Int64 | True |
ID of the individual who last updated this object. |
Query the available tracker domains.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM TrackerDomains WHERE Id = 50
To retrieve deleted records, a GETDELETED statement can be executed.
GETDELETED FROM TrackerDomains
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | True |
Pardot ID for this object. | |
Domain | String | True |
Hostname to which links using this tracker domain are resolved. | |
IsPrimary | Boolean | True |
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 |
True if the object is in the recycle bin in Pardot. | |
DefaultCampaignId | Int64 | True |
The ID of the default campaign for this tracker domain. | |
HttpsStatus | String | True |
Identify if this tracker domain is using http or https. | |
SslStatus | String | True |
Status of SSL for this vanity tracker domain. | |
SslStatusDetails | String | True |
Extra information for the status of SSL for this vanity tracker domain. | |
SslRequestedById | Int64 | True |
ID of the User who manually requested enabling SSL for this tracker domain. | |
ValidationStatus | String | True |
The status can be default, validated or not validated | |
ValidatedAt | Datetime | True |
Time when this tracker domain validation became validated. | |
VanityUrlStatus | String | True |
Indicates whether this tracker domain can serve vanity urls. | |
TrackingCode | String | True |
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 | True |
The timestamp of when this object was created. | |
UpdatedAt | Datetime | True |
The timestamp of when this object was last updated. | |
CreatedById | Int64 | True |
ID of the individual who created this object. | |
UpdatedById | Int64 | True |
ID of the individual who last updated this object. |
Query the available users.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the Sync App.
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'
To retrieve deleted users, a GETDELETED statement can be executed.
GETDELETED FROM Users
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | True |
Pardot ID for this object. | |
String | True |
Email address of the user. | ||
FirstName | String | True |
First name of the user. | |
Username | String | True |
Formatted as an email address, though distinct from the email field on the user object. | |
JobTitle | String | True |
Job title of the user. | |
Role | String | True |
Role of the user. | |
SalesforceId | String | True |
Salesforce Id of the object. | |
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 | Int64 | True |
ID of the individual who created this object. | |
UpdatedById | Int64 | True |
ID of the individual who last updated this object. |
Retrieve visitors page views.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM VisitorPageViews WHERE VisitId = 22 SELECT * FROM VisitorPageViews WHERE Id >= 22 AND VisitorId = 1234
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | True |
Pardot ID for this visitor page view. | |
Url | String | True |
The Url of the page. | |
Title | String | True |
The Title column of the VisitorsPageViews object. | |
VisitId | Int64 | True |
Pardot ID for this visit. | |
VisitorId | Int64 | True |
Pardot ID for the associated visitor. | |
CampaignId | Int64 | False |
Pardot campaign related to this object. | |
SalesforceId | String | True |
Salesforce Id of the object. | |
DurationInSeconds | Integer | True |
Length of this page view. | |
CreatedAt | Datetime | True |
The timestamp of when this object was created. |
Retrieve visits.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM Visits WHERE Id = 22 SELECT * FROM Visits WHERE VisitorId > 234
Name | Type | ReadOnly | References | Description |
Id [KEY] | Int64 | True |
ID of the object. | |
VisitorId | Int64 | True |
Visitors.Id |
Pardot ID for the associated visitor. |
ProspectId | Int64 | True |
Prospects.Id |
Pardot ID for the associated prospect. |
VisitorPageViewCount | Integer | True |
Number of page views for this visit. | |
FirstVisitorPageViewAt | Datetime | True |
Time of first page view for this visit. | |
LastVisitorPageViewAt | Datetime | True |
Time of last page view for this visit. | |
DurationInSeconds | Integer | True |
Length of this visit. | |
CampaignParameter | String | True |
Visit's campaign parameter utm_campaign from Google Analytics. | |
MediumParameter | String | True |
Visit's medium parameter utm_medium from Google Analytics. | |
SourceParameter | String | True |
Visit's source parameter utm_source from Google Analytics. | |
ContentParameter | String | True |
Visit's content parameter utm_content from Google Analytics. | |
TermParameter | String | True |
Visit's term parameter utm_term from Google Analytics. | |
CreatedAt | Datetime | True |
The timestamp of when this object was created. | |
UpdatedAt | Datetime | True |
The timestamp of when this object was last updated. |
Views are similar to tables in the way that data is represented; however, views are read-only.
Queries can be executed against a view as if it were a normal table.
Name | Description |
Account | Use the account resource to learn about the current user's Pardot account. |
DynamicContentVariations | Retrieve a collection of Dynamic Content Variations |
EmailSuppressionList | A Lists used as suppression lists for the list email. |
LifecycleHistories | Use lifecycle history resources to learn how a prospect is moving through their sales journey, from visitor to won opportunity. |
ListEmailRecipients | RecipientLists used by an email |
Opportunities | Retrieve a collection of opportunities |
ProspectAccounts | Retrieve and modify prospect accounts. |
ReplyToOptions | Query the replyTo options of email templates. |
SenderOptions | Query the sender options of email templates. |
VisitorActivities | Retrieve visitor activities. |
Visitors | Retrieve visitors. |
Use the account resource to learn about the current user's Pardot account.
Name | Type | References | Description |
Id [KEY] | Int64 | Pardot ID for this account. | |
Company | String | Account company. | |
Level | String | The level of product for the account. | |
Website | String | Account website. | |
PluginCampaignId | Int64 | Plugin ID for account campaign. | |
AddressOne | String | Account's address, line 1. | |
AddressTwo | String | Account's address, line 2. | |
City | String | Account's city. | |
State | String | Account's state. | |
Zip | String | Account's postal code. | |
Territory | String | Account's territory. | |
Country | String | Account's country. | |
Phone | String | Account's phone number. | |
Fax | String | Account's fax number. | |
AdminId | Int64 | ID of the individual who is the admin for this account. | |
CreatedAt | Datetime | The timestamp of when this object was created. | |
UpdatedAt | Datetime | The timestamp of when this object was last updated. | |
MaximumDailyApiCalls | Integer | Maximum daily API requests based on the timezone for this account. | |
ApiCallsUsed | Integer | Total daily API requests based on the timezone for this account. | |
CreatedById | Int64 | ID of the individual who created this object. | |
UpdatedById | Int64 | ID of the individual who last updated this object. |
Retrieve a collection of Dynamic Content Variations
Name | Type | References | Description |
Id [KEY] | Int64 | Pardot ID for this dynamic content variation. | |
Comparison | String | The logic used to set the criteria for a variation. This field works together with the Dynamic Content basedOn field to determine which variation a prospect is served. | |
Content | String | The text content of the variation. | |
DynamicContentId | String | ID of the dynamic content this variation is associated with. |
A Lists used as suppression lists for the list email.
To retrieve a single suppressed email address, specify its ID:
SELECT * FROM EmailSuppressionList WHERE Id = '55555555'
To retrieve multiple suppressed email addresses, issue a nested SELECT statement to the ListEmail table.
SELECT * FROM EmailSuppressionList WHERE ListEmailId IN (SELECT Id FROM ListEmail)
Name | Type | References | Description |
Id [KEY] | Int64 | ID of the SuppressionList | |
ListEmailId [KEY] | Int64 | The ListEmail id | |
ListEmailName | String | ListEmail's name (internal to Pardot). | |
ListEmailCampaignId | Int64 | Pardot ListEmail campaign related to this object. Uses null if not specified on create. | |
Name | String | List's name (internal to Pardot). | |
FolderId | Int64 | ID of the folder containing this object. | |
IsDynamic | Boolean | True if the list is dynamic. | |
IsPublic | Boolean | True if the list is public. | |
Title | String | Title of the list object. | |
Description | String | List's description. |
Use lifecycle history resources to learn how a prospect is moving through their sales journey, from visitor to won opportunity.
Name | Type | References | Description |
Id [KEY] | Int64 | Pardot ID of this lifecycle history. | |
ProspectId | Int64 |
Prospects.Id | Pardot ID for the prospect in this stage. |
PreviousStageId | Int64 | Pardot ID of the stage this prospect previously was in. | |
NextStageId | Int64 | Pardot ID of the stage this prospect is in next. | |
SecondsElapsed | Integer | Number of seconds for prospect to get to current stage. | |
CreatedAt | Datetime | The timestamp of when this object was created. |
RecipientLists used by an email
To retrieve a single email recipient, specify its ID:
SELECT * FROM ListEmailRecipients WHERE Id = '55555555'
To retrieve multiple email recipient, issue a nested SELECT statement to the ListEmail table.
SELECT * FROM ListEmailRecipients WHERE ListEmailId IN (SELECT Id FROM ListEmail)
Name | Type | References | Description |
Id [KEY] | Int64 | ID of the RecipientList. | |
ListEmailId [KEY] | Int64 | The ListEmail id | |
ListEmailName | String | ListEmail's name (internal to Pardot). | |
ListEmailCampaignId | Int64 | Pardot ListEmail campaign related to this object. Uses null if not specified on create. | |
Name | String | List's name (internal to Pardot). | |
FolderId | Int64 | ID of the folder containing this object. | |
IsDynamic | Boolean | True if the list is dynamic. | |
IsPublic | Boolean | True if the list is public. | |
Title | String | Title of the list object. | |
Description | String | List's description. |
Retrieve a collection of opportunities
Name | Type | References | Description |
Id [KEY] | Int64 | Pardot ID for this opportunity. | |
CampaignId | Int64 | Pardot ID of the campaign associated with this opportunity. Information about an opportunity's campaign association can be returned using the Campaign relationship. | |
ClosedAt | Datetime | The opportunity's closed date. When left blank, the Closed Date field in Pardot isn't set, even when the opportunity's stage, status, or probability are set to indicate that the opportunity is closed. | |
CreatedAt | Datetime | Time opportunity is created in Pardot; Time is reported in API user's preferred timezone. | |
CreatedById | Int64 | ID of the user who created this object. | |
Name | String | The opportunity's name. | |
Probability | Int | The opportunity's probability. Must be a positive numeric value from 0 through 100, inclusive. | |
SalesforceId | String | The ID of the associated opportunity in Salesforce. | |
Stage | String | The opportunity's stage. | |
Status | String | The opportunity's status. Status must be either won, lost, or open. | |
Type | String | The opportunity's type. | |
UpdatedAt | Datetime | Last time opportunity was updated in Pardot; Time is reported in API user's preferred timezone. | |
UpdatedById | Int64 | ID of the user who last updated this object. | |
Value | Double | The opportunity's value. Must be a positive numeric value. |
Retrieve and modify prospect accounts.
The Sync App will use the Salesforce Marketing Cloud Account Engagement API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM ProspectAccounts WHERE Id > 31
To retrieve deleted prospect accounts, a GETDELETED statement can be executed.
GETDELETED FROM ProspectAccounts
Name | Type | References | Description |
Id [KEY] | Int64 | 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 | Int64 | ID of the user who the object record is assigned to. | |
CreatedById | Int64 | ID of the individual who created this object. | |
UpdatedById | Int64 | ID of the individual who last updated this object. |
Query the replyTo options of email templates.
Name | Type | References | Description |
EmailId [KEY] | Int64 | 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. | |
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. |
Query the sender options of email templates.
Name | Type | References | Description |
EmailId [KEY] | Int64 | 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. |
Retrieve visitor activities.
Name | Type | References | Description |
Id [KEY] | Int64 | Pardot ID for this campaign. | |
CampaignId | Int64 |
Campaigns.Id | Pardot ID for the associated campaign. |
CustomRedirectId | Int64 | Pardot ID of the custom redirect associated with this visitor activity Note: Appears only if this visitor activity has a custom redirect associated with it. | |
EmailId | Int64 |
Emails.Id | Pardot ID of the email associated with this visitor activity. Appears only if this visitor activity has an email associated with it. |
EmailTemplateId | Int64 | 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. | |
FileId | Int64 |
Files.Id | 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. |
FormHandlerId | Int64 |
FormHandlers.Id | 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. |
FormId | Int64 |
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. |
LandingPageId | Int64 |
LandingPages.Id | 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. |
ListEmailId | Int64 |
ListEmail.Id | 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. |
VisitId | Int64 |
Visits.Id | Pardot ID for the associated visit. |
VisitorId | Int64 |
Visitors.Id | Pardot ID for the associated visitor. |
VisitorPageViewId | Int64 | 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. | |
OpportunityId | Int64 | Pardot ID for the associated opportunity. | |
ProspectId | Int64 |
Prospects.Id | Pardot ID for the associated prospect. |
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. | |
MultivariateTestVariationId | Int64 | 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. | |
PaidSearchAdId | Int64 | Pardot ID of the paid search ad associated with this visitor activity. Appears only if this visitor activity has a paid search ad associated with it. | |
SiteSearchQueryId | Int64 | 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. | |
Type | Integer | Visitor activity's type number. | |
TypeName | String | Visitor activity's type name. | |
CreatedAt | Datetime | The timestamp of when this object was created. | |
UpdatedAt | Datetime | The timestamp of when this object was last updated. |
Retrieve visitors.
Name | Type | References | Description |
Id [KEY] | Int64 | Pardot ID for this visitor. | |
DoNotSell | Boolean | Number of page views by this visitor. | |
CampaignId | String | Number of page views by this visitor. | |
IsIdentified | String | Number of page views by 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 | The timestamp of when this object was created. | |
UpdatedAt | Datetime | The timestamp of when this object was last updated. | |
ProspectId | Int64 |
Prospects.Id | Pardot ID for the associated prospect. |
The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider. Click the links for further details.
For more information on establishing a connection, see Establishing a Connection.
Property | Description |
AuthScheme | The type of authentication to use when connecting to Salesforce Marketing Cloud Account Engagement. |
Schema | Specify the Salesforce Marketing Cloud Account Engagement API version to use. SalesforcePardotV5 is the new rebuilt API. |
BusinessUnitID | Your Salesforce Marketing Cloud Account Engagement 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 Marketing Cloud Account Engagement account. |
Property | Description |
BulkMode | Determines if Bulk APIs will be used and if the driver should wait for the results. |
Property | Description |
OAuthClientId | The client Id assigned when you register your application with an OAuth authorization server. |
OAuthClientSecret | The client secret assigned when you register your application with an OAuth authorization server. |
OAuthGrantType | The grant type for the OAuth flow. |
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. |
Property | Description |
SSLServerCert | The certificate to be accepted from the server when connecting using TLS/SSL. |
Property | Description |
FirewallType | The protocol used by a proxy-based firewall. |
FirewallServer | The name or IP address of a proxy-based firewall. |
FirewallPort | The TCP port for a proxy-based firewall. |
FirewallUser | The user name to use to authenticate with a proxy-based firewall. |
FirewallPassword | A password used to authenticate to a proxy-based firewall. |
Property | Description |
ProxyAutoDetect | This indicates whether to use the system proxy settings or not. |
ProxyServer | The hostname or IP address of a proxy to route HTTP traffic through. |
ProxyPort | The TCP port the ProxyServer proxy is running on. |
ProxyAuthScheme | The authentication type to use to authenticate to the ProxyServer proxy. |
ProxyUser | A user name to be used to authenticate to the ProxyServer proxy. |
ProxyPassword | A password to be used to authenticate to the ProxyServer proxy. |
ProxySSLType | The SSL type to use when connecting to the ProxyServer proxy. |
ProxyExceptions | A semicolon separated list of destination hostnames or IPs that are exempt from connecting through the ProxyServer . |
Property | Description |
LogModules | Core modules to be included in the log file. |
Property | Description |
Location | A path to the directory that contains the schema files defining tables, views, and stored procedures. |
BrowsableSchemas | This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC. |
Tables | This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC. |
Views | Restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC. |
Property | Description |
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 when no aggregation or GROUP BY is used in the query. This takes precedence over LIMIT clauses. |
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 Marketing Cloud Account Engagement. |
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. |
UserDefinedViews | A filepath pointing to the JSON configuration file containing your custom views. |
ValueDelimiter | The delimiter used for multi-select fields values. |
This section provides a complete list of the Authentication properties you can configure in the connection string for this provider.
Property | Description |
AuthScheme | The type of authentication to use when connecting to Salesforce Marketing Cloud Account Engagement. |
Schema | Specify the Salesforce Marketing Cloud Account Engagement API version to use. SalesforcePardotV5 is the new rebuilt API. |
BusinessUnitID | Your Salesforce Marketing Cloud Account Engagement 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 Marketing Cloud Account Engagement account. |
The type of authentication to use when connecting to Salesforce Marketing Cloud Account Engagement.
Specify the Salesforce Marketing Cloud Account Engagement API version to use. SalesforcePardotV5 is the new rebuilt API.
Specify the Salesforce Marketing Cloud Account Engagement API version to use. SalesforcePardotV5 is the rebuilt API.
Your Salesforce Marketing Cloud Account Engagement Business Unit ID (BU). Required when connecting via OAuth 2.0.
Whether the provided account is a demo account or not.
If set to true, all the requests will be made to the Pardot demo endpoints.
A boolean determining if the connection should be made to a Salesforce sandbox account.
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".
The user that is SSO-enabled.
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.
The password of the user that is SSO-enabled.
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.
The security token used to authenticate access to the Salesforce Marketing Cloud Account Engagement account.
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.
This section provides a complete list of the BulkAPI properties you can configure in the connection string for this provider.
Property | Description |
BulkMode | Determines if Bulk APIs will be used and if the driver should wait for the results. |
Determines if Bulk APIs will be used and if the driver should wait for the results.
This property can have the following values:
Use BulkMode=BulkWaitForResults if you want to know if a job failed or not, and get more information about the rows that failed by querying LastResultInfo#TEMP table. Since a bulk job may take some initial time until it starts getting processed, this will cause some delays. If you do not want to wait until the job is finished, you can use BulkMode=Bulk
This section provides a complete list of the OAuth properties you can configure in the connection string for this provider.
Property | Description |
OAuthClientId | The client Id assigned when you register your application with an OAuth authorization server. |
OAuthClientSecret | The client secret assigned when you register your application with an OAuth authorization server. |
OAuthGrantType | The grant type for the OAuth flow. |
The client Id assigned when you register your application with an OAuth authorization server.
As part of registering an OAuth application, you will receive the OAuthClientId value, sometimes also called a consumer key, and a client secret, the OAuthClientSecret.
The client secret assigned when you register your application with an OAuth authorization server.
As part of registering an OAuth application, you will receive the OAuthClientId, also called a consumer key. You will also receive a client secret, also called a consumer secret. Set the client secret in the OAuthClientSecret property.
The grant type for the OAuth flow.
The following options are available: CODE,PASSWORD
This section provides a complete list of the JWT OAuth properties you can configure in the connection string for this provider.
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. |
The JWT Certificate store.
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:
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).
The type of key store containing the JWT Certificate.
This property can take one of the following values:
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. |
The password for the OAuth JWT certificate.
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.
The subject of the OAuth JWT certificate.
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, [email protected]". 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.
The issuer of the Java Web Token.
The issuer of the Java Web Token. This is typically either the Client Id or Email Address of the OAuth Application.
The user subject for which the application is requesting delegated access.
The user subject for which the application is requesting delegated access. Typically, the user account name or email address.
This section provides a complete list of the SSL properties you can configure in the connection string for this provider.
Property | Description |
SSLServerCert | The certificate to be accepted from the server when connecting using TLS/SSL. |
The certificate to be accepted from the server when connecting using TLS/SSL.
If using a TLS/SSL connection, this property can be used to specify the TLS/SSL certificate to be accepted from the server. Any other certificate that is not trusted by the machine is rejected.
This property can take the following forms:
Description | Example |
A full PEM Certificate (example shortened for brevity) | -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE----- |
A path to a local file containing the certificate | C:\cert.cer |
The public key (example shortened for brevity) | -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY----- |
The MD5 Thumbprint (hex values can also be either space or colon separated) | ecadbdda5a1529c58a1e9e09828d70e4 |
The SHA1 Thumbprint (hex values can also be either space or colon separated) | 34a929226ae0819f2ec14b4a3d904f801cbb150d |
If not specified, any certificate trusted by the machine is accepted.
Use '*' to signify to accept all certificates. Note that this is not recommended due to security concerns.
This section provides a complete list of the Firewall properties you can configure in the connection string for this provider.
Property | Description |
FirewallType | The protocol used by a proxy-based firewall. |
FirewallServer | The name or IP address of a proxy-based firewall. |
FirewallPort | The TCP port for a proxy-based firewall. |
FirewallUser | The user name to use to authenticate with a proxy-based firewall. |
FirewallPassword | A password used to authenticate to a proxy-based firewall. |
The protocol used by a proxy-based firewall.
This property specifies the protocol that the Sync App will use to tunnel traffic through the FirewallServer proxy. Note that by default, the Sync App connects to the system proxy; to disable this behavior and connect to one of the following proxy types, set ProxyAutoDetect to false.
Type | Default Port | Description |
TUNNEL | 80 | When this is set, the Sync App opens a connection to Salesforce Marketing Cloud Account Engagement and traffic flows back and forth through the proxy. |
SOCKS4 | 1080 | When this is set, the Sync App sends data through the SOCKS 4 proxy specified by FirewallServer and FirewallPort and passes the FirewallUser value to the proxy, which determines if the connection request should be granted. |
SOCKS5 | 1080 | When this is set, the Sync App sends data through the SOCKS 5 proxy specified by FirewallServer and FirewallPort. If your proxy requires authentication, set FirewallUser and FirewallPassword to credentials the proxy recognizes. |
To connect to HTTP proxies, use ProxyServer and ProxyPort. To authenticate to HTTP proxies, use ProxyAuthScheme, ProxyUser, and ProxyPassword.
The name or IP address of a proxy-based firewall.
This property specifies the IP address, DNS name, or host name of a proxy allowing traversal of a firewall. The protocol is specified by FirewallType: Use FirewallServer with this property to connect through SOCKS or do tunneling. Use ProxyServer to connect to an HTTP proxy.
Note that the Sync App uses the system proxy by default. To use a different proxy, set ProxyAutoDetect to false.
The TCP port for a proxy-based firewall.
This specifies the TCP port for a proxy allowing traversal of a firewall. Use FirewallServer to specify the name or IP address. Specify the protocol with FirewallType.
The user name to use to authenticate with a proxy-based firewall.
The FirewallUser and FirewallPassword properties are used to authenticate against the proxy specified in FirewallServer and FirewallPort, following the authentication method specified in FirewallType.
A password used to authenticate to a proxy-based firewall.
This property is passed to the proxy specified by FirewallServer and FirewallPort, following the authentication method specified by FirewallType.
This section provides a complete list of the Proxy properties you can configure in the connection string for this provider.
Property | Description |
ProxyAutoDetect | This indicates whether to use the system proxy settings or not. |
ProxyServer | The hostname or IP address of a proxy to route HTTP traffic through. |
ProxyPort | The TCP port the ProxyServer proxy is running on. |
ProxyAuthScheme | The authentication type to use to authenticate to the ProxyServer proxy. |
ProxyUser | A user name to be used to authenticate to the ProxyServer proxy. |
ProxyPassword | A password to be used to authenticate to the ProxyServer proxy. |
ProxySSLType | The SSL type to use when connecting to the ProxyServer proxy. |
ProxyExceptions | A semicolon separated list of destination hostnames or IPs that are exempt from connecting through the ProxyServer . |
This indicates whether to use the system proxy settings or not.
This takes precedence over other proxy settings, so you'll need to set ProxyAutoDetect to FALSE in order use custom proxy settings.
To connect to an HTTP proxy, see ProxyServer. For other proxies, such as SOCKS or tunneling, see FirewallType.
The hostname or IP address of a proxy to route HTTP traffic through.
The hostname or IP address of a proxy to route HTTP traffic through. The Sync App can use the HTTP, Windows (NTLM), or Kerberos authentication types to authenticate to an HTTP proxy.
If you need to connect through a SOCKS proxy or tunnel the connection, see FirewallType.
By default, the Sync App uses the system proxy. If you need to use another proxy, set ProxyAutoDetect to false.
The TCP port the ProxyServer proxy is running on.
The port the HTTP proxy is running on that you want to redirect HTTP traffic through. Specify the HTTP proxy in ProxyServer. For other proxy types, see FirewallType.
The authentication type to use to authenticate to the ProxyServer proxy.
This value specifies the authentication type to use to authenticate to the HTTP proxy specified by ProxyServer and ProxyPort.
Note that the Sync App will use the system proxy settings by default, without further configuration needed; if you want to connect to another proxy, you will need to set ProxyAutoDetect to false, in addition to ProxyServer and ProxyPort. To authenticate, set ProxyAuthScheme and set ProxyUser and ProxyPassword, if needed.
The authentication type can be one of the following:
If you need to use another authentication type, such as SOCKS 5 authentication, see FirewallType.
A user name to be used to authenticate to the ProxyServer proxy.
The ProxyUser and ProxyPassword options are used to connect and authenticate against the HTTP proxy specified in ProxyServer.
You can select one of the available authentication types in ProxyAuthScheme. If you are using HTTP authentication, set this to the user name of a user recognized by the HTTP proxy. If you are using Windows or Kerberos authentication, set this property to a user name in one of the following formats:
user@domain domain\user
A password to be used to authenticate to the ProxyServer proxy.
This property is used to authenticate to an HTTP proxy server that supports NTLM (Windows), Kerberos, or HTTP authentication. To specify the HTTP proxy, you can set ProxyServer and ProxyPort. To specify the authentication type, set ProxyAuthScheme.
If you are using HTTP authentication, additionally set ProxyUser and ProxyPassword to HTTP proxy.
If you are using NTLM authentication, set ProxyUser and ProxyPassword to your Windows password. You may also need these to complete Kerberos authentication.
For SOCKS 5 authentication or tunneling, see FirewallType.
By default, the Sync App uses the system proxy. If you want to connect to another proxy, set ProxyAutoDetect to false.
The SSL type to use when connecting to the ProxyServer proxy.
This property determines when to use SSL for the connection to an HTTP proxy specified by ProxyServer. This value can be AUTO, ALWAYS, NEVER, or TUNNEL. The applicable values are the following:
AUTO | Default setting. If the URL is an HTTPS URL, the Sync App will use the TUNNEL option. If the URL is an HTTP URL, the component will use the NEVER option. |
ALWAYS | The connection is always SSL enabled. |
NEVER | The connection is not SSL enabled. |
TUNNEL | The connection is through a tunneling proxy. The proxy server opens a connection to the remote host and traffic flows back and forth through the proxy. |
A semicolon separated list of destination hostnames or IPs that are exempt from connecting through the ProxyServer .
The ProxyServer is used for all addresses, except for addresses defined in this property. Use semicolons to separate entries.
Note that the Sync App uses the system proxy settings by default, without further configuration needed; if you want to explicitly configure proxy exceptions for this connection, you need to set ProxyAutoDetect = false, and configure ProxyServer and ProxyPort. To authenticate, set ProxyAuthScheme and set ProxyUser and ProxyPassword, if needed.
This section provides a complete list of the Logging properties you can configure in the connection string for this provider.
Property | Description |
LogModules | Core modules to be included in the log file. |
Core modules to be included in the log file.
Only the modules specified (separated by ';') will be included in the log file. By default all modules are included.
See the Logging page for an overview.
This section provides a complete list of the Schema properties you can configure in the connection string for this provider.
Property | Description |
Location | A path to the directory that contains the schema files defining tables, views, and stored procedures. |
BrowsableSchemas | This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC. |
Tables | This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC. |
Views | Restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC. |
A path to the directory that contains the schema files defining tables, views, and stored procedures.
The path to a directory which contains the schema files for the Sync App (.rsd files for tables and views, .rsb files for stored procedures). The folder location can be a relative path from the location of the executable. The Location property is only needed if you want to customize definitions (for example, change a column name, ignore a column, and so on) or extend the data model with new tables, views, or stored procedures.
If left unspecified, the default location is "%APPDATA%\\CData\\SalesforcePardot Data Provider\\Schema" with %APPDATA% being set to the user's configuration directory:
Platform | %APPDATA% |
Windows | The value of the APPDATA environment variable |
Linux | ~/.config |
This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC.
Listing the schemas from databases can be expensive. Providing a list of schemas in the connection string improves the performance.
This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC.
Listing the tables from some databases can be expensive. Providing a list of tables in the connection string improves the performance of the Sync App.
This property can also be used as an alternative to automatically listing views if you already know which ones you want to work with and there would otherwise be too many to work with.
Specify the tables you want in a comma-separated list. Each table should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.
Note that when connecting to a data source with multiple schemas or catalogs, you will need to provide the fully qualified name of the table in this property, as in the last example here, to avoid ambiguity between tables that exist in multiple catalogs or schemas.
Restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC.
Listing the views from some databases can be expensive. Providing a list of views in the connection string improves the performance of the Sync App.
This property can also be used as an alternative to automatically listing views if you already know which ones you want to work with and there would otherwise be too many to work with.
Specify the views you want in a comma-separated list. Each view should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.
Note that when connecting to a data source with multiple schemas or catalogs, you will need to provide the fully qualified name of the table in this property, as in the last example here, to avoid ambiguity between tables that exist in multiple catalogs or schemas.
This section provides a complete list of the Miscellaneous properties you can configure in the connection string for this provider.
Property | Description |
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 when no aggregation or GROUP BY is used in the query. This takes precedence over LIMIT clauses. |
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 Marketing Cloud Account Engagement. |
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. |
UserDefinedViews | A filepath pointing to the JSON configuration file containing your custom views. |
ValueDelimiter | The delimiter used for multi-select fields values. |
Specify whether to get archived or unarchived records.
This property is only valid for tables OneToOneEmails and EmailTemplates of SalesforcePardot.
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.
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.
Limits the number of rows returned when no aggregation or GROUP BY is used in the query. This takes precedence over LIMIT clauses.
Limits the number of rows returned when no aggregation or GROUP BY is used in the query. This takes precedence over LIMIT clauses.
Specifies the number of concurrent requests.
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".
These hidden properties are used only in specific use cases.
The properties listed below are available for specific use cases. Normal driver use cases and functionality should not require these properties.
Specify multiple properties in a semicolon-separated list.
DefaultColumnSize | Sets the default length of string fields when the data source does not provide column length in the metadata. The default value is 2000. |
ConvertDateTimeToGMT | Determines whether to convert date-time values to GMT, instead of the local time of the machine. |
RecordToFile=filename | Records the underlying socket data transfer to the specified file. |
The maximum number of results to return per page from Salesforce Marketing Cloud Account Engagement.
The Pagesize property affects the maximum number of results to return per page from Salesforce Marketing Cloud Account Engagement. Setting a higher value may result in better performance at the cost of additional memory allocated per page consumed.
This property indicates whether or not to include pseudo columns as columns to the table.
This setting is particularly helpful in Entity Framework, which does not allow you to set a value for a pseudo column unless it is a table column. The value of this connection setting is of the format "Table1=Column1, Table1=Column2, Table2=Column3". You can use the "*" character to include all tables and all columns; for example, "*=*".
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.
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.
The value in seconds until the timeout error is thrown, canceling the operation.
If Timeout = 0, operations do not time out. The operations run until they complete successfully or until they encounter an error condition.
If Timeout expires and the operation is not yet complete, the Sync App throws an exception.
A filepath pointing to the JSON configuration file containing your custom views.
User Defined Views are defined in a JSON-formatted configuration file called UserDefinedViews.json. The Sync App automatically detects the views specified in this file.
You can also have multiple view definitions and control them using the UserDefinedViews connection property. When you use this property, only the specified views are seen by the Sync App.
This User Defined View configuration file is formatted as follows:
For example:
{ "MyView": { "query": "SELECT * FROM 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.jsonNote that the specified path is not embedded in quotation marks.
The delimiter used for multi-select fields values.
The delimiter used for multi-select fields values.