FoyerDevelopers

Generated · Live registry

channels tools

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

All tool domains

channels.activate_ota

writesconfirm

Set an OTA connection status from 'pending' to 'active' so rate and availability pushes begin. Call after credentials have been stored via credentials.set. Mutating action — requires _confirm: true.

Input parameters

FieldTypeRequiredNotes
otaenumyesOTA identifier: 'booking_com' or 'expedia' — One of: booking_com, expedia

Output fields

FieldTypeRequiredNotes
okliteralyesOne of: true

channels.connect_ota

writesconfirm

Add or update an OTA connection for the current tenant. Creates the connection with status='pending' if it does not exist, or updates hotelExternalId and resets status to 'pending' on conflict. Mutating action — requires _confirm: true.

Input parameters

FieldTypeRequiredNotes
otaenumyesOTA identifier: 'booking_com' or 'expedia' — One of: booking_com, expedia
hotelExternalIdstringyesHotel ID in the OTA system

Output fields

FieldTypeRequiredNotes
okliteralyesOne of: true

channels.disconnect_ota

writesconfirm

Remove an OTA connection for the current tenant. Deletes the connection row; rate pushes to this OTA will stop immediately. Mutating action — requires _confirm: true.

Input parameters

FieldTypeRequiredNotes
otaenumyesOTA identifier: 'booking_com' or 'expedia' — One of: booking_com, expedia

Output fields

FieldTypeRequiredNotes
okliteralyesOne of: true

channels.list

read-only

List the four ingestion channels (email, whatsapp, hospitable, voice) with their current state, last-event timestamp, and last-error string. Read-only.

Input parameters

Returns object.

Output fields

FieldTypeRequiredNotes
channelsarray of objectyes
channels.keyenumyesOne of: email, whatsapp, hospitable, voice
channels.stateenumyesOne of: live, syncing, error, never, paused
channels.lastEventAtstring · nullableyes
channels.lastErrorstring · nullableyes

channels.list_ota_connections

read-only

List all OTA (Online Travel Agency) connections for the current tenant. Returns booking_com and expedia connections with their status, hotel external ID, last sync time, and last error. Read-only.

Input parameters

Returns object.

Output fields

FieldTypeRequiredNotes
connectionsarray of objectyes
connections.idstringyes
connections.otaenumyesOne of: booking_com, expedia
connections.hotelExternalIdstringyes
connections.statusenumyesOne of: pending, active, error, disabled
connections.lastSyncedAtstring · nullableyes
connections.lastErrorstring · nullableyes
connections.createdAtstringyes
connections.updatedAtstringyes

channels.list_property_mappings

read-only

List the room_type → Hospitable property UUID mappings for the current tenant. Used to configure which Foyer room types map to which Hospitable listings. Read-only.

Input parameters

Returns object.

Output fields

FieldTypeRequiredNotes
mappingsarray of objectyes
mappings.idstringyes
mappings.roomTypestringyes
mappings.propertyUuidstringyes
mappings.createdAtstringyes
mappings.updatedAtstringyes

channels.remove_property_mapping

writesconfirm

Remove a room_type → Hospitable property UUID mapping. Rate-sync will stop pushing to this Hospitable listing for this room type. Mutating action — requires _confirm: true.

Input parameters

FieldTypeRequiredNotes
roomTypestringyesFoyer room type identifier
propertyUuidstringyesHospitable property UUID to remove

Output fields

FieldTypeRequiredNotes
okliteralyesOne of: true

channels.resync

writesconfirm

Manually enqueue Hospitable rate-sync jobs for every mapped room type and every rate record in the given date range. Useful after adding new property mappings or re-enabling sync. Returns { ok, enqueued } — enqueued = number of rate-rows submitted. No-ops if sync is disabled or no property mappings exist. Mutating action — requires _confirm: true.

Input parameters

FieldTypeRequiredNotes
dateFromstringnoStart of range, YYYY-MM-DD (default: today)
dateTostringnoEnd of range, YYYY-MM-DD (default: today + 90 days)

Output fields

FieldTypeRequiredNotes
okbooleanyes
enqueuednumberno
reasonstringno

channels.set_active

writesconfirm

Pause or resume a single ingestion channel. active=false sets state to 'paused' (a kill-switch — channel won't auto-recover on next event); active=true clears the pause flag and restores normal state. Mutating action — requires _confirm: true.

Input parameters

FieldTypeRequiredNotes
keyenumyesOne of: email, whatsapp, hospitable, voice
activebooleanyes

Output fields

FieldTypeRequiredNotes
okliteralyesOne of: true

channels.set_property_mapping

writesconfirm

Add a mapping from a Foyer room type to a Hospitable property UUID. Required for Hospitable rate-sync to know which Hospitable listing to push rates to. One room type can map to multiple Hospitable UUIDs (for multi-room properties). Idempotent — silently ignores duplicate (roomType, propertyUuid) pairs. Mutating action — requires _confirm: true.

Input parameters

FieldTypeRequiredNotes
roomTypestringyesFoyer room type identifier, e.g. 'Doppelzimmer'
propertyUuidstringyesHospitable property UUID from app.hospitable.com

Output fields

FieldTypeRequiredNotes
okliteralyesOne of: true

channels.sync_status

read-only

Return the last 24h sync status for a channel (hospitable by default): last sync log row, error count, and the 10 most recent log entries. Read-only.

Input parameters

FieldTypeRequiredNotes
channelenumnoWhich outbound channel to inspect — One of: hospitable, booking_com_native — Default: "hospitable"

Output fields

FieldTypeRequiredNotes
lastSyncany · nullableyes
errorCountnumberyes
recentLogsarrayyes

channels.toggle_hospitable_rate_sync

writesconfirm

Enable or disable automatic Hospitable rate-sync for this tenant. When enabled, every rate change in Foyer enqueues a job that pushes the new price to all mapped Hospitable property UUIDs via the Hospitable API. Requires 'hospitable_api_key' in credentials and at least one property mapping. Mutating action — requires _confirm: true.

Input parameters

FieldTypeRequiredNotes
enabledbooleanyestrue = activate rate-sync, false = deactivate

Output fields

FieldTypeRequiredNotes
okliteralyesOne of: true
enabledbooleanyes