Developers Real Estate
Industry guide
Video Intros for Real Estate
Connect buyer, seller, showing, offer, contract, closing and follow-up moments to personalized Video Intros. The API is the same as every other industry. What changes is the set of touchpoints an organization starts with.
The customer journey New relationship Appointment Showing / Listing Offer Under contract Closing Follow-up
Recommended touchpoints These are the touchpoints Video Intros sets up for a new real estate organization. Each organization can rename them, edit them or turn them off, so always read the live list with GET /v1/touchpoints .
First Client Meeting Appointment
first_client_meeting
When to trigger A first meeting with a new client is booked.
Useful context context.appointment (start time and time zone)
Example payload
Copy
{
"touchpoint" : "first_client_meeting" ,
"occurred_at" : "2026-10-05T17:40:00Z" ,
"member" : {
"external_id" : "rep_456"
} ,
"recipient" : {
"first_name" : "Andrea" ,
"last_name" : "Smith" ,
"phone" : "+12405550100"
} ,
"reference" : {
"source" : "your_crm" ,
"type" : "appointment" ,
"id" : "appointment_123"
} ,
"context" : {
"appointment" : {
"starts_at" : "2026-10-06T18:00:00Z" ,
"timezone" : "America/New_York"
}
}
}
Buyer Introduction Appointment
buyer_introduction
When to trigger A buyer is assigned to an agent.
Useful context context.appointment (start time and time zone)
Example payload
Copy
{
"touchpoint" : "buyer_introduction" ,
"occurred_at" : "2026-10-05T17:40:00Z" ,
"member" : {
"external_id" : "rep_456"
} ,
"recipient" : {
"first_name" : "Andrea" ,
"last_name" : "Smith" ,
"phone" : "+12405550100"
} ,
"reference" : {
"source" : "your_crm" ,
"type" : "appointment" ,
"id" : "appointment_123"
} ,
"context" : {
"appointment" : {
"starts_at" : "2026-10-06T18:00:00Z" ,
"timezone" : "America/New_York"
}
}
}
showing
When to trigger A showing is scheduled.
Useful context context.appointment (start time and time zone)
Example payload
Copy
{
"touchpoint" : "showing" ,
"occurred_at" : "2026-10-05T17:40:00Z" ,
"member" : {
"external_id" : "rep_456"
} ,
"recipient" : {
"first_name" : "Andrea" ,
"last_name" : "Smith" ,
"phone" : "+12405550100"
} ,
"reference" : {
"source" : "your_crm" ,
"type" : "appointment" ,
"id" : "appointment_123"
} ,
"context" : {
"appointment" : {
"starts_at" : "2026-10-06T18:00:00Z" ,
"timezone" : "America/New_York"
}
}
}
Listing Appointment Appointment
listing_appointment
When to trigger A listing appointment is booked.
Useful context context.appointment (start time and time zone)
Example payload
Copy
{
"touchpoint" : "listing_appointment" ,
"occurred_at" : "2026-10-05T17:40:00Z" ,
"member" : {
"external_id" : "rep_456"
} ,
"recipient" : {
"first_name" : "Andrea" ,
"last_name" : "Smith" ,
"phone" : "+12405550100"
} ,
"reference" : {
"source" : "your_crm" ,
"type" : "appointment" ,
"id" : "appointment_123"
} ,
"context" : {
"appointment" : {
"starts_at" : "2026-10-06T18:00:00Z" ,
"timezone" : "America/New_York"
}
}
}
follow_up
When to trigger A personal follow-up after a meeting or showing.
Useful context reference to the record it is about
Example payload
Copy
{
"touchpoint" : "follow_up" ,
"occurred_at" : "2026-10-05T17:40:00Z" ,
"member" : {
"external_id" : "rep_456"
} ,
"recipient" : {
"first_name" : "Andrea" ,
"last_name" : "Smith" ,
"phone" : "+12405550100"
} ,
"reference" : {
"source" : "your_crm" ,
"type" : "deal" ,
"id" : "deal_88"
}
}
offer_update
When to trigger An offer is submitted, countered or accepted.
Useful context reference to the record it is about
Example payload
Copy
{
"touchpoint" : "offer_update" ,
"occurred_at" : "2026-10-05T17:40:00Z" ,
"member" : {
"external_id" : "rep_456"
} ,
"recipient" : {
"first_name" : "Andrea" ,
"last_name" : "Smith" ,
"phone" : "+12405550100"
} ,
"reference" : {
"source" : "your_crm" ,
"type" : "deal" ,
"id" : "deal_88"
}
}
under_contract
When to trigger The deal goes under contract.
Useful context reference to the record it is about
Example payload
Copy
{
"touchpoint" : "under_contract" ,
"occurred_at" : "2026-10-05T17:40:00Z" ,
"member" : {
"external_id" : "rep_456"
} ,
"recipient" : {
"first_name" : "Andrea" ,
"last_name" : "Smith" ,
"phone" : "+12405550100"
} ,
"reference" : {
"source" : "your_crm" ,
"type" : "deal" ,
"id" : "deal_88"
}
}
closing
When to trigger Closing is scheduled or done.
Useful context reference to the record it is about
Example payload
Copy
{
"touchpoint" : "closing" ,
"occurred_at" : "2026-10-05T17:40:00Z" ,
"member" : {
"external_id" : "rep_456"
} ,
"recipient" : {
"first_name" : "Andrea" ,
"last_name" : "Smith" ,
"phone" : "+12405550100"
} ,
"reference" : {
"source" : "your_crm" ,
"type" : "deal" ,
"id" : "deal_88"
}
}
thank_you
When to trigger The relationship reaches a natural thank-you.
Useful context reference to the record it is about
Example payload
Copy
{
"touchpoint" : "thank_you" ,
"occurred_at" : "2026-10-05T17:40:00Z" ,
"member" : {
"external_id" : "rep_456"
} ,
"recipient" : {
"first_name" : "Andrea" ,
"last_name" : "Smith" ,
"phone" : "+12405550100"
} ,
"reference" : {
"source" : "your_crm" ,
"type" : "deal" ,
"id" : "deal_88"
}
}
custom
When to trigger Any other moment your organization defines.
Useful context reference to the record it is about
Example payload
Copy
{
"touchpoint" : "custom" ,
"occurred_at" : "2026-10-05T17:40:00Z" ,
"member" : {
"external_id" : "rep_456"
} ,
"recipient" : {
"first_name" : "Andrea" ,
"last_name" : "Smith" ,
"phone" : "+12405550100"
} ,
"reference" : {
"source" : "your_crm" ,
"type" : "deal" ,
"id" : "deal_88"
}
}