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 |
|
On Premise | X |
Cloud | X |
Replication Services |
|
Source | |
Target | |
Integration Services |
|
Source | X |
Target | X |
Migration Services |
|
Source | X |
Target | X |
Maps |
|
Integration | X |
Request-Reply | X |
Message |
Note: This Connector is available from the TIBCO Scribe® Online Marketplace. See Marketplace TIBCO Scribe® Certified Connectors for more information.
Supported Entities
The Salesforce Pardot Connector supports the following entities. Select a linked entity name for additional information when using that entity in TIBCO Scribe® Online. 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.
Note: You may need to whitelist some Salesforce IP Addresses. See Installing An On-Premise Agent With Proxy Servers Or Firewalls and Whitelisting Requirements for additional information.
API Limits
The Salesforce Pardot API limits each Salesforce Pardot account to a single API connection. This can cause TIBCO Scribe® Online Solutions to fail if other calls are made to the Salesforce Pardot API using the same account. When running a TIBCO Scribe® Online Solution 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 Solution to fail:
- Running another Solution that connects to Salesforce Pardot using the same account.
- Debugging a Map 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 Map that connects to Salesforce Pardot.
Some options to prevent your Salesforce Pardot Solutions from failing include:
- Upgrading your Salesforce Pardot license to allow multiple connections to the API.
- Purchasing additional Salesforce Pardot licenses.
- Pausing Salesforce Pardot Solutions when you need to do other work that connects to Salesforce Pardot.
- Using a single Solution that contains all of your Salesforce Pardot Maps, so they never execute at the same time.
- Scheduling Solutions 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 Scribe® Online Agents for information on available Agent types and how to select the best Agent for your Solution.
Connecting To Salesforce Pardot
Note: Best practice is to create Connections with credentials that limit permissions in the target system, following the principle of least privilege. Using Administrator level credentials in a Connection provides Administrator level access to the target system for TIBCO Scribe® Online users. Depending on the entities supported, a TIBCO Scribe® Online user could alter user accounts in the target system.
- Select More > Connections from the menu.
- From the Connections page select Add
to open the Add a New Connection dialog.
- Select the Connector from
the drop-down list in the Connection Type field, 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:
- If you are not already logged into Salesforce Pardot, the login page displays. Enter your credentials and log in.
- If this is the first time you are creating a Salesforce Pardot Connection, the Authorization page displays. Select Authorize.
A page with the following message displays:
- 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 Scribe® Online 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 Scribe® Online to reflect these changes. See Resetting Metadata.
Metadata Notes
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 TIBCO Scribe® Online Connector For Salesforce Pardot section for details on specific entities.
Note: For this Connector, only one level of relationship, Parent/Child, is supported for the entity selected in the Query or Fetch Block. For records with multiple levels of relationships, such as Parent, Child, Grandchild, only the selected Parent entity and related Child entities can be retrieved. Additional levels beneath Child entities, such as Grandchildren, cannot be accessed for this Connector using the Include tab. See Block Properties Include Tab — Relational Data.
Salesforce Pardot Connector As IS/MS 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 Scribe® Online 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 Scribe® Online only support one filter. For those Connectors you can use either Net Change or one filter on the Filter tab, not both.
Note: The Net Change date is ignored when previewing data on the Preview tab. Filters on the Block Properties Filters tab are used to filter the data on the Preview tab.
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 IS/MS 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 Solution 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 Scribe® Online 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 PardotREST 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 Scribe® Online.
- 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 Scribe® Online.
- 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 Scribe® Online. It accepts only positive values when updated via the Salesforce Pardot user interface. If negative values are entered using TIBCO Scribe® Online, 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 Scribe® Online 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:
- 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.
Error, the provided prospect_id and prospect_email do not match.
ProspectAccount
- Custom ProspectAccount fields created in Salesforce Pardot can be viewed and accessed in TIBCO Scribe® Online. 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 Solution 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 Scribe® Online. 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 Map 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 Scribe® Online 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 Scribe® Online API Considerations
Configuring a Salesforce Pardot Connection using the TIBCO Scribe® Online API is not supported at this time.
License Agreement
The TIBCO Scribe® Online 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.