Marketo Output Tool
Use Marketo Output to make a call to the Marketo REST API endpoint: Create/Update Leads. Data is output to Marketo based on the action you select in the configuration.
Important
This tool is not automatically installed with Alteryx Designer. To use this tool, download it from the Alteryx Community.
Configure the Tool
Marketo Credentials
URL: The Marketo REST Instance to retrieve records from. This information is found in Marketo (Admin > Integration > Web Services > REST API).
Client ID: Client ID for the API Role user. This information can be found in Marketo (Admin > Integration > LaunchPoint).
Client Secret: Client Secret for the API Role user. This information can be found in Marketo (Admin > Integration > LaunchPoint).
More information about setting up the web service and user roles for accessing the Marketo REST API can be found on the Marketo REST Documentation site.
Options
Key Field: This dropdown shows the list of fields that you have used as input for the tool. Marketo uses this field to find any duplicate records. If no field is specified, then email is used by default.
If the field 'id' is included in your records, 'id' must be selected as the key field.
Select an Output Action.
Create or Update (default): Based on the key field, create a lead if the lead does not exist, update the lead if it does exist.
Create Duplicate: Create another lead even if it already exists.
Update Only: Update the lead if it already exists, do nothing if it does not.
Create Only: Create a new lead if it does not exist, if it does exist, skip it.
Partition Name: If the Marketo Instance being accessed has partitions set up, they are listed in the dropdown. This field selection is required if the instance being written out to has lead partitions set up. If there are no partitions available, 'Default' is used.
Data Considerations
A summary status of the records submitted is listed as a message in the results window.
Based on the records you submitted, 3 records were skipped, 2 records were created.
Error messaging such as authentication failures, etc. is displayed in the configuration window. Error messaging such as missing configuration selections is shown over the tool in the workflow.
The tool sends records in batches of 300 records or less, each batch counts as a separate API call towards the daily limit set by Marketo. Visit Marketo REST API documentation for information about daily limits. Requests to the REST API do not count towards the SOAP API daily limitations.
You want to make sure to maintain Marketo field structures in Alteryx, before writing back to Marketo to avoid errors. The Marketo connector will convert the data to the proper datatypes before outputting to Marketo as long as the field names are valid. If the field names are not found in Marketo, the output will fail.
Datetime Fields
All dates in Marketo are stored with a UTC offset. This format is comprised of the local time with an appended offset that can be positive or negative. For example, a datetime value in Marketo might look like this, with the date inserted into Marketo is from a timezone that is 6 hours earlier than UTC time (Mountain Daylight Time):
2012-02-28T14:00:00-06:00
Reading Data from Marketo
To make it easier for Alteryx Artisans to work with these datetime values, Alteryx converts the datetime value read from Marketo to a machine local datetime value. This allows Artisans to work with the datetime values in their local times. For example, the datetime value above would look like this in an Alteryx workflow or app, assuming you are also 6 hours earlier than UTC time:
2012-02-28 14:00:00
Or, if you were only 4 hours earlier than UTC, it would be returned to you like this:
2012-02-28 16:00:00
Writing Date to Marketo
When datetime values are written back into Marketo using either an insert or update operation, Alteryx converts the values back to the format that Marketo expects. This is done by calculating the local machine UTC offset and appending that to the end of the datetime value. Alteryx will put a 'T' between the date and time portions of the datetime value as shown in the examples above.
Using the examples above, if a datetime value was written from a timezone with an offset of -6:00, like this:
2012-02-28T14:00:00-06:00
And then later written back to Marketo (unmodified), from a computer with a UTC offset of -4:00 hours, it would be written back into Marketo like this:
2012-02-28T16:00:00-04:00
Both times are identical and represent the same moment in time.