Integrate Marketo with Apollo

Article author
Sarah Malone
Updated

Overview

If you use Apollo for data but use Marketo for engagement, you can enrich your existing contacts in Marketo with up-to-date information from Apollo.

The benefits of instant enrichment include:

  • Accuracy: Ensure the data you gather from lead capture forms in Marketo is correct and up-to-date.
  • Streamlined workflow: Remove unnecessary steps when working between Apollo and Marketo.
  • Specificity: Guarantee the leads that best match your ideal customer profile include all the data points that you need to execute your engagement strategy effectively.
  • Instant data fill: The data you enrich from Apollo to Marketo is instant.
 
Enrichment Rate Limit and Cost

Apollo enriches your records at a rate limit of 100 records per minute and 300 records per hour. Each successful enrichment costs 0.01 credits.

Check out the following sections to connect the integration and set up enrichment field mapping to enrich your existing Marketo contacts with Apollo.

Back to Top

Connect the Integration

To connect the integration, first generate an Apollo API key, then create a webhook in Marketo.

 
Skip the Line

If you already have your Apollo API key, you can skip this step.

Generate an API key

To generate an API key on Apollo:

  1. Launch Apollo and click Settings > Integrations.
  2. Click Connect beside API.

Connect API

  1. Click Request API Key.
  2. Apollo generates an API key. Copy your API key (CTRL + C on PC or CMD + C on Mac). Consider pasting the API key to a secure location for use in a later step.
 
API Key Safety

Keep your API key key in a secure place. Anyone with access to the key can take action in your Apollo account.

Next, create a webhook on Marketo.

Back to Top

Create a webhook in Marketo

To create a webhook in Marketo:

    1. Log into Marketo and click Admin > Webhooks.
    2. Click New webhook.
    3. Give your webhook a name.
    4. Copy and paste the following link into the URL field, replacing YOUR_API_KEY with your actual Apollo API key:
https://api.apollo.io/v1/people/match?api_key=YOUR_API_KEY&first_name={{lead.First Name:default=}}&last_name={{lead.Last ame:default=}}&email={{lead.Email Address:default=}}&website_url={{company.Website:default=}}&organization_name={{company.Company Name:default=}}
 
URL Reminder

Remember to replace YOUR_API_KEY in the URL with your actual Apollo API key.

  1. For request type, select POST.
  2. For response type, select JSON.

Response Type_JSON

  1. When finished, click Save.

Next, set up enrichment field mapping.

 
Webhooked?

Check out Create a Webhook on Marketo Support to learn more about webhook setup.

Back to Top

Set Up Enrichment Field Mapping

Enrichment field mapping helps ensure your contacts are properly mapped across both platforms.

To set up enrichment field mapping:

  1. In Marketo, click Edit Response Mapping for your webhook.
  2. Click Add.
  3. Select the Apollo attribute you want to use.
 
No Spaces

If you experience any issues with attributes, double-check that there are no extra spaces before or after each response attribute. Verify before you click Save in Marketo.

You can choose from the following Apollo attributes:

Attribute type Apollo response attribute Description Value format
Contact First Name person.first_name Refers to the contact's first name (if it exists) String
Contact Last Name person.last_name Refers to the contact's last name (if it exists) String
Contact Name person.name Refers to the contact's full name (if it exists) String
LinkedIn Profile person.linkedin_url Refers to the contact's LinkedIn profile String
Facebook Profile person.facebook_url Refers to the contact's Facebook profile String
Twitter Profile person.twitter_url Refers to the contact's Twitter profile String
Job Title person.title Refers to the contact's job title String
City person.city Refers to the current city whereby the contact resides String
State person.state Refers to the current state whereby the contact resides String
Country person.country Refers to the current country whereby the contact resides String
Company Name person.organization.name Refers to the name of the company in which the contact is currently employed String
Company Website person.organization.website_url Refers to the company website (e.g. http://www.google.com) String
AngelList URL person.organization.angellist_url Refers to the company AngelList URL String
Company LinkedIn Profile person.organization.linkedin_url Refers to the company LinkedIn profile String
Company Twitter Profile person.organization.twitter_url Refers to the company Twitter profile String
Company Facebook Profile person.organization.facebook_url Refers to the company Facebook profile String
Company Domain person.organization.domain Refers to the company domain (e.g. google.com) String
Company Headcount person.organization.estimated_num_employees Refers to an estimate of the company size (e.g. 13) Integer
Company Phone Number person.organization.phone Refers to the company's primary phone number String
Alexa Ranking person.organization.alexa_ranking Refers to the Alexa ranking of the company's primary website Integer
Company Languages person.organization.languages Refers to a list of the languages that the company website supports Array of String
Company Logo person.organization.logo_url Refers to the company's logo String
Industry person.organization.industry Refers to the industry in which the company is located String
HQ Address person.organization.raw_address Refers to the raw address of the company's global headquarters String
HQ City person.organization.city Refers to the city in which the company's global headquarters is based String
HQ State person.organization.state Refers to the state in which the company's global headquarters is based String
HQ Country person.organization.country Refers to the country in which the company's global headquarters is based String
Publicly Traded Symbol person.organization.publicly_traded_symbol Refers to the company's ticker symbol, if it is publicly traded (e.g. AAPL for Apple) String
Publicly Traded Exchange person.organization.publicly_traded_exchange Refers to the name of the stock exchange in which the company is listed (e.g. NYSE) String
Company SEO Description person.organization.seo_description Refers to the brief description that the company uses to describe itself for SEO purposes String
Total Funding person.organization.total_funding Refers to the total funding the company has raised in USD (e.g. 120000000) Integer
Latest Funding Round Date person.organization.latest_funding_round_date Refers to the date of the latest funding the company has received, if any (e.g. 2016-05-01T00:00:00.000+00:00) String
Latest Funding Stage person.organization.latest_funding_stage Refers to the stage of the company's latest funding, if any (e.g. Series A) String
Number of Retail Locations person.organization.retail_location_count Refers to the total number of retail locations that the company has Integer
Annual Revenue person.organization.annual_revenue Refers to an estimate of the company's current revenue in USD (e.g. 120000000) Integer
Technology person.organization.technology_names Refers to a list of the technologies that the company currently uses Array of String
 
Value Formats

You don't need to know the value formats in order to set up enrichment field mapping in Marketo. However, if you use the Apollo API regularly, you may want to know what each value format stands for:

  • String: Show a series of characters that correspond to one value. In Apollo API, you need to wrap strings in quotations marks. For example:
    “person.organization.country”: "Brazil"
  • Integer: A single number value. In Apollo API, you shouln't use quotations marks for. For example:
    “person.organization.annual_revenue”: 4000000
  • Array of String: A series of characters that correspond to multiple values. In Apollo API, you need to wrap all arrays of strings in brackets. For example:
    “person.organization.technology_names” : ["Cloudflare DNS", "Mailchimp Mandrill"]
  1. Select the corresponding field for the Marketo field in Marketo.

Marketo Field

  1. You can add as many fields as necessary. Repeat the process for additional fields.
  2. When finished, click Save.

You're now ready to trigger the webhook in Marketo.

 
Enrich Leads, Please

To learn more about how to use your webhook to enrich leads with Marketo's triggers, check out Use a Webhook in a Smart Campaign on the Marketo Knowledge Base.

Back to Top