Connectors / Service / Marketo

Marketo

Marketo

Marketing automation software to help marketers master the art & science of digital marketing to engage customers and prospects

Overview

The Tray.io connector for Marketo puts the whole of the Marketo API at your fingertips. Save leads directly into Marketo, export data to other Cloud Services, and interact with campaign & custom field data - in real-time.

Authentication

Click "Add Authentication" in the properties panel on the right.

You will need the following credentials on hand in order to authenticate your account with Tray.io: 'API Endpoint Domain', 'Client ID' and 'Client Secret'.

IMPORTANT!: Please be aware that it is mandatory to include https:// at the beginning of the auth input, when filling in the 'API Endpoint Domain' field. Without this, your authentication will fail.

Once authenticated, you can interact with your Marketo instance using the Tray.io platform.

Note on using Marketo Webhooks

If you are using a webhook (set up in the Marketo Admin interface) and wish email addresses containing a + symbol to be processed (e.g. john.smith+182374@example.com), you need to change the Request Token Encoding from 'None' to 'Form/Url':

Note on Operations usage

Rate limiting

IMPORTANT!: You should always bear in mind theMarketo Integration Best Practices, in particular the API Limits.

Each API-enabled instance of Marketo has a daily allocation of at least 10,000 REST API calls per day, but more commonly 50,000 or more (which resets daily at 12:00AM CST). Note that you can increase your daily quota through your account manager.*

Each Marketo instance has a rate limit of 100 calls per 20 seconds.

USER TIP: It is best practice to eliminate redundant calls, by using theBulk... operations rather than the corresponding single record/result Get...operations, whenever possible.

Bulk API Endpoints

For the purposes of the 'Raw HTTP request' operation, it is important to note that Bulk API endpoints are not prefixed with '/rest' like other endpoints.

If there is a Bulk API endpoint you wish to use, that does not yet have an associated operation, you can use the Raw HTTP request operation to utilise it.

To do so, you will need to select 'Full URL' from the 'URL' parameter drop-down of the 'Raw HTTP request' operation and specify the complete URL.

For example:

  1. Within the Marketo API documentation, the endpoint for polling the job status of a Program Member export is given as:

GET /bulk/v1/program/members/export/${exportId}/status.json

  1. You would append this to the first part of the Endpoint URL (from your Marketo Web Services Admin page) to specify the Full URL: Note the omission of /rest from the Endpoint URL

https://123-ABC-456.mktorest.com/bulk/v1/program/members/export/${exportId}/status.json

Using the Raw HTTP Request ('Universal Operation')

As of version 2.17, it is now possible to effectively create your own operations.

This is a very powerful feature which you can put to use when there is an endpoint in Marketo which is not used by any of our operations.

To use this you will first need to research the endpoint in the

Marketo API documentation v1.0, to _find the exact format_ that Marketo will be expecting the endpoint to be passed in.
IMPORTANT!: While using the docs is encouraged for research purposes, note that you should refer to the specific value that appears in your Marketo Admin pages, not any that may appear in this connector documentation which is given as they are only examples.

To find your endpoint through your Marketo Admin pages, log into your Marketo account, click on 'Admin', and then going into the Integration block click 'Web Services'.

In the REST API section you will find your Endpoint URL.

{' '}


Your Endpoint URL will also show the base URL that you will need for your 'Raw HTTP request' operation.

Base URL for Marketo: https://${your-base-url}.mktorest.com

For example:

If your Endpoint URL was shown as:

https://123-ABC-456.mktorest.com/rest

Then the base URL that you would use in the Raw HTTP Request operation would be the same (minus the endpoint itself): Note the omission of /rest from the Endpoint URL.

https://123-ABC-456.mktorest.com

You will then only need to add the suffix to the endpoint, as the base url will be automatically set (the base url is picked up from the value you entered when you created your authentication).

For example, say that the 'List program leads' operation did not exist in our Marketo connector, and you wanted to use this endpoint, you would use the

Marketo API documentation v1.0 to find that the 'List programs' endpoint is a GET request at the following url:

Endpoint: /v1/leads/programs/${programId}.json
(Note the omission of /rest once more.)

Notice that you will also need the id of the Program for which you would like to list leads.

So if you know what your programId and the 'List programs' endpoint is, you can get the details you need with the following settings:

Method: GET

Endpoint: /v1/leads/programs/${programId}.json

Example 'programId': 1003

Final Outcome: /v1/leads/programs/1003.json

As a result, this will return a listing of program leads for the program identified as ID: 1003, as requested.

All Operations

Latest version:

2.23