Skip to content

Meeting methods: book, cancel, hold

The Meeting Verbs book, cancel, hold as typed SDK methods, with inputs, result, refusals and an example.

Reference for Meeting, one group of Meeting methods.

Meeting.book

Book schedules a Meeting with a Contact at a time both calendars hold free. Verb page.

TypeScript
interface MeetingVerbs {
  book(input: MeetingBookInput, options?: SB.CallOptions): SB.Call<Meeting>
}

Emits Meeting.booked.

Inputs

InputTypeRequiredDescription
contactContactrequiredWho to meet.
atdatetimerequiredWhen.

Returns

OutputTypeRequiredDescription
meetingMeetingrequiredThe booked Meeting.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.
The record is not in a state that allows this Verb, so the call is refused.refusedRead the record, run the Verb that moves it to an allowed state, then retry.None.

Example

TypeScript
import { $ } from 'startup-builder'

const meeting = await $.Meeting.book({ contact: 'contact_WsrosCQi6J', at: '2026-10-22T12:00:00Z' })

Meeting.cancel

Cancel ends a scheduled Meeting before it starts, frees its time, and applies the refund rule of any Offer it was paid through. Verb page.

TypeScript
interface MeetingVerbs {
  cancel(input: MeetingCancelInput, options?: SB.CallOptions): SB.Call<Meeting>
}

Emits Meeting.canceled.

Inputs

InputTypeRequiredDescription
meetingMeetingrequiredThe Meeting to cancel.
reasonstringWhy, as the attendees read it.

Returns

OutputTypeRequiredDescription
meetingMeetingrequiredThe canceled Meeting.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.

Example

TypeScript
import { $ } from 'startup-builder'

const meeting = await $.Meeting.cancel({ meeting: 'meeting_TyEQGjh9uX' })

Meeting.hold

Hold records that a Meeting took place, with its transcript and notes, so its Decisions and Tasks can follow. Verb page.

TypeScript
interface MeetingVerbs {
  hold(input: MeetingHoldInput, options?: SB.CallOptions): SB.Call<Meeting>
}

Emits Meeting.held.

Inputs

InputTypeRequiredDescription
meetingMeetingrequiredThe Meeting that took place.
transcripttextWhat was said.
notestextWhat was agreed, in brief.

Returns

OutputTypeRequiredDescription
meetingMeetingrequiredThe held Meeting.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.

Example

TypeScript
import { $ } from 'startup-builder'

const meeting = await $.Meeting.hold({ meeting: 'meeting_TyEQGjh9uX' })