How-to guide · You set it up

Send open house leads to any CRM

Send open house sign-ins to any CRM with a URL that accepts JSON, no Zapier app needed. The general method, plus the three problems every setup runs into.

Works with: any CRM on Zapier8 steps

$7/month or $70/year · cancel anytime · set up in 5 minutes

Who is actually doing the connecting

You are. Open House Console does not plug into any CRM, and this page is not an announcement that it does. We post every new sign-in to whatever URL you give us. You catch it in your own Zapier account, with your own CRM login, and you decide where each field lands. Nobody has to approve anything, which is exactly why this works with a CRM that has never heard of us.

Choosing the right action

Most real estate CRMs on Zapier expose one obvious create action, and where there are two the difference is almost always whether creating the record also starts your automation. Read both descriptions before you pick. For a door sign-in you usually want the one that fires your follow-up, because a lead sitting quietly in a CRM is the same as a lead you never captured.

Webhooks by Zapier, the app that catches the lead (opens in a new tab). Checked on 2026-08-29. Action names and fields on this page come from that listing, not from us.

Step by step

Setting it up, start to finish

The first 3 are the same for every CRM. The rest are specific to this one.

  1. 1Start a Zap with Webhooks by Zapier

    In your own Zapier account, create a Zap and choose Webhooks by Zapier as the trigger, then the Catch Hook event. Zapier gives you a URL that is yours alone. Nothing here runs through us, and your CRM login never leaves your Zapier account.

  2. 2Paste that URL into your profile

    Open your Open House Console dashboard, go to Profile, and paste the URL into the CRM / Zapier field. Save. From that moment, every visitor who signs in at any of your open houses is posted to that address as JSON, in the background, without slowing down the screen in front of them.

  3. 3Send a test lead so Zapier learns the shape

    Under the URL field on your Profile, press Send a test lead. It posts a sample visitor called Test Visitor, with the name, email, phone and every standard answer filled in, and Zapier uses that first lead to build the list of fields you can map. The sample cannot know the custom questions you wrote yourself, so if you added any, also open your own sign-in page and sign in once as a visitor, answering them, then delete that test lead from your dashboard. The line under the button tells you whether the last delivery worked.

  4. 4Check whether your CRM is on Zapier at all

    Search for your CRM by name in Zapier's app directory. If it is there, open it and look for actions rather than triggers: a trigger sends data out of your CRM, and you need one that writes data in. Something named Create Lead, Create Contact, or Add Contact is what you are looking for. If the app only has triggers, Zapier cannot write to it and you want the last step on this page instead.

  5. 5Solve problem one: we send one name and your CRM wants two

    This is the single most common step across every CRM in this cluster. Add Formatter by Zapier, Text, Split Text, separator space, and map segment one to the first name and segment two to the last. Then check whether your CRM requires the last name. If it does, set a default value on that mapping so a visitor who typed only their first name does not fail the whole run.

  6. 6Solve problem two: the email can be missing

    You can turn the email question off on your sign-in form, and a visitor can leave an optional field blank. Some CRMs do not care. Others require an email, or use it to decide whether a contact already exists, and those will fail on a phone-only sign-in. Find out which yours is before an event, and if it requires one, add a Zapier filter so those leads take a different path rather than breaking the Zap.

  7. 7Solve problem three: your CRM has nowhere to put the answers

    Financing, timeframe, whether they have an agent, and the answers to your own custom questions rarely have matching fields outside a real estate CRM. In order of preference: a real field if one exists, then custom fields or properties if your CRM has them, then a tag or category for the one answer you actually filter on, then the note for everything else. Writing it all into the note is fine. Writing it nowhere is how a qualifying question stops being worth asking.

  8. 8If your CRM is not on Zapier, the field still works

    The field in your profile is just a URL. Anything that accepts an HTTP POST with a JSON body can receive these leads: Make.com and other automation tools work the same way, and if your CRM publishes its own inbound webhook or a documented API, you can point us straight at it with no middleman. We send each sign-in in the background, and if your endpoint does not answer, or answers with a server error, we wait a few seconds and try one more time. After that we stop, so an endpoint that stays down misses that lead. Your dashboard always has it either way, and your Profile shows whether the last delivery worked.

Field mapping

Where each field usually goes

Left is what we send. Right is the kind of field to look for, because the names differ by CRM.

We sendPut it inWatch for
lead.nameFirst nameOne string, exactly as typed. Split it if your CRM wants two.
lead.emailEmailCan be empty. Check whether your CRM requires it.
lead.phoneMobile or cell phoneFormatted as (512) 555-0148, not E.164.
lead.has_agentA tag, or a custom fieldtrue or false. It changes the call you make.
lead.financing_statusA custom field, or the note
lead.buying_timeframeA custom field, or the note
lead.home_to_sellA tag, or a custom fieldtrue or false.
lead.home_to_sell_addressThe contact's own addressOnly present when they answered yes.
lead.custom_answersThe noteQuestion and answer pairs. Rarely worth a field each.
open_house.addressThe note, or a sourceThe listing they walked into, not where they live.
open_house.idNothingUseful only as a Zapier filter condition, for one specific event.
captured_atA date field, if one existsWhen they signed in, not when the Zap ran.
eventNothingAlways lead.created today. Useful as a safety filter.

Every field except the name, the open house and the timestamp can be empty, because you choose which questions your sign-in form asks.

Once it is on

One sign-in in, one record out

A visitor finishes signing in, we post the lead to your webhook once, and your Zap creates the record in your CRM. The same lead stays in your dashboard, where you can also export every lead to a CSV.

  • Fires once per sign-in, in the background
  • You choose where each field lands
  • Every lead also stays in your dashboard

Want every open house sign-in to reach your CRM without retyping it? Start with Open House Console.

Get started

Before you turn it on

What goes wrong, whichever CRM you use

  • Check the action's field list before you plan the workflow, not after. Every genuinely different setup in this cluster is different because of what one action requires or lacks, and you cannot tell from the CRM's marketing pages which one you have.

  • Type your source as fixed text rather than mapping one of our fields to it. Every lead through this Zap comes from the same place, and a stable spelling is what lets you count door traffic later.

  • We send each lead once, plus one retry a few seconds later if your endpoint is down or answers with a server error, and never more than that. The send happens after the visitor's sign-in is saved, because a slow or broken endpoint must never delay the screen in front of them. It also means your CRM is a destination rather than the record: every lead stays in your dashboard with its notes and follow-up status regardless of what the Zap did.

Reference

Exactly what we post

One of these arrives the moment a visitor finishes signing in, in the background, once per sign-in.

{
  "event": "lead.created",
  "lead": {
    "name": "Dana Whitfield",
    "email": "dana.whitfield@example.com",
    "phone": "(512) 555-0148",
    "has_agent": false,
    "financing_status": "Pre-approved",
    "buying_timeframe": "0-3 months",
    "home_to_sell": true,
    "home_to_sell_address": "1140 Cedar Bend Dr",
    "custom_answers": [
      {
        "question": "How did you hear about this open house?",
        "answer": "The sign on the corner"
      }
    ]
  },
  "open_house": {
    "id": "6f0a1c8e-2b77-4c1e-9a0b-3d5e7f911c24",
    "address": "482 Maple Ridge Ln, Austin, TX 78704"
  },
  "captured_at": "2026-08-29T21:04:11.302Z"
}

Two details catch people out. The name is one string, exactly as the visitor typed it, so a CRM that wants a first and a last name needs a Formatter step in between. And the phone arrives formatted the way we store it, as (512) 555-0148, so anything that expects the plus-one form needs converting too.

Your CRM is the destination, not the system of record. Every lead is still in your Open House Console dashboard with its notes and follow-up status, so a Zapier task that fails at midnight cannot lose you a visitor.

FAQ

Common questions

Does Open House Console plug into my CRM?

Almost certainly not, and it does not need to. Open House Console posts every new sign-in to whatever URL you put in your profile, and that is the whole of our side. You are the one who catches it, in your own Zapier account or your own automation tool, and points it at the CRM you already pay for using the login you already have. Nobody has to approve anything, which is why this works with software that has never heard of us.

My CRM is not listed. Can I still do this?

Yes, and the steps on this page are the whole method. If your CRM is on Zapier, the only thing that differs from the pages here is which fields you map at the end. If it is not on Zapier, the profile field takes any URL, so another automation tool or your CRM's own inbound webhook works just as well.

Do I need a paid Zapier plan?

That depends on your Zap and your volume, and Zapier's pricing is theirs to explain rather than ours. What we can tell you is what the Zap needs: one webhook trigger, usually one Formatter step to split the name, sometimes a filter, and one action. Check that shape against your current plan before you build it.

Will you add a page for my CRM?

If its setup is genuinely different from the ones already here, yes. If it would be one of these pages with the name changed, we would rather point you at this page, because a page that only exists to rank for a name is not much use to the person who lands on it.

Something on this page out of date? Tell us and we will fix it or take the page down. support@openhouseconsole.com

Capture the lead first. Routing it is the easy part.

Open House Console runs the sign-in on a laptop at the door, or on a phone the visitor already has in their hand, then hands the lead to your dashboard and to whatever URL you point us at. $7/month or $70/year, cancel anytime.

  • Unlimited open houses and leads
  • Cancel anytime, no contracts
  • Set up in 5 minutes

Already have an account? Log in