MLS Import Documentation Aug 7, 2026 · 11 min read

Sending property leads to a CRM

L
laura perez
I’m Laura Perez, your friendly real estate expert with years of hands-on…

Yes, leads from your MLSImport listing pages can go into Follow Up Boss, Zoho, HubSpot or the CRM you or your client already use. There is no built-in CRM button, though. MLSImport puts the listings on your own site and emails each enquiry. To get that lead into your CRM, you add one step: your theme’s form settings, an automation tool like Zapier, or a short piece of code on the lead hook.

No CRM yet? See where property leads are sent to find out which inbox gets each one. Standalone mode also gives you saved searches and listing alerts, but MLS Import is not a CRM: it captures the listing enquiry, and your CRM keeps the contact record and the follow-up. To decide whether you need one, read IDX lead capture, saved searches and alerts: when you need a separate CRM, or compare the 3-year cost of MLS Import plus your own CRM with an all-in-one platform that has a CRM built in.

Moving from another real estate platform? Your old contacts need a separate export. This guide covers new inquiries from MLS Import forms. Use the platform move checklist to plan your old lead records, website pages and Google traffic too.

Which route fits your site and your CRM

The form decides the route, not your CRM, and your theme decides which form you have. Find out who built the inquiry form on the listing page, then use the row that matches. Most sites need only one route.

Your listing pages run on Who owns the form Easiest way into your CRM Code needed?
WpResidence The theme The theme’s webhook setting, or its built-in HubSpot sync. WpResidence also has a built-in CRM. No
Houzez, WpEstate or Real Homes The theme The theme’s own CRM or webhook settings, as its docs describe them Depends on the theme
Any theme, with a form plugin such as Gravity Forms or WPForms The form plugin The form plugin’s CRM add-on, or a Zapier or Make step after each entry No
Any other theme (standalone mode) MLS Import Forward the lead email to Zapier or Make, then create the lead in your CRM No
Any other theme (standalone mode) MLS Import A short piece of code on the mlsimport_property_lead_submitted hook, straight to your CRM Yes, once
Any form that sends a lead email Whoever owns the form Copy the lead email to the CRM’s lead intake address, if the CRM gives you one No

The email route is the quickest, but the CRM has to read the email to fill its fields, so check the result with a real test. The hook route gives you the most control: you pick every field, including the listing link and the agent. This works the same for Follow Up Boss, HubSpot, Salesforce, Zoho, Pipedrive or any CRM that can take a new lead from Zapier, Make or a webhook; if yours can’t, ask its support how outside leads get in.

If your client uses HubSpot: a Gravity Forms or WPForms form can use that plugin’s HubSpot add-on, WpResidence has its own HubSpot sync, and a standalone MLSImport form reaches HubSpot through the lead hook, either straight to HubSpot or through Zapier.

Before you start

  1. You have an endpoint from your CRM that accepts a POST request, which Zoho calls a webhook URL. How you authenticate to it is documented by the CRM, not by us.
  2. Your privacy policy covers sending enquiry details to a third party system, because that is what you are about to do. The form’s consent checkbox links to that policy, so the policy has to name the CRM.

Route one: your theme’s contact forms

On WpResidence, Houzez, WpEstate and Real Homes, the enquiry form on a property page belongs to the theme. Those themes document their own webhook or CRM integration settings, and connecting one is a theme configuration task rather than an MLSImport one.

Test it with a real submission before you rely on it. The exact fields a theme sends differ, and a CRM that rejects a payload usually does so quietly.

How do WpResidence lead forms reach my CRM?

WpResidence has a webhook setting in Theme Options, inside the Email / Forms area, under Webhook URL. Paste in a Zapier or Make catch hook, or your CRM’s own lead address.

  • Each form type has its own on and off switch: the property agent form, the agent form on property pages, the schedule tour form, and the agent, agency and developer profile forms. Every switch starts at no.
  • The theme-wide webhook sends JSON. A webhook set on one Elementor contact form sends normal form data instead, so one landing page form can go somewhere else.

The full steps are in the WpResidence help article on webhook integration for contact forms.

Route two: standalone mode

In standalone mode the property enquiry form is the plugin’s, and it fires an action when a valid lead arrives. Attaching to that action is the supported way to push leads anywhere.

add_action( 'mlsimport_property_lead_submitted', function ( $data, $property_id ) {
	wp_remote_post( 'https://crm.example.com/leads', array(
		'timeout' => 5,
		'body'    => array_merge( $data, array( 'listing' => get_permalink( $property_id ) ) ),
	) );
}, 10, 2 );

The $data array carries name, email, phone, message, tour, property_id and agent_id. The tour value is filled in when the enquiry came from the Schedule a Tour panel and is empty otherwise.

How to send MLSImport leads into Follow Up Boss

In standalone mode, the same hook can send each listing lead to Follow Up Boss. The code posts a Property Inquiry event to the FUB API, so the lead lands in FUB with the listing link in the message. FUB has no MLSImport button, so a developer (or anyone comfortable in functions.php) does this once.

What you need first:

  • A FUB API key. FUB lets you create one under Admin > API.
  • A child theme or a small plugin of your own to hold the code. Never edit MLSImport itself.
  • A test listing page you can send an enquiry from.
add_action( 'mlsimport_property_lead_submitted', function ( $data, $property_id ) {
wp_remote_post( 'https://api.followupboss.com/v1/events', array(
'timeout' => 5,
'headers' => array(
// FUB uses HTTP Basic authentication. Check FUB's API docs for how your key goes in.
'Authorization' => 'Basic ' . base64_encode( MY_FUB_API_KEY . ':' ),
'Content-Type'  => 'application/json',
),
'body' => wp_json_encode( array(
'source'  => 'yourdomain.com',
'system'  => 'MLSImport',
'type'    => 'Property Inquiry',
'message' => $data['message'] . ' Listing: ' . get_permalink( $property_id ) . ( $data['tour'] ? ' Tour requested: ' . $data['tour'] : '' ),
'person'  => array(
'firstName' => $data['name'],
'emails'    => array( array( 'value' => $data['email'] ) ),
'phones'    => array( array( 'value' => $data['phone'] ) ),
),
) ),
) );
}, 10, 2 );

Why these fields matter:

Field What it does in Follow Up Boss
type: Property Inquiry FUB says new leads with this type trigger action plans and automations
source The lead source name your agents see, like your domain
system The name of the system sending the lead
message The visitor’s question, plus the listing link and any tour date

What comes back from FUB:

  • 201 means a new person was created.
  • 200 means the event was added and an existing person may have been updated.
  • 204 means the lead flow for that source is archived in FUB, and the lead was ignored.

How to send standalone leads to your CRM without code

Forward the lead email to Zapier, and let Zapier create the lead in your CRM. In standalone mode every enquiry already arrives as an email, so this route uses what you have.

  1. In Zapier, start a Zap with Email by Zapier and the New Inbound Email trigger. Zapier gives you your own zapiermail.com address.
  2. In your mailbox, set a rule that forwards emails whose subject starts with “New enquiry:” to that address. That is the subject MLS Import uses for every property lead.
  3. Add a step that pulls the name, email, phone, listing link and message out of the email body. Zapier’s Formatter or Email Parser can do this.
  4. Add your CRM as the last step. For Follow Up Boss, use New Inquiry or Website Event so action plans start. HubSpot, Salesforce, Zoho and Pipedrive each have a create contact or create lead action.
  5. Send a test enquiry from one of your own listing pages and check the lead in your CRM.

Make can do the same with its email trigger. Zapier and Make charge per task or run, so check how many leads your plan covers. The email route only works when lead emails arrive; if enquiries go missing, fix mail delivery first, as covered in where property leads are sent. With a few lines of code you can skip the email step: start the Zap with a webhook (Zapier calls it Catch Hook), copy its address, and use it in the wp_remote_post call on the mlsimport_property_lead_submitted hook.

Pro Tip

Tour requests carry a line reading “Requested tour date:” in the body. Map that line to a note or a tag in your CRM so your agent sees it is a showing request, not just a question.

Can each agent’s leads go to their own CRM?

Yes, with code. The hook gives you agent_id, so your code can pick a different API key or endpoint for each agent. There is no setting for this. Without code, every lead goes through the one route you set up.

Where in the flow your code runs

  1. The submission is checked for the privacy consent checkbox, and rejected without it.
  2. mlsimport_property_lead_validation runs, which is where reCAPTCHA or a blocklist would reject it.
  3. mlsimport_property_lead_submitted fires with the validated data.
  4. The email is composed and sent to the recipient for that property or agent.
  5. mlsimport_property_lead_mail_sent fires with whether the email succeeded.
Pro Tip

Pick the hook that matches what the CRM is for. Use mlsimport_property_lead_submitted when the CRM is the record of truth, so a lead still reaches it on a site whose email delivery is broken. Use mlsimport_property_lead_mail_sent when the CRM should only hold enquiries an agent was also told about.

Do not make the visitor wait for your CRM

The action runs inside the request that submits the form, so a slow or unreachable CRM makes the visitor watch a spinner. Keep the timeout short, as in the example above, and let a failed forward fail quietly rather than blocking the enquiry.

For anything more involved, record what you need and hand the delivery off to a scheduled job rather than doing it in the request.

Setting this up on a client’s site

When you build the site for a client, the CRM, its key and the account belong to the client, like the MLS credentials. Ask them for the API key or webhook address and keep it out of the theme files: put it in wp-config.php as a constant, like MY_FUB_API_KEY in the code above, where a theme update never wipes it.

  • Test the routing first. Send a test enquiry from a real listing page and confirm who receives the email. In Standalone mode, MLS Import routes it to the linked agent, then to the company or site admin address when no agent is linked. Then send one from two or three imported listings and check that each field landed in the right CRM field, with the listing link, and that duplicate contacts and failure notices behave.
  • Spam. The forms have a hidden field that catches most bots. If junk still gets through, add a check on mlsimport_property_lead_validation so spam never reaches the CRM.
  • After launch. Write down who maintains the CRM connection, because MLS Import has no built-in CRM to show when it stops.
Pro Tip

Log the CRM’s response somewhere you will look, at least while you are setting it up. A webhook that returns an error is invisible from the front end: the visitor sees a normal confirmation because the email was sent, and the lead is not in the CRM. With Follow Up Boss, watch for a 204 and check that the lead source is active in FUB.

Frequently asked questions

Does MLSImport store leads anywhere I can export?

No. A property enquiry is emailed to the recipient and not saved as a post or a database row, which is exactly why forwarding to a CRM is worth setting up.

  1. Where property leads are sent
  2. The consent checkbox and your privacy policy
  3. Schedule a Tour and the booking sidebar
  4. Standalone hooks reference
  5. The Contact Form block

Open a ticket with your theme and your webhook URL and we will test the workflow with you before you put it live.

L
About the author
laura perez
I’m Laura Perez, your friendly real estate expert with years of hands-on experience and plenty of real-life stories. I’m here to make the world of real estate easy and relatable, mixing practical tips with a dash of humor. Partnering with MLSImport.com, I’ll help you tackle the market confidently—without the confusing jargon.
All posts by laura