TIBCO Scribe® Online Connector For Marketo

The TIBCO Scribe® Online Connector for Marketo connections is secured using OAuth 2.0 and supports create, update, delete, query, and upsert operations on Company, Lead, Opportunity, OpportunityRole, SalesPerson, and Custom Objects. The connector also supports queries for Activities, Activity Lists, and Custom Activities. You may also Add and Remove Leads to Lists and configure customized HTTP requests to your Marketo instance.

Refer to TIBCO Scribe® Online Connectors For Marketo for information on when to use the Marketo SOAP Connector and when to use the Marketo Connector.

Connector Specifications

This Connector supports version 1.0 of the REST 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  
Note: This Connector is available from the TIBCO Cloud™ Integration Marketplace. See Marketplace Connectors for more information.

Supported Entities

TIBCO Cloud™ Integration - Connect currently supports the following entities and operations for the Marketo Connector. Select a linked entity name for additional information on using that entity with TIBCO Cloud™ Integration - Connect. For a list of additional operations by entity see Special Operations.

Standard Operations

Entity Query Create
Update Delete Upsert

Activity

X

 

 

 

 

ActivityTypes

X

 

 

 

 

Company

X

X

X X X

Lead

X

X

X

X

X

List

 

 

 

 

 

Opportunity

X

X

X

X

X

OpportunityRole

X

X

X

X

X

SalesPerson

X X X X X

Custom Activities

X

X

 

 

 

Custom Objects

X

X

X

X

X

Special Operations

Entity Operations
List

-Add

-Remove

Request

-Send

-Add

 

Setup Considerations

Marketo Editions

Marketo Spark Edition is not supported.

Marketo User Account

To connect to Marketo via the REST API you must log into Marketo and locate or create the following: 

Creating the Custom Service generates the Client ID and Client Secret used in TIBCO Cloud™ Integration - Connect to configure your Marketo Connection. View the details of the Custom Service to locate the Client Id, and Client Secret.

Note: Refer to the Marketo documentation for detailed instructions on creating an API Only Role, an API Only User, and a Custom Service.
Note: Not all Marketo accounts have default access to the Marketo API. If you do not have API access, contact your Marketo administrator for help.

API Usage Limits

Marketo limits the number of API calls in any 24 hour period and any 20 second window for every organization. Refer to the Marketo REST API documentation for exact limits.

To view the number of API calls your organization has used, log into Marketo and navigate to Admin > Web Services. If the API call limit is exceeded, the API returns an error of code 606.

Note: Refreshing metadata for the Connector consumes API calls.
Note: Do not run multiple apps at the same time using the same Marketo account. This could cause you to exceed the number of API calls permitted in a 20 second window.

Reducing API Usage

When performing an Update or a Delete operation, use the ID or other unique field as the match criteria. If you do not use unique data to match the record being processed, TIBCO Cloud™ Integration - Connect must query the Marketo API more than once to determine which record to Update or Delete. Multiple queries also reduce performance. Refer to Notes On Standard Entities below for a list of unique fields for each entity.

Batch Processing

Best practice is to enable Batch Processing on operation Blocks when using Marketo as a target. This reduces the number of API calls by grouping records into batches before sending them to the API instead of sending each record individually. When using Marketo with Batch Processing, Marketo allows batches of up to 300 records. If you request processing in batches of 3000, TIBCO Cloud™ Integration - Connect creates 10 batches of 300 records each. Batch Processing also improves performance. See Batch Processing.

Selecting An Agent Type For Marketo

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 Marketo

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 Cloud™ Integration - Connect users. Depending on the entities supported, a TIBCO Cloud™ Integration - Connect user could alter user accounts in the target system.
  1. Select Connections from the menu.
  2. From the Connections page select Create to open the Create a connection dialog.
  3. 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.
    • Marketo Identity URL— The complete URL (REST endpoint) for this account. Locate this URL in Marketo under Admin > Integration > Web Services in the REST API section.
    • Client ID — The ID associated with this Marketo Connection. Located on the Marketo Custom Service Details dialog.
    • Client Secret — The secret associated with this Marketo Connection. Located on the Marketo Custom Service Details dialog.
  4. 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.
  5. Select OK/Save to save the Connection.

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.

Query

A filter is required on the Filter tab for all queries on all entities. If no filter is included, an error is generated.

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.

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.

DateTime Fields

Marketo DateTime fields do not include milliseconds. If you are using the Process only records created or updated since last run option when querying the Marketo REST API, TIBCO Cloud™ Integration - Connect may end up reprocessing some records on subsequent executions of a flow, because it begins with the DateTime of the most recent record processed.

Boolean Fields

When using Marketo as a source, if a Boolean is requested but is not returned from the Marketo REST API, TIBCO Cloud™ Integration - Connect assumes that the value is false.

When using Marketo as a target, only True and False, or 1 and 0 are accepted. Using Yes or No causes a fatal error in the app execution.

NULL Values

Filtering on fields that contain NULL values is not supported, nor is sending NULL values for certain fields.

When a flow attempts to filter on a field containing a NULL value, record errors, such as the one shown below, are generated.

Error description: Operation failed. Label: Delete Opportunity, Name: OpportunityDelete_2, Message: ErrorCode:, ErrorMessage:The following exception occured in the Marketo REST connector: Marketo Error Code: 1003, Error Message:Value for requried field 'externalcompanyid' not specified At Line 614 Called by GetMultipleLeads. Current Api Control Rate is: MaximumSpeed.

When a flow attempts to Insert or Update a record into Marketo that contains NULL values, if the field does not accept NULL, record errors are generated. For example, when creating an Opportunity in Marketo , if the name field is set to NULL the following error is generated:

Failed to sync opportunity.

To address this issue, build a formula for the name field to determine whether the field is set to NULL and replace it with a blank, because blank is accepted by the REST API .

IFNULLUSE( Opportunity.name, " " )

Field Descriptions

When working with Marketo entities, associated fields do not display a description in the TIBCO Cloud™ Integration - Connect Fields tab in operation Blocks.

Marketo Connector As An App Source

When using the Marketo Connector as a source, you may encounter the following issues:

Net Change

When querying the Marketo API, records are not returned in order by date. If the Net Change option is enabled on the Query block to return only new and updated records, the Marketo Connector must request all records, sort them by date, and then locate only the new and updated records. This process takes place in memory and affects agent memory requirements. If you are using a Connect on-premise agent and the server where that agent is installed does not have enough memory, it may appear that there is a memory leak due to the volume of records being sorted.

Filters, Match Criteria, Or Lookups

Refer to Notes On Standard Entities for additional filtering information for specific entities.

Relationships

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.

Marketo Connector As An App Target

When using the Marketo Connector as a target, you may encounter the following issues:

Dedupe Fields

Marketo entities can have one or more fields marked as dedupe fields. Dedupe fields are used by Marketo to eliminate duplicate records based on the unique data contained within the field, such as an ID or an email address. Dedupe fields can be used to locate a specific record when using Update, Upsert, or Delete operations. For some entities and operations, dedupe fields or combinations of dedupe fields are required. Refer to the Notes On Standard Entities for additional information on specific entities.

Upsert

The Upsert operation requires the use of dedupe fields to identify and update existing records. If dedupe fields are not used, all records are treated as new records and are created in the target, which could result in duplicates.

Send Operation

Notes On Standard Entities

Activity

Query

ActivityTypes

Company

Lead

Filter, Match Criteria, Or Lookup

List

Use the List entity to add and remove Leads from Marketo Lists.

Opportunity

OpportunityRole

SalesPerson

Custom Objects

TIBCO Cloud™ Integration - Connect API Considerations

To create connections with the TIBCO Cloud™ Integration - Connect API, the Marketo Connector requires the following information:

Connector Name

Marketo

Connector ID

B806E821-BECF-4B43-AC66-1B2E20B9241E

TIBCO Cloud™ Integration - Connect Connection Properties

In addition, this Connector uses the Connection properties shown in the following table.

Note: Connection property names are case-sensitive.
Name Data Type Required Secured Usage

Identityurl

String

Yes

No

 

client_id

String

Yes

No

 

client_secret

String

Yes

Yes

 

License Agreement

The TIBCO End User License Agreement for the Marketo 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.