FoyerDevelopers

Generated · Live registry

tenants tools

27 tools in this domain, generated from the running registry.

All tool domains

tenants.connectStatus

read-only

Tenants: connect status. Read-only query. See the input schema for argument details.

Input parameters

Returns object.

Output fields

FieldTypeRequiredNotes
connectedbooleanyes
onboardedbooleanyes
accountIdstring · nullableyes
onboardedAtstring · nullableyes
hospitableRateSyncEnabledbooleanyes
bookingComRateSyncEnabledbooleanyes

tenants.getArrivalGuideSettings

read-only

Tenants: get arrival guide settings. Read-only query. See the input schema for argument details.

Input parameters

Returns object.

Output fields

FieldTypeRequiredNotes
enabledbooleanno
addressstringno
entranceCodeNamestringno
helpPhonestringno
keyboxCodePatternstringno
wifiobjectno
wifi.ssidstringno
wifi.passwordstringno
stepsobjectno
steps.locationobjectno
steps.entranceobjectno
steps.roomobjectno
steps.keyboxobjectno
steps.enterobjectno
steps.rulesobjectno
steps.wifiobjectno

tenants.getBrandVoice

read-only

Tenants: get brand voice. Read-only query. See the input schema for argument details.

Input parameters

Returns object.

Output fields

The whole object may be null.

FieldTypeRequiredNotes
descriptionstringyes
toneenumyesOne of: warm, professional, casual
voiceTrainingEnabledbooleanno

tenants.getCalendarRoomSort

read-only

Tenants: get calendar room sort. Read-only query. See the input schema for argument details.

Input parameters

Returns object.

Output fields

FieldTypeRequiredNotes
sortenumyesOne of: floor_number, number, type

tenants.getPortalLayoutVersion

read-only

Tenants: get portal layout version. Read-only query. See the input schema for argument details.

Input parameters

Returns object.

Output fields

FieldTypeRequiredNotes
versionenumyesOne of: v1, v2
read-only

Tenants: get review links. Read-only query. See the input schema for argument details.

Input parameters

Returns object.

Output fields

The whole object may be null.

FieldTypeRequiredNotes
googleMapsUrlstringno
bookingComUrlstringno
tripadvisorUrlstringno
customUrlstringno
customLabelstringno

tenants.getReviewRequestSettings

read-only

Tenants: get review request settings. Read-only query. See the input schema for argument details.

Input parameters

Returns object.

Output fields

FieldTypeRequiredNotes
enabledbooleanno
delayHoursliteralno

tenants.get_brand_voice_stats

read-only

Returns brand-voice training readiness stats for the tenant: number of manual outbound messages eligible as style anchors (length ≥ 30 chars, within 90-day lookback), last anchor timestamp, per-channel breakdown (whatsapp / email / hospitable), and the voiceTrainingEnabled flag. Read-only — no side effects.

Input parameters

Returns object.

Output fields

FieldTypeRequiredNotes
anchorCountnumberyes
lastAnchorAtstring · nullableyes
channelBreakdownobjectyes
channelBreakdown.whatsappnumberyes
channelBreakdown.emailnumberyes
channelBreakdown.hospitablenumberyes
voiceTrainingEnabledbooleanyes

tenants.get_channel_import_meta

read-only

Read the current Hospitable (and future channel) import status for the tenant. Returns status ('idle' | 'running' | 'done' | 'error'), lastRunAt, importedCount, and errorMessage if the last run failed. Use this to check import progress before triggering a new import.

Input parameters

Returns object.

Output fields

FieldTypeRequiredNotes
hospitableobjectno
hospitable.statusenumyesOne of: idle, running, done, error
hospitable.lastRunAtstring · nullableyes
hospitable.importedCountnumberyes
hospitable.errorMessagestringno

tenants.get_email_import_meta

read-only

Read the current email (Postmark inbound) import status for the tenant. Returns status ('idle' | 'running' | 'done' | 'error'), lastRunAt, importedCount, and errorMessage if the last run failed. Use this to check email import progress before triggering a new import via triggerEmailImport.

Input parameters

Returns object.

Output fields

FieldTypeRequiredNotes
statusenumyesOne of: idle, running, done, error
lastRunAtstring · nullableyes
importedCountnumberyes
errorMessagestringno

tenants.get_faq_detection_mode

read-only

Read the tenant's FAQ detection mode: 'lexical' (trigger-phrase matching, default), 'openai', or 'voyage' (semantic embeddings). Read-only.

Input parameters

Returns object.

Output fields

FieldTypeRequiredNotes
modestringyes

tenants.healHospitableMessages

writes

Tenants: heal hospitable messages. Mutation — changes data. See the input schema for argument details.

Input parameters

FieldTypeRequiredNotes
lookbackDaysintegernoDefault: 60
dryRunbooleannoDefault: false

Output fields

One of 2 shapes, depending on the outcome:

Shape 1

FieldTypeRequiredNotes
okliteralyesOne of: true
reservationsScannedintegeryes
driftedintegeryes
messagesRecoveredintegeryes
samplearray of objectyes
sample.reservationUuidstringyes
sample.hospitableLastMessageAtstringyes
sample.foyerLastMessageAtstring · nullableyes
sample.recoveredintegeryes
dryRunbooleanyes

Shape 2

FieldTypeRequiredNotes
okliteralyesOne of: false
reasonenumyesOne of: no_api_key, auth_failed, api_error, internal
messagestringyes

tenants.importHospitableHistory

writes

Tenants: import hospitable history. Mutation — changes data. See the input schema for argument details.

Input parameters

FieldTypeRequiredNotes
lookbackDaysintegernoDefault: 90

Output fields

One of 2 shapes, depending on the outcome:

Shape 1

FieldTypeRequiredNotes
okliteralyesOne of: true
conversationsScannedintegeryes
messagesInsertedintegeryes
messagesSkippedintegeryes
errorCountintegeryes
durationMsnumberyes

Shape 2

FieldTypeRequiredNotes
okliteralyesOne of: false
reasonenumyesOne of: no_api_key, auth_failed, api_error, internal
messagestringyes

tenants.previewHospitableImport

writes

Tenants: preview hospitable import. Mutation — changes data. See the input schema for argument details.

Input parameters

FieldTypeRequiredNotes
lookbackDaysintegernoDefault: 90

Output fields

One of 2 shapes, depending on the outcome:

Shape 1

FieldTypeRequiredNotes
okliteralyesOne of: true
conversationsScannedintegeryes
messagesInsertedintegeryes
messagesSkippedintegeryes
errorCountintegeryes
durationMsnumberyes

Shape 2

FieldTypeRequiredNotes
okliteralyesOne of: false
reasonenumyesOne of: no_api_key, auth_failed, api_error, internal
messagestringyes

tenants.setCalendarRoomSort

writes

Tenants: set calendar room sort. Mutation — changes data. See the input schema for argument details.

Input parameters

FieldTypeRequiredNotes
sortenumyesOne of: floor_number, number, type

Output fields

FieldTypeRequiredNotes
sortenumyesOne of: floor_number, number, type

tenants.setReviewRequestSettings

writes

Tenants: set review request settings. Mutation — changes data. See the input schema for argument details.

Input parameters

FieldTypeRequiredNotes
enabledbooleanyes
delayHoursliteralnoDefault: 1

Output fields

FieldTypeRequiredNotes
okbooleanyes

tenants.setVoiceTrainingEnabled

writes

Tenants: set voice training enabled. Mutation — changes data. See the input schema for argument details.

Input parameters

FieldTypeRequiredNotes
enabledbooleanyes

Output fields

FieldTypeRequiredNotes
okbooleanyes
enabledbooleanyes

tenants.set_faq_detection_mode

writes

Set the tenant's FAQ detection mode ('lexical' | 'openai' | 'voyage'). Semantic modes need the provider's API key in the server env and embeddings computed via ai_questions.regenerate_embeddings. Owner-only, mutating.

Input parameters

FieldTypeRequiredNotes
modeenumyesOne of: lexical, openai, voyage

Output fields

FieldTypeRequiredNotes
okliteralyesOne of: true
modestringyes

tenants.toggleHospitableRateSync

writes

Tenants: toggle hospitable rate sync. Mutation — changes data. See the input schema for argument details.

Input parameters

FieldTypeRequiredNotes
enabledbooleanyes

Output fields

FieldTypeRequiredNotes
okbooleanyes
enabledbooleanyes

tenants.triggerEmailImport

writes

Tenants: trigger email import. Mutation — changes data. See the input schema for argument details.

Input parameters

FieldTypeRequiredNotes
lookbackDaysintegernoDefault: 90

Output fields

FieldTypeRequiredNotes
okbooleanyes
reasonliteralnoOne of: already_running

tenants.triggerHospitableImport

writes

Tenants: trigger hospitable import. Mutation — changes data. See the input schema for argument details.

Input parameters

FieldTypeRequiredNotes
lookbackDaysintegernoDefault: 90

Output fields

FieldTypeRequiredNotes
okbooleanyes
reasonliteralnoOne of: already_running

tenants.triggerHospitableReservationImport

writes

Tenants: trigger hospitable reservation import. Mutation — changes data. See the input schema for argument details.

Input parameters

FieldTypeRequiredNotes
lookbackDaysintegernoDefault: 365
dryRunbooleannoDefault: false

Output fields

One of 2 shapes, depending on the outcome:

Shape 1

FieldTypeRequiredNotes
okliteralyesOne of: true
propertiesQueriedintegeryes
reservationsFetchedintegeryes
staysCreatedintegeryes
staysUpdatedintegeryes
guestsCreatedintegeryes
skippedarray of objectyes
skipped.codestringyes
skipped.reasonstringyes
samplearray of objectyes
sample.codestringyes
sample.roomstringyes
sample.actionenumyesOne of: create, update
sample.statusstringyes
dryRunbooleanyes

Shape 2

FieldTypeRequiredNotes
okliteralyesOne of: false
reasonenumyesOne of: no_api_key, auth_failed, api_error, internal
messagestringyes

tenants.update-arrival-guide-settings

writesconfirm

Replace the tenant's arrival-guide settings wholesale (address, entrance/keybox code names, wifi ssid/password, and per-step enabled/bodyTranslations/helpTranslations/photoKey/videoUrl for the 7 guide steps). videoUrl must be http(s). Owner-only, mutating — replaces the whole JSONB (read-modify-write happens caller-side).

Input parameters

FieldTypeRequiredNotes
enabledbooleanno
addressstringno
entranceCodeNamestringno
helpPhonestringno
keyboxCodePatternstringno
wifiobjectno
wifi.ssidstringno
wifi.passwordstringno
stepsobjectno
steps.locationobjectno
steps.entranceobjectno
steps.roomobjectno
steps.keyboxobjectno
steps.enterobjectno
steps.rulesobjectno
steps.wifiobjectno

Output fields

FieldTypeRequiredNotes
okliteralyesOne of: true

tenants.updateBrandVoice

writes

Tenants: update brand voice. Mutation — changes data. See the input schema for argument details.

Input parameters

FieldTypeRequiredNotes
descriptionstringyes
toneenumyesOne of: warm, professional, casual

Output fields

FieldTypeRequiredNotes
okbooleanyes

tenants.updatePortalLayoutVersion

writes

Tenants: update portal layout version. Mutation — changes data. See the input schema for argument details.

Input parameters

FieldTypeRequiredNotes
versionenumyesOne of: v1, v2

Output fields

FieldTypeRequiredNotes
okbooleanyes
versionenumyesOne of: v1, v2
writes

Tenants: update review links. Mutation — changes data. See the input schema for argument details.

Input parameters

FieldTypeRequiredNotes
googleMapsUrlstring | literalno
bookingComUrlstring | literalno
tripadvisorUrlstring | literalno
customUrlstring | literalno
customLabelstring | literalno

Output fields

FieldTypeRequiredNotes
okbooleanyes

tenants.update_rooms

writesconfirm

Update the tenant's room count. Sockel is 30€/mo for ≤2 rooms; each additional room is 10€/mo. The matching Stripe extra-room line item is synced best-effort; the next webhook reconciliation catches any drift. Mutating action — requires _confirm: true.

Input parameters

FieldTypeRequiredNotes
roomsintegeryes

Output fields

FieldTypeRequiredNotes
okliteralyesOne of: true
stripeSyncanyyesRaw Stripe sync result, passed through verbatim — shape is Stripe's, not ours.