Understanding the data structure sent by Buying Buddy webhooks is crucial for proper configuration. Here's the complete reference based on actual webhook payloads:
Standard Webhook Payload Structure
Buying Buddy webhooks send data with an event wrapper containing event, timestamp, and a data object. The data object can contain up to four sub-arrays: lead, property, request, and user depending on the webhook event type. Here's an example of the actual payload structure:
[
{
"event": "lead.request_contact",
"timestamp": "2025-07-26 22:05:51",
"data": {
"lead": {
"lead_id": "1095307",
"mortgagestatus_id": "0",
"buyerstatus_id": "0",
"leadtype_id": "9",
"leadtype_nm": "Prospect",
"lead_score": "72",
"lead_temperature": "warm",
"previous_temperature": "cold",
"score_last_calculated": "2025-07-26 21:45:00",
"temperature_changed_at": "2025-07-20 10:30:00",
"rating": "3",
"status_id": "0",
"leadsource_id": "1",
"leadsource_nm": "IDX Registration",
"leadsource_url": "https://www.youridxsite.com",
"mbbsource": "Google",
"lead_interest": "Buyer",
"user_id": "0",
"account_id": "1",
"company_nm": "",
"job_title": "",
"first_nm": "Bob",
"last_nm": "Builder",
"email_txt": "bob@builder.com",
"mail_valid": "ok",
"photo": null,
"linkedin_url": "",
"twitter_handle": "",
"number": "3031231234",
"extension": "",
"phone_type": "other",
"mobile": "3031231234",
"address_txt": "",
"address2_txt": "",
"city_nm": "",
"state_id": "",
"zip_cd": "",
"notes_txt": "",
"assignment_id": "2",
"mls_idx_id": "0",
"create_dt": "2025-03-16 16:03:47",
"register_dt": "2025-03-16 16:03:47",
"last_lead_action_dt": "2025-07-26 22:05:51",
"num_hours": "3240",
"login_no": "3",
"login_dt": "2025-07-26 22:05:51",
"optout_campaigns": "0",
"optout_searchalerts": "0",
"optout_propalerts": "0",
"optout_global": "0",
"agreement_flg": "0",
"influencer": null,
"website_url": null,
"niche_focus": null,
"buyer_forecast_amount": "0",
"buyer_closing_dt": null,
"buyer_sales_step": "New Lead",
"seller_forecast_amount": "0",
"seller_closing_dt": null,
"seller_sales_step": null,
"lead_url": "https://www.leadsandcontacts.com/lead-dashboard/home/id/1095307"
},
"property": {
"property_id": "demo_G5091121",
"property_uid": "MFR744503914",
"listing_status": "active",
"mls_status": "Active",
"mls_id": "demo",
"listing_num": "G5091121",
"address_num": "2801",
"street_name": "Eppinger",
"street_type": "Boulevard",
"city": "Thornton",
"state": "CO",
"zip_code": "80229",
"price": "172500",
"orig_price": "179000",
"bedrooms_total": "2",
"baths_total": "2.00",
"sqft_total": "1144",
"finished_sqft_total": "1144",
"property_type": "Residential",
"property_subtype": "Manufactured Home",
"days_on_market": "117",
"lat": "39.86667915",
"lon": "-104.95291054",
"photo_count": "2",
"prop_img": "/listing/photos/demo/G5091121-1.jpeg",
"listing_dt": "2025-01-08",
"price_change_dt": "2025-04-30",
"public_remarks": "I am a dream come true! Pack your bags and get ready to move! I have been owned by one family, that is correct one family and they have meticulously taken care of me...",
"ListAgentFullName": "Lisa Skutt",
"office_name": "DOWN HOME REALTY, LLLP",
"AssociationFee": "361.42",
"AssociationFeeFrequency": "Monthly",
"CommunityFeatures": "Buyer Approval Required, Clubhouse, Dog Park, Fitness Center, Gated Community - Guard, Golf Carts OK, Golf, Pool, Restaurant, Tennis Court(s)",
"YearBuilt": "1985"
},
"request": {
"type": null,
"message": null,
"subject": null,
"contact_preference": null,
"page_url": null
},
"user": {
"user_id": "205",
"account_id": "7",
"first_nm": "Charlie",
"last_nm": "Smith",
"email": "charlie@charliesmithrealty.com",
"phone": "3033333333",
"mobile_no": "3033331234",
"title_txt": "REALTOR",
"accreditation": "CRS, GRI",
"company_nm": "Charlie Smith Realty",
"website_url": "https://charliesmithrealty.com",
"license_no": null,
"office_id": "REM80",
"address": "1000 Broadway",
"address2": "Suite 200",
"city": "Denver",
"state": "Colorado",
"zip": "80203",
"phone2": null,
"agent_id": "318092"
}
}
}
]
Supported Webhook Event Types
The event field indicates what triggered the webhook. Currently implemented event types include:

Lead Activity Events
Events triggered by lead actions and interactions
- lead.created: When a new lead registers or is imported into the system
- Payload includes: Lead, Property, Request, User arrays
- lead.login: When a lead logs into their account
- Payload includes: Lead array with login details
- lead.listing_viewed_3: When a lead views the same property 3 times (configurable threshold)
- Payload includes: Lead, Property arrays
- lead.saved_listing: When a lead saves or favorites a property
- Payload includes: Lead, Property, User arrays
- lead.saved_search: When a lead saves search criteria
- Payload includes: Lead array, search parameters, alert settings
- lead.send_friend: When a lead shares a property with someone
- Payload includes: Lead, Property, User arrays

Lead Request Events
Events for various types of lead requests and inquiries
- lead.request_info: When a lead requests additional property information
- Payload includes: Lead, Property arrays, info type
- lead.request_showing: When a lead requests a property showing
- Payload includes: Lead, Property arrays, preferred times
- lead.request_contact: When a lead wants to speak with an agent
- Payload includes: Lead, Property, Request, User arrays
- lead.form_submitted: When a lead submits any form on the site
- Payload includes: Lead array, form type, form data

Communication & Assignment Events
Events related to email communications and lead management
- lead.replied_email: When a lead responds to an agent email
- Payload includes: Lead array, email thread, reply content
- lead.optout: When a lead unsubscribes from communications
- Payload includes: Lead array, unsubscribe type, timestamp
- lead.lead_assigned: When a lead is reassigned between agents
- Payload includes: Lead, User arrays
- lead.task_assigned: When a task is assigned to an agent
- Payload includes: Lead, User arrays with task details
Note: Additional event types will be added in future updates. The payload structure for each event may vary based on the type of action and available data.
Webhook Sub-Arrays
Depending on the webhook event type, the data object will contain different combinations of these four sub-arrays:
- lead: Information about the lead who triggered the event
- property: Property details when the event relates to a specific listing
- request: Details about the specific request, form submission, or action
- user: Information about the agent/user associated with the event
Field Reference Guide
Lead Array Fields
The lead array contains comprehensive information about the person who triggered the webhook:
- lead_id: Unique identifier for this lead in Buying Buddy
- account_id: Your Buying Buddy account ID
- first_nm, last_nm: Lead's first and last name
- email_txt: Lead's email address
- number: Lead's primary phone number
- phone_type: Type of phone number (business, mobile, other)
- company_nm: Lead's company name (if provided)
- job_title: Lead's job title (if provided)
- address_txt, address2_txt, city_nm, state_id, zip_cd: Lead's contact address
- create_dt: When this lead was first created (YYYY-MM-DD HH:MM:SS format)
- register_dt: When this lead registered on your website
- rating: Lead rating/score (1-5 scale)
- status_id: Lead status ID in your CRM
- assignment_id: ID of the agent assigned to this lead
- leadsource_id: ID indicating how this lead was acquired
- optout_campaigns, optout_searchalerts, optout_propalerts, optout_global: Email preference flags (0=subscribed, 1=opted out)
- mortgagestatus_id, buyerstatus_id, leadtype_id: Classification IDs for lead categorization
Property Array Fields
The property array contains comprehensive details about the property related to the webhook event:
Basic Property Information
- property_id: Unique property identifier
- property_uid: MLS unique identifier
- listing_num: MLS listing number
- address_num, street_name, street_type: Street address components
- city, state, zip_code: Property location details
- property_type: Type of property (Residential, Commercial, etc.)
- property_subtype: Specific property subtype (Single Family Residence, Manufactured Home, etc.)
Pricing and Market Data
- price: Current listing price
- orig_price: Original listing price
- listing_status: Current listing status (active, pending, sold)
- mls_status: MLS status designation
- days_on_market: Number of days property has been listed
- listing_dt: Date property was listed (YYYY-MM-DD format)
- price_change_dt: Date of last price change
Property Features
- bedrooms_total: Number of bedrooms
- baths_total: Number of bathrooms (includes partial baths)
- sqft_total: Total square footage
- finished_sqft_total: Finished/livable square footage
- YearBuilt: Year the property was built
- public_remarks: Property description from MLS
Community and HOA Information
- AssociationFee: Monthly HOA or association fee
- AssociationFeeFrequency: How often the fee is charged (Monthly, Quarterly, etc.)
- CommunityFeatures: Amenities and features available in the community
Photos and Location
- lat, lon: Property latitude and longitude coordinates
- photo_count: Number of photos available
- prop_img: URL path to the main property image
Agent and Office Information
- ListAgentFullName: Name of the listing agent
- office_name: Name of the listing office
Request Array Fields
The request array contains details about the specific action that triggered the webhook:
- type: Type of request made by the lead
- message: Any message or inquiry text provided by the lead
- subject: Subject line of the request
- contact_preference: How the lead prefers to be contacted
- page_url: URL of the page where the action occurred
User Array Fields
The user array contains information about the agent/user associated with the webhook event:
- user_id: Unique identifier for the user in Buying Buddy
- account_id: Account ID the user belongs to
- agent_id: MLS agent ID
- first_nm, last_nm: Agent's first and last name
- email: Agent's email address
- phone: Agent's business phone number
- mobile_no: Agent's mobile phone number
- title_txt: Agent's professional title (REALTOR, etc.)
- accreditation: Professional certifications (CRS, GRI, etc.)
- company_nm: Agent's company name
- website_url: Agent's website URL
- license_no: Real estate license number
- office_id: Office identifier
- address, address2, city, state, zip: Agent's office address
Working with Webhook Data
When processing webhook data, keep these important points in mind:
- Array Structure: The webhook payload is always wrapped in an array, even for single events.
- Null Values: Many fields may contain
nullvalues, especially in the request array. Always check for null before processing. - Data Types: Numeric fields like prices and square footage are often sent as strings. Convert to numbers as needed.
- Date Formats: Dates use different formats - some are "YYYY-MM-DD HH:MM:SS" while others are "YYYY-MM-DD".
- Boolean Flags: Opt-out preferences and status flags use "0" for false and "1" for true.
- Event-Specific Arrays: Not all four sub-arrays (lead, property, request, user) will be present in every webhook. The combination depends on the event type.
Testing Your Webhook
To test your webhook integration:
- Navigate to in your Buying Buddy dashboard
- Add your webhook URL and select the events you want to monitor
- Use the "Test Webhook" feature to send sample data to your endpoint
- Verify your system correctly processes the array structure and all the fields shown in the examples above
- Test with different event types to see how the sub-arrays change
For additional support with webhook configuration, contact our support team through your Buying Buddy dashboard.