Artisan IMG > Marketo (marketo) (c383e0e8-7699-47c1-8543-9130b9b0a465)
Artisan IMG > Marketo (marketo) (c383e0e8-7699-47c1-8543-9130b9b0a465)

Marketo
3.0

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

Overview
Copy

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.

API Information
Copy

The Base URL used for the Marketo connector ishttps://developers.marketo.com/rest-api/base-url/ however please note that this is unique to each customer and may change. More information can be found on their main API documentation (v1.0) - Marketo documentation site. This where you can also view their API limitations page.

Authentication
Copy

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
Copy

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
Copy

Rate limiting
Copy

IMPORTANT!: You should always bear in mind the Marketo 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
Copy

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

Get create update lead
Copy

This is essentially an upsert operation.

During the first attempt to fetch the lead information if the lead already exists then the lead will update using the new information. If the lead does not exist then it is created.

Using the Raw HTTP Request ('Universal Operation')
Copy

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 referto the specific value that appears in your Marketo Admin pages, not any that may appear in thisconnector 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.