Use Marketo as a data source

Resources

Data Source Type: REST/URL
Format of URL Endpoint: https://{subdomain}.mktorest.com/rest

To query json data, use the following query syntax:
https://{subdomain}.mktorest/com/rest/v1/lead/1.json
Replace {subdomain} with your subdomain name.
API Documentation: Quick Start Guide for Marketo REST API

List of available endpoints

List of error codes
API Limits 10,000 API calls per day per Client ID. For example, if pulling back multiple pages, each page is considered a separate call.

100 calls per 20 second window.

1 MB per API call.

300 records per page.
Important notes
  • Because of Marketo API call limits, always set your refresh rate in Klipfolio to 15 minutes or more.
  • Currently, Klipfolio is not able to connect to Marketo email marketing data.
  • Klipfolio’s email attachment connector does not work for excel files downloaded from Marketo. Marketo uses non-standard CSV files that are not recognized by Klipfolio.

 

The Klipfolio-Marketo integration currently relies on the ability to pull Static Lists into Klipfolio. By using this method, you can leverage Marketo’s rich list of fields associated with lead records to create dashboards.

Defining your approach

Due to limitations with Marketo’s API, you will only be able to pull in static lists that contain less than 30,000 leads. However, for most organizations, this still allows you to create real-time, monitoring dashboards. Here are some suggested approaches:

  • Leads created today
  • Leads created past 7 days
  • Leads created past 30 days
  • Leads created by a campaign
  • Leads by a specific revenue stage (eg: leads with an opportunity)

For larger lists, consider using Klipfolio’s Salesforce integration.

Currently, Klipfolio is not able to connect to Marketo email marketing data.

Step-by-Step

Creating a Marketo Data Source

To create a Marketo data source, you will need to complete the following steps:

  1. Set up Klipfolio as a LaunchPoint Service (you will only need to do this once).
  2. Create static lists in Marketo to report on.
  3. Create a data source in Klipfolio.
  4. Modify the API request to retrieve additional fields.

1. Set up Klipfolio as a LaunchPoint Service

You will only need to complete this task once in order to create your LaunchPoint Client ID and LaunchPoint Client Secret. These two values are required each time you create a Marketo data source in Klipfolio.

1. In Marketo, go to Admin tool.
2. Click the LaunchPoint icon.
3. Click the New Service option.
4. Fill out the options:
  • At Display Name, enter Klipfolio.
  • At Service, select Custom.
  • Add a helpful Description.
  • Select your chosed API Only User (you create API Only Users ahead of time - Learn more).
This will create a Launchpoint Client ID and Client Secret.
You will need to refer to the ID and Secret each time you create a new Marketo data source in Klipfolio.

2. Create static lists in Marketo

Static Lists are containers within Marketo that ‘house’ leads that have been assigned to that list. Unlike Smart Lists, Static Lists are not dynamic. Therefore, you will need to set up a program that controls when leads are added and removed from a Static List.

From an organizational perspective, it’s easier to create separate folders and programs to house lists categorically. For this example, we will use a program to house all lists that segment leads that were created today. Similarly, you could look at leads from different time periods or from a specific program.

Navigate to Marketing Activities.
Navigate to a folder where you run data or operational tasks. In our example, the Operational folder under Marketing Activities.
Create a new folder called Klipfolio.
Create a New Program. This prompts the New Program Dialog.
Provide a name for the program. For example, name this program Leads This Month and use the program to house all lists that capture daily leads.

From the Channel dropdown menu, select Operational.

Click Create.
Create a New Local Asset
Create a new Static List.
Name the List KD.Today’s Leads.

Click Create.
Create a New Smart Campaign.
Name the Smart Campaign 01-Add to List.

Click Create.
Edit Smart Campaign, 01-Add to List.

Open the Smart List.
Select the trigger, Lead is Created.
Check off the constraint Date of Activity.
From first Date of Activity drop down, select in time frame.

From second Date of Activity drop down, select Today.
Open the Flow tab.

Select flow step, Add to List.
In List Name field, enter KD.Leads This Month.
Open the Schedule tab.

Click Activate.
Create a New Smart Campaign.
Name the Smart Campaign 02-Remove from List.

Click Create.
Edit Smart Campaign, 02-Remove from List.

Open the Smart List.
Select the filter, Lead was Created.
Add the constraint Date of Activity.

From the first Date of Activity drop down, select in time frame.

From the second Date of Activity drop down, select Last Month.
Select the filter Member of List.
In List Name field, enter the list name KD.Leads This Month.
Open the Flow tab.

Select flow step Remove from List.
In List Name field, enter the list name KD.Leads This Month.
Open the Schedule tab.

Select the Schedule Recurrence option.
Set the schedule to recur Monthly at 12:00AM on the 1st day of each month.

3. Create a data source in Klipfolio

To create a data source in Klipfolio, you will complete the following steps:

  1. Find your Launch Point Client ID & LaunchPoint Client Secret
  2. Find your REST API Identity URL & REST API Endpoint URL
  3. Find the unique ID for your Static List
  4. Submit the query in Klipfolio Dashboard

Finding your Launch Point Client ID & LaunchPoint Client Secret

In Marketo, navigate to the Admin section.
Select LaunchPoint from navigation menu.
Find Klipfolio under Installed Services.

Click View Details.
The dialog that pops up will give you values for both the Launch Point Client ID and the LaunchPoint Client Secret.

Copy these values to a location that is easily accessible.

Finding your REST API Identity URL and REST API Endpoint URL

In Marketo, navigate to the Admin section.
Select Web Services from the navigation menu.
In the REST API section, you will find the values for both REST API Identity URL and the REST API Endpoint URL.

Copy these values to a location that is easily accessible.

Finding the unique ID for your Static List

In Marketo, navigate to the Marketing Activities section.

Search for your Klipfolio folder.

Select the static list you’d like to use in Klipfolio.
To find the unique ID for your list, view the URL presented in your browser’s address bar. The ID will be the 4 numeric digits that are presented immediately after the letters ST. This value may appear as follows:
https://app-ab11.marketo.com/#ST2172B2LA1
Copy this value to a location that is easily accessible.

Submitting the query in Klipfolio 

  1. Open Klipfolio.
  2. Click Data Sources in the left navigation bar.

If you don’t see the above option, go to the bottom of the left navigation sidebar and click your Account Name > Data Sources instead.

  1. Click Create a new Data Source.
  2. Select Marketo from the list of services.
  3. Enter the appropriate values in the text fields provided.
  4. For the REST Request URL, modify the URL so it appears similar to the following example:
    https://614-OQV-361.mktorest.com/rest/v1/list/1234/leads.json. Note: It’s important to modify the query to include the version information (v1/list), as well as to specify the unique ID of the list, the type of asset being called, and the format to return the data (1234/leads.json).
  5. Add the appropriate fields to your query. For example,
    https://614-OQV-361.mktorest.com/rest/v1/list/2269/leads.json?fields=firstname,lastname,email,leadScore
  6. Click Get data.
  7. The request should return results within 60 seconds. By default, the list will return the following fields:
    • ID
    • updatedAT
    • lastName
    • email
    • createdAt
    • firstName
      You can modify these fields by following the instructions in step 4.
  8. Ensure this is the data you’re looking for. If you’re using Klips, optionally select the checkbox to Model your data. If you’re using PowerMetrics, which requires modelled data sources, you’ll automatically enter the modeller after clicking Continue. Learn more about modelling data sources.
  9. Click Continue.
  10. Name, choose refresh settings, and, optionally, share your data source.
  11. Click Save.

4. Modifying the query in Klipfolio

By modifying the request URL, you can retrieve additional information about lead records in your query. For instance, you may wish to retrieve data points such as Lead Source, Lead Score, Lifecycle Status, and other custom fields.

This section will detail how to set up the Request URL to accept additional fields, and how to determine what fields are available to your organization via the Marketo API.

Setting the Request URL to accept additional fields

  • After the text .json, add the following text:
    ?fields=
    This parameter will allow you to enter additional fields into the query.

Determining which fields are available to your organization

Each organization has its own list of unique Marketo fields associated with lead records. Here’s how to retrieve that list and to add those fields to your URL request.

  1. Navigate to the Admin section of Marketo.
  2. Select the Field Management option from the navigation menu.
  3. Click the Export Field Names option in the Fields menu. You will download an Excel file with a list of all fields available.
  4. Select values from the 1st column to modify your Request URL.
  5. To build a custom Request URL, append fields to the URL in the following format: ?fields=leadSource,leadScore,email,inferredCountry
  6. Submit the query.
 
Have more questions? Submit a request