KosmoKrator

communication

Whereby Lua API for KosmoKrator Agents

Agent-facing Lua documentation and function reference for the Whereby KosmoKrator integration.

7 functions 5 read 2 write Bearer token auth

Lua Namespace

Agents call this integration through app.integrations.whereby.*. Use lua_read_doc("integrations.whereby") inside KosmoKrator to discover the same reference at runtime.

Agent-Facing Lua Docs

This is the rendered version of the full Lua documentation exposed to agents when they inspect the integration namespace.

Whereby — Lua API Reference

list_rooms

List Whereby rooms with optional pagination.

Parameters

NameTypeRequiredDescription
limitintegernoMaximum number of rooms to return.
cursorstringnoPagination cursor for fetching the next page of results.

Examples

List all rooms

local result = app.integrations.whereby.list_rooms({})
for _, room in ipairs(result.data) do
    print(room.roomName, room.meetingUrl)
end

Paginated listing

local result = app.integrations.whereby.list_rooms({ limit = 10, cursor = "next_page_cursor" })
print(result.meta.nextCursor)

get_room

Get detailed information about a specific Whereby room.

Parameters

NameTypeRequiredDescription
room_namestringyesThe unique name or identifier of the Whereby room.

Examples

local result = app.integrations.whereby.get_room({ room_name = "my-meeting-room" })
print(result.roomName, result.meetingUrl)

create_room

Create a new Whereby video meeting room.

Parameters

NameTypeRequiredDescription
room_modestringnoRoom mode, e.g. “normal” or “group”.
room_name_prefixstringnoOptional prefix for the generated room name.
start_datestringnoISO 8601 start date/time for the room.
end_datestringnoISO 8601 end date/time for the room.
fieldsarraynoAdditional room configuration fields.

Examples

Create a simple room

local result = app.integrations.whereby.create_room({})
print(result.roomName, result.meetingUrl)

Create a scheduled room

local result = app.integrations.whereby.create_room({
    room_mode = "group",
    start_date = "2025-01-15T10:00:00Z",
    end_date = "2025-01-15T11:00:00Z",
})
print(result.roomName, result.meetingUrl)

delete_room

Delete a Whereby room by its name. This action is permanent and cannot be undone.

Parameters

NameTypeRequiredDescription
room_namestringyesThe unique name or identifier of the Whereby room to delete.

Examples

local result = app.integrations.whereby.delete_room({ room_name = "my-meeting-room" })
print("Room deleted")

list_meetings

List past Whereby meetings with optional filters.

Parameters

NameTypeRequiredDescription
limitintegernoMaximum number of meetings to return.
cursorstringnoPagination cursor for fetching the next page.
from_datestringnoISO 8601 start date to filter meetings from.
to_datestringnoISO 8601 end date to filter meetings to.
room_namestringnoFilter meetings by room name.

Examples

List recent meetings

local result = app.integrations.whereby.list_meetings({ limit = 20 })
for _, meeting in ipairs(result.data) do
    print(meeting.id, meeting.roomName, meeting.startDate)
end

Filter by date range

local result = app.integrations.whereby.list_meetings({
    from_date = "2025-01-01T00:00:00Z",
    to_date = "2025-01-31T23:59:59Z",
})
print(#result.data .. " meetings found")

get_meeting

Get detailed information about a specific past meeting.

Parameters

NameTypeRequiredDescription
meeting_idstringyesThe unique identifier of the meeting.

Examples

local result = app.integrations.whereby.get_meeting({ meeting_id = "abc123" })
print(result.roomName, result.duration)
for _, participant in ipairs(result.participants or {}) do
    print(participant.name, participant.joinedAt)
end

get_current_user

Get the profile of the currently authenticated Whereby user.

Parameters

None.

Examples

local result = app.integrations.whereby.get_current_user({})
print(result.name, result.email)

Multi-Account Usage

If you have multiple Whereby accounts configured, use account-specific namespaces:

-- Default account
app.integrations.whereby.list_rooms({})

-- Explicit default
app.integrations.whereby.default.list_rooms({})

-- Named accounts
app.integrations.whereby.work.list_rooms({})

All functions are identical across accounts — only the credentials differ.

Raw agent markdown
# Whereby — Lua API Reference

## list_rooms

List Whereby rooms with optional pagination.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `limit` | integer | no | Maximum number of rooms to return. |
| `cursor` | string | no | Pagination cursor for fetching the next page of results. |

### Examples

#### List all rooms

```lua
local result = app.integrations.whereby.list_rooms({})
for _, room in ipairs(result.data) do
    print(room.roomName, room.meetingUrl)
end
```

#### Paginated listing

```lua
local result = app.integrations.whereby.list_rooms({ limit = 10, cursor = "next_page_cursor" })
print(result.meta.nextCursor)
```

---

## get_room

Get detailed information about a specific Whereby room.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `room_name` | string | yes | The unique name or identifier of the Whereby room. |

### Examples

```lua
local result = app.integrations.whereby.get_room({ room_name = "my-meeting-room" })
print(result.roomName, result.meetingUrl)
```

---

## create_room

Create a new Whereby video meeting room.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `room_mode` | string | no | Room mode, e.g. "normal" or "group". |
| `room_name_prefix` | string | no | Optional prefix for the generated room name. |
| `start_date` | string | no | ISO 8601 start date/time for the room. |
| `end_date` | string | no | ISO 8601 end date/time for the room. |
| `fields` | array | no | Additional room configuration fields. |

### Examples

#### Create a simple room

```lua
local result = app.integrations.whereby.create_room({})
print(result.roomName, result.meetingUrl)
```

#### Create a scheduled room

```lua
local result = app.integrations.whereby.create_room({
    room_mode = "group",
    start_date = "2025-01-15T10:00:00Z",
    end_date = "2025-01-15T11:00:00Z",
})
print(result.roomName, result.meetingUrl)
```

---

## delete_room

Delete a Whereby room by its name. This action is permanent and cannot be undone.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `room_name` | string | yes | The unique name or identifier of the Whereby room to delete. |

### Examples

```lua
local result = app.integrations.whereby.delete_room({ room_name = "my-meeting-room" })
print("Room deleted")
```

---

## list_meetings

List past Whereby meetings with optional filters.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `limit` | integer | no | Maximum number of meetings to return. |
| `cursor` | string | no | Pagination cursor for fetching the next page. |
| `from_date` | string | no | ISO 8601 start date to filter meetings from. |
| `to_date` | string | no | ISO 8601 end date to filter meetings to. |
| `room_name` | string | no | Filter meetings by room name. |

### Examples

#### List recent meetings

```lua
local result = app.integrations.whereby.list_meetings({ limit = 20 })
for _, meeting in ipairs(result.data) do
    print(meeting.id, meeting.roomName, meeting.startDate)
end
```

#### Filter by date range

```lua
local result = app.integrations.whereby.list_meetings({
    from_date = "2025-01-01T00:00:00Z",
    to_date = "2025-01-31T23:59:59Z",
})
print(#result.data .. " meetings found")
```

---

## get_meeting

Get detailed information about a specific past meeting.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `meeting_id` | string | yes | The unique identifier of the meeting. |

### Examples

```lua
local result = app.integrations.whereby.get_meeting({ meeting_id = "abc123" })
print(result.roomName, result.duration)
for _, participant in ipairs(result.participants or {}) do
    print(participant.name, participant.joinedAt)
end
```

---

## get_current_user

Get the profile of the currently authenticated Whereby user.

### Parameters

None.

### Examples

```lua
local result = app.integrations.whereby.get_current_user({})
print(result.name, result.email)
```

---

## Multi-Account Usage

If you have multiple Whereby accounts configured, use account-specific namespaces:

```lua
-- Default account
app.integrations.whereby.list_rooms({})

-- Explicit default
app.integrations.whereby.default.list_rooms({})

-- Named accounts
app.integrations.whereby.work.list_rooms({})
```

All functions are identical across accounts — only the credentials differ.

Metadata-Derived Lua Example

local result = app.integrations.whereby.whereby_list_rooms({
  limit = 1,
  cursor = "example_cursor"
})
print(result)

Functions

whereby_list_rooms

List Whereby rooms with optional pagination and filtering.

Operation
Read read
Full name
whereby.whereby_list_rooms
ParameterTypeRequiredDescription
limit integer no Maximum number of rooms to return.
cursor string no Pagination cursor for fetching the next page of results.

whereby_get_room

Get detailed information about a specific Whereby room, including meeting URL, configuration, and host details.

Operation
Read read
Full name
whereby.whereby_get_room
ParameterTypeRequiredDescription
room_name string yes The unique name or identifier of the Whereby room.

whereby_create_room

Create a new Whereby video meeting room with optional configuration such as room mode, time limits, and participant settings.

Operation
Write write
Full name
whereby.whereby_create_room
ParameterTypeRequiredDescription
room_mode string no Room mode, e.g. "normal" or "group".
room_name_prefix string no Optional prefix for the generated room name.
start_date string no ISO 8601 start date/time for the room.
end_date string no ISO 8601 end date/time for the room.
fields array no Additional room configuration fields such as lockRoomOnJoin, recording, etc.

whereby_delete_room

Delete a Whereby room by its name. This action is permanent and cannot be undone.

Operation
Write write
Full name
whereby.whereby_delete_room
ParameterTypeRequiredDescription
room_name string yes The unique name or identifier of the Whereby room to delete.

whereby_list_meetings

List past Whereby meetings with optional pagination and date filtering.

Operation
Read read
Full name
whereby.whereby_list_meetings
ParameterTypeRequiredDescription
limit integer no Maximum number of meetings to return.
cursor string no Pagination cursor for fetching the next page of results.
from_date string no ISO 8601 start date to filter meetings from.
to_date string no ISO 8601 end date to filter meetings to.
room_name string no Filter meetings by room name.

whereby_get_meeting

Get detailed information about a specific past Whereby meeting, including participants, duration, and recording status.

Operation
Read read
Full name
whereby.whereby_get_meeting
ParameterTypeRequiredDescription
meeting_id string yes The unique identifier of the meeting.

whereby_get_current_user

Get the profile information of the currently authenticated Whereby user, including account details and plan information.

Operation
Read read
Full name
whereby.whereby_get_current_user
ParameterTypeRequiredDescription
No parameters.