Skip to content
  • There are no suggestions because the search field is empty.

How to Push Loan Officers and Real Estate Agents to a Webhook

Push Loan Officers and Real Estate Agents directly to your external platforms with Webhooks


What's in this article?


  1. Adding your Webhook URL
  2. Pushing contacts to your Webhook from Market Insights
  3. Pushing contacts to your Webhook from Pipelines
  4. Available fields
  5. Sample output
  6. FAQ
  7. Understanding error messages
  8. Setting Up Webhooks by platform
    1. GoHighLevel 
    2. Microsoft Sharepoint
    3. ShapeCRM
    4. Zapier Webhooks
    5. Surefire CRM
    6. Bonzo

🛑 Before you begin!

Webhooks are available on the Premium and Enterprise plans. If you're unsure which plan you're on, contact your account admin.

🧠 Enterprise users will need proper permissions enabled on their account to access Webhooks. Contact your account admin to confirm your available features and feature access.

 

Adding your Webhook URL

You can store one Webhook endpoint URL on your account at a time.

  1. Navigate to your account settings by clicking the Settingss icon located on the navigation menu.
  2. Click on "Integrations" from the list of settings.

modelmatch-pushtowebhook

     3. Locate the "Push to Webhooks" section and enter your Webhook endpoint URL into           the URL field. 

enterendpoint-url

💡Your Webhook endpoint URL will automatically save when you navigate away from the field. 

💡 You can update your Webhook URL at any time by returning to this page and entering a new URL. The new URL will replace your previous endpoint.

 

Pushing Real Estate Agents and Loan Officers from Market Insights

You will first need to add your selected Real Estate Agents or Loan Officers to any Pipeline on your account.

1. On the 'Add to Pipeline' popover click "Push Contacts to Webhook. This option only becomes available after the process of adding the 

modelmatch-marketinsights-pushtowebhook


🧠 There is no limit to the number of contacts you can push to your Webhook. However, Model Match sends a single request for each Loan Officer or Real Estate Agent, so please ensure your endpoint can handle the request volume and any rate limits you may have configured. Larger requests may take longer than expected to complete.

 

💡 You can also select large groups of individuals to push at once. Hover over the checkbox at the top of the results table and make a selection from the available options.

Pushing Real Estate Agents and Loan Officers from a Pipeline

You can push Loan Officers or Real Estate Agents to your Webhook directly from your Pipelines.

  1. Navigate to the Pipeline containing the real Estate Agents and Loan Officers that you want to push to your webhook
  2. Use the checkbox to select one or more Real Estate Agents or Loan Officers.
  3. Click "Send To" > "Push to Webhook"
    push-to-webhooks-pipelines

💡 Pro Tip: Apply filters in your Pipeline first to narrow down specific contacts before making your selection. This helps ensure you're pushing the right contacts to your Webhook


Included fields

When you push a contact to your Webhook, Model Match sends the following data fields. 

🛑 Fields are subject to change without prior notice. We recommend building flexible integrations that can handle unexpected field additions or modifications.

  • FirstName - String
  • LastName - String
  • Email - String
  • Phone - String
  • Company - String
  • title - String
  • nmlsId - String
  • address - Object
    • street
    • zipCode
    • state
    • city
  • emails - Array of Objects
    • type - String
    • address - String
  • phones - Array of Objects
    • type - String
    • number - String
  • links- Array of Objects
    • type - String
    • url - String
  • customFields- Array of Objects
    • fieldId - String
    • name - String
    • value - String
    • type - String
    • active - Boolean
  •  tags - Array of Objects
    • name - String
  • trailing12Units - String
  • trailing12Volume - String
  • LoanCt_12Mo - Number
  • LoanCt_Conventional_12Mo - Number
  • LoanCt_FHA_12Mo - Number
  • LoanCt_VA_12Mo - Number
  • BuyerCt_12Mo - Number
  • BuyerVol_12Mo - Number
  • SellerCt_12Mo - Number
  • SellerVol_12Mo - Number
  • LoanOfficerCt_12Mo - Number
  • product_mix_conventional - String
  • product_mix_fha - String
  • product_mix_government - String
  • product_mix_jumbo - String
  • product_mix_usda - String
  • product_mix_va - String
  • purpose_mix_purchase - String
  • purpose_mix_refinance - String
  • ModelMatchAgentId - String
  • ModelMatchOriginatorId - String
  • ModelMatchUrl - String
  • mm_market_insights_url - String
  • agentId - String
  • contactId - String
  • reqId - String
  • reqName - String

 

 

🛑 Fields labeled "Trailing 12 Months" actually contain Trailing 14 Months of data to accommodate possible reporting delays.


🛑 Not all fields may be populated for every contact. The availability of data depends on the information Model Match has on file for each Loan Officer or Real Estate Agent. 

Sample payload

{
  "BuyerCt_12Mo": 15,
  "BuyerVol_12Mo": 2500000,
  "Company": "Sample Realty Group",
  "Email": "john.smith@example.com",
  "FirstName": "John",
  "LastName": "Smith",
  "LoanCt_12Mo": 8,
  "LoanCt_Conventional_12Mo": 5,
  "LoanCt_FHA_12Mo": 2,
  "LoanCt_VA_12Mo": 1,
  "LoanOfficerCt_12Mo": 3,
  "ModelMatchAgentId": "mma_123abc456def789",
  "ModelMatchOriginatorId": "",
  "ModelMatchUrl": "https://example.model-match.com/#/market-insights/agent/mma_123abc456def789/summary/overview",
  "Phone": "555-123-4567",
  "SellerCt_12Mo": 12,
  "SellerVol_12Mo": 3200000,
  "address": {
    "__typename": "Address",
    "street": "123 Main Street",
    "zipCode": null,
    "state": null,
    "city": null
  },
  "agentId": "mma_123abc456def789",
  "assignedUser": {
    "__typename": "User",
    "id": "USER$abc123-def456-ghi789-jkl012",
    "firstName": "Jane",
    "lastName": "Doe"
  },
  "company": "Sample Realty Group",
  "contactId": "CONTACT$xyz789-abc123-def456-ghi789",
  "customFields": [
    {
      "fieldId": "field-001",
      "name": "Lead Source",
      "value": "Referral",
      "type": "LIST",
      "active": true
    },
    {
      "fieldId": "field-002",
      "name": "Deal Stage",
      "value": "Qualified",
      "type": "LIST",
      "active": true
    },
    {
      "fieldId": "field-003",
      "name": "Has Team",
      "value": "Yes",
      "type": "LIST",
      "active": true
    },
    {
      "fieldId": "field-004",
      "name": "Assigned To",
      "value": "Jane Doe",
      "type": "TEXT",
      "active": true
    }
  ],
  "emails": [
    {
      "__typename": "Email",
      "type": null,
      "address": "john.smith@example.com"
    }
  ],
  "firstName": "John",
  "lastName": "Smith",
  "links": [
    {
      "__typename": "Link",
      "type": "Realtor.com",
      "url": "https://www.realtor.com/realestateagents/sample123"
    }
  ],
  "mm_market_insights_url": "https://example.model-match.com/#/market-insights/agent/mma_123abc456def789/summary/overview",
  "nmlsId": "",
  "phones": [
    {
      "__typename": "Phone",
      "type": "office",
      "number": "555-123-4567"
    },
    {
      "__typename": "Phone",
      "type": "personal",
      "number": "555-987-6543"
    }
  ],
  "product_mix_conventional": "",
  "product_mix_fha": "",
  "product_mix_government": "",
  "product_mix_jumbo": "",
  "product_mix_usda": "",
  "product_mix_va": "",
  "purpose_mix_purchase": "",
  "purpose_mix_refinance": "",
  "querystring": {},
  "reqId": "REQ$sample-1234-5678-abcd",
  "reqName": "Sample Request Name",
  "stage": "prospects",
  "tags": [
    {
      "__typename": "ContactTag",
      "name": "VIP Client"
    }
  ],
  "title": "Real Estate Agent",
  "trailing12Units": "450",
  "trailing12Volume": "125000000"
}

 

FAQ

Can I update or customize the fields that are sent to my Webhook?

Field customization is not available at this time. All contacts pushed to your Webhook will include the standard field set listed above.

How many contacts can I push to my Webhook at once?

You can push up to 1000 Real Estate Agents or Loan Officers at a time. There is no daily, weekly, or monthly limit to the amount of Real Estate Agents or Loan Officers that you can send. 

However, Model Match sends a single request for each contact in your selection. We recommend ensuring your Webhook endpoint can handle the request volume and adheres to any rate limits you may have configured.

Can I store multiple Webhook URLs on my account?

No, you can only store one Webhook endpoint URL at a time. To change your endpoint, simply update the URL in your account settings. The new URL will replace your previous configuration.

What happens if my Webhook endpoint is down or returns an error?

If your endpoint is unavailable or returns an error, Model Match will not retry the request. We recommend implementing proper error handling and logging on your endpoint to track any failed requests.

How do I know if my Webhook is working correctly?

After pushing contacts to your Webhook, check your endpoint's logs to confirm requests are being received. You can test with a single contact first before pushing larger batches.

Can I push the same contact to my Webhook multiple times?

Yes, you can push the same contact multiple times. Each push will send a new request to your Webhook endpoint with the contact's current information.

What's the best way to test this before I sent information to a platform that I am actively using? 

While there are various platforms that you can use to test Webhooks we recommend using webhooks.site.  

 

 

Error Messages

Understanding error messages can help you quickly diagnose and resolve issues with your webhook endpoint configuration. We've included a short list of possible error messages below. 

🛑 While this list covers the most common errors, it may not include every possible issue. For webhook setup assistance, we recommend working with your IT team, as our Support team's expertise is limited to our own platform.

Connection Errors:

  • "Connection refused" - The server at the endpoint URL is not accepting connections, possibly because no service is running on that port or the firewall is blocking it.
  • "Connection timed out" - The request took too long to establish a connection, often meaning the server is unreachable, overloaded, or there's a network issue between the sender and receiver.
  • "Could not resolve host" - The domain name in the URL doesn't exist or DNS can't translate it to an IP address, indicating a typo or configuration error in the URL.

HTTP Status Errors:

  • "404 Not Found" - The endpoint URL path doesn't exist on the server, meaning the webhook route hasn't been configured or the URL is incorrect.
  • "500 Internal Server Error" - The webhook endpoint received the request but encountered an error while processing it, indicating a problem with the server-side code.
  • "503 Service Unavailable" - The server is temporarily unable to handle the request, often due to maintenance or overload.
  • "401 Unauthorized" or "403 Forbidden" - The webhook requires authentication credentials or proper authorization headers that weren't provided or are invalid.


Creating webhooks

🛑 Please Note: These links direct you to external documentation maintained by each platform provider. Links and content may change at any time. This is a reference guide of common platforms, not a complete list of all available options.

GoHighLevel CRM

Microsoft SharePoint

Shape CRM

Zapier webhooks

Surefire CRM

Bonzo