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 supports the use of user defined views, virtual tables whose contents are decided by a pre-configured user defined query. These views are useful when you cannot directly control queries being issued to the drivers. For an overview of creating and configuring custom views, see User Defined Views .
Use SSL Configuration to adjust how Sync App handles TLS/SSL certificate negotiations. You can choose from various certificate formats;. For further information, see the SSLServerCert property under "Connection String Options" .
Configure the Sync App for compliance with Firewall and Proxy, including Windows proxies and HTTP proxies. You can also set up tunnel connections.
For further information, see Query Processing.
By default, the Sync App attempts to negotiate TLS with the server. The server certificate is validated against the default system trusted certificate store. You can override how the certificate gets validated using the SSLServerCert connection property.
To specify another certificate, see the SSLServerCert connection property.
To authenticate to an HTTP proxy, set the following:
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. The Sync App uses the Salesforce Marketing Cloud Account Engagement API to process supported filters. The Sync App processes other filters client-side within the Sync App.
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 the text of email. | |
| HTMLContent | 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. |
Stored procedures are function-like interfaces that extend the functionality of the Sync App beyond simple SELECT/INSERT/UPDATE/DELETE operations with Salesforce Marketing Cloud Account Engagement.
Stored procedures accept a list of parameters, perform their intended function, and then return any relevant response data from Salesforce Marketing Cloud Account Engagement, along with an indication of whether the procedure succeeded or failed.
| Name | Description |
| AssignProspect | Update the locations for a shipping zone. |
| AssignProspectAccount | Update the locations for a shipping zone. |
| SendEmail | Update the locations for a shipping zone. |
| UnAssignProspect | Update the locations for a shipping zone. |
| UnDeleteOpportunity | Update the locations for a shipping zone. |
Update the locations for a shipping zone.
EXEC AssignProspect ProspectId = 432, AssignmentType = 'user', AssignTo = 101 EXEC AssignProspect ProspectId = 432, AssignmentType = 'email', AssignTo = '[email protected]'
| Name | Type | Required | Description |
| ProspectId | String | False | The ID of the prospect. |
| AssignmentType | String | False | The type of the assignment. Can be one of: email, user, group. |
| AssignTo | String | False | The value to assign to. If the type is user or group the value should be the respective id. |
| Name | Type | Description |
| Success | String | This value shows a boolean indication of whether the operation was successful or not. |
Update the locations for a shipping zone.
EXEC AssignProspectAccount UserId = 432, ProspectAccountId = 501
| Name | Type | Required | Description |
| ProspectAccountId | String | False | The ID of the prospect account. |
| UserId | String | False | The ID of the user. |
| Name | Type | Description |
| Success | String | This value shows a boolean indication of whether the operation was successful or not. |
If using a Windows application, set Authmode to App. If using a Web app, set Authmode to Web and specify the Verifier obtained by GetOAuthAuthorizationUrl.
| Name | Type | Required | Description |
| Authmode | String | False | The type of authentication mode to use. Select App for getting authentication tokens via a desktop app. Select Web for getting authentication tokens via a Web app.
The allowed values are APP, WEB. The default value is APP. |
| Verifier | String | False | The verifier token returned by Salesforce after using the URL obtained with GetOAuthAuthorizationUrl. |
| Scope | String | False | A space-separated scope of permissions you need the app to have access to. The available values are api, chatter_api, full, id, refresh_token, visualforce, and web. For details, refer to: http://help.salesforce.com/help/doc/en/remoteaccess_oauth_scopes.htm. |
| CallbackUrl | String | False | The page to return the Salesforce app after authentication has been completed. |
| Api_Version | String | False | The API version you would like to authenticate to.
The default value is 49.0. |
| State | String | False | Any value that you wish to be sent with the callback. |
| GrantType | String | False | Authorization grant type. Only available for OAuth 2.0. If left unspecified, the default value is the value of the OAuthGrantType connection property.
The allowed values are CODE, PASSWORD. |
| Name | Type | Description |
| Scope | String | The scope of permissions for the app. |
| Instance_Url | String | The instance URL being used by the app. |
| Id | String | The Id associated with the OAuth token. |
| Issued_At | String | When the token was issued at. |
| Signature | String | A signature for the OAuth token. |
| OAuthRefreshToken | String | A token that may be used to obtain a new access token. |
| OAuthAccessToken | String | The OAuth access token. |
| ExpiresIn | String | The remaining lifetime on the access token. A -1 denotes that it will not expire. |
Gets the authorization URL that must be opened separately by the user to grant access to your application. Only needed when developing Web apps.
| Name | Type | Required | Description |
| CallbackUrl | String | False | The page to return the user after authorization is complete. |
| Scope | String | False | A space-separated scope of permissions you need the app to have access to. The available values are api, chatter_api, full, id, refresh_token, visualforce, web. For more details, refer to: http://help.salesforce.com/help/doc/en/remoteaccess_oauth_scopes.htm. |
| Grant_Type | String | False | The type of authorization to be granted for your app. If this is set to code, the stored procedure will return an authorization URL containing the verifier code in a query string parameter, which you will need to submit back with the GetOAuthAccessToken stored procedure. Implicit will cause the OAuth access token to be returned directly in the URL.
The allowed values are Implicit, Code. |
| State | String | False | Any value that you wish to be sent with the callback. |
| Name | Type | Description |
| Url | String | The authorization url. |
Refreshes the OAuth token or session id after the session has expired. Your OAuth application must have the refresh_token scope enabled.
| Name | Type | Required | Description |
| OAuthRefreshToken | String | True | The refresh token returned when the OAuth Token was first created. |
| Name | Type | Description |
| Instance_Url | String | Instance of Salesforce the OAuth token is valid for. |
| OAuthAccessToken | String | The OAuth token. |
| Id | String | Id associated with the OAuth Token. |
| Issued_At | String | When the OAuth Token was issued. |
| Signature | String | Signature of the OAuth Token. |
| ExpiresIn | String | The remaining lifetime on the access token. A -1 denotes that it will not expire. |
Update the locations for a shipping zone.
One of: ProspectId, ProspectEmail or ListId.
One of: TemplateId or (TextContent, Name, Subject and (FromEmail, FromName or FromUserId))
Examples:
EXEC SendEmail CampaignId = 20006, ProspectId = 1807618, TemplateId = 13598 EXEC SendEmail CampaignId = 20006, ProspectEmail = '[email protected]', TextContent = 'content', Name = 'email name', Subject = 'email subject', FromUserId = 24486 EXEC SendEmail CampaignId = 20006, ListId = 20104, TextContent = 'content', Name = 'email name', Subject = 'email subject', FromEmail = '[email protected]', FromName = 'Name Surname'
| Name | Type | Required | Description |
| CampaignId | String | False | The ID of the campaign. |
| ProspectId | String | False | The ID of the prospect. |
| ProspectEmail | String | False | The email of the prospect. |
| ListId | String | False | The ID of the lists to send to. |
| TemplateId | String | False | The ID of the prospect. |
| TextContent | String | False | The ID of the prospect. |
| Name | String | False | The ID of the prospect. |
| Subject | String | False | The ID of the prospect. |
| FromEmail | String | False | The ID of the prospect. |
| FromName | String | False | The ID of the prospect. |
| FromUserId | String | False | The ID of the prospect. |
| ReplyToEmail | String | False | The ID of the prospect. |
| OperationalEmail | String | False | The ID of the prospect. |
| HTMLContent | String | False | The ID of the prospect. |
| Name | Type | Description |
| Success | String | This value shows a boolean indication of whether the operation was successful or not. |
Update the locations for a shipping zone.
EXEC UnAssignProspect ProspectId = 432
| Name | Type | Required | Description |
| ProspectId | String | False | The ID of the prospect. |
| Name | Type | Description |
| Success | String | This value shows a boolean indication of whether the operation was successful or not. |
Update the locations for a shipping zone.
EXEC UnDeleteOpportunity Id = 600
| Name | Type | Required | Description |
| Id | String | False | The ID of the opportunity. |
| Name | Type | Description |
| Success | String | This value shows a boolean indication of whether the operation was successful or not. |
The CData Sync App models Salesforce Marketing Cloud Account Engagement Pardot API v5 objects as relational Tables, Views, and Stored Procedures. The Sync App uses the Salesforce Marketing Cloud Account Engagement API to process supported filters. The Sync App processes other filters client-side within the Sync App.
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 |
| 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 |
| DynamicContentVariations | Retrieve a collection of Dynamic Content Variations |
| EmailTemplates | Query email templates. |
| Files | Upload images and other files to use in your Pardot emails, forms, and landing pages. |
| FormFields | Retrieve form fields to capture and store data related to leads, contacts, accounts, and other objects within the system. |
| 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. |
| ListMemberships | Retrieve,Create,Update,Delete a collection of list memberships |
| Lists | Retrieve and modify lists. |
| ProspectAccounts | Query the available prospect accounts. |
| Prospects | Retrieve and modify prospects. |
| Tags | Retrieve tags. |
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 | False |
User-defined ID for the custom field. | |
| Type | String | False |
The type of custom field. Possible values: Text, Radio Button, Checkbox, Dropdown, Textarea, Multi-Select, Hidden, Number, Date, CRM User | |
| CreatedAt | Datetime | True |
Time custom field was created in Pardot. | |
| UpdatedAt | Datetime | True |
Last time custom field was updated. | |
| CreatedById | Int64 | True |
ID of the individual who created this object. | |
| UpdatedById | Int64 | True |
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 | Boolean | False |
True if the custom field is required. | |
| isAnalyticsSynced | Boolean | True |
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, Country Codes, US States, US State Codes, Canadian Provinces, Canadian Province Codes, US States and Canadian Provinces, US State and Canadian Province Codes, Japanese Prefectures, Japanese Prefecture Codes |
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 | False |
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 | False |
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 'default', 'custom', 'grade', and 'score'. | |
| TagReplacementLanguage | String | True |
Merge language of the dynamic content. Can be 'pml', 'hml', or 'undetermined'. | |
| CreatedAt | Datetime | True |
Time the dynamic content was created; reported in API user's timezone. | |
| 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 | False |
ID of the folder containing this object. | |
| TrackerDomainId | Int64 | False |
The ID of the tracker domain associated with this object. | |
| BasedOnProspectApiFieldId | String | False |
The name of the Account Engagement prospect field that the Dynamic Content is mapped to. On standard fields the value is the name of the field. For example, 'firstName'. |
Retrieve a collection of Dynamic Content Variations
| Name | Type | ReadOnly | References | Description |
| Id [KEY] | Int64 | True |
Pardot ID for this dynamic content variation. | |
| Comparison | String | True |
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. | |
| Operator | String | False |
The operator found in the logic used to set the criteria for a variation. Possible values: is, contains, between, less-than, less-than-or-equal, greater-than, greater-than-or-equal | |
| Content | String | False |
The text content of the variation. | |
| DynamicContentId | Int64 | False |
ID of the dynamic content this variation is associated with. | |
| Value1 | String | False |
The value found in the logic used to set the criteria for a variation. All operators except between require one value. | |
| Value2 | String | False |
The value found in the logic used to set the criteria for a variation when using the between operator. All other operators don't support two values. |
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. |
Retrieve form fields to capture and store data related to leads, contacts, accounts, and other objects within the system.
| Name | Type | ReadOnly | References | Description |
| Id [KEY] | Int64 | True |
ID of the form field. | |
| FormId | Int64 | False |
The ID of the form the Form Field belongs to. | |
| Type | String | False |
Data type of the object. Data Type can be: text, radio button, checkbox, dropdown, textarea, hidden, date, multi-select. | |
| DataFormat | String | False |
The field's data format. Data Format can be: text, number, email, email with valid mail server, email not from isps and free email providers. Default 'text'. | |
| ProspectApiFieldId | String | False |
The name of the Pardot prospect field that the form field is mapped to. For example, | |
| Label | String | False |
Label of the form field. | |
| Description | String | False |
User-assigned description for the field. This field isn't queryable. | |
| ErrorMessage | String | False |
Error to display when the field isn't submitted correctly. | |
| CssClasses | String | False |
CSS class to apply to the paragraph element that wraps the form input and label. | |
| IsRequired | Boolean | False |
Set to true to make populating this field required for form submission. Default false. | |
| IsAlwaysDisplay | Boolean | False |
Set to true to always display this field, even if a value has already been collected for the prospect. Default false. | |
| isMaintainInitialValue | Boolean | False |
Set to true to maintain the prospect field value of the initial form submission. Subsequent submissions with new values will be ignored. Default false. | |
| isDoNotPrefill | Boolean | False |
Set to true to prevent prospect data from being pre-filled into the field. Default false. | |
| SortOrder | Int64 | True |
Each field in a given form will be assigned a number that indicates the display order. | |
| HasDependents | Boolean | True |
Set to true if this field has Dependents. | |
| HasProgressives | Boolean | True |
Set to true if this field has Progressives. | |
| HasValues | Boolean | True |
Set to true if this field has Values. | |
| 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 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. |
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 | False |
Form's name. | |
| CampaignId | Int64 | False |
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 | False |
The ID of the layout template associated with this object | |
| SubmitButtonText | String | False |
The label used for the submit button | |
| BeforeFormContent | String | False |
The HTML text displayed above the form | |
| AfterFormContent | String | False |
The HTML text displayed below the form | |
| ThankYouContent | String | False |
The HTML text displayed after the form is submitted | |
| ThankYouCode | String | False |
Thank you code is typically Javascript used to call other systems like Google Conversion Tracking | |
| IsAlwaysDisplay | Boolean | False |
Always display form after submission. Disable the 10 minute waiting period after submitting a form | |
| RedirectLocation | String | False |
Redirect to this URL instead of showing the | |
| IsUseRedirectLocation | Boolean | True |
When redirect location is valid and enabled. | |
| FontSize | String | False |
Possible values: default, 8pt, 10pt, 12pt, 14pt , 18pt, 24pt, 36pt. | |
| FontFamily | String | False |
Possible values: default, | |
| FontColor | String | False |
6 digit number in hexadecimal format such as #123456 | |
| LabelAlignment | String | False |
Possible values: default, above, left | |
| RadioAlignment | String | False |
Possible values: default, horizontal, stacked | |
| CheckboxAlignment | String | False |
Possible values: default, horizontal, stacked | |
| RequiredCharacter | String | False |
Possible values: default , * | |
| IsCookieless | String | False |
Kiosk/Data Entry Mode: Do not cookie browser as submitted prospect | |
| ShowNotProspect | Boolean | False |
Include | |
| IsCaptchaEnabled | Boolean | False |
Enable explicit bot protecting using reCAPTCHA | |
| IsDeleted | Boolean | True |
True if the object is in the recycle bin in Pardot. | |
| TrackerDomainId | Int64 | False |
The ID of the tracker domain associated with this object. | |
| FolderId | Int64 | False |
ID of the folder containing 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. | |
| 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
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 LandingPages WHERE Id = 50 SELECT * FROM LandingPages WHERE IsDeleted = 'true' SELECT * FROM LandingPages WHERE CreatedAt > '01/01/2022'
To retrieve LandingPages that are in the recycle bin in Pardot the following operation is supported:
GETDELETED FROM LandingPages
| Name | Type | ReadOnly | References | Description |
| Id [KEY] | Int64 | True |
ID of the object. | |
| Name | String | False |
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 | False |
Pardot Campaign related to this object. | |
| FormId | Int64 | False |
ID of the form related to this object. | |
| LayoutTemplateId | Int64 | False |
ID of the layout template related to this object. | |
| Title | String | False |
The landing page's title. | |
| Description | String | False |
The landing page's meta description. Used for SEO. | |
| IsDoNotIndex | Boolean | False |
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 | False |
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 | False |
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 | False |
The unique path for the asset, used to create the vanity URL. | |
| TrackerDomainId | Int64 | False |
The ID of the tracker domain associated with this object. | |
| FolderId | Int64 | False |
ID of the folder containing this object. | |
| ArchiveDate | Date | False |
The landing page's archive date('yyyy-mm-dd'). | |
| Content | String | False |
The editable content if using a stock template. This field isn’t queryable. | |
| OpeningGeneralContent | String | False |
If using a layout template without pardot-region attributes, this value is displayed in the %%form-opening-general-content%% tag. This field isn’t queryable. | |
| RegionContent | String | False |
If using a layout template that contains pardot-region attributes, the values here override the default values in the layout template. This field isn’t queryable. |
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. |
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. |
Query the available 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 | ReadOnly | References | Description |
| Id [KEY] | Int64 | True |
ID of the object. | |
| Name | String | True |
Name of the object. | |
| 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. | |
| AnnualRevenue | String | True |
Annual Revenue of the object. | |
| BillingAddressOne | String | True |
Billing Address of the object. | |
| BillingAddressTwo | String | True |
Second Billing Address of the object. | |
| BillingCity | String | True |
City of the object. | |
| BillingCountry | String | True |
County of the object. | |
| BillingState | String | True |
State of the object. | |
| BillingZip | String | True |
Zip of the object. | |
| Description | String | True |
Description of the object. | |
| Employees | String | True |
Employees of the object. | |
| Fax | String | True |
Fax of the object. | |
| Industry | String | True |
Industry of the object. | |
| Number | String | True |
Number of the object. | |
| Ownership | String | True |
Ownership of the object. | |
| Phone | String | True |
Phone Number of the object. | |
| Rating | String | True |
Rating of the object. | |
| ShippingAddressOne | String | True |
Shipping Address of the object. | |
| ShippingAddressTwo | String | True |
Second Shipping Address of the object. | |
| ShippingCity | String | True |
Shipping Address city of the object. | |
| ShippingCountry | String | True |
Shipping Address country of the object. | |
| ShippingState | String | True |
Shipping Address state of the object. | |
| ShippingZip | String | True |
Shipping Address zip of the object. | |
| Sic | String | True |
SIC of the object. | |
| Site | String | True |
Site of the object. | |
| TickerSymbol | String | True |
Ticker Symbol of the object. | |
| Type | String | True |
Type of the object. | |
| Website | String | True |
Website of the object. | |
| CreatedAt | Datetime | True |
Creation time of the object. | |
| UpdatedAt | Datetime | True |
Last update time of the object. | |
| AssignedToId | Int64 | True |
ID of the user who the object record is assigned to. | |
| 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 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 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
To perform UPSERT operations on the Prospects table, you must enable either Bulk or BulkWaitForResults in the BulkMode property. You must also provide the name of the column which serves as a record identifier in the UpsertKeyColumn column, as shown in the following query:
INSERT INTO Prospects#TEMP (FirstName, Email, CampaignId, UpsertKeyColumn) VALUES (‘John', '[email protected]', '16201', 'email') INSERT INTO Prospects#TEMP (FirstName, Email, CampaignId, UpsertKeyColumn) VALUES (‘Jane’, '[email protected]', '16201', 'email') UPSERT INTO Prospects (FirstName, Email, CampaignId, UpsertKeyColumn) SELECT FirstName, Email, CampaignId, UpsertKeyColumn FROM Prospects#TEMPThe identifier column can be Id, Email, or SalesforceId. If the UpsertKeyColumn is not specified, by default, Id is required or used as an identifier column, as shown in the following query:
INSERT INTO Prospects#TEMP (FirstName, Email, CampaignId, Id) VALUES (‘John', '[email protected]', '16201', 55187773) INSERT INTO Prospects#TEMP (FirstName, Email, CampaignId,Id) VALUES (Jane’, '[email protected]', '16201', 55187771) UPSERT INTO Prospects (FirstName, Email, CampaignId, Id) SELECT FirstName, Email, CampaignId, Id FROM Prospects#TEMP
| 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. |
Retrieve tags.
| Name | Type | ReadOnly | References | Description |
| Id [KEY] | Int64 | True |
Pardot ID for this tag. | |
| Name | String | False |
The name of the tag. | |
| ObjectCount | Int64 | True |
Number of objects tagged with the tag. | |
| CreatedAt | Datetime | True |
Creation time of the tag. | |
| UpdatedAt | Datetime | True |
Last update time of the tag. | |
| CreatedById | Int64 | True |
ID of the user who created this tag. | |
| UpdatedById | Int64 | True |
ID of the user who last updated this tag. |
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. |
| Campaigns | Retrieve and modify campaigns. |
| Emails | Query emails to learn how prospects responded to the emails. |
| EmailSuppressionList | A Lists used as suppression lists for the list email. |
| EngagementStudioProgram | Query EngagementStudioProgram to retrieve data related to the programs. |
| 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. |
| LifecycleHistories | Use lifecycle history resources to learn how a prospect is moving through their sales journey, from visitor to won opportunity. |
| LifecycleStages | Retrieving a collection of lifecycle stages |
| ListEmail | A list email is a single email sent to a recipient list. |
| ListEmailRecipients | RecipientLists used by an email |
| ListEmailStats | Query statistical information for a list email, such as the number of clicks, opens, and opt-outs. |
| Opportunities | Retrieve a collection of opportunities |
| ReplyToOptions | Query the replyTo options of email templates. |
| SenderOptions | Query the sender options of email templates. |
| TaggedObjects | Retrieve tagged objects. |
| TrackerDomains | Query the available tracker domains. |
| Users | Query the available users. |
| VisitorActivities | Retrieve visitor activities. |
| Visitors | Retrieve visitors. |
| VisitorsPageViews | Retrieve visitors page views. |
| Visits | Retrieve visits. |
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 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 | References | Description |
| Id [KEY] | Int64 | Pardot ID for this campaign. | |
| Name | String | Campaign's name. | |
| Cost | Integer | Cost associated to the campaign. | |
| IsDeleted | Boolean | True if the object is in the recycle bin in Pardot. | |
| FolderId | Int64 | ID of the folder containing this object. | |
| ParentCampaignId | Int64 | The ID of the parent campaign. | |
| CreatedAt | Datetime | The timestamp of when this object was created. | |
| UpdatedAt | Datetime | The timestamp of when this object was last updated. | |
| CreatedById | Int64 | ID of the individual who created this object. | |
| UpdatedById | Int64 | ID of the individual who last updated this object. | |
| SalesforceId | String | The alphanumeric Id of the Salesforce Org. |
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 | References | Description |
| Id [KEY] | Int64 | ID of the email. | |
| ProspectId | Int64 | Pardot prospect id related to this email. | |
| CampaignId | Int64 | Pardot campaign related to this object. | |
| CreatedById | Int64 | ID of the individual who created this object. | |
| ClientType | String | Value is 'Builder' if the email was sent via the Lightning Email Builder. Value is 'Web' if it was sent via the legacy Pardot email builder. | |
| TextMessage | String | The text content of the email. This field is retrieved only when filtering with email id. | |
| HtmlMessage | String | The HTML content of the email. This field is retrieved only when filtering with email id. | |
| ListId | Int64 | ID of the list associated with this email. | |
| listEmailId | Int64 | ID of the list email associated with this email. | |
| Name | String | Name of the email for identification in Pardot. | |
| SentAt | Datetime | Time the email was sent. | |
| Subject | String | The email subject. |
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. |
Query EngagementStudioProgram to retrieve data related to the programs.
The Sync App uses the Salesforce Marketing Cloud Account Engagement API to process filters that refer to Id, CreatedAt, and UpdatedAt.
For example, the following queries are processed server side:
SELECT * FROM EngagementStudioProgram; SELECT * FROM EngagementStudioProgram WHERE Id = 239309; SELECT * FROM EngagementStudioProgram WHERE Id IN (239309, 239637, 239643); SELECT Id, Name, CreatedAt FROM EngagementStudioProgram WHERE CreatedAt > '2024-03-25 06:18:22.0'; SELECT Id, Name, CreatedAt FROM EngagementStudioProgram WHERE CreatedAt >= '2024-03-25 06:18:22.0'; SELECT Id, Name, UpdatedAt FROM EngagementStudioProgram WHERE UpdatedAt < '2024-03-21 09:46:27.0'; SELECT Id, Name, UpdatedAt FROM EngagementStudioProgram WHERE UpdatedAt <= '2024-03-21 09:46:27.0'
| Name | Type | References | Description |
| Id [KEY] | Int64 | ID of the object. | |
| BusinessHoursDays | String | Array containing the business days of the week. | |
| BusinessHoursEndTime | Time | The start time of the business day. | |
| BusinessHoursStartTime | Time | The end time of the business day. | |
| BusinessHoursTimezone | String | The timezone of the business hours. | |
| CreatedAt | Datetime | Creation time of the object. | |
| CreatedById | Int64 | ID of the user who created this object. | |
| Description | String | Description of the object. | |
| FolderId | Int64 | ID of the folder containing this object. Uses the asset type's uncategorized folder if not specified on create. | |
| IsDeleted | Boolean | True if the object is in the recycle bin in Account Engagement. | |
| Name | String | Name of the object for identification in Account Engagement. | |
| ProspectsMultipleEntryMaximumEntries | Int64 | The maximum amount of times a prospect can reenter the program. Unlimited entries are represented as null. | |
| ProspectsMultipleEntryMinimumDurationInDays | Int64 | The minimum amount of days before a prospect can reenter the program. | |
| RecipientListIds | String | Array containing the program's Recipient List IDs. | |
| SalesforceId | Int64 | SalesforceID of the object. | |
| ScheduleCreatedAt | Datetime | Creation time of the program schedule. | |
| ScheduleStartOn | Datetime | Start time of the program schedule. If the program was started with the Now option startOn reflects the time the program started. If the program was started at some date in the future startOn reflects the user's selection. | |
| ScheduleStopOn | Datetime | Stop time of the program schedule. A null value in this field represents the Never stop option. | |
| ScheduleCreatedById | Int64 | ID of the user who created the program's schedule. | |
| Status | String | The status of the program. draft: The program has never been run and can be edited;running: The program is currently running and can't be edited.;paused: The program isn't running and is eligible for edits (not supported at this time).;starting: The program is in the process of starting and can't be edited.;scheduled: The program is scheduled to start. | |
| SuppressionListIds | String | Array containing the program's Suppression List IDs. | |
| UpdatedAt | Datetime | Last update time of the object. | |
| UpdatedById | Int64 | ID of the user who last updated this object. |
View all objects contained within Folders.
| Name | Type | References | Description |
| Id [KEY] | Int64 | ID of the folder content storing the folder-to-object relationship. | |
| FolderId | Int64 | ID of the folder containing the object with ObjectId. | |
| FolderRef | String | The URL for reading the specific folder with FolderId. | |
| ObjectType | String | Type of object referenced by ObjectId. | |
| ObjectId | Int64 | ID of the object contained in the folder. | |
| ObjectName | String | Name of the object contained in the folder. | |
| ObjectRef | String | The URL for reading the specific object with ObjectId. | |
| CreatedAt | Datetime | Creation time of the object. | |
| UpdatedAt | Datetime | Last update time of the object. | |
| CreatedById | Int64 | ID of the user who created this object. | |
| UpdatedById | Int64 | 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 | References | Description |
| Id [KEY] | Int64 | Pardot ID of this file. | |
| Name | String | Name of the folder. | |
| ParentFolderId | Int64 | ID of the folder containing this folder. This value is null when the folder is a root folder and doesn't have a parent. | |
| Path | String | The names of each folder from the root folder separated with forward slashes. | |
| UsePermissions | Boolean | True if the folder is configured to use permissions. | |
| CreatedAt | Datetime | The timestamp of when this object was created. | |
| UpdatedAt | Datetime | The timestamp of when this object was last updated. | |
| CreatedById | Int64 | ID of the individual who created this object. | |
| UpdatedById | Int64 | ID of the individual who last updated this object. |
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. |
Retrieving a collection of lifecycle stages
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 LifecycleStages WHERE Id = 50 SELECT * FROM LifecycleStages WHERE IsDeleted = 'true' SELECT * FROM LifecycleStages WHERE CreatedAt > '01/01/2022'
To retrieve LifecycleStages that are in the recycle bin in Pardot the following operation is supported:
GETDELETED FROM LifecycleStages
| Name | Type | References | Description |
| Id [KEY] | Int64 | ID of the lifecycle stage. | |
| Name | String | Pardot ID of this lifecycle stage. | |
| IsDeleted | Boolean | True if the lifecycle stage is in the recycle bin in Pardot. | |
| CreatedAt | Datetime | Creation time of the lifecycle stage. | |
| UpdatedAt | Datetime | Last updated time for the lifecycle stage. | |
| IsLocked | Boolean | When true, lifecycle stage is locked. | |
| Position | Int | Lifcycle stage's position in lifecycle. | |
| MatchType | String | 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 | References | Description |
| Id [KEY] | Int64 | ID of the email. | |
| Name | String | Name of the object for identification in Pardot. | |
| Subject | String | The email subject. | |
| TextMessage | String | The text content of the email. This field is retrieved only when filtering with email id. | |
| HtmlMessage | String | The HTML content of the email. This field is retrieved only when filtering with email id. | |
| CampaignId | Int64 | Pardot campaign related to this object. | |
| IsPaused | Boolean | True if the email send is paused. | |
| IsSent | Boolean | True if the email has been sent. | |
| IsDeleted | Boolean | True if the object is in the recycle bin in Pardot. | |
| CreatedById | Int64 | ID of the individual who created this object. | |
| UpdatedById | Int64 | ID of the individual who last updated this object. | |
| CreatedAt | Datetime | The timestamp of when this object was created. | |
| UpdatedAt | Datetime | The timestamp of when this object was last updated. | |
| ClientType | String | Value is 'Builder' if the email was sent via the Lightning Email Builder. Value is 'Web' if it was sent via the legacy Pardot email builder. | |
| SentAt | Datetime | Time the email was sent. | |
| OperationalEmail | Boolean | True if the email is operational. | |
| EmailTemplateId | Int64 | ID of the email template used for the list email. | |
| TrackerDomainId | Int64 | ID of the tracker domain used for the list email. | |
| SenderOptionsType | String | The sending user type(s). | |
| SenderOptionsAddress | String | The sending email address(s). | |
| SenderOptionsName | String | The name(s) of the sender. | |
| SenderOptionsUserId | String | The user ID(s) of the sender. | |
| ReplyToOptionsType | String | The reply to user type(s). | |
| ReplyToOptionsAddress | String | The sending email address(s). | |
| ReplyToOptionsUserId | String | The user ID(s) of the sender. |
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. |
Query statistical information for a list email, such as the number of clicks, opens, and opt-outs.
| Name | Type | References | Description |
| ListEmailId [KEY] | Int64 | Pardot ID for this list email. | |
| Sent | Integer | Sent status. | |
| Delivered | Integer | Delivered status. | |
| TotalClicks | Integer | Number of total clicks. | |
| UniqueClicks | Integer | Number of 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 | Float | Delivery rate. | |
| OpensRate | Float | Open rate. | |
| ClickThroughRate | Float | Click through rate. | |
| UniqueClickThroughRate | Float | Unique click through rate. | |
| ClickOpenRatio | Float | Click to open ration. | |
| OptOutrate | Float | Opt rate. | |
| SpamComplaintRate | Float | Spam complaint rate. |
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. |
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 tagged objects.
| Name | Type | References | Description |
| Id [KEY] | Int64 | The Pardot ID of the tagged object. | |
| TagId | Int64 |
Tags.Id | The Pardot ID of the tag. |
| ObjectType | String | The type of object associated with the tag. Object type might be: campaign,custom-field,custom-redirect,dynamic-content,email,email=template,file,form-field,form-handler,form,landing-page,layout-template,prospect,user
The allowed values are campaign, custom-field, custom-redirect, dynamic-content, email, email-template, file, form-field, form-handler, form, landing-page, layout-template, prospect, user. | |
| ObjectId | Int64 | The Pardot ID of the object. | |
| ObjectName | String | The name of the tagged object. | |
| CreatedAt | Datetime | The date and time when the tag was added to the object. | |
| CreatedById | Int64 | The ID of the user who added the tag to the 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 | References | Description |
| Id [KEY] | Int64 | Pardot ID for this object. | |
| Domain | String | Hostname to which links using this tracker domain are resolved. | |
| IsPrimary | Boolean | True if the tracker domain is primary tracker domain for the account. Only one tracker domain can be designated as the primary and must be unique across all Pardot accounts. | |
| IsDeleted | Boolean | True if the object is in the recycle bin in Pardot. | |
| DefaultCampaignId | Int64 | The ID of the default campaign for this tracker domain. | |
| HttpsStatus | String | Identify if this tracker domain is using http or https. | |
| SslStatus | String | Status of SSL for this vanity tracker domain. | |
| SslStatusDetails | String | Extra information for the status of SSL for this vanity tracker domain. | |
| SslRequestedById | Int64 | ID of the User who manually requested enabling SSL for this tracker domain. | |
| ValidationStatus | String | The status can be default, validated or not validated | |
| ValidatedAt | Datetime | Time when this tracker domain validation became validated. | |
| VanityUrlStatus | String | Indicates whether this tracker domain can serve vanity urls. | |
| TrackingCode | String | The tracking code for this object encoded as JSON string. A default campaign is required before generating tracking codes as well as enabling first party tracking in account settings. | |
| CreatedAt | Datetime | The timestamp of when this object was created. | |
| UpdatedAt | Datetime | The timestamp of when this object was last updated. | |
| CreatedById | Int64 | ID of the individual who created this object. | |
| UpdatedById | Int64 | 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 | References | Description |
| Id [KEY] | Int64 | Pardot ID for this object. | |
| String | Email address of the user. | ||
| FirstName | String | First name of the user. | |
| Username | String | Formatted as an email address, though distinct from the email field on the user object. | |
| JobTitle | String | Job title of the user. | |
| Role | String | Role of the user. | |
| SalesforceId | String | Salesforce Id of the object. | |
| IsDeleted | Boolean | True if the object is in the recycle bin in Pardot. | |
| CreatedAt | Datetime | The timestamp of when this object was created. | |
| UpdatedAt | Datetime | The timestamp of when this object was last updated. | |
| CreatedById | Int64 | ID of the individual who created this object. | |
| UpdatedById | Int64 | ID of the individual who last updated this object. |
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. |
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
To retrieve VisitorPageViews that are in the recycle bin in Pardot the following operation is supported:
GETDELETED FROM VisitorPageViews
| Name | Type | References | Description |
| Id [KEY] | Int64 | Pardot ID for this visitor page view. | |
| Url | String | The Url of the page. | |
| Title | String | The Title column of the VisitorsPageViews object. | |
| VisitId | Int64 | Pardot ID for this visit. | |
| VisitorId | Int64 | Pardot ID for the associated visitor. | |
| CampaignId | Int64 | Pardot campaign related to this object. | |
| SalesforceId | String | Salesforce Id of the object. | |
| DurationInSeconds | Integer | Length of this page view. | |
| CreatedAt | Datetime | The timestamp of when this object was created. |
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
To retrieve Visits that are in the recycle bin in Pardot the following operation is supported:
GETDELETED FROM Visits
| Name | Type | References | Description |
| Id [KEY] | Int64 | ID of the object. | |
| 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 | The timestamp of when this object was created. | |
| UpdatedAt | Datetime | The timestamp of when this object was last updated. |
Stored procedures are function-like interfaces that extend the functionality of the Sync App beyond simple SELECT/INSERT/UPDATE/DELETE operations with Salesforce Marketing Cloud Account Engagement.
Stored procedures accept a list of parameters, perform their intended function, and then return any relevant response data from Salesforce Marketing Cloud Account Engagement, along with an indication of whether the procedure succeeded or failed.
| Name | Description |
| CreateStudioProgram | Create an Engagement Studio Program using an Engagement Studio Program structure. |
| SendEmail | Send an email to a list of prospects or a single prospect. |
| UpdateBulkActionStatus | Update the status of a bulk action. |
Create an Engagement Studio Program using an Engagement Studio Program structure.
To create an engagement studio program, start by executing a query, for example:
EXECUTE CreateStudioProgram Name='EngagementStudioProgram_Custom', FolderId='33599', FilePath='C:\Users\User\Documents\structure.txt';
| Name | Type | Required | Description |
| Name | String | True | The name of the Engagement Studio Program. |
| FolderId | String | False | The ID of the Folder to store Engagement Studio Program. |
| FilePath | String | False | The path of the Engagement Studio Program Structure. |
| Base64Data | String | False | A string of data that will be used as the full contents of the file. Can be obtained from the output of the DownloadStudioProgram stored procedure. Required if FullPath is not specified. |
| Name | Type | Description |
| Success | String | This value shows whether the operation was successful or not. |
| Id | Int64 | ID of the object. |
| FailureMessage | String | The failure message of unsuccessful operation. |
Download an encrypted and base64 encoded Engagement Studio Program Structure.
To download a studio program, start by executing a query, for example:
EXECUTE DownloadStudioProgram Id='239309';
| Name | Type | Required | Description |
| Id | String | True | The ID of the Engagement Studio Program. |
| FilePath | String | False | The path of the file where you want the results to be written to. |
| Name | Type | Description |
| Success | String | Shows if the download finished successfully. |
| FileData | String | File data that will be outputted if the FileLocation and FileStream inputs are not set. |
| FailureMessage | String | The failure message of unsuccessful operation. |
If using a Windows application, set Authmode to App. If using a Web app, set Authmode to Web and specify the Verifier obtained by GetOAuthAuthorizationUrl.
| Name | Type | Required | Description |
| Authmode | String | False | The type of authentication mode to use. Select App for getting authentication tokens via a desktop app. Select Web for getting authentication tokens via a Web app.
The allowed values are APP, WEB. The default value is APP. |
| Verifier | String | False | The verifier token returned by Salesforce after using the URL obtained with GetOAuthAuthorizationUrl. |
| Scope | String | False | A space-separated scope of permissions you need the app to have access to. The available values are api, chatter_api, full, id, refresh_token, visualforce, and web. For details, refer to: http://help.salesforce.com/help/doc/en/remoteaccess_oauth_scopes.htm. |
| CallbackUrl | String | False | The page to return the Salesforce app after authentication has been completed. |
| Api_Version | String | False | The API version you would like to authenticate to.
The default value is 49.0. |
| State | String | False | Any value that you wish to be sent with the callback. |
| GrantType | String | False | Authorization grant type. Only available for OAuth 2.0. If left unspecified, the default value is the value of the OAuthGrantType connection property.
The allowed values are CODE, PASSWORD. |
| Name | Type | Description |
| Scope | String | The scope of permissions for the app. |
| Instance_Url | String | The instance URL being used by the app. |
| Id | String | The Id associated with the OAuth token. |
| Issued_At | String | When the token was issued at. |
| Signature | String | A signature for the OAuth token. |
| OAuthRefreshToken | String | A token that may be used to obtain a new access token. |
| OAuthAccessToken | String | The OAuth access token. |
| ExpiresIn | String | The remaining lifetime on the access token. A -1 denotes that it will not expire. |
Gets the authorization URL that must be opened separately by the user to grant access to your application. Only needed when developing Web apps.
| Name | Type | Required | Description |
| CallbackUrl | String | False | The page to return the user after authorization is complete. |
| Scope | String | False | A space-separated scope of permissions you need the app to have access to. The available values are api, chatter_api, full, id, refresh_token, visualforce, web. For more details, refer to: http://help.salesforce.com/help/doc/en/remoteaccess_oauth_scopes.htm. |
| Grant_Type | String | False | The type of authorization to be granted for your app. If this is set to code, the stored procedure will return an authorization URL containing the verifier code in a query string parameter, which you will need to submit back with the GetOAuthAccessToken stored procedure. Implicit will cause the OAuth access token to be returned directly in the URL.
The allowed values are Implicit, Code. |
| State | String | False | Any value that you wish to be sent with the callback. |
| Name | Type | Description |
| Url | String | The authorization url. |
Refreshes the OAuth token or session id after the session has expired. Your OAuth application must have the refresh_token scope enabled.
| Name | Type | Required | Description |
| OAuthRefreshToken | String | True | The refresh token returned when the OAuth Token was first created. |
| Name | Type | Description |
| Instance_Url | String | Instance of Salesforce the OAuth token is valid for. |
| OAuthAccessToken | String | The OAuth token. |
| Id | String | Id associated with the OAuth Token. |
| Issued_At | String | When the OAuth Token was issued. |
| Signature | String | Signature of the OAuth Token. |
| ExpiresIn | String | The remaining lifetime on the access token. A -1 denotes that it will not expire. |
Send an email to a list of prospects or a single prospect.
| Name | Type | Required | Description |
| CampaignId | Int64 | True | The ID of the campaign. |
| ProspectId | Int64 | False | The ID of the prospect you're sending the email to. |
| Name | String | True | The name of the object for identification in Account Engagement. |
| RecipientListIds | String | False | An array of IDs of the recipient lists. The email is sent to all users on the specified lists. |
| SuppressionListIds | String | False | An array of IDs of the suppression lists. The email isn’t sent to any user on the suppression lists. |
| EmailTemplateId | Int64 | False | The ID of the email template used for the email. |
| Subject | String | False | The subject of the email. |
| TextMessage | String | False | The text content of the email's message. |
| HtmlMessage | String | False | The HTML content of the email's message. |
| FolderId | Int64 | False | The ID of the folder containing this object. |
| TrackerDomainId | Int64 | False | The ID of the tracker domain used for the email. |
| ScheduledTime | Datetime | False | The ISO 8601 date and time to send the email. |
| IsOperational | Boolean | False | When true, the email is sent to the prospect regardless of opt-out status. Your account must have Operational Email Sending enabled to use this setting. |
| SenderOptions | String | False | An array of the sender options. |
| ReplyToOptions | String | False | An array of the reply to address options. |
| Name | Type | Description |
| Success | Boolean | This value shows a boolean indication of whether the operation was successful or not. |
| Id | Int64 | The ID of the email or list email that was sent. |
Update the status of a bulk action.
| Name | Type | Required | Description |
| Id | Int64 | True | The ID of the bulk action job. |
| Status | String | True | The new status. Ex: Paused, Ready, Cancelled. |
| Name | Type | Description |
| Success | Boolean | Shows whether the batch was added successfully. |
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 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 |
| OAuthClientId | Specifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication. |
| OAuthClientSecret | Specifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.). |
| Property | Description |
| OAuthJWTCert | Supplies the name of the client certificate's JWT Certificate store. |
| OAuthJWTCertType | Identifies the type of key store containing the JWT Certificate. |
| OAuthJWTCertPassword | Provides the password for the OAuth JWT certificate used to access a password-protected certificate store. If the certificate store does not require a password, leave this property blank. |
| OAuthJWTCertSubject | Identifies the subject of the OAuth JWT certificate used to locate a matching certificate in the store. Supports partial matches and the wildcard '*' to select the first certificate. |
| OAuthJWTIssuer | The issuer of the Java Web Token. |
| OAuthJWTSubject | The user subject for which the application is requesting delegated access. |
| Property | Description |
| SSLServerCert | Specifies the certificate to be accepted from the server when connecting using TLS/SSL. |
| Property | Description |
| FirewallType | Specifies the protocol the provider uses to tunnel traffic through a proxy-based firewall. |
| FirewallServer | Identifies the IP address, DNS name, or host name of a proxy used to traverse a firewall and relay user queries to network resources. |
| FirewallPort | Specifies the TCP port to be used for a proxy-based firewall. |
| FirewallUser | Identifies the user ID of the account authenticating to a proxy-based firewall. |
| FirewallPassword | Specifies the password of the user account authenticating to a proxy-based firewall. |
| Property | Description |
| ProxyAutoDetect | Specifies whether the provider checks your system proxy settings for existing proxy server configurations, rather than using a manually specified proxy server. |
| ProxyServer | Identifies the hostname or IP address of the proxy server through which you want to route HTTP traffic. |
| ProxyPort | Identifies the TCP port on your specified proxy server that has been reserved for routing HTTP traffic to and from the client. |
| ProxyAuthScheme | Specifies the authentication method the provider uses when authenticating to the proxy server specified in the ProxyServer connection property. |
| ProxyUser | Provides the username of a user account registered with the proxy server specified in the ProxyServer connection property. |
| ProxyPassword | Specifies the password of the user specified in the ProxyUser connection property. |
| ProxySSLType | Specifies the SSL type to use when connecting to the proxy server specified in the ProxyServer connection property. |
| ProxyExceptions | Specifies a semicolon-separated list of destination hostnames or IPs that are exempt from connecting through the proxy server set in the ProxyServer connection property. |
| Property | Description |
| LogModules | Specifies the core modules to include in the log file. Use a semicolon-separated list of module names. By default, all modules are logged. |
| Property | Description |
| Location | Specifies the location of a directory containing schema files that define tables, views, and stored procedures. Depending on your service's requirements, this may be expressed as either an absolute path or a relative path. |
| BrowsableSchemas | Optional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC . |
| Tables | Optional setting that restricts the tables reported to a subset of all available tables. For example, Tables=TableA,TableB,TableC . |
| Views | Optional setting that 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. |
| IncludeCustomFields | Specifies whether to include custom fields in the metadata for tables that support them. |
| IncludeMessage | Valid only for SalesforcePardotV3 and SalesforcePardotV4. 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 | Specifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY. |
| MaxThreads | Specifies the number of concurrent requests. |
| Other | Specifies advanced connection properties for specialized scenarios. Use this property only under the guidance of our Support team to address specific issues. |
| Pagesize | Specifies the maximum number of records per page the provider returns when requesting data from Salesforce Marketing Cloud Account Engagement. |
| PseudoColumns | Specifies the pseudocolumns to expose as table columns, expressed as a string in the format 'TableName=ColumnName;TableName=ColumnName'. |
| 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. |
| ServerTimeZone | Specifies the timezone used to interpret datetime values returned by the Salesforce Marketing Cloud Account Engagement server. Set this to match the user's configured timezone in Account Engagement. |
| Timeout | Specifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error. |
| UserDefinedViews | Specifies a filepath to a JSON configuration file that defines custom views. The provider automatically detects and uses the views specified in this file. |
| 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 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 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 OAuth properties you can configure in the connection string for this provider.
| Property | Description |
| OAuthClientId | Specifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication. |
| OAuthClientSecret | Specifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.). |
Specifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication.
This property is required in two cases:
(When the driver provides embedded OAuth credentials, this value may already be provided by the Sync App and thus not require manual entry.)
OAuthClientId is generally used alongside other OAuth-related properties such as OAuthClientSecret and OAuthSettingsLocation when configuring an authenticated connection.
OAuthClientId is one of the key connection parameters that need to be set before users can authenticate via OAuth. You can usually find this value in your identity provider’s application registration settings. Look for a field labeled Client ID, Application ID, or Consumer Key.
While the client ID is not considered a confidential value like a client secret, it is still part of your application's identity and should be handled carefully. Avoid exposing it in public repositories or shared configuration files.
For more information on how this property is used when configuring a connection, see Establishing a Connection.
Specifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.).
This property (sometimes called the application secret or consumer secret) is required when using a custom OAuth application in any flow that requires secure client authentication, such as web-based OAuth, service-based connections, or certificate-based authorization flows. It is not required when using an embedded OAuth application.
The client secret is used during the token exchange step of the OAuth flow, when the driver requests an access token from the authorization server. If this value is missing or incorrect, authentication fails with either an invalid_client or an unauthorized_client error.
OAuthClientSecret is one of the key connection parameters that need to be set before users can authenticate via OAuth. You can obtain this value from your identity provider when registering the OAuth application.
Notes:
For more information on how this property is used when configuring a connection, see Establishing a Connection
This section provides a complete list of the JWT OAuth properties you can configure in the connection string for this provider.
| Property | Description |
| OAuthJWTCert | Supplies the name of the client certificate's JWT Certificate store. |
| OAuthJWTCertType | Identifies the type of key store containing the JWT Certificate. |
| OAuthJWTCertPassword | Provides the password for the OAuth JWT certificate used to access a password-protected certificate store. If the certificate store does not require a password, leave this property blank. |
| OAuthJWTCertSubject | Identifies the subject of the OAuth JWT certificate used to locate a matching certificate in the store. Supports partial matches and the wildcard '*' to select the first certificate. |
| OAuthJWTIssuer | The issuer of the Java Web Token. |
| OAuthJWTSubject | The user subject for which the application is requesting delegated access. |
Supplies the name of the client certificate's JWT Certificate store.
The OAuthJWTCertType field specifies the type of the certificate store specified in OAuthJWTCert. If the store is password-protected, use OAuthJWTCertPassword to supply the password..
OAuthJWTCert is used in conjunction with the OAuthJWTCertSubject field in order to specify client certificates. If OAuthJWTCert has a value, and OAuthJWTCertSubject is set, the CData Sync App initiates a search for a certificate. For further information, see OAuthJWTCertSubject.
Designations of certificate stores are platform-dependent.
Notes
Identifies the type of key store containing the JWT Certificate.
| Value | Description | Notes |
| USER | A certificate store owned by the current user. | Only available in Windows. |
| MACHINE | A machine store. | Not available in Java or other non-Windows environments. |
| PFXFILE | A PFX (PKCS12) file containing certificates. | |
| PFXBLOB | A string (base-64-encoded) representing a certificate store in PFX (PKCS12) format. | |
| JKSFILE | A Java key store (JKS) file containing certificates. | Only available in Java. |
| JKSBLOB | A string (base-64-encoded) representing a certificate store in Java key store (JKS) format. | Only available in Java. |
| PEMKEY_FILE | A PEM-encoded file that contains a private key and an optional certificate. | |
| PEMKEY_BLOB | A string (base64-encoded) that contains a private key and an optional certificate. | |
| PUBLIC_KEY_FILE | A file that contains a PEM- or DER-encoded public key certificate. | |
| PUBLIC_KEY_BLOB | A string (base-64-encoded) that contains a PEM- or DER-encoded public key certificate. | |
| SSHPUBLIC_KEY_FILE | A file that contains an SSH-style public key. | |
| SSHPUBLIC_KEY_BLOB | A string (base-64-encoded) that contains an SSH-style public key. | |
| P7BFILE | A PKCS7 file containing certificates. | |
| PPKFILE | A file that contains a PPK (PuTTY Private Key). | |
| XMLFILE | A file that contains a certificate in XML format. | |
| XMLBLOB | Astring that contains a certificate in XML format. | |
| BCFKSFILE | A file that contains an Bouncy Castle keystore. | |
| BCFKSBLOB | A string (base-64-encoded) that contains a Bouncy Castle keystore. |
Provides the password for the OAuth JWT certificate used to access a password-protected certificate store. If the certificate store does not require a password, leave this property blank.
This property specifies the password needed to open a password-protected certificate store. To determine if a password is necessary, refer to the documentation or configuration for your specific certificate store.
Identifies the subject of the OAuth JWT certificate used to locate a matching certificate in the store. Supports partial matches and the wildcard '*' to select the first certificate.
The value of this property is used to locate a matching certificate in the store. The search process works as follows:
You can set the value to '*' to automatically select the first certificate in the store. The certificate subject is a comma-separated list of distinguished name fields and values. For example: CN=www.server.com, OU=test, C=US, [email protected].
Common fields include:
| 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, enclose it in quotes. For example: "O=ACME, Inc.".
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 | Specifies the certificate to be accepted from the server when connecting using TLS/SSL. |
Specifies the certificate to be accepted from the server when connecting using TLS/SSL.
If you are using a TLS/SSL connection, use this property to specify the TLS/SSL certificate to be accepted from the server. If you specify a value for this property, all other certificates that are not trusted by the machine are 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 |
Note: It is possible to use '*' to signify that all certificates should be accepted, but due to security concerns this is not recommended.
This section provides a complete list of the Firewall properties you can configure in the connection string for this provider.
| Property | Description |
| FirewallType | Specifies the protocol the provider uses to tunnel traffic through a proxy-based firewall. |
| FirewallServer | Identifies the IP address, DNS name, or host name of a proxy used to traverse a firewall and relay user queries to network resources. |
| FirewallPort | Specifies the TCP port to be used for a proxy-based firewall. |
| FirewallUser | Identifies the user ID of the account authenticating to a proxy-based firewall. |
| FirewallPassword | Specifies the password of the user account authenticating to a proxy-based firewall. |
Specifies the protocol the provider uses to tunnel traffic through a proxy-based firewall.
A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.
Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.
Note: 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.
The following table provides port number information for each of the supported protocols.
| Protocol | Default Port | Description |
| TUNNEL | 80 | The port where the Sync App opens a connection to Salesforce Marketing Cloud Account Engagement. Traffic flows back and forth via the proxy at this location. |
| SOCKS4 | 1080 | The port where the Sync App opens a connection to Salesforce Marketing Cloud Account Engagement. SOCKS 4 then passes theFirewallUser value to the proxy, which determines whether the connection request should be granted. |
| SOCKS5 | 1080 | The port where the Sync App sends data to Salesforce Marketing Cloud Account Engagement. If the SOCKS 5 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.
Identifies the IP address, DNS name, or host name of a proxy used to traverse a firewall and relay user queries to network resources.
A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.
Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.
Specifies the TCP port to be used for a proxy-based firewall.
A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.
Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.
Identifies the user ID of the account authenticating to a proxy-based firewall.
A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.
Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.
Specifies the password of the user account authenticating to a proxy-based firewall.
A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.
Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.
This section provides a complete list of the Proxy properties you can configure in the connection string for this provider.
| Property | Description |
| ProxyAutoDetect | Specifies whether the provider checks your system proxy settings for existing proxy server configurations, rather than using a manually specified proxy server. |
| ProxyServer | Identifies the hostname or IP address of the proxy server through which you want to route HTTP traffic. |
| ProxyPort | Identifies the TCP port on your specified proxy server that has been reserved for routing HTTP traffic to and from the client. |
| ProxyAuthScheme | Specifies the authentication method the provider uses when authenticating to the proxy server specified in the ProxyServer connection property. |
| ProxyUser | Provides the username of a user account registered with the proxy server specified in the ProxyServer connection property. |
| ProxyPassword | Specifies the password of the user specified in the ProxyUser connection property. |
| ProxySSLType | Specifies the SSL type to use when connecting to the proxy server specified in the ProxyServer connection property. |
| ProxyExceptions | Specifies a semicolon-separated list of destination hostnames or IPs that are exempt from connecting through the proxy server set in the ProxyServer connection property. |
Specifies whether the provider checks your system proxy settings for existing proxy server configurations, rather than using a manually specified proxy server.
When this connection property is set to True, the Sync App checks your system proxy settings for existing proxy server configurations (no need to manually supply proxy server details).
This connection property takes precedence over other proxy settings. If you want to configure the Sync App to connect to a specific proxy server, set ProxyAutoDetect to False.
To connect to an HTTP proxy, see ProxyServer. For other proxies, such as SOCKS or tunneling, see FirewallType.
Identifies the hostname or IP address of the proxy server through which you want to route HTTP traffic.
The Sync App only routes HTTP traffic through the proxy server specified in this connection property when ProxyAutoDetect is set to False.
If ProxyAutoDetect is set to True (the default), the Sync App instead routes HTTP traffic through the proxy server specified in your system proxy settings.
Identifies the TCP port on your specified proxy server that has been reserved for routing HTTP traffic to and from the client.
The Sync App only routes HTTP traffic through the ProxyServer port specified in this connection property when ProxyAutoDetect is set to False.
If ProxyAutoDetect is set to True (the default), the Sync App instead routes HTTP traffic through the proxy server port specified in your system proxy settings.
For other proxy types, see FirewallType.
Specifies the authentication method the provider uses when authenticating to the proxy server specified in the ProxyServer connection property.
Supported authentication types :
For all values other than NONE, you must also set the ProxyUser and ProxyPassword connection properties.
If you need to use another authentication type, such as SOCKS 5 authentication, see FirewallType.
Provides the username of a user account registered with the proxy server specified in the ProxyServer connection property.
The ProxyUser and ProxyPassword connection properties are used to connect and authenticate against the HTTP proxy specified in ProxyServer.
After selecting one of the available authentication types in ProxyAuthScheme, set this property as follows:
| ProxyAuthScheme Value | Value to set for ProxyUser |
| BASIC | The username of a user registered with the proxy server. |
| DIGEST | The username of a user registered with the proxy server. |
| NEGOTIATE | The username of a Windows user who is a valid user in the domain or trusted domain that the proxy server is part of, in the format user@domain or domain\user. |
| NTLM | The username of a Windows user who is a valid user in the domain or trusted domain that the proxy server is part of, in the format user@domain or domain\user. |
| NONE | Do not set the ProxyPassword connection property. |
Note: The Sync App only uses this username if ProxyAutoDetect is set to False. If ProxyAutoDetect is set to True (the default), the Sync App instead uses the username specified in your system proxy settings.
Specifies the password of the user specified in the ProxyUser connection property.
The ProxyUser and ProxyPassword connection properties are used to connect and authenticate against the HTTP proxy specified in ProxyServer.
After selecting one of the available authentication types in ProxyAuthScheme, set this property as follows:
| ProxyAuthScheme Value | Value to set for ProxyPassword |
| BASIC | The password associated with the proxy server user specified in ProxyUser. |
| DIGEST | The password associated with the proxy server user specified in ProxyUser. |
| NEGOTIATE | The password associated with the Windows user account specified in ProxyUser. |
| NTLM | The password associated with the Windows user account specified in ProxyUser. |
| NONE | Do not set the ProxyPassword connection property. |
For SOCKS 5 authentication or tunneling, see FirewallType.
Note: The Sync App only uses this password if ProxyAutoDetect is set to False. If ProxyAutoDetect is set to True (the default), the Sync App instead uses the password specified in your system proxy settings.
Specifies the SSL type to use when connecting to the proxy server specified in the ProxyServer connection property.
This property determines when to use SSL for the connection to the HTTP proxy specified by ProxyServer. You can set this connection property to the following values :
| AUTO | Default setting. If ProxyServer is set to an HTTPS URL, the Sync App uses the TUNNEL option. If ProxyServer is set to an HTTP URL, the component uses the NEVER option. |
| ALWAYS | The connection is always SSL enabled. |
| NEVER | The connection is not SSL enabled. |
| TUNNEL | The connection is made through a tunneling proxy. The proxy server opens a connection to the remote host and traffic flows back and forth through the proxy. |
Specifies a semicolon-separated list of destination hostnames or IPs that are exempt from connecting through the proxy server set in the ProxyServer connection property.
The ProxyServer is used for all addresses, except for addresses defined in this property. Use semicolons to separate entries.
Note: 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, set ProxyAutoDetect to False.
This section provides a complete list of the Logging properties you can configure in the connection string for this provider.
| Property | Description |
| LogModules | Specifies the core modules to include in the log file. Use a semicolon-separated list of module names. By default, all modules are logged. |
Specifies the core modules to include in the log file. Use a semicolon-separated list of module names. By default, all modules are logged.
The Sync App writes details about each operation it performs into the logfile specified by the Logfile connection property.
Each of these logged operations are assigned to a themed category called a module, and each module has a corresponding short code used to labels individual Sync App operations as belonging to that module.
When this connection property is set to a semicolon-separated list of module codes, only operations belonging to the specified modules are written to the logfile. Note that this only affects which operations are logged moving forward and doesn't retroactively alter the existing contents of the logfile. For example: INFO;EXEC;SSL;META;
By default, logged operations from all modules are included.
You can explicitly exclude a module by prefixing it with a "-". For example: -HTTP
To apply filters to submodules, identify them with the syntax <module name>.<submodule name>. For example, the following value causes the Sync App to only log actions belonging to the HTTP module, and further refines it to exclude actions belonging to the Res submodule of the HTTP module: HTTP;-HTTP.Res
Note that the logfile filtering triggered by the Verbosity connection property takes precedence over the filtering imposed by this connection property. This means that operations of a higher verbosity level than the level specified in the Verbosity connection property are not printed in the logfile, even if they belong to one of the modules specified in this connection property.
The available modules and submodules are:
| Module Name | Module Description | Submodules |
| INFO | General Information. Includes the connection string, product version (build number), and initial connection messages. |
|
| EXEC | Query Execution. Includes execution messages for user-written SQL queries, parsed SQL queries, and normalized SQL queries. Success/failure messages for queries and query pages appear here as well. |
|
| HTTP | HTTP protocol messages. Includes HTTP requests/responses (including POST messages), as well as Kerberos related messages. |
|
| WSDL | Messages pertaining to the generation of WSDL/XSD files. | — |
| SSL | SSL certificate messages. |
|
| AUTH | Authentication related failure/success messages. |
|
| SQL | Includes SQL transactions, SQL bulk transfer messages, and SQL result set messages. |
|
| META | Metadata cache and schema messages. |
|
| FUNC | Information related to executing SQL functions. |
|
| TCP | Incoming and outgoing raw bytes on TCP transport layer messages. |
|
| FTP | Messages pertaining to the File Transfer Protocol. |
|
| SFTP | Messages pertaining to the Secure File Transfer Protocol. |
|
| POP | Messages pertaining to data transferred via the Post Office Protocol. |
|
| SMTP | Messages pertaining to data transferred via the Simple Mail Transfer Protocol. |
|
| CORE | Messages relating to various internal product operations not covered by other modules. | — |
| DEMN | Messages related to SQL remoting. | — |
| CLJB | Messages about bulk data uploads (cloud job). |
|
| SRCE | Miscellaneous messages produced by the product that don't belong in any other module. | — |
| TRANCE | Advanced messages concerning low-level product operations. | — |
This section provides a complete list of the Schema properties you can configure in the connection string for this provider.
| Property | Description |
| Location | Specifies the location of a directory containing schema files that define tables, views, and stored procedures. Depending on your service's requirements, this may be expressed as either an absolute path or a relative path. |
| BrowsableSchemas | Optional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC . |
| Tables | Optional setting that restricts the tables reported to a subset of all available tables. For example, Tables=TableA,TableB,TableC . |
| Views | Optional setting that restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC . |
Specifies the location of a directory containing schema files that define tables, views, and stored procedures. Depending on your service's requirements, this may be expressed as either an absolute path or a relative path.
The Location property is only needed if you want to either customize definitions (for example, change a column name, ignore a column, etc.) 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, where %APPDATA% is set to the user's configuration directory:
| Platform | %APPDATA% |
| Windows | The value of the APPDATA environment variable |
| Linux | ~/.config |
Optional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC .
Listing all available database schemas can take extra time, thus degrading performance. Providing a list of schemas in the connection string saves time and improves performance.
Optional setting that restricts the tables reported to a subset of all available tables. For example, Tables=TableA,TableB,TableC .
Listing all available tables from some databases can take extra time, thus degrading performance. Providing a list of tables in the connection string saves time and improves performance.
If there are lots of tables available and you already know which ones you want to work with, you can use this property to restrict your viewing to only those tables. To do this, 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: If you are connecting to a data source with multiple schemas or catalogs, you must specify each table you want to view by its fully qualified name. This avoids ambiguity between tables that may exist in multiple catalogs or schemas.
Optional setting that restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC .
Listing all available views from some databases can take extra time, thus degrading performance. Providing a list of views in the connection string saves time and improves performance.
If there are lots of views available and you already know which ones you want to work with, you can use this property to restrict your viewing to only those views. To do this, 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: If you are connecting to a data source with multiple schemas or catalogs, you must specify each view you want to examine by its fully qualified name. This avoids ambiguity between views that may 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. |
| IncludeCustomFields | Specifies whether to include custom fields in the metadata for tables that support them. |
| IncludeMessage | Valid only for SalesforcePardotV3 and SalesforcePardotV4. 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 | Specifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY. |
| MaxThreads | Specifies the number of concurrent requests. |
| Other | Specifies advanced connection properties for specialized scenarios. Use this property only under the guidance of our Support team to address specific issues. |
| Pagesize | Specifies the maximum number of records per page the provider returns when requesting data from Salesforce Marketing Cloud Account Engagement. |
| PseudoColumns | Specifies the pseudocolumns to expose as table columns, expressed as a string in the format 'TableName=ColumnName;TableName=ColumnName'. |
| 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. |
| ServerTimeZone | Specifies the timezone used to interpret datetime values returned by the Salesforce Marketing Cloud Account Engagement server. Set this to match the user's configured timezone in Account Engagement. |
| Timeout | Specifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error. |
| UserDefinedViews | Specifies a filepath to a JSON configuration file that defines custom views. The provider automatically detects and uses the views specified in this file. |
| 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.
Specifies whether to include custom fields in the metadata for tables that support them.
When set to true (default), custom fields are included in the metadata for tables that support them. Currently, in the SalesforcePardotV5 schema, only primitive custom fields are supported. Custom fields of the following types are not returned: Multi-select, Checkbox, and fields with Records and display multiple responses checked.
Valid only for SalesforcePardotV3 and SalesforcePardotV4. 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.
Specifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY.
The default value for this property, -1, means that no row limit is enforced unless the query explicitly includes a LIMIT clause. (When a query includes a LIMIT clause, the value specified in the query takes precedence over the MaxRows setting.)
Setting MaxRows to a whole number greater than 0 ensures that queries do not return excessively large result sets by default.
This property is useful for optimizing performance and preventing excessive resource consumption when executing queries that could otherwise return very large datasets.
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".
Specifies advanced connection properties for specialized scenarios. Use this property only under the guidance of our Support team to address specific issues.
This property allows advanced users to configure hidden properties for specialized situations, with the advice of our Support team. These settings are not required for normal use cases but can address unique requirements or provide additional functionality. To define multiple properties, use a semicolon-separated list.
Note: It is strongly recommended to set these properties only when advised by the Support team to address specific scenarios or issues.
| Property | Description |
| DefaultColumnSize | Sets the default length of string fields when the data source does not provide column length in the metadata. The default value is 2000. |
| ConvertDateTimeToGMT=True | Converts date-time values to GMT, instead of the local time of the machine. The default value is False (use local time). |
| RecordToFile=filename | Records the underlying socket data transfer to the specified file. |
Specifies the maximum number of records per page the provider returns when requesting data from Salesforce Marketing Cloud Account Engagement.
When processing a query, instead of requesting all of the queried data at once from Salesforce Marketing Cloud Account Engagement, the Sync App can request the queried data in pieces called pages.
This connection property determines the maximum number of results that the Sync App requests per page.
Note: Setting large page sizes may improve overall query execution time, but doing so causes the Sync App to use more memory when executing queries and risks triggering a timeout.
Specifies the pseudocolumns to expose as table columns, expressed as a string in the format 'TableName=ColumnName;TableName=ColumnName'.
This property allows you to define which pseudocolumns the Sync App exposes as table columns.
To specify individual pseudocolumns, use the following format:
Table1=Column1;Table1=Column2;Table2=Column3
To include all pseudocolumns for all tables use:
*=*
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.
Specifies the timezone used to interpret datetime values returned by the Salesforce Marketing Cloud Account Engagement server. Set this to match the user's configured timezone in Account Engagement.
This property applies to the V3 and V4 schemas of Salesforce Marketing Cloud Account Engagement. The Account Engagement server returns datetime fields based on the timezone configured for the authenticated user.
To find this value:
Use the corresponding IANA timezone name (for example, America/Los_Angeles) as the value of this property.
If set to AUTO, the Sync App attempts to detect the correct timezone automatically. If autodetection fails or the wrong timezone is used, datetime values may be offset or misinterpreted.
Specifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error.
The timeout applies to each individual communication with the server rather than the entire query or operation. For example, a query could continue running beyond 60 seconds if each paging call completes within the timeout limit.
Timeout is set to 60 seconds by default. To disable timeouts, set this property to 0.
Disabling the timeout allows operations to run indefinitely until they succeed or fail due to other conditions such as server-side timeouts, network interruptions, or resource limits on the server.
Note: Use this property cautiously to avoid long-running operations that could degrade performance or result in unresponsive behavior.
Specifies a filepath to a JSON configuration file that defines custom views. The provider automatically detects and uses the views specified in this file.
UserDefinedViews allows you to define and manage custom views through a JSON-formatted configuration file called UserDefinedViews.json. These views are automatically recognized by the Sync App and enable you to execute custom SQL queries as if they were standard database views. The JSON file defines each view as a root element with a child element called "query", which contains the SQL query for the view.
For example:
{
"MyView": {
"query": "SELECT * FROM Prospects WHERE MyColumn = 'value'"
},
"MyView2": {
"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
}
}
You can use this property to define multiple views in a single file and specify the filepath.
For example:
UserDefinedViews=C:\Path\To\UserDefinedViews.jsonWhen you specify a view in UserDefinedViews, the Sync App only sees that view.
For further information, see User Defined Views.
The delimiter used for multi-select fields values.
The delimiter used for multi-select fields values.
LZMA from 7Zip LZMA SDK
LZMA SDK is placed in the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original LZMA SDK code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.
LZMA2 from XZ SDK
Version 1.9 and older are in the public domain.
Xamarin.Forms
Xamarin SDK
The MIT License (MIT)
Copyright (c) .NET Foundation Contributors
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
NSIS 3.10
Copyright (C) 1999-2025 Contributors THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
1. DEFINITIONS
"Contribution" means:
a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and b) in the case of each subsequent Contributor:
i) changes to the Program, and
ii) additions to the Program;
where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
"Contributor" means any person or entity that distributes the Program.
"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
"Program" means the Contributions distributed in accordance with this Agreement.
"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
2. GRANT OF RIGHTS
a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
3. REQUIREMENTS
A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
a) it complies with the terms and conditions of this Agreement; and
b) its license agreement:
i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.
When the Program is made available in source code form:
a) it must be made available under this Agreement; and
b) a copy of this Agreement must be included with each copy of the Program.
Contributors may not remove or alter any copyright notices contained within the Program.
Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
4. COMMERCIAL DISTRIBUTION
Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
5. NO WARRANTY
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
6. DISCLAIMER OF LIABILITY
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. GENERAL
If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.