KosmoKrator

productivity

Wildix Lua API for KosmoKrator Agents

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

Lua Namespace

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

Call Lua from the Headless CLI

Use kosmo integrations:lua when a shell script, CI job, cron job, or another coding CLI should run a deterministic Wildix workflow without starting an interactive agent session.

Inline Lua call
kosmo integrations:lua --eval 'dump(app.integrations.wildix.call_control_answer({}))' --json
Read Lua docs headlessly
kosmo integrations:lua --eval 'print(docs.read("wildix"))' --json
kosmo integrations:lua --eval 'print(docs.read("wildix.call_control_answer"))' --json

Workflow file

Put repeatable logic in a Lua file, then execute it with JSON output for the calling process.

workflow.lua
local wildix = app.integrations.wildix
local result = wildix.call_control_answer({})

dump(result)
Run the workflow
kosmo integrations:lua workflow.lua --json
kosmo integrations:lua workflow.lua --force --json
Namespace note. integrations:lua exposes app.integrations.wildix, app.mcp.*, docs.*, json.*, and regex.*. Use app.integrations.wildix.default.* or app.integrations.wildix.work.* when you configured named credential accounts.

MCP-only Lua

If the script only needs configured MCP servers and does not need Wildix, use the narrower mcp:lua command.

MCP Lua command
# Use mcp:lua for MCP-only scripts; use integrations:lua for this integration namespace.
kosmo mcp:lua --eval 'dump(mcp.servers())' --json

Agent-Facing Lua Docs

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

Wildix Lua API Reference

Namespace: app.integrations.wildix

This integration exposes the official Wildix WMS/PBX API surface from the @wildix/wms-api-client package. Configure it with a bearer token and your PBX API base URL, usually https://example.wildixin.com.

Usage Pattern

local result = app.integrations.wildix.get_personal_info({})

Tool arguments use snake_case. The integration maps them back to Wildix request fields such as sipCallId, groupDn, redirectUri, and filter query names before sending the HTTP request.

Operation Coverage

| wildix_call_control_answer | write | POST /api/v2/call-control/answer | | wildix_call_control_attendant_transfer | write | POST /api/v2/call-control/attendant-transfer | | wildix_call_control_blind_transfer | write | POST /api/v2/call-control/blind-transfer | | wildix_call_control_dtmf | write | POST /api/v2/call-control/dtmf | | wildix_call_control_hangup | write | POST /api/v2/call-control/hangup | | wildix_call_control_hold | write | POST /api/v2/call-control/hold | | wildix_call_control_make_call | write | POST /api/v2/call-control/make-call | | wildix_call_control_unhold | write | POST /api/v2/call-control/unhold | | wildix_call_control_update_contact_info | write | POST /api/v2/call-control/update-contact-info | | wildix_create_pbx_acl_group | write | POST /api/v1/pbx/aclgroups | | wildix_create_pbx_colleague | write | POST /api/v1/PBX/Colleagues | | wildix_create_pbx_o_auth2_client | write | POST /api/v1/pbx/applications/oauth2 | | wildix_delete_pbx_acl_group | write | DELETE /api/v1/pbx/aclgroups/{id} | | wildix_delete_pbx_colleague | write | DELETE /api/v1/PBX/Colleagues/{id} | | wildix_delete_pbx_o_auth2_client | write | DELETE /api/v1/pbx/applications/oauth2/{id} | | wildix_get_call_queues_settings | read | GET /api/v1/pbx/settings/callqueues/{groupId} | | wildix_get_colleague_by_id | read | GET /api/v1/Colleagues/{id} | | wildix_get_pbx_acl_groups_permissions | read | GET /api/v1/pbx/aclgroups/permissions | | wildix_get_pbx_call_groups | read | GET /api/v1/Dialplan/CallGroups | | wildix_get_pbx_colleagues | read | GET /api/v1/PBX/Colleagues | | wildix_get_pbxes | read | GET /api/v1/network/pbxes | | wildix_get_pbx_o_auth2_clients | read | GET /api/v1/pbx/applications/oauth2 | | wildix_get_personal_info | read | GET /api/v1/personal/info | | wildix_list_pbx_departments | read | GET /api/v1/Departments | | wildix_list_pbx_groups | read | GET /api/v1/Groups | | wildix_list_user_active_calls | read | GET /api/v2/call-control/list-calls | | wildix_list_user_devices | read | GET /api/v2/call-control/list-devices | | wildix_notifications | write | POST /api/v1/notifications | | wildix_originate | write | POST /api/v1/originate | | wildix_originate_call | write | POST /api/v1/originate/call | | wildix_reload_broadcasts | write | POST /api/v1/broadcasts/reload | | wildix_update_pbx_o_auth2_client | write | PUT /api/v1/pbx/applications/oauth2/{id} |

Examples

List active calls for the authenticated user

local calls = app.integrations.wildix.list_user_active_calls({})

Make a call

local result = app.integrations.wildix.call_control_make_call({
  destination = "+15550101000",
  device = "Web"
})

Get PBX colleagues with filters

local users = app.integrations.wildix.get_pbx_colleagues({
  count = 25,
  start = 0,
  query = {
    ["filter[email][]"] = { "ada@example.test" }
  }
})

Create an OAuth2 client

local client = app.integrations.wildix.create_pbx_o_auth2_client({
  name = "Agent App",
  redirect_uri = { "https://example.test/oauth/callback" }
})

Notes

Call-control tools accept an optional user parameter. Wildix documents that only root admin authorization can target a different user; otherwise the authorized user is used.

Write tools return the normalized JSON response from the PBX host. Empty responses are returned as { success = true }.

Multi-Account Usage

app.integrations.wildix.default.get_personal_info({})
app.integrations.wildix.office.list_user_devices({})
Raw agent markdown
# Wildix Lua API Reference

Namespace: `app.integrations.wildix`

This integration exposes the official Wildix WMS/PBX API surface from the `@wildix/wms-api-client` package. Configure it with a bearer token and your PBX API base URL, usually `https://example.wildixin.com`.

## Usage Pattern

```lua
local result = app.integrations.wildix.get_personal_info({})
```

Tool arguments use snake_case. The integration maps them back to Wildix request fields such as `sipCallId`, `groupDn`, `redirectUri`, and filter query names before sending the HTTP request.

## Operation Coverage

| `wildix_call_control_answer` | write | POST `/api/v2/call-control/answer` |
| `wildix_call_control_attendant_transfer` | write | POST `/api/v2/call-control/attendant-transfer` |
| `wildix_call_control_blind_transfer` | write | POST `/api/v2/call-control/blind-transfer` |
| `wildix_call_control_dtmf` | write | POST `/api/v2/call-control/dtmf` |
| `wildix_call_control_hangup` | write | POST `/api/v2/call-control/hangup` |
| `wildix_call_control_hold` | write | POST `/api/v2/call-control/hold` |
| `wildix_call_control_make_call` | write | POST `/api/v2/call-control/make-call` |
| `wildix_call_control_unhold` | write | POST `/api/v2/call-control/unhold` |
| `wildix_call_control_update_contact_info` | write | POST `/api/v2/call-control/update-contact-info` |
| `wildix_create_pbx_acl_group` | write | POST `/api/v1/pbx/aclgroups` |
| `wildix_create_pbx_colleague` | write | POST `/api/v1/PBX/Colleagues` |
| `wildix_create_pbx_o_auth2_client` | write | POST `/api/v1/pbx/applications/oauth2` |
| `wildix_delete_pbx_acl_group` | write | DELETE `/api/v1/pbx/aclgroups/{id}` |
| `wildix_delete_pbx_colleague` | write | DELETE `/api/v1/PBX/Colleagues/{id}` |
| `wildix_delete_pbx_o_auth2_client` | write | DELETE `/api/v1/pbx/applications/oauth2/{id}` |
| `wildix_get_call_queues_settings` | read | GET `/api/v1/pbx/settings/callqueues/{groupId}` |
| `wildix_get_colleague_by_id` | read | GET `/api/v1/Colleagues/{id}` |
| `wildix_get_pbx_acl_groups_permissions` | read | GET `/api/v1/pbx/aclgroups/permissions` |
| `wildix_get_pbx_call_groups` | read | GET `/api/v1/Dialplan/CallGroups` |
| `wildix_get_pbx_colleagues` | read | GET `/api/v1/PBX/Colleagues` |
| `wildix_get_pbxes` | read | GET `/api/v1/network/pbxes` |
| `wildix_get_pbx_o_auth2_clients` | read | GET `/api/v1/pbx/applications/oauth2` |
| `wildix_get_personal_info` | read | GET `/api/v1/personal/info` |
| `wildix_list_pbx_departments` | read | GET `/api/v1/Departments` |
| `wildix_list_pbx_groups` | read | GET `/api/v1/Groups` |
| `wildix_list_user_active_calls` | read | GET `/api/v2/call-control/list-calls` |
| `wildix_list_user_devices` | read | GET `/api/v2/call-control/list-devices` |
| `wildix_notifications` | write | POST `/api/v1/notifications` |
| `wildix_originate` | write | POST `/api/v1/originate` |
| `wildix_originate_call` | write | POST `/api/v1/originate/call` |
| `wildix_reload_broadcasts` | write | POST `/api/v1/broadcasts/reload` |
| `wildix_update_pbx_o_auth2_client` | write | PUT `/api/v1/pbx/applications/oauth2/{id}` |

## Examples

### List active calls for the authenticated user

```lua
local calls = app.integrations.wildix.list_user_active_calls({})
```

### Make a call

```lua
local result = app.integrations.wildix.call_control_make_call({
  destination = "+15550101000",
  device = "Web"
})
```

### Get PBX colleagues with filters

```lua
local users = app.integrations.wildix.get_pbx_colleagues({
  count = 25,
  start = 0,
  query = {
    ["filter[email][]"] = { "ada@example.test" }
  }
})
```

### Create an OAuth2 client

```lua
local client = app.integrations.wildix.create_pbx_o_auth2_client({
  name = "Agent App",
  redirect_uri = { "https://example.test/oauth/callback" }
})
```

## Notes

Call-control tools accept an optional `user` parameter. Wildix documents that only root admin authorization can target a different user; otherwise the authorized user is used.

Write tools return the normalized JSON response from the PBX host. Empty responses are returned as `{ success = true }`.

## Multi-Account Usage

```lua
app.integrations.wildix.default.get_personal_info({})
app.integrations.wildix.office.list_user_devices({})
```
Metadata-derived Lua example
local result = app.integrations.wildix.call_control_answer({})
print(result)

Functions

call_control_answer Write

Execute the official Wildix WMS/PBX API operation `CallControlAnswerCommand`. Official Wildix SDK endpoint: POST /api/v2/call-control/answer. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.call_control_answer
Full name
wildix.wildix_call_control_answer
ParameterTypeRequiredDescription
No parameters.
call_control_attendant_transfer Write

Execute the official Wildix WMS/PBX API operation `CallControlAttendantTransferCommand`. Official Wildix SDK endpoint: POST /api/v2/call-control/attendant-transfer. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.call_control_attendant_transfer
Full name
wildix.wildix_call_control_attendant_transfer
ParameterTypeRequiredDescription
No parameters.
call_control_blind_transfer Write

Execute the official Wildix WMS/PBX API operation `CallControlBlindTransferCommand`. Official Wildix SDK endpoint: POST /api/v2/call-control/blind-transfer. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.call_control_blind_transfer
Full name
wildix.wildix_call_control_blind_transfer
ParameterTypeRequiredDescription
No parameters.
call_control_dtmf Write

Execute the official Wildix WMS/PBX API operation `CallControlDtmfCommand`. Official Wildix SDK endpoint: POST /api/v2/call-control/dtmf. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.call_control_dtmf
Full name
wildix.wildix_call_control_dtmf
ParameterTypeRequiredDescription
No parameters.
call_control_hangup Write

Execute the official Wildix WMS/PBX API operation `CallControlHangupCommand`. Official Wildix SDK endpoint: POST /api/v2/call-control/hangup. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.call_control_hangup
Full name
wildix.wildix_call_control_hangup
ParameterTypeRequiredDescription
No parameters.
call_control_hold Write

Execute the official Wildix WMS/PBX API operation `CallControlHoldCommand`. Official Wildix SDK endpoint: POST /api/v2/call-control/hold. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.call_control_hold
Full name
wildix.wildix_call_control_hold
ParameterTypeRequiredDescription
No parameters.
call_control_make_call Write

Execute the official Wildix WMS/PBX API operation `CallControlMakeCallCommand`. Official Wildix SDK endpoint: POST /api/v2/call-control/make-call. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.call_control_make_call
Full name
wildix.wildix_call_control_make_call
ParameterTypeRequiredDescription
No parameters.
call_control_unhold Write

Execute the official Wildix WMS/PBX API operation `CallControlUnholdCommand`. Official Wildix SDK endpoint: POST /api/v2/call-control/unhold. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.call_control_unhold
Full name
wildix.wildix_call_control_unhold
ParameterTypeRequiredDescription
No parameters.
call_control_update_contact_info Write

Execute the official Wildix WMS/PBX API operation `CallControlUpdateContactInfoCommand`. Official Wildix SDK endpoint: POST /api/v2/call-control/update-contact-info. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.call_control_update_contact_info
Full name
wildix.wildix_call_control_update_contact_info
ParameterTypeRequiredDescription
No parameters.
create_pbx_acl_group Write

Execute the official Wildix WMS/PBX API operation `CreatePbxAclGroupCommand`. Official Wildix SDK endpoint: POST /api/v1/pbx/aclgroups. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.create_pbx_acl_group
Full name
wildix.wildix_create_pbx_acl_group
ParameterTypeRequiredDescription
No parameters.
create_pbx_colleague Write

Execute the official Wildix WMS/PBX API operation `CreatePbxColleagueCommand`. Official Wildix SDK endpoint: POST /api/v1/PBX/Colleagues. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.create_pbx_colleague
Full name
wildix.wildix_create_pbx_colleague
ParameterTypeRequiredDescription
No parameters.
create_pbx_o_auth2_client Write

Execute the official Wildix WMS/PBX API operation `CreatePbxOAuth2ClientCommand`. Official Wildix SDK endpoint: POST /api/v1/pbx/applications/oauth2. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.create_pbx_o_auth2_client
Full name
wildix.wildix_create_pbx_o_auth2_client
ParameterTypeRequiredDescription
No parameters.
delete_pbx_acl_group Write

Execute the official Wildix WMS/PBX API operation `DeletePbxAclGroupCommand`. Official Wildix SDK endpoint: DELETE /api/v1/pbx/aclgroups/{id}. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.delete_pbx_acl_group
Full name
wildix.wildix_delete_pbx_acl_group
ParameterTypeRequiredDescription
No parameters.
delete_pbx_colleague Write

Execute the official Wildix WMS/PBX API operation `DeletePbxColleagueCommand`. Official Wildix SDK endpoint: DELETE /api/v1/PBX/Colleagues/{id}. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.delete_pbx_colleague
Full name
wildix.wildix_delete_pbx_colleague
ParameterTypeRequiredDescription
No parameters.
delete_pbx_o_auth2_client Write

Execute the official Wildix WMS/PBX API operation `DeletePbxOAuth2ClientCommand`. Official Wildix SDK endpoint: DELETE /api/v1/pbx/applications/oauth2/{id}. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.delete_pbx_o_auth2_client
Full name
wildix.wildix_delete_pbx_o_auth2_client
ParameterTypeRequiredDescription
No parameters.
get_call_queues_settings Read

Execute the official Wildix WMS/PBX API operation `GetCallQueuesSettingsCommand`. Official Wildix SDK endpoint: GET /api/v1/pbx/settings/callqueues/{groupId}. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.get_call_queues_settings
Full name
wildix.wildix_get_call_queues_settings
ParameterTypeRequiredDescription
No parameters.
get_colleague_by_id Read

Execute the official Wildix WMS/PBX API operation `GetColleagueByIdCommand`. Official Wildix SDK endpoint: GET /api/v1/Colleagues/{id}. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.get_colleague_by_id
Full name
wildix.wildix_get_colleague_by_id
ParameterTypeRequiredDescription
No parameters.
get_pbx_acl_groups_permissions Read

Execute the official Wildix WMS/PBX API operation `GetPbxAclGroupsPermissionsCommand`. Official Wildix SDK endpoint: GET /api/v1/pbx/aclgroups/permissions. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.get_pbx_acl_groups_permissions
Full name
wildix.wildix_get_pbx_acl_groups_permissions
ParameterTypeRequiredDescription
No parameters.
get_pbx_call_groups Read

Execute the official Wildix WMS/PBX API operation `GetPbxCallGroupsCommand`. Official Wildix SDK endpoint: GET /api/v1/Dialplan/CallGroups. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.get_pbx_call_groups
Full name
wildix.wildix_get_pbx_call_groups
ParameterTypeRequiredDescription
No parameters.
get_pbx_colleagues Read

Execute the official Wildix WMS/PBX API operation `GetPbxColleaguesCommand`. Official Wildix SDK endpoint: GET /api/v1/PBX/Colleagues. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.get_pbx_colleagues
Full name
wildix.wildix_get_pbx_colleagues
ParameterTypeRequiredDescription
No parameters.
get_pbxes Read

Execute the official Wildix WMS/PBX API operation `GetPbxesCommand`. Official Wildix SDK endpoint: GET /api/v1/network/pbxes. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.get_pbxes
Full name
wildix.wildix_get_pbxes
ParameterTypeRequiredDescription
No parameters.
get_pbx_o_auth2_clients Read

Execute the official Wildix WMS/PBX API operation `GetPbxOAuth2ClientsCommand`. Official Wildix SDK endpoint: GET /api/v1/pbx/applications/oauth2. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.get_pbx_o_auth2_clients
Full name
wildix.wildix_get_pbx_o_auth2_clients
ParameterTypeRequiredDescription
No parameters.
get_personal_info Read

Execute the official Wildix WMS/PBX API operation `GetPersonalInfoCommand`. Official Wildix SDK endpoint: GET /api/v1/personal/info. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.get_personal_info
Full name
wildix.wildix_get_personal_info
ParameterTypeRequiredDescription
No parameters.
list_pbx_departments Read

Execute the official Wildix WMS/PBX API operation `ListPbxDepartmentsCommand`. Official Wildix SDK endpoint: GET /api/v1/Departments. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.list_pbx_departments
Full name
wildix.wildix_list_pbx_departments
ParameterTypeRequiredDescription
No parameters.
list_pbx_groups Read

Execute the official Wildix WMS/PBX API operation `ListPbxGroupsCommand`. Official Wildix SDK endpoint: GET /api/v1/Groups. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.list_pbx_groups
Full name
wildix.wildix_list_pbx_groups
ParameterTypeRequiredDescription
No parameters.
list_user_active_calls Read

Execute the official Wildix WMS/PBX API operation `ListUserActiveCallsCommand`. Official Wildix SDK endpoint: GET /api/v2/call-control/list-calls. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.list_user_active_calls
Full name
wildix.wildix_list_user_active_calls
ParameterTypeRequiredDescription
No parameters.
list_user_devices Read

Execute the official Wildix WMS/PBX API operation `ListUserDevicesCommand`. Official Wildix SDK endpoint: GET /api/v2/call-control/list-devices. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.list_user_devices
Full name
wildix.wildix_list_user_devices
ParameterTypeRequiredDescription
No parameters.
notifications Write

Execute the official Wildix WMS/PBX API operation `NotificationsCommand`. Official Wildix SDK endpoint: POST /api/v1/notifications. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.notifications
Full name
wildix.wildix_notifications
ParameterTypeRequiredDescription
No parameters.
originate Write

Execute the official Wildix WMS/PBX API operation `OriginateCommand`. Official Wildix SDK endpoint: POST /api/v1/originate. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.originate
Full name
wildix.wildix_originate
ParameterTypeRequiredDescription
No parameters.
originate_call Write

Execute the official Wildix WMS/PBX API operation `OriginateCallCommand`. Official Wildix SDK endpoint: POST /api/v1/originate/call. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.originate_call
Full name
wildix.wildix_originate_call
ParameterTypeRequiredDescription
No parameters.
reload_broadcasts Write

Execute the official Wildix WMS/PBX API operation `ReloadBroadcastsCommand`. Official Wildix SDK endpoint: POST /api/v1/broadcasts/reload. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.reload_broadcasts
Full name
wildix.wildix_reload_broadcasts
ParameterTypeRequiredDescription
No parameters.
update_pbx_o_auth2_client Write

Execute the official Wildix WMS/PBX API operation `UpdatePbxOAuth2ClientCommand`. Official Wildix SDK endpoint: PUT /api/v1/pbx/applications/oauth2/{id}. Source package: @wildix/wms-api-client.

Lua path
app.integrations.wildix.update_pbx_o_auth2_client
Full name
wildix.wildix_update_pbx_o_auth2_client
ParameterTypeRequiredDescription
No parameters.