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.
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':
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:
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
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
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.