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.
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.
Connect the Integration
To connect the integration, first generate an Apollo API key, then create a webhook in Marketo.
If you already have your Apollo API key, you can skip this step.
Generate an API key
To generate an API key on Apollo:
- Launch Apollo and click Settings > Integrations.
- Click Connect beside API.
- Click Request API Key.
- Apollo generates an API key. Copy your API key (
CTRL + C
on PC orCMD + C
on Mac). Consider pasting the API key to a secure location for use in a later step.
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.
Create a webhook in Marketo
To create a webhook in Marketo:
- Log into Marketo and click Admin > Webhooks.
- Click New webhook.
- Give your webhook a name.
- 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=}}
Remember to replace YOUR_API_KEY
in the URL with your actual Apollo API key.
- For request type, select POST.
- For response type, select JSON.
- When finished, click Save.
Next, set up enrichment field mapping.
Check out Create a Webhook on Marketo Support to learn more about webhook setup.
Set Up Enrichment Field Mapping
Enrichment field mapping helps ensure your contacts are properly mapped across both platforms.
To set up enrichment field mapping:
- In Marketo, click Edit Response Mapping for your webhook.
- Click Add.
- Select the Apollo attribute you want to use.
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 |
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"]
- Select the corresponding field for the Marketo field in Marketo.
- You can add as many fields as necessary. Repeat the process for additional fields.
- When finished, click Save.
You're now ready to trigger the webhook in Marketo.
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.