TIBCO Scribe® Online Connector For Salesforce Pardot
The TIBCO Scribe® Online Connector for Salesforce Pardot allows you to integrate prospect, user, and visitor data from Salesforce Pardot into another datastore.
Connector Specifications
This Connector supports versions 3 and 4 of the Salesforce Pardot API.
Supported | |
---|---|
Agent Types |
|
Connect on-premise | X |
Connect cloud | X |
Data Replication Apps |
|
Source | |
Target | |
On Schedule Apps |
|
Source | X |
Target | X |
On Event Apps |
|
Source | X |
Target | X |
Flows |
|
Integration | X |
Request-Reply | X |
Message |
Supported Entities
The Salesforce Pardot Connector supports the following entities. Select a linked entity name for additional information when using that entity in TIBCO Cloud™ Integration - Connect. For a list of additional operations by entity see Special Operations.
Standard Operations
Entity | Query | Create | Update | Delete | Upsert |
---|---|---|---|---|---|
X |
|
|
|
|
|
X |
|
|
|
|
|
X |
X |
X |
|
|
|
X |
X |
X |
|
|
|
X |
X |
X |
|
X |
|
X |
|
|
|
|
|
X |
|
|
|
|
|
X |
|
|
|
|
|
X |
|
|
|
|
Special Operations
Entity | Operations |
---|---|
ListMembership |
|
Prospect |
|
Request | Send |
Setup Considerations
- Salesforce SSO — The Salesforce Pardot Connector uses your Salesforce SSO credentials and your Pardot Business Unit ID to connect to your Salesforce Pardot account.
- Business Unit ID — To find your Pardot Business Unit ID, go to your Salesforce Setup and search for "Pardot Account Setup". Your Pardot Business Unit ID begins with "0Uv" and is 18 characters long. Note that "0Uv" begins with the number zero not the letter O.
- User Settings — The user you configure for your Salesforce Pardot Connection must have an Administrator User Role for Pardot.
- API Version 3 — If you have a Salesforce Pardot account that still supports API version 3, you can select Version 3 as an option in the Connection dialog. Best practice is to use Salesforce Pardot API version 4.
- API version 4 — This Connector supports Salesforce Pardot API version 4. Ensure that the Allow Multiple Prospects with the Same Email Address option is enabled under your Salesforce Pardot settings.
- Supported Salesforce Pardot Versions — The Connector supports the Premium and Advanced editions of Salesforce Pardot.
API Limits
The Salesforce Pardot API limits each Salesforce Pardot account to a single API connection. This can cause TIBCO Cloud™ Integration - Connect apps to fail if other calls are made to the Salesforce Pardot API using the same account. When running a TIBCO Cloud™ Integration - Connect app that uses a Salesforce Pardot Connection, any one of the following actions also makes a Connection to the Salesforce Pardot API and can cause the running app to fail:
- Running another app that connects to Salesforce Pardot using the same account.
- Debugging a flow that connects to Salesforce Pardot.
- Creating more than one Salesforce Pardot Connection using the same account.
- Selecting OK on the Edit Connection dialog for your Salesforce Pardot Connection.
- Testing the Salesforce Pardot Connection.
- Refreshing metadata for Salesforce Pardot
- Retrieving Metadata for a new flow that connects to Salesforce Pardot.
Some options to prevent your Salesforce Pardot apps from failing include:
- Upgrading your Salesforce Pardot license to allow multiple connections to the API.
- Purchasing additional Salesforce Pardot licenses.
- Pausing Salesforce Pardot apps when you need to do other work that connects to Salesforce Pardot.
- Using a single app that contains all of your Salesforce Pardot flows, so they never execute at the same time.
- Scheduling apps to run at staggered intervals to prevent them from trying to access the API at the same time.
Selecting An Agent Type For Salesforce Pardot
Refer to TIBCO Cloud™ Integration - Connect Agents for information on available agent types and how to select the best agent for your app.
Connecting To Salesforce Pardot
- Select Connections from the menu.
- From the Connections page select Create
to open the Create a connection dialog.
- Select the Connector from
the list to open the Connection dialog, and then enter the following information for this Connection:
- Name — This can be any meaningful name, up to 25 characters.
- Alias — An alias for this Connection name. The alias is generated from the Connection name, and can be up to 25 characters. The Connection alias can include letters, numbers, and underscores. Spaces and special characters are not accepted. You can change the alias. For more information, see Connection Alias.
- API Version — Select the version of the Salesforce Pardot API you want to use. The default is version 4.
- Salesforce Auth URL — Select the authentication URL for either your Salesforce Pardot Sandbox account or your Salesforce Pardot Production account from the drop-down.
- Pardot API URL — Select the Salesforce Pardot Sandbox environment URL used for testing or the Salesforce Pardot Production environment URL for the Salesforce Pardot account that you want to access.
- Pardot Business Unit Id — The Business Unit Id associated with your Salesforce Pardot user account.
Account URL Salesforce Pardot Sandbox
test.salesforce.com
Salesforce Pardot Production
login.salesforce.com
Environment URL Salesforce Pardot Sandbox
pi.demo.pardot.com
Salesforce Pardot Production
pi.pardot.com
Note: You can select the production URL and authenticate using the sandbox URL, which is required in some cases. - Select Authenticate to open the Salesforce Pardot authorization page:
- Select Test to ensure that the agent can connect to your database. Be sure to test the Connection against all agents that use this Connection. See Testing Connections.
- Select OK/Save to save the Connection.
Metadata Notes
- Date and time fields are populated based on the time zone setting configured for the Salesforce Pardot User account used in the TIBCO Cloud™ Integration - Connect Salesforce Pardot Connection configuration.
- Picklist fields are not validated during Create and Update operations. They can be populated with values that are not in the Salesforce Pardot picklist field configuration; but these are not added to the Salesforce Pardot list values.
- Values for Multi-Select Picklist fields displayed in the Query Preview Block and in the Salesforce Pardot User Interface, are not displayed in the ascending or descending sort order specified by the functions in the Formula Editor, such as TOLIST.
- Fields that are type text have a limit of 255 characters. Any text exceeding that limit is truncated.
- Fields that are type textarea have a limit of 65,535 characters. Any text exceeding that limit is truncated.
- When changing field configurations in Salesforce Pardot for either Prospect or Prospect Accounts, reset the metadata in TIBCO Cloud™ Integration - Connect to reflect these changes. See Resetting Metadata.
Naming
Connection metadata must have unique entity, relationship, and field names. If your Connection metadata has duplicate names, review the source system to determine if the duplicates can be renamed.
Relationships
- Hierarchical relationships, such as grandparent, parent, grandchild relationships are not supported. See Hierarchical Data for examples.
- Parent/Child relationships are supported where noted for some entities. Review the Notes On Standard Entities section for details on specific entities.
Salesforce Pardot Connector As An App Source
When a datetime is configured on the Query block on the Block Properties Net Change Tab to query for new and updated records, that configuration is treated as an additional filter. The Net Change datetime filter is applied as an AND after any other filters specified on the Block Properties Filter Tab. TIBCO Cloud™ Integration - Connect builds a query combining both the Net Change filter and the filters on the Filter tab. See Net Change And Filters for an example.
Some Connectors for TIBCO Cloud™ Integration - Connect only support one filter. For those Connectors you can use either Net Change or one filter on the Filter tab, not both.
Filtering And Lookup
- Only AND operations are supported. OR operations are not supported.
- Some fields, such as prospect_id, can be filtered as an array of ID's separated by commas.
- The following comparison operators are not supported:
- not equal
- like
- not like
Salesforce Pardot Connector As An App Target
Match Criteria For Update/Delete
- Only AND operations are supported. OR operations are not supported.
- Some fields, such as prospect_id, can be filtered as as array of ID's separated by commas.
- The following comparison operators are not supported:
- not equal
- like
- not like
Add And Remove Target Operations
- Add and Remove Blocks are available for the ListMembership entity.
- Add — Both list_id and prospect_id fields are required.
- Remove —
- Matching criteria requires either both list_id and prospect_id fields or just id.
- Only accepts AND for multiple criteria not OR.
- A Remove can only be done if match criteria returns a single record. If multiple records are returned, nothing is deleted.
Assign And Unassign Target Operations
- Assign and Unassign Blocks are available to assign a Prospect to a Salesforce Pardot user or remove an existing assignment. Both operations use a virtual entity called ProspectAssignment.
- For Assign operations:
- One and only one of these fields is required: group_id, user_email, or user_id. Prospects are assigned to a group of users based on a group_id or to a specific user by providing user_email or user_id.
- If a group contains no users, assigning a Prospect to the group fails.
- If a group has only one user and you assign a Prospect to that group, the Prospect is assigned to the single user and not the group.
- If a group has multiple users, the Prospect is assigned to the first user in the group. Re-running the app reassigns the Prospect to the next user in the group.
- Using only prospect_email without prospect_id to identify the appropriate Prospect generates an error.
- One and only one of these fields is required: group_id, user_email, or user_id. Prospects are assigned to a group of users based on a group_id or to a specific user by providing user_email or user_id.
- For Unassign operations only the id field is required. If both email and id are provided, id takes precedence.
- When Unassigning a Prospect that is assigned to a group, if any user_id is provided instead of the group_id, the Prospect is unassigned from the group.
Upsert Target Operations
- Upsert Block is available for the Prospect entity.
- If only email is used as the Match Criteria, Upsert always creates a new Prospect.
- Use prospect_id as the external id for Upserts, with email as a required field for records that do not match on this external id.
- If campaign_id is not provided the Prospect is set to the default campaign of Website.
Batch Processing
Batch processing is not supported with this TIBCO Cloud™ Integration - Connect Connector.
Send Operation
-
The Send operation is used to make API calls to the Salesforce Pardot API. It can be used to support custom calls to the Salesforce Pardot REST APIs.
-
The Send Block supports the Request entity used to build the HTTP calls to the API.
-
The Send Block works in conjunction with the Add Block to include Headers, Cookies, or Query Parameters.
-
The Send and Add operations support the use of the following variables or tokens to make configuring customized API calls easy and robust:
Name Example Value [authToken] 00D4x000006qMWk…….yto [endpointUrl] https://pi.pardot.com [organizationId] 0Uv8x000000CZLxCAO
- authToken — The Connector derives the value of the [authToken] variable from the authentication token configured in the Connection. This token is used to perform the POST, GET, and any other HTTPVerb calls using the Request entity. Note: The [authToken] must be provided in the Request Header for any HTTP request.Note: If the Authorization Token is provided explicitly, instead of using the [authToken] variable, and the token is refreshed, an error similar to the following is generated:
Operation failed. Label: Send Request, Name: RequestSend, Message: Forbidden: Error in calling Operation Send Http call failed with StatusCode 403 - Forbidden. Response Body: Bad_OAuth_Token.
- endpointUrl — The Connector derives the value of the [endpointUrl] from the Salesforce Pardot Organization associated with the Connection configuration. This is the Custom Domain URL for your Salesforce Pardot organization. Use the [endpointUrl] to construct the Uri for the Send block. Note that the value of the variable includes https://. For example, the value of endpointUrl is https//pi.pardot.com when connected to your Salesforce Pardot production organization.Note: You can provide [endpointUrl] in the Uri field of the Request Entity.
- organizationId — The Connector derives the value of the [organizationId] from the Salesforce Pardot organization associated with the Connection configuration. This is the Id of your Salesforce Pardot organization. [organizationId] is used wherever the organizationId is specified as a parameter in the Salesforce Pardot API documentation. Note: You can provide [organizationId] in the Request.Headers or in the Uri field of the Request Entity.
- authToken — The Connector derives the value of the [authToken] variable from the authentication token configured in the Connection. This token is used to perform the POST, GET, and any other HTTPVerb calls using the Request entity.
- The Send block, the Add block, and the Request entity are based on the functionality in the HTTP Connector. For more details see the HTTP Connector help.
Notes On Standard Entities
List
- The Label and Descriptions fields are NULL if the Public list checkbox is not enabled on the list in Salesforce Pardot.
- The Label field is shown as Label in the Salesforce Pardot user interface but shows as Title in the API and in TIBCO Cloud™ Integration - Connect.
- The is_crm_visible field can be populated if the user has a verified CRM Connection, otherwise this field is set to false.
- Enabled or disabled settings for the Email Test List and Dynamic List check boxes that display on the Create List screen in Salesforce Pardot are not available in TIBCO Cloud™ Integration - Connect.
- Use the created_at or updated_at fields when limiting record processing to changed records only.
- Filter, Match Criteria, Or Lookup
- Equals is the only valid operator for the name field.
ListMembership
- deleted — Field defaults to false. Prospect records are not deleted from the data, just marked as deleted.
- id — ID generated by Salesforce Pardot when a new Prospect is added to the list.
- Use the created_at or updated_at fields when limiting record processing to changed records only.
- Dynamic lists are not supported.
- Filter, Match Criteria, Or Lookup
- If the deleted field is not used in a filter, only active Prospects where deleted = false are returned. This field does not display in the Query Preview tab. See Block Properties — Preview Tab.
Opportunity
- The value field accepts both positive and negative numbers when updated via TIBCO Cloud™ Integration - Connect. It accepts only positive values when updated via the Salesforce Pardot user interface. If negative values are entered using TIBCO Cloud™ Integration - Connect, these values display in parentheses when shown in the Salesforce Pardot user interface.
- The probability field displays or passes decimal values, but displays these as rounded up whole numbers in the Salesforce Pardot user interface.
- The status field values display as Won, Lost, or Created in the Salesforce Pardot user interface. When retrieved through the API and displayed in TIBCO Cloud™ Integration - Connect these values are shown as Won, Lost, or Opened.
- If Dynamics CRM or Salesforce has been integrated with Salesforce Pardot, data in the Opportunity entity can be read but not modified.
- Filter, Match Criteria, Or Lookup
- Equals is the only valid operator for the prospect_email field.
- Using the prospect_email field returns or matches all Prospects that share that email address. Use prospect_id to return or match a single Prospect.
- When using probability and score as filter fields, use the TODECIMAL conversion function
- The status and campaign fields cannot be used in filters.
- Query — Use the created_at field on the Query Block Net Change tab when limiting record processing to changed records only.
- Create —
- If the status field is blank or invalid data is provided, it defaults to Created.
- Creating an Opportunity using the prospect_email field requires an existing Prospect record with that email address. If there is more than one Prospect record with the same email address, the Prospect with the most recent activity date is used. To add an Opportunity to a specific Prospect, use prospect_id as your Match Criteria.
- Update —
- If you provide both prospect_email and prospect_id, the data for those fields must correspond to the same Prospect or the following error message is displayed:
Error, the provided prospect_id and prospect_email do not match.
- The prospect_email and prospect_id fields are not updated in the Salesforce Pardot database when an Opportunity is updated.
- If an invalid campaign_id is provided, the campaign_id currently in the record is kept.
ProspectAccount
- Custom ProspectAccount fields created in Salesforce Pardot can be viewed and accessed in TIBCO Cloud™ Integration - Connect. Only, text, textarea, date, and number data types are recognized. All other Salesforce Pardot data types, checkbox, drop-down, multi-select, and radio, are treated as text fields. Note: Validation is not supported for values in custom ProspectAccount fields. Any value entered is accepted by the Salesforce Pardot API.
- Duplicate data in the name field is accepted. The records are given different ids. No data in the name field is also accepted,
- No data in the name field is accepted. However, this value has to be provided when editing that account record in Salesforce Pardot.
- Data in the id field is ignored for Update and Insert operations. This field is system generated and cannot be modified.
- Use the created_at or updated_at fields when limiting record processing to changed records only.
- assigned_to —
- Field is populated with the user's email for Query operations.
- For Update or Insert operations either the id or email is accepted.
- If data sent to this field is invalid, the account is created but the assigned_to field remains blank and the following error message is generated when the app executes.
The ProspectAccount was successfully created or updated but the user cannot be assigned to the ProspectAccount. Invalid user email address.
- Filter, Match Criteria, Or Lookup
- Equals is the only valid operator for the name field.
Prospect
- Custom Prospect fields created in Salesforce Pardot can be viewed and accessed in TIBCO Cloud™ Integration - Connect. Only, text, textarea, date, and number data types are recognized. All other Salesforce Pardot data types, checkbox, drop-down, multi-select, and radio, are treated as text fields. Note: Validation is not supported for values in custom Prospect fields. Any value entered is accepted by the Salesforce Pardot API.
- When a list is deleted from a Prospect, the updated date of the Prospect record is modified. These Prospect records are included the next time a flow is executed that is configured to only process entities that have been updated since the last run.
- opted_out — Always set to false as default. Map with a value of 1 (not True) when setting or updating this field.
- is_ — Fields with is_ as a prefix display as type String in the Query Preview tab but they are type boolean. If an incorrect data type is sent, these fields default to false.
- The following fields in the Prospect entity are search only or read only fields due to Salesforce Pardot API limitations:
- assigned
- deleted
- last_activity_never
- list_id
- new
- Filter, Match Criteria, Or Lookup
- Equals is the only valid operator for the following fields: assigned_to, grade, is_starred, scored, and last_activity_never.
- For the last_activity_never field True is the only valid value and it returns Prospects that have never been active.
- Using the email field returns or matches all Prospects that share that email address. Use prospect_id to return or match a single Prospect.
- Query — Use the created_at, last_activity_at, or updated_at fields on the Query Block Net Change tab when limiting record processing to changed records only.
- Create —
- Using the email field to create a Prospect creates a new Prospect record even if the email is already associated with an existing Prospect record.
- When creating a Prospect with the same email as a previously deleted prospect, the latter is restored as per Salesforce Pardot behavior. Refer to the Salesforce Pardot web site for additional information. http://www.pardot.com/faqs/administration/recycle-bin/
User
- The account field is the account number associated with your organization within Salesforce Pardot. The data in this field is the same for each user listed in the Query.
- The job_title field is not required but the contents vary depending on how the user was added to Salesforce Pardot. If the user was added manually, this field displays either the value entered or blank. If the user was added by importing a list of users from a CSV file and the field in the CSV file was empty, then NULL displays.
- Salesforce Pardot user roles do not limit access to any data except User records. Users with the Sales Role can only view their own user records. All other roles can see the complete set of user data.
- Use the created_at field when limiting record processing to changed records only.
Visit
- Does not support limiting record processing to changed records only.
- Supports Parent/Child relationships.
- Filter, Match Criteria, Or Lookup
- Equals is the only valid operator for the following fields: prospect_ids, ids, and visitor_ids.
- Filters can be an array of IDs, separated by commas. Range of IDs is not supported.
- The ids field represents the ID of the visit record.
VisitorActivity
- Each activity type has a set of associated fields within the VisitorActivity entity. When an activity is stored in the database, fields associated with that activity contain data. Fields for other activities types are set to NULL. For example, if the activity recorded is Visit, then landing_page_id contains data but form_id is set to NULL because it is not associated with Visit.
- Use the created_at field when limiting record processing to changed records only.
- The Opportunity Linked activity displays as Associated Opportunity in the Salesforce Pardot user interface.
- Some activity types are returned as blank when queried, namely: 18-Opportunity reopened, 15-Email preference page, 12-Unsubscribe page, 16-Resubscribe!
- Some activities display only when associated integration connectors are installed, such as the Salesforce Pardot Olark Chat or Webinar connectors.
- Filter, Match Criteria, Or Lookup
- Equals is the only valid operator for the following fields: prospect_ids, and type.
- The prospect_only field values can be true or false.
- The type field is the visitor activity type number. Check the Info icon
on the TIBCO Cloud™ Integration - Connect Block Properties Preview tab or the Block Properties Fields tab for a list of Salesforce Pardot activity types.
When filtering by type with more than one type id, use the TOSTRING function in the formula editor to enter the values as shown in the following example:
TOSTRING("2,20,4")
If not converted to a string, only the records with the lowest type id are returned.
Visitor
- Use the created_at or updated_at fields when limiting record processing to changed records only.
- Filter, Match Criteria, Or Lookup
- Requires at least one filter field.
- Equals is the only valid operator for the only_identified field.
- Filters for prospect_id can be an array of IDs, separated by commas. Range of IDs is not supported.
- Filtering for a prospect_id of 0 returns no records even when records with a prospect_id of 0 exist.
- The only_identified field values can be true or false. If not used in filter, returns only Visitors where only_identified=true.
Note: You may need to set this filter to false to return Visitor records.
TIBCO Cloud™ Integration - Connect API Considerations
Configuring a Salesforce Pardot Connection using the TIBCO Cloud™ Integration - Connect API is not supported at this time.
License Agreement
The TIBCO End User License Agreement for the Salesforce Pardot Connector describes TIBCO and your legal obligations and requirements. TIBCO suggests that you read the End User License Agreement.
More Information
For additional information on this Connector, refer to the Knowledge Base and Discussions in the TIBCO Community.