Zapier Guide: Sending Leads to Leadpro from Zapier via the Leadpro API

Zapier Guide: Sending Leads to Leadpro from Zapier via the Leadpro API

Overview

This guide explains how to complete the “end” portion of any Zapier automation to send lead data from virtually any trigger source into Leadpro using the Lead API. You will map fields, format values, handle optional enrichment/validation, and deliver a properly structured request to Leadpro—reliably and at scale.

Prerequisites

 

1) Ensure you’re capturing lead data from your source

Zapier supports consuming data from many platforms on the internet. Your zapier flow should begin by pulling data from your intended platform. Depending on how this data lands in your Zapier flow, you may need to extract or transform your lead details into variables using a ‘code by zapier’ node.

2) Setting up a Zapier node to send your lead data to Leadpro

Once you have your lead data landing in your Zapier flow with variables established of the specific lead details, you can add a ‘Webhooks By Zapier’ node to send your lead data into your Leadpro account.

  • Node setup

    • Action Event: Custom Request

  • Configure

3) Setting up your Custom Request headers

The headers section need to be fulfilled with two headers required for Zapier to reach Leadpro’s API.

  • “Content Type” : “application/json“

  • “x-api-key” :"<your Leadpro API key>"

You can generate and use an API key from the ‘developers’ section of your Leadpro dashboard. See the following guide for more detail: https://www.lead.pro/api-guide#api-authentication

4) Setting up your lead payload data

In the data input you need to specify what lead data you would like established in your leadpro leads sent by Zapier. The data format is JSON, and a number of contact details and property details are required to create a valid lead as described below.

  • Applicant leads (Sale / Let)
    Applicant leads require an email address, first name, last name, type (Sale or Let), source (homepage), advert property address and advert property postcode included to create a valid lead.

    { "type": "sale", ”source”: “homepage”, "phone": "01623000000", "first_name": "Marla", "last_name": "Singer", "email": "cloud9@cloud.com", "advert_address": "123 Example Street, Example town", "advert_postcode": "DE1 1JX", "message": "I am looking to buy", }

 

  • Vendor leads (Vendor / Landlord)
    Vendor leads require an email address, first name, last name, type (Vendor or Landlord), source (homepage), property address and property postcode included to create a valid lead.

    { "type": "sale", ”source”: “homepage”, "phone": "01623000000", "first_name": "Marla", "last_name": "Singer", "email": "cloud9@cloud.com", "address": "456 Example Street, Example town", "postcode": "DE1 1JX", "message": "I am looking to buy", }

 

  • Other lead fields
    Many other lead fields exist to capture additional data, such as further contact details, UTM data, appointment availability. These can be discovered on the Leadpro API guide: https://www.lead.pro/api-guide#create-lead

 

  • Mapping your lead fields to your data
    using the ‘plus’ icon at the top right of the data input box, you can select the node you’ve established your lead fields from and insert them in place of the example values in the example payloads above. This means when the Zapier flow runs each time, the fields are dynamically populated with the lead data fed in from your chosen platform.

    image-20260416-120227.png
    This example shows lead fields established from a Facebook forms input, being passed into the Leadpro data payload.

5) Setting your Zapier flow active

Once all nodes have been configured, the ‘test run’ action at the top right of your Zapier flow can be used to pass in mock data and see that data land in your leadpro account. The 'Publish' action can be used to set the flow live.

FAQs

Leadpro supports capturing sales applicants (Sale lead), renting applicants (Let lead), Sale vendors (Vendor leads) and landlords (landlord lead). If you only intend to pass through one lead type, hard coding it in the data payload itself will work fine. In the case you expect to receive multiple lead types, this can be handled in two ways:

  • Create a separate Zapier flow for each lead type (ideal if separate lead types will land in Zapier from your source platform through separate mechanisms), then hard code the lead type in the data payload for each flow.

  • Using a code node to establish lead type from your source platform’s data (ideal if the lead types will land in Zapier from the same source mechanism). This means you’ll need to identify an indication in the data Zapier has received which can then be translated into a ‘lead type’ variable using a ‘code by Zapier’ node. This variable can then be passed into the data payload in place of hard-coding the lead type.

Earlier in the guide you were encouraged to specify the source hardcoded as “homepage”. This is a generic source that represents leads that have arrived in Leadpro via API. There are other preset sources available to use in place if you find them more suitable. These an be seen in the ‘source’ table row in the following link: https://www.lead.pro/api-guide#create-lead. You cannot specify custom sources not pre-established in Leadpro, otherwise your leads will fail to submit through the API.

Yes. Using the ‘gdpr_checkbox' field which can be passed in the data payload, you can specify “true” or “false” to indicate if the lead has consented to receiving marketing. If this field isn’t specified, it will be set to false by default. See more at: https://www.lead.pro/api-guide#create-lead