Core concepts
Touchpoints
A touchpoint is a business moment that should create a Video Intro experience: an appointment booked, an inspection done, an offer accepted.
Touchpoints belong to the organization
Every organization already has touchpoints in Video Intros. Its team names them, edits what the member says and what the customer sees, and turns them on or off. The API uses those same touchpoints. There is no separate list for integrations.
An industry only decides which touchpoints an organization starts with. See Exterior Remodeling and Real Estate.
Send business meaning, not CRM status names
Not this
{
"touchpoint": "INSPECTION_COMPLETED"
}
A status name from one CRM. It means nothing to another organization.
This
{
"touchpoint": "inspection_findings"
}
The organization’s own touchpoint.
- CRM status
INSPECTION_COMPLETED - Integration mappingLives in your adapter
- Video Intros
inspection_findings
List an organization’s touchpoints
GET/v1/touchpoints
Returns the organization's own touchpoints: the same ones its team manages in Video Intros. Use a touchpoint's slug when you send a touchpoint event. An organization can rename, reorder or turn off its touchpoints, so read this list rather than hard-coding it.
idstringThe touchpoint's identifier.
slugstringThe value you send as touchpoint.
namestringWhat the organization calls it.
contextstringWhat kind of moment it is: appointment, status, milestone or none. An appointment touchpoint expects context.appointment.
activebooleanFalse when the organization has turned it off. Events for it are refused.
{
"object": "list",
"data": [
{
"id": "tp_1c7e",
"object": "touchpoint",
"slug": "new_appointment",
"name": "New Appointment",
"context": "appointment",
"active": true
},
{
"id": "tp_9a02",
"object": "touchpoint",
"slug": "inspection_findings",
"name": "Inspection Findings / Next Steps",
"context": "none",
"active": true
},
{
"id": "tp_4d51",
"object": "touchpoint",
"slug": "project_update",
"name": "Project Update",
"context": "none",
"active": true
}
],
"has_more": false
}
Context
A touchpoint’s context says what kind of moment it is, and so what facts it can use.
| Context | Meaning | Send |
|---|---|---|
Appointment | A scheduled meeting with a day and time. | context.appointment |
Status | Something is happening now. | Nothing more |
Milestone | A stage was reached. | Nothing more |
No context | A message with no date attached. | Nothing more |
Then trigger one
POST /v1/touchpoint-events with the slug. Video Intros takes it from there.