Overview
The Luxury Referrals integration uses a single production HTTPS endpoint that manages Zapier webhook subscriptions and returns recent leads. It supports three actions — getRecentLeads, subscribeHook, and unsubscribeHook — and delivers new leads to subscribed Zapier URLs in real time. Every request is authenticated with the private workspace key found in your Luxury Referrals dashboard under Settings → Integrations.
Authentication
Every request must include the workspace API key. The Zapier integration sends it both as the zapierKey query parameter and the X-ZAPIER-KEY request header. Requests without a valid key return an error (see Error handling). The key is a secret and is entered as a masked password field in Zapier.
X-ZAPIER-KEY: YOUR_PRIVATE_WORKSPACE_KEYBase endpoint
GET https://zapierwebhook-mi2dwlxrhq-uc.a.run.app
(Production endpoint, hosted on Google Cloud / Firebase Functions)Request parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
zapierKey | string | The private workspace key that identifies and authenticates the user. May also be sent as the X-ZAPIER-KEY header. | Yes |
action | string | The action to perform: getRecentLeads, subscribeHook, or unsubscribeHook. | Yes |
hookUrl | string | The target URL to subscribe or unsubscribe. Required for subscribeHook and unsubscribeHook. | Conditional |
Actions
The endpoint multiplexes the following actions via the action parameter. All actions use GET.
getRecentLeads
Returns the most recent leads for the authenticated workspace, newest first. Used by Zapier to load a sample when a Zap is being set up.
subscribeHook
Registers a Zapier target URL (hookUrl) so new leads are delivered to it in real time. Called automatically when a Zap is turned on.
unsubscribeHook
Removes a previously registered target URL. Called automatically when a Zap is turned off.
Responses
Default (no action)
{
"message": "Zapier Request Received",
"user": "user_uid",
"displayName": "User",
"email": "user@example.com"
}getRecentLeads
[
{
"email": "lead@example.com",
"name": "Jordan Buyer",
"phone": "+13055550142",
"status": "not_contacted",
"type": "buyer_lead",
"full_address": "123 Main St, Miami, FL 33139",
"address": "123 Main St",
"city": "Miami",
"state": "FL",
"zip": "33139"
}
]subscribeHook
{
"message": "Hook Url Saved",
"hookUrl": "https://hooks.zapier.com/hooks/standard/..."
}unsubscribeHook
{
"message": "Hook Url Deleted",
"hookUrl": "https://hooks.zapier.com/hooks/standard/..."
}New Lead webhook (real-time delivery)
After a Zap subscribes with subscribeHook, each new lead in the workspace is delivered as an HTTP POST to the subscribed hookUrl with a JSON body. This is the payload the Zapier “New Lead” trigger receives.
POST {subscribed hookUrl}
Content-Type: application/json
{
"email": "lead@example.com",
"name": "Jordan Buyer",
"phone": "+13055550142",
"status": "not_contacted",
"type": "buyer_lead",
"full_address": "123 Main St, Miami, FL 33139",
"address": "123 Main St",
"city": "Miami",
"state": "FL",
"zip": "33139"
}Lead fields
Both getRecentLeads and the New Lead webhook return the same lead object with these fields.
| Field | Type | Description |
|---|---|---|
email | string | Lead's email address. |
name | string | Lead's full name. |
phone | string | Lead's phone number (E.164 when available). |
status | string | Lead status, e.g. not_contacted. |
type | string | Lead type: buyer_lead or seller_lead. |
full_address | string | Full formatted property address (seller and home-value leads); empty for buyer leads. |
address | string | Property street address, when available. |
city | string | Property city, when available. |
state | string | Property state, when available. |
zip | string | Property ZIP code, when available. |
Error handling
If the key is missing or invalid, the API returns a JSON object with a descriptive message.
{
"message": "Zapier Key Not Found"
}Production endpoint & ownership
This is a live production endpoint owned and operated by Luxury Referrals. It runs on Google Cloud (Firebase Cloud Functions) in the company's production project — it is not a sandbox, test, or development environment. It is used solely to connect a customer's Luxury Referrals workspace to that customer's own Zapier account, authenticated by the customer's private workspace key. Questions from the Zapier review team can be sent to support@luxuryreferrals.com.