Scheduling
A booking link into each seat’s free hours, so an interested reply becomes a booked Meeting with a brief, not a thread of emails.
- System
- Scheduling
- Nouns
- 1
- Verbs
- 4
- Events
- 2
You, to your agent
Book Rosa Alvarez for Tuesday at 2 p.m. Central, 30 minutes, on how Northgate tracks renewals today.
curl -X POST "https: //api.sb/ leaseline.app/ meetings/ book? mode= try" \
-H "Authorization: Bearer $SB_TOKEN" \
-H "Content-Type: application/ json" \
-d '{"contact": "contact_Rq2wN8bX5t", "at": "2026-11-03T20: 00: 00Z"}'
npx startup-builder do Meeting.book --try --data '{"contact": "contact_Rq2wN8bX5t", "at": "2026-11-03T20: 00: 00Z"}'
{
"name": "do",
"arguments": {
"mode": "try",
"code": "return await $.Meeting.book({ contact: 'contact_Rq2wN8bX5t', at: '2026-11-03T20: 00: 00Z' })"
}
}
import { $ } from 'startup-builder'
const result = await $.try.Meeting.book({ contact: 'contact_Rq2wN8bX5t', at: '2026-11-03T20: 00: 00Z' })
Response
{
"api": "https: //api.sb/ leaseline.app",
"meeting": {
"$type": "Meeting",
"contact": "https: //api.sb/ leaseline.app/ contacts/ contact_Rq2wN8bX5t",
"at": "2026-11-03T20: 00: 00Z",
"agenda": "How Northgate Rentals tracks rent and lease renewals today, 30 minutes"
},
"action": {
"operation": "Meeting.book",
"mode": "try",
"status": "done"
}
}
Try mode reads, stores nothing and spends nothingAPI referenceIts Nouns
Nouns
| Noun | What it is |
|---|---|
| Meeting | A Meeting is a scheduled time when Workers and Contacts meet about one or more Things, producing notes, Decisions, and Tasks. |
Properties
The hub defines each Noun’s core Properties; Scheduling adds the ones a sale needs.
Meeting
| Property | Type | What it holds | Defined by |
|---|---|---|---|
at | datetime | When it starts. | The hub |
agenda | text | What it covers. | The hub |
transcript | text | What was said. | The hub |
deal | Deal | The deal it moves; the notes land there. | Scheduling |
brief | Content | The one-page brief on the account, written before the call by Deal.brief. | Scheduling |
held | 'held' | 'no-show' | 'moved' | What happened, read from the calendar and the call. | Scheduling |
Verbs
| Verb | What it does | Approval |
|---|---|---|
Meeting.book | Books a time both calendars show free and sends the invite from your domain. | Runs on its own On each site Outlook Limits Only a time both calendars show free; a slot taken between offer and pick refuses, and the next free slot is offered. |
Meeting.create | Saves a Meeting set up outside your booking link, so its brief and notes land on the deal. | Runs on its own |
Meeting.update | Moves or changes a Meeting and sends the new invite to everyone on it. | Runs on its own |
Meeting.list | Lists your Meetings by day, deal or seat, each with its agenda and notes. | Runs on its own |
Events
| Event | Emitted by |
|---|---|
Meeting.booked | Meeting.book |
Meeting.updated | Meeting.update |
A Trigger can start a Workflow on any of them, and a Watch delivers each to your endpoint, signed (Events and webhooks).
Who operates it
| Part | Scheduling |
|---|---|
| Accountable | Sales lead |
| Also calls its Verbs | Sales Engineer, customer lead, Onboarding Specialist, Prospector |
| Seat | An agent holds each seat until you seat a person in it. |
| Asks you first | None of its Verbs: each runs within its seat’s Limits |
Integrations
Google Calendar · Gmail · Outlook
Import and export
| Direction | What | How |
|---|---|---|
| Import | Your calendar | Integration.connect for Google Calendar; only free and busy are read |
| Export | Meetings held and their outcomes | Collection.export |
Example
An interested reply becomes a booked call.
- A reply reads interested. The answer offers three times your calendar shows free.
- The buyer picks Thursday at 10:00.
Meeting.bookholds it and sends the invite from leaseline.app. - The day before,
Deal.briefwrites the account brief onto the Meeting.