How to Send New Home Buddy Leads Straight Into Salesforce

If your team runs on Salesforce, you don’t need a middleman. New Home Buddy can post leads directly into your org the moment a buyer acts on one of your homes.

This is our most direct integration. It’s also the one that needs your Salesforce admin.

That’s the trade. No third-party tool, no monthly fee, no extra system to babysit. But someone on your side has to build the endpoint that receives us.

No Salesforce dev resources? Use our Zapier guide instead. It’s slower, but anyone can set it up.

Still here? Forward this page to whoever manages your Salesforce org. The rest is written for them.

The Whole Integration in One Sentence

We send an HTTP POST with a JSON body to a URL you own. You turn that into a Lead.

That’s it. Everything below is detail.

Which Salesforce Door to Use

Salesforce accepts inbound data three ways. Two of them won’t work with us, and those two are the ones people try first.

Web-to-Lead won’t work. It expects a form post with URL-encoded fields. We send JSON. The servlet can’t read our payload.

The standard REST API won’t work either. Creating a Lead through /services/data/ needs an OAuth access token, and those expire. We only send static headers, so a token hard-coded today breaks within hours.

A custom endpoint is the answer. Most teams do this with an Apex REST class exposed through a Salesforce Site, secured by a fixed secret we send on every request. Your admin will recognize the pattern.

Whatever they build, it has to meet the requirements in the next two sections.

What We Send

Every lead arrives as a POST with Content-Type: application/json.

The body has up to three top-level keys:

  • formData — always present. Name, email, phone, message, and whether the person is an agent.
  • home — usually present. Plan name, community, and address.
  • nhb — always present. Which portal and source produced the lead.

Five rules that will shape the build:

Any 2xx means delivered. We log anything else, and we don’t retry.

Respond fast. Well under 30 seconds. Queue anything heavy.

Phone numbers are 10 digits, unformatted. You’ll get 2105550100.

Fields can be empty. First name, email, and phone all arrive as empty strings when a visitor skips them.

One submission can produce several posts. A connection-forwarded lead goes to every rep involved.

One more thing that surprises people. formData describes whoever owns the link the buyer used, which isn’t always the buyer. When an agent is involved, we protect their client and send you the agent instead. Check isRealtor to tell them apart.

Our lead delivery documentation covers the field-by-field schema and every scenario. Ask us for a copy before your team starts building.

What Your Endpoint Needs to Do

Hand your admin this list.

Accept a POST with a JSON body from the public internet, without an OAuth handshake.

Check your own header. You decide the header name and value, then tell us what they are. We send them unchanged on every request. Your endpoint rejects anything that doesn’t match.

Handle required Salesforce fields. Lead requires LastName and Company. Ours can arrive blank, so build a fallback instead of letting the insert fail.

Handle a missing home block. Buyer Needs Requests don’t include one at all. Nothing downstream should require a plan or an address.

Store the context somewhere reportable. Plan name, community, portal, and source are the fields you’ll want when someone asks which communities actually produce leads. Don’t bury them in a description field.

Return a real status code. Return 2xx on success. Return a 4xx or 5xx when something genuinely fails.

That last one matters more than it sounds. It’s tempting to always return 200 so nothing ever looks broken. Don’t. We log every non-2xx response, so a failure on your side becomes visible on ours and we can call you. Swallow the error and your leads quietly stop.

Test It Yourself Before You Involve Us (Optional, Recommended)

Here’s the part that will save you a week.

You don’t need us to test your endpoint. Our lead delivery documentation includes complete example payloads for all eight scenarios that generate a lead. Copy one, post it at your own endpoint, and confirm a Lead appears in Salesforce.

Your team can do this with curl, Postman, or Workbench in about five minutes:

Send a test lead to your own endpoint
curl -X POST https://your-endpoint-url \
  -H "Content-Type: application/json" \
  -H "X-NHB-Token: whatever-secret-you-chose" \
  -d '{
    "formData": {
      "firstName": "Alice",
      "lastName": "Doe",
      "email": "alice@realty.com",
      "phone": "5125550100",
      "tourDate": "2025-04-15T20:40:51Z",
      "message": "Buyer submission via agent link",
      "isRealtor": true,
      "brokerageName": "ABC Realty"
    },
    "home": {
      "planName": "Prism",
      "address": {
        "address1": "14735 Lower Hollow",
        "city": "San Antonio",
        "state": "TX",
        "zipCode": "78252"
      },
      "builderCommunityName": "Hennersby Hollow"
    },
    "nhb": { "portal": "realtor", "source": "PERSONAL_LINK" }
  }'

Work through several examples, not just one. Test a Request Tour with a full address, a Request Details where the address fields are null, and a Buyer Needs Request with no home block. Those three shapes are where most integrations break.

We’re glad to fire live test leads once you’re close. But we’re a small team, and every round trip with us costs you a day. Your staff can iterate in minutes using the examples.

Then Send Us Two Things

Email support@newhomebuddy.com with:

Your Lead Post URL. The full endpoint, exactly as it should be called.

Your Lead Post Headers. The header name and value you want us to send on every request. You choose both. We store them and send them exactly as given.

Two suggestions on the header name. Avoid Authorization, because Salesforce Sites treat that header differently and it may never reach your code. Something like X-NHB-Token is safer. And send us the exact spelling, since header lookups are case-sensitive and a capitalization mismatch fails silently.

We’ll configure both and send a live lead so you can watch it land.

Before You Call It Done

Find the record. A Lead in Salesforce is the only proof that counts. Not a clean deploy, not a 200 in our log.

Turn on duplicate rules. One buyer action can produce several posts. Dedupe on email plus street address.

Keep the URL stable. If the endpoint moves, email us the new one first. Leads stop the moment it changes.

Rotate the secret with us, not around us. It’s your value to change, but send it to us before you change your side, or the next lead fails.

Questions? Email support@newhomebuddy.com and ask for the lead delivery documentation. It has the full schema and every example payload your team needs.