Integrations

Works with the tools you already use.

Your leads and listings flow to your inbox, your CRM and your AI. Each one takes about a minute to set up.

Start freeOpen my integrations

Webhook events

We send an HTTPS POST with a JSON body. Every event uses the same envelope: event, created_at and data (plus source and test). We wait up to 5 seconds and never retry, so respond with any 2xx quickly. The Send test button posts a sample lead.created with "test": true.

Free plan: lead.created, subscriber.created and subscriber.unsubscribed. Pro adds lead.updated and every listing.* event.

For older zaps, lead.created also repeats lead, listing and agent at the top level.

lead.createdA visitor sends a message, requests a tour or RSVPs to an open house. lead.type is tour, open_house or inquiry.
{
  "event": "lead.created",
  "test": false,
  "source": "Property Landing Pages",
  "created_at": "2026-11-03T14:00:00.000Z",
  "data": {
    "lead": {
      "id": "uuid",
      "type": "tour",
      "name": "Sam Buyer",
      "email": "sam@example.com",
      "phone": "(555) 010-0000",
      "message": "Can we see it Saturday?",
      "tour_date": "2026-11-07",
      "tour_time": "10:00 AM",
      "tour_mode": "in_person"
    },
    "listing": {
      "slug": "12-oak-st",
      "url": "https://www.propertylandingpages.com/jane-doe/12-oak-st",
      "address": "12 Oak St, Rome, GA 30161"
    },
    "agent": {
      "slug": "jane-doe",
      "name": "Jane Doe",
      "email": "jane@example.com"
    }
  }
}
lead.updatedYou change a lead status, add a note, log a call or text, or change tags, source or the next follow-up.
{
  "event": "lead.updated",
  "test": false,
  "source": "Property Landing Pages",
  "created_at": "2026-11-03T14:00:00.000Z",
  "data": {
    "lead": {
      "id": "uuid",
      "name": "Sam Buyer",
      "email": "sam@example.com",
      "phone": "(555) 010-0000",
      "status": "contacted",
      "tags": [
        "buyer"
      ],
      "source": "Listing page",
      "next_follow_up": "2026-11-10",
      "listing_slug": "12-oak-st",
      "updated_at": "2026-11-03T14:00:00Z"
    },
    "changes": {
      "status": "contacted"
    },
    "agent": {
      "slug": "jane-doe",
      "name": "Jane Doe",
      "email": "jane@example.com"
    }
  }
}
listing.publishedA new listing is created and is public.
{
  "event": "listing.published",
  "test": false,
  "source": "Property Landing Pages",
  "created_at": "2026-11-03T14:00:00.000Z",
  "data": {
    "listing": {
      "id": "uuid",
      "slug": "12-oak-st",
      "url": "https://www.propertylandingpages.com/jane-doe/12-oak-st",
      "title": "12 Oak St",
      "address": "12 Oak St, Rome, GA 30161",
      "price": "$350,000",
      "status": "active",
      "sold_at": null
    },
    "agent": {
      "slug": "jane-doe",
      "name": "Jane Doe",
      "email": "jane@example.com"
    }
  }
}
listing.soldA listing is marked sold.
{
  "event": "listing.sold",
  "test": false,
  "source": "Property Landing Pages",
  "created_at": "2026-11-03T14:00:00.000Z",
  "data": {
    "listing": {
      "id": "uuid",
      "slug": "12-oak-st",
      "url": "https://www.propertylandingpages.com/jane-doe/12-oak-st",
      "title": "12 Oak St",
      "address": "12 Oak St, Rome, GA 30161",
      "price": "$350,000",
      "status": "sold",
      "sold_at": "2026-11-20T15:00:00Z"
    },
    "agent": {
      "slug": "jane-doe",
      "name": "Jane Doe",
      "email": "jane@example.com"
    }
  }
}
listing.pendingA listing goes under contract (Pending). Same shape for listing.coming_soon (marked Coming soon) and listing.active (back on the market).
{
  "event": "listing.pending",
  "test": false,
  "source": "Property Landing Pages",
  "created_at": "2026-11-03T14:00:00.000Z",
  "data": {
    "listing": {
      "id": "uuid",
      "slug": "12-oak-st",
      "url": "https://www.propertylandingpages.com/jane-doe/12-oak-st",
      "title": "12 Oak St",
      "address": "12 Oak St, Rome, GA 30161",
      "price": "$350,000",
      "status": "pending",
      "sold_at": null
    },
    "agent": {
      "slug": "jane-doe",
      "name": "Jane Doe",
      "email": "jane@example.com"
    }
  }
}
subscriber.createdSomeone confirms a newsletter signup on your site (double opt-in). Sent on every plan, so you can add them to your email tool. Same shape for subscriber.unsubscribed.
{
  "event": "subscriber.created",
  "test": false,
  "source": "Property Landing Pages",
  "created_at": "2026-11-03T14:00:00.000Z",
  "data": {
    "subscriber": {
      "id": "uuid",
      "email": "sam@example.com",
      "name": "Sam",
      "status": "confirmed",
      "signed_up_at": "2026-11-03T14:00:00Z",
      "confirmed_at": "2026-11-03T14:02:00Z",
      "unsubscribed_at": null,
      "lead_id": "uuid"
    },
    "agent": {
      "slug": "jane-doe",
      "name": "Jane Doe",
      "email": "jane@example.com"
    }
  }
}

Something missing?

Tell us what you use. Most tools connect today through the webhook and Zapier or Make.

Start freeHow the AI connection works