Follow

The Datanyze Webhook in Marketo

Using the Datanyze API and Marketo’s webhook functionality, you can quickly leverage Datanyze’s technographic and firmographic data to enrich leads within your marketing automation platform. Note: you'll need access to Marketo webhooks, which may not be available in all plans.

Step 1: Create custom fields

Before setting up the actual webhook, you'll first need to create some new fields in Marketo that Datanyze can add data to. Although it's possible to select existing fields, we strongly encourage you not to in order to reduce the risk of losing any of your existing data.

To create custom fields for Datanyze data, go to your Marketo account and do the following:

  1. Go to the Admin panel (by clicking 'Admin' in the top right corner)
  2. Click 'Field management' in the left-navigation menu
  3. Click 'New Custom Field'
  4. Fill out the 'Type', 'Name' and 'API name' fields
  5. Click 'Create' to create the new custom field

Screen_Shot_2017-03-20_at_11.42.34_AM.png

Here are some of the most popular custom fields with (their respective field types) that our customers use (you can see the full list in the 'Datanyze fields' section of the Appendix below):

  • domain.domain_techs [textarea]
  • domain.alexa_rank [integer]
  • domain.revenue [string]

Step 2: Get your base URL

In order to create the web hook in Marketo, we need to get a base URL from Datanyze. Note: You'll need access to Datanyze's API in order to create a web hook within Marketo (if you need to add access or calls to your current plan, email us here).

To find your base URL, do the following:

  1. Login to your Datanyze account
  2. Go to your settings panel by clicking your email address in the top right corner, then clicking 'Settings'
  3. Click 'Integrations' in the settings navigation panel to get to your integrations settings page
  4. Click on the 'Marketo Webhook' section
  5. Copy the 'Sample URL' link to your clipboard

Screen_Shot_2017-03-20_at_11.58.35_AM.png

Step 3: Create the webhook

There are a few things to do in order to create a Datanyze web hook:

  1. Go to the Admin panel (by clicking 'Admin' in the top right corner)
  2. Click 'Webhooks' in the left navigation menu
  3. Click 'New Webhook'
  4. Name your webhook (example: Datanyze Webhook)
  5. Fill out the 'Description' field for your webhook (optional)
  6. Paste your base URL from Step #2 in the 'URL' field
  7. Making sure the cursor is blinking at the end of the URL, click 'INSERT TOKEN'
  8. Select the field that contains the website or email address you're sending to Datanyze to get technographic and firmographic data on
  9. Delete ':default=edit me' that is automatically added to the inserted token -- the final URL should look like this (addtion from #7 in green): http://api.datanyze.com/marketo/?email=jon%40datanyze.com&token=<your_API_token>&lead_email={{lead.Email Address}}
  10. Change the 'Request type' field from 'POST' to 'GET'
  11. Change the 'Response type' field to 'JSON'
  12. Click 'Create'

Screen_Shot_2017-03-20_at_12.00.47_PM.png

Step 4: Map the fields

Now that your webhook has been set up, you'll need to map the data you get back from Datanyze to the appropriate fields in Marketo. To do this, follow these instructions:

  1. Click the 'Edit' button next to the 'Response mappings' box
  2. Click 'Add'
  3. In the 'Response Attribute' field, select the Datanyze field that you want to map (you can see the full list in the 'Datanyze fields' section of the Appendix below)
  4. In the 'Marketo Field' field, select the Marketo field that you want to map the Datanyze data to
  5. Click 'Save'
  6. Repeat steps 1-5 above for each field that you want to map

Screen_Shot_2017-03-20_at_12.02.12_PM.png

Step 5: Activate the webhook using a Smart Campaign

With your webhook now created, you'll need to "turn it on". To do this, follow these instructions:

  1. In Marketo, click the Marketo logo in the top-left corner, then 'Marketing Activities' from the drop-down menu
  2. Click 'New Smart Campaign'
  3. Select the folder for your Smart Campaign and give it a name (ex: "Enrich with Datanyze") and optionally, a description
  4. Click 'CREATE'
    Screen_Shot_2017-03-20_at_12.03.03_PM.png
  5. Click 'Smart List' from the top navigation menu
  6. Drag 'Lead is Created' from the right panel and drop it into the main panel
  7. Drag 'Data Value Changes' from the right panel and drop it into the main panel, then select 'Email address' from the 'Attributes' drop-down menu
  8. Change 'Use ALL filters' to 'Use ANY filters'
  9. Click 'Flow' in the top navigation menu (located next to 'Smart List')
  10. Drag 'Call Webhook' from the right panel and drop it into the main panel
  11. Select your newly created webhook from the drop-down menu
  12. Click 'Schedule' form the top navigation menu (location next to 'Flow)
  13. Click 'ACTIVATE' (and click it again in the modal to confirm)
    Screen_Shot_2017-03-20_at_12.04.01_PM.png

Step 6: Backfilling lead data retroactively

Once you've activated the Datanyze webhook in Marketo, your new leads will automatically start being enriched with Datanyze's technographic and firmographic data. In order to backfill your existing leads retroactively, you'll need to follow these instructions:

  1. Click 'Campaign Actions', then 'Clone'
  2. Select the folder for your Smart Campaign and give it a name (ex: "Backfill enrich with Datanyze") and optionally, a description
  3. Click 'Special filters' in the right panel to expand the list
  4. Drag 'Member of Smart Campaign' from the right panel and drop it into the main panel
  5. Change 'in' to 'not in' and select 'Enrich with Datanyze' from the drop-down menu to the right
  6. Follow steps 9-13 from Step #5 above

Step 7: Understanding the nuances and error messages

There are a few things to keep in mind while setting up and using the Datanyze Webhook in Marketo:

  • Some Datanyze data points have multiple fields, giving you more flexibility for how to consume the data. For example, a domain's country can be accessed using the domain.country field (ex: "USA"), the domain.country_full_name field (ex: "United States"), domain.country_iso2 field (ex: "US"), or domain.country_iso3 field (ex: "USA").
  • Some Datanyze data points offer a boolean field. For example, finding out if a domain is owned by a publicly traded company can be done with the domain.is_public field (ex: "YES"/"NO") or the domain.is_public_bool field (ex: "true"/"false").
  • There are two situations when Datanyze might throw an application level error: 1. error 103 means Datanyze does not track this domain ("Requested domain is not found"), and 2. error 400 means the 'lead_email' parameter has no value. For example error messages, see the 'Error messages' section of the Appendix below.

APPENDIX

Datanyze fields [field type]

  1. domain.domain [URL]
  2. domain.address [string]
  3. domain.city [string]
  4. domain.state_code [string]
  5. domain.state_full [string]
  6. domain.zip_code [string]
  7. domain.phone [phone or string]
  8. domain.year_founded [integer]
  9. domain.funding [string]
  10. domain.employees [string] (0-25, 25-100, 100-250, etc.)
  11. domain.employees_drop [integer] (1, 2, 3, etc.)
  12. domain.employees_int [integer] (25, 100, 250, etc.)
  13. domain.industries [string]
  14. domain.is_public [string] (yes/no)
  15. domain.is_public_bool [boolean] (true/false)
  16. domain.overview [textarea]
  17. domain.revenue [string] ($0-1M, $1-10M, $10-50M, etc.)
  18. domain.revenue_drop [integer] (1, 2, 3, etc.)
  19. domain.revenue_int [integer] (1000000, 10000000, 50000000, etc.)
  20. domain.alexa_rank [integer]
  21. domain.datanyze_tracks [string] (true/false) -- is this the domain for a technology that Datanyze tracks?
  22. domain.country (ex: "USA") [string]
  23. domain.country_full_name [string] (ex: "United States")
  24. domain.country_iso2 (ex: "US") [string]
  25. domain.country_iso3 (ex: "USA") [string]
  26. domain.monthly_technology_spend [string]
  27. domain.twitter [string] -- Twitter handle
  28. domain.twitter_followers [integer]
  29. domain.domain_techs [textarea] -- technologies being used by this domain
  30. domain.domain_history [textarea] -- a history of technology adds/drops for this domain
  31. domain.app_techs [textarea]
  32. domain.app_techs_history [textarea]
  33. domain.largest_app_installs_range [string]
  34. domain.largest_app_installs_int [integer]
  35. domain.all_apps_installs_range [string]
  36. domain.all_apps_installs_int [integer]
  37. domain.app_categories [textarea]
  38. domain.alexa_rank_average [integer] -- average Alexa rank for this domain over the last month

Error messages

  1. Error 103: {"error":103,"message":"Requested domain was not found"} -- the domain parsed from the lead email is not valid
  2. Error 400: {"error":400,"message":"Missing required parameter(s)","params":["lead_email"]} -- for some reason, Datanyze is not being passed a valid email address that is required to return data
  3. Error 114: {"error":114,"message":"Throttle limit is reached"} -- you have used too many API calls over the hour, day, week or month; please reach out to support@datanyze.com for more information
Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

Comments