Implementation Guide

Installation Requirements

To install FormComplete for Marketo, you’ll need admin access credentials to your organization’s Marketo account, basic information describing the ZoomInfo API, and a ZoomInfo account with API access enabled.
During the installation, you’ll be creating and editing custom fields and a webhook using Marketo’s Admin interface. If you’re not familiar with these tasks, you can find online Marketo documentation for custom field creation here and for webhook creation here.

Product Overview

FormComplete for Marketo extends and enriches the information you gather using Marketo forms. The extension validates and appends information about visitors who fill out a Marketo based form with information from ZoomInfo’s extensive database of business professionals and companies.
Access to detailed contact and business information is the key to achieving the best results from your marketing campaigns. However, requiring visitors to fill in numerous form fields leads to higher bounce rates, inaccurate field submissions, and lower conversion rates.
 With FormComplete you can:

  • Increase conversion rates

Reduce the number of form fields and increase the likeliness that visitors will provide you with their information, resulting in more submissions and field accuracy. Get the information you need for your campaigns directly into your marketing automation instance without having to ask for it from your prospects.

  • Improve targeting and segmentation

Duplicate the successes of past campaigns with access to demographic and firmographic information on your leads. Fill in the blanks through ZoomInfo’s automated, self-service tool. Add contacts that aren’t yet ready to buy directly into your nurture campaigns.

  • Enhance the accuracy of your database

Eliminate bad data from entering your database by ensuring the information you’re capturing from leads is accurate and consistent. Cleanse and fill in the blanks with important demographic and firmographic information, helping enrich the information flowing into your CRM and to your sales team.

  • Maintain a consistent CRM

Use the normalization features to ensure all of the information flowing into your CRM is in the format you need, making sure the lead is sent to the right campaign or territory sales rep.

Installation and Configuration

To install FormComplete for Marketo properly, you’ll need credentials and admin permissions on your active Marketo account.
FormComplete for Marketo extends and enriches the information you gather using Marketo forms. The extension validates and appends information about visitors who fill out a Marketo based form with information from ZoomInfo’s extensive database of business professionals and companies.
 Follow these steps to enable this capability:

  1. Create/define additional custom fields in your Marketo application. These fields will be populated via the ZoomInfo API, which you’ll designate as the source for your FormComplete extension in the second step (below). Choose and create fields for the specific information you want to add to each form submission.
  2. Create/configure a web-based connection, called a webhook, which retrieves the data elements you’ve defined in the first step (above). The webhook contains ZoomInfo API information, informing Marketo on where and how to access the ZoomInfo database. This task incorporates two steps below, creating the webhook and mapping webhook responses to the custom fields you’ve created.
  3. Lastly, configure a ‘trigger’ which activates the webhook connection you’ve created as part of the workflow in a Marketo “Smart Campaign.” Configuring this trigger augments the form submission step by initiating a ‘webhook’ request to the ZoomInfo database.

When these steps are finished, your installation is complete. Now, when a user submits a Marketo form, as part of a Smart Campaign FormComplete will activate your webhook, validate data submitted by the user on the form, and retrieve additional information about the user from the ZoomInfo database. Users are saved the time of completing a long form, but you’ll still get the benefit of a richer, more complete user profile.

Create Marketo Fields to Contain Appended ZoomInfo Information
First you’ll need to create new, custom fields in your Marketo instance in order to store the information ZoomInfo will provide about people who submit forms in a Marketo Smart Campaign. If you’re using, you can create some, or all, of the fields within Salesforce first. Doing so will automatically create the fields in your Marketo database.

Step One: Create a Custom Field
Your Marketo instance has a collection of pre-defined variables for storing information about your marketing activities. To add information using FormComplete, you must create new, custom fields that store information provided by ZoomInfo.

  • Login to Marketo using credentials with Admin Permissions.
  • From the main menu, select Admin. From the left navigation panel, select Field Management. From the Fields tab, select New Custom Field.
  • In the New Custom Field pop-up, enter the three field settings for each field, e.g. for a new field containing the submitter’s job function, enter “ZI Person Job Function” as the Name, “ziPersonJobFunction” as the API Name, and “String” as Type. Click the Create button.
  • Repeat for each custom field you want to populate using FormComplete.
  • As you create new fields, they will be added to the searchable fields list in the right panel.
  • You may add as many, or as few, fields as you wish. Each field may be named whatever you choose, but you must use the API Name and Type in the the Fields table for each field you add. For additional examples on custom field creation, Marketo provides an online example here.

    Create a Webhook to Connect Your Marketo Form to ZoomInfo
    Next, you’ll create a webhook in Marketo. The webhook provides the connection that injects ZoomInfo data into your Marketo instance. To create the webhook, you’ll need to provide connection information to identify the ZoomInfo API and set the webhook’s response mapping for each custom field you’ve created.

    Step Two: Create and Configure a Marketo Webhook
    To retrieve data from ZoomInfo that corresponds to each person submitting your Marketo form, you’ll need to create a web-based request, called a ‘webhook,’ which asks for and returns ZoomInfo information each time a form is submitted.
    • In the left navigation panel select: Admin | Integration | Webhooks
    • From the Webhooks tab, select New Webhook.
    • In the pop-up, enter a name for your webhook, e.g. FormComplete API. You may add a description if you choose to.
    • Paste the following text into the URL input field
    •[PartnerCode]&key=[PartnerCode]&outputType=xml&outputFieldOptions=localAddress,companyAddress,companyWebsite,companyRevenue,companyRevenueNumeric,companyRevenueRange,companyEmployeeCount,companyEmployeeRange,companyTopLevelIndustry,jobFunction,managementLevel,companyType,companyLogo,companynaics,companyRanking,hasCanadianEmail,gender,nameSuffix,companyTicker,companyDescription,isEU,continent,isdefunct,numericFull&firstname={{lead.First Name}}&lastname={{lead.Last Name}}&emailAddress={{lead.Email Address}}&companyName={{company.Company Name}}&jobTitle={{lead.Job Title}}&phone={{lead.Phone Number}}&state={{lead.State}}&country={{lead.Country}}&ip={{lead.Anonymous IP}}
      Replace [PartnerCode] with the partner code value provided by ZoomInfo. Be sure to remove the brackets or the webhook will not work.
    • In the Request Type field, select “GET.”
    • In the Response type field, Select “XML.”
    • Ignore the Insert Token buttons and leave the Template and Request Token Encoding entries empty.
    • Click the Create button. Your newly created webhook will appear in the Webhook panel.Step Three: Link Custom Fields to Webhook Responses
      The only fields that will populate using the webhook you’ve created are those that have assigned Response Mappings.xlsx attributes that associate the custom fields you specify with the corresponding variables (Response Attributes) in the FormComplete API Webhook.


  • Scroll down in your webhook window, until you reveal the Response Mappings panel.
  • Click the orange Edit button. Once you do this, a pop-up window will open, allowing you to Add or Remove settings that link each custom field to the corresponding response provided by the FormComplete API Webhook.
  • Click Add. This will expose two settings: Response Attribute and Marketo Field.
  • Use the dropdown arrow in the Marketo Field column to select a custom created field you wish to capture using FormComplete.
  • Using the Response Mapping table referenced above, copy and paste the Response Attribute for the custom Marketo Field you’ve selected.
  • Once you’ve added Response Mappings for each custom field you wish to capture, click the Save button. 
  • Add FormComplete to a Marketo Smart Campaign
    Lastly, you’ll insert your FormComplete Webhook into the form submission workflow of a Marketo Smart Campaign. By adding a ‘trigger’ into the workflow of a Smart Campaign, each and every form submission initiates a webhook-based request for additional information about the person submitting an associated form. 
    Step Four: Add FormComplete to a Marketo Smart Campaign
    To create a Smart Campaign, insert the appropriate ‘trigger’ into the workflow of the campaign, and associate your FormComplete webhook with that trigger. When you‘re done, your installation is complete and you can activate FormComplete for your campaign.
    • In the left navigation panel, select the Marketing Activities panel.
    • From the associated Marketing Activities tab, select the new dropdown and pick New Campaign Folder. Provide a name and optional description, then click Create.
    • Next, from the newly created tab (with the name you just provided for the folder), select the New dropdown and pick New Smart Campaign.
    • In the pop-up window, choose a name for the new campaign (required). You can add an optional description. Click Create.
    • Select the Smart List tab adjacent to the named campaign folder tab.
    • Select and drag the “Fills Out Form” choice, under Triggers in the right panel, into the center panel of the Smart List tab.
    • Complete the pop-up to select the form into which your FormComplete webhook will be inserted.
    • On the Flow tab, scroll down on the right panel, then Select and Drag the ”Call Webhook” choice under Integration into the center panel of the Flow tab.
    • Using the dropdown in the pop-up window, select your configured webhook.
    • Select the webhook you created earlier.
    • From the Schedule tab, you can activate the campaign with FormComplete, by clicking the Activate button.

    • Installation Complete
      Your installation of FormComplete is complete. Once the Smart Campaign you’ve designated in step d) above is activated, each time the form you’ve designated in step f) above is submitted, the webhook you’ve selected in step g) will be triggered, and FormComplete will retrieve the information configured in the webhook from the ZoomInfo database, appending it to the form submission record stored in your Marketo database.

      Maintenance and Troubleshooting

      Extending, maintaining, or troubleshooting your ZoomInfo FormComplete for Marketo application is performed using the native viewing and editing functions associated with custom field creation, webhook definition, and Smart Campaign management.
      If, after use of Marketo’s native management tools, your FormComplete application isn’t performing as expected, please contact our Client Services team at for assistance.
      If you get HTTP 505 errors when your webhook is called, it is very likely due to an extra space in your webhook. Please check for extra spaces, especially at the end of each line when displaying the webhook. Removing any extra spaces should prevent the HTTP 505 errors.

      Recent Changes

      The “matchCompany” parameter does nothing and should no longer be used in your FormComplete API webhook in Marketo. By default, when a formcomplete request cannot find a person match, the formcomplete request will always attempt to return a company match, if possible.
      There is now a usage query which can be used to retrieve information on how many Formcomplete API requests you have made.
      Here is an example request:[PartnerCode]&key=[PartnerCode]Replace [PartnerCode] with the partner code value provided by ZoomInfo.
      See Usage Query for input and output parameters.

Was this article helpful?

Can’t find what you’re looking for?

Contact our award-winning customer care team.