Guide

IDX CRM Integration: Sending Website Leads to Follow Up Boss, HubSpot and GoHighLevel

How IDX website leads reach Follow Up Boss, HubSpot and GoHighLevel: each vendor's documented intake path, credentials, duplicates and failure handling.

The short answer

An IDX website produces leads: registrations, property inquiries, saved homes and searches. Each of the three CRMs below documents its own way to receive them, and the right path is the one the vendor documents, not the one that happens to work in a quick test:

Before building anything, check whether your IDX vendor already has a native connection. Follow Up Boss, for example, has an IDX WEBSITES category in its integrations directory, which lists IDX Broker. A custom connection is worth building when the vendor has none, when it sends only a name and an email, or when the website is your own build.

The three documented paths side by side

Follow Up BossHubSpotGoHighLevel (HighLevel)
Where leads goPOST https://api.followupboss.com/v1/eventsNon-HubSpot forms tool, or POST /submissions/v3/integration/submit/{portalId}/{formGuid} on api.hsforms.comA workflow's Inbound Webhook URL, or POST /contacts/upsert
How you authenticateThe customer's API key as the HTTP Basic username, plus your registered X-System and X-System-Key headersThe standard submit endpoint takes no credentials; a second endpoint requires authentication and has higher rate limitsThe webhook URL itself, which is unique for each trigger; the API uses its own authorization
Existing contactsFollow Up Boss will automatically search for existing contacts and update themThe forms tool will either create a new contact or update any existing contact record with the same email addressUpsert follows the “Allow Duplicate Contact” setting at the Location level
Required to create a contactThe lead's details in the event's person object; providing an ID in the Person object links the event to a known contactFor the forms tool, the form must have an email input field; for the API, the fields your HubSpot form requiresFor the webhook, an Email or Phone is required to Find or Create the Contact

Follow Up Boss

Use the Events API, not the People API

Follow Up Boss is explicit: use the Events API, not the People API to send all data from an IDX website. Its lead guide warns that POST /v1/people will create a person but will not run any automations. Sending an event instead gets the lead deduplicated, recorded with its activity, assigned (correct agent is assigned as per Lead Flow screen) and announced to the agent.

Its IDX integration page lists the events to send: Registration, Inquiry, Saved Property, Viewed Property, Property Search and Visited Open House, plus any other forms on the website that send data to Follow Up Boss.

The event type matters for automation. New leads created by an event will only trigger action plans if they are of the following types: Registration, Seller Inquiry, Property Inquiry, General Inquiry or Visited Open House. A plain “Inquiry” is converted to a Property Inquiry when the request includes a property, so send the listing with every property inquiry.

Fields and credentials

Responses to handle

HubSpot

Option 1: the non-HubSpot forms tool

HubSpot can collect submissions from forms it did not build. To use the non-HubSpot forms tool, you must install the HubSpot tracking code on your external page, then turn on collection in the settings. It is quick to set up, but IDX forms often break its rules. Among the requirements:

Field mapping is automatic only: submitted fields will only match to single-line text field type properties in HubSpot, and non-HubSpot form fields cannot be manually mapped. Submissions also depend on the tracking script loading in the visitor's browser. HubSpot itself suggests, as an alternative, working with a developer to connect your non-HubSpot forms directly using HubSpot's Submit data to a form API.

Option 2: submit each lead through the Forms API

Create a form in HubSpot with the fields you need (including properties for the listing), then post each lead to https://api.hsforms.com/submissions/v3/integration/submit/{portalId}/{formGuid}. The request carries a list of form field names and the values for those fields, up to 1000 fields, and a context object with the page URL and hutk, the tracking cookie token value used for HubSpot lead activity tracking. Pass hutk from the visitor's browser to your backend so the submission joins the visitor's page history.

Two details catch integrations. The standard endpoint supports cross-origin (CORS) AJAX requests, so it can be called from a browser, but posting from your server lets you validate, log and retry. And a backdated submittedAt more than one month old will result in an error, so a retry queue that holds failures longer than a month will need a different route.

GoHighLevel (HighLevel)

Option 1: an Inbound Webhook workflow trigger

The trigger captures incoming POST/GET/PUT requests sent to a HighLevel Webhook URL (unique for each trigger), and HighLevel lists lead capture from web forms among its uses. The rules from its help center:

Because the URL is the only credential, keep it on your server rather than in website JavaScript. The Inbound Webhook is one of HighLevel's premium triggers: once enabled, sub-accounts get 100 free executions, and the article tells agencies how to avoid accruing execution costs through rebilling. It does not state a per-execution price, so check the agency's billing settings before sending high volumes through it.

Option 2: the Upsert Contact API

POST /contacts/upsert creates or updates a contact in one call and will adhere to the configuration defined under the “Allow Duplicate Contact” setting at the Location level. The request needs a locationId and accepts a source and custom fields for the listing. One trap: the tags field will overwrite all current tags associated with the contact, so a repeat inquiry can wipe tags an agent added. Use the separate tag endpoints to add tags instead.

What every IDX-to-CRM connection needs

Whichever CRM you use, the same design keeps leads from going missing:

  • The website posts to your own backend first; the backend stores the lead, then calls the CRM. Credentials stay on the server.
  • Each lead gets an ID in your system before the CRM call, so a retry after a timeout does not create a second lead on your side.
  • Failed calls go to a retry queue that respects 429 responses and gives up into an alert, not into silence.
  • The listing travels with the lead: MLS listing ID, address, price, listing URL and the search that led there.
  • Campaign and UTM values from the landing page are kept and sent with the lead.
  • Consent choices are recorded as shown on the form, with the time and the page.
  • A weekly check compares leads stored on your side with leads in the CRM, so a revoked key or archived lead source is noticed.

The retry, idempotency and reconciliation patterns are covered in detail in our guide to reliable webhook and event-driven integrations, and the CRM side of the design (deduplication, routing, a single timeline per contact) in real estate CRM architecture. Getting the listings onto the site in the first place is covered in how to get MLS data access.

Questions to ask your IDX vendor

  • Does it have a native connection to our CRM, and which events does it send: registration only, or inquiries, saved homes and searches too?
  • Does it send the listing ID and URL with each property inquiry?
  • Can it post to a webhook URL we control, so our backend can forward leads to the CRM and keep a copy?
  • What happens to a lead when the CRM is down or rejects the request: is it retried, and are we told?
  • Are its forms in an iframe or a single-page app? (This decides whether HubSpot's forms tool can see them.)

Frequently Asked Questions

How do I send IDX leads to Follow Up Boss?

Send them to the Events API, POST /v1/events, from your server. Follow Up Boss calls it the only correct option to send leads and their activity to Follow Up Boss from an IDX website and says POST /v1/people will create a person but will not run any automations.

Can HubSpot capture leads from IDX plugin forms without an integration?

Sometimes. Its non-HubSpot forms tool collects HTML form submissions once the tracking code is installed, but the form must not be in an <iframe> and the form must not be on a single-page app, which rules out many IDX forms. The alternative is HubSpot’s Submit data to a form API called from your own code.

How do website leads get into GoHighLevel?

Through a workflow’s Inbound Webhook trigger, which captures incoming POST/GET/PUT requests sent to a HighLevel Webhook URL (unique for each trigger), or through the Upsert Contact API. For the webhook, an Email or Phone is required to Find or Create the Contact.

Should the website call the CRM directly from the browser?

No. Post to your own backend and call the CRM from there, so credentials stay private and failed calls can be retried. Follow Up Boss asks integrators to ensure the API key is secure and not exposed in the browser.

Statements about Follow Up Boss, HubSpot and GoHighLevel were read from the vendors' own documentation, linked above, on October 21, 2026. Endpoints, limits, plan terms and premium-feature billing change; confirm them in each vendor's documentation and your account before you build. This guide describes the vendors' documented options and does not describe a Peregrine client project.

Connecting an IDX website or MLS feed to your CRM? See our API integration service or talk to an engineer.

Technical consultation

Connecting Your IDX Website to a CRM?

Tell us which IDX vendor and CRM you use and which leads are getting lost. An engineer will tell you which documented path fits and what to build around it.

  • A 30-minute technical discovery call with an engineer, not a salesperson.
  • Fixed-scope projects, monthly retainers, or a combination, agreed after the call.
  • Small, well-defined tasks get a scoped estimate. We reply within 1 business day.

Prefer to pick a time? Book a call on Calendly

Tell us about your project

We'll review your details and reach out within 1 business day.

Book Strategy CallCase Studies