productivity
Wufoo Lua API for KosmoKrator Agents
Agent-facing Lua documentation and function reference for the Wufoo KosmoKrator integration.Lua Namespace
Agents call this integration through app.integrations.wufoo.*.
Use lua_read_doc("integrations.wufoo") 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
Wufoo workflow without starting an interactive agent session.
kosmo integrations:lua --eval 'dump(app.integrations.wufoo.get_current_user({}))' --json kosmo integrations:lua --eval 'print(docs.read("wufoo"))' --json
kosmo integrations:lua --eval 'print(docs.read("wufoo.get_current_user"))' --json Workflow file
Put repeatable logic in a Lua file, then execute it with JSON output for the calling process.
local wufoo = app.integrations.wufoo
local result = wufoo.get_current_user({})
dump(result) kosmo integrations:lua workflow.lua --json
kosmo integrations:lua workflow.lua --force --json integrations:lua exposes app.integrations.wufoo, app.mcp.*, docs.*, json.*, and regex.*. Use app.integrations.wufoo.default.* or app.integrations.wufoo.work.* when you configured named credential accounts.
MCP-only Lua
If the script only needs configured MCP servers and does not need Wufoo, use the narrower 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.
Wufoo Lua Reference
Namespace: wufoo
Wufoo exposes form, entry, report, user, comment, and webhook resources through
API v3. Configure an API key and a subdomain-specific base URL such as
https://example.wufoo.com/api/v3. The integration authenticates with HTTP
Basic auth using the API key as the username and footastic as the password.
Forms and Fields
local forms = app.integrations.wufoo.list_forms({})
local form = app.integrations.wufoo.get_form({
form_id = "z1abc234"
})
local fields = app.integrations.wufoo.list_fields({
form_id = "z1abc234"
})
Use list_fields before submit_entry so agents can use the correct Wufoo
field API IDs such as Field1 or Field2.
Entries
local entries = app.integrations.wufoo.list_entries({
form_id = "z1abc234",
page = 0,
page_size = 25,
filters = {
Filter1 = "Field1+Is_equal_to+Example",
SortBy = "DateCreated",
SortDirection = "DESC"
}
})
local count = app.integrations.wufoo.count_entries({
form_id = "z1abc234"
})
local entry = app.integrations.wufoo.get_entry({
form_id = "z1abc234",
entry_id = "123"
})
local created = app.integrations.wufoo.submit_entry({
form_id = "z1abc234",
fields = {
Field1 = "Example Person",
Field2 = "person@example.test"
}
})
Wufoo API v3 lists entries under forms. get_entry therefore uses the form
entries endpoint with an EntryId filter and returns the filtered entries
response.
submit_entry sends form-encoded fields because Wufoo expects form-style entry
submissions. Returned data is the parsed Wufoo response, with submission errors
reported as tool errors.
Comments
local comments = app.integrations.wufoo.list_form_comments({
form_id = "z1abc234",
params = { entryId = "123" }
})
local comment_count = app.integrations.wufoo.count_form_comments({
form_id = "z1abc234"
})
Reports
local reports = app.integrations.wufoo.list_reports({})
local report = app.integrations.wufoo.get_report({
report_id = "r1abc234"
})
local report_entries = app.integrations.wufoo.list_report_entries({
report_id = "r1abc234",
params = { pageSize = 10 }
})
local report_count = app.integrations.wufoo.count_report_entries({
report_id = "r1abc234"
})
local report_fields = app.integrations.wufoo.list_report_fields({
report_id = "r1abc234"
})
local widgets = app.integrations.wufoo.list_report_widgets({
report_id = "r1abc234"
})
Report IDs can be hashes or title identifiers accepted by the Wufoo API.
Users
local users = app.integrations.wufoo.list_users({})
local current = app.integrations.wufoo.get_current_user({})
get_current_user is retained as a compatibility alias for the users endpoint;
Wufoo’s API returns a Users collection.
Webhooks
local webhook = app.integrations.wufoo.add_webhook({
form_id = "z1abc234",
url = "https://example.test/wufoo",
handshake_key = "shared-secret",
metadata = true
})
local deleted = app.integrations.wufoo.delete_webhook({
form_id = "z1abc234",
webhook_id = "webhookhash"
})
Webhook creation is a write operation and should be used carefully because Wufoo limits integrations per form.
Generic API
Use generic helpers for official Wufoo API v3 endpoints that do not yet have a dedicated wrapper.
local raw = app.integrations.wufoo.api_get({
path = "/forms/z1abc234/fields.json",
params = { system = "true" }
})
local posted = app.integrations.wufoo.api_post({
path = "/forms/z1abc234/entries.json",
body = { Field1 = "Example" }
})
Available generic tools: api_get, api_post, api_put, and api_delete.
POST and PUT bodies are submitted as form-encoded data.
Raw agent markdown
# Wufoo Lua Reference
Namespace: `wufoo`
Wufoo exposes form, entry, report, user, comment, and webhook resources through
API v3. Configure an API key and a subdomain-specific base URL such as
`https://example.wufoo.com/api/v3`. The integration authenticates with HTTP
Basic auth using the API key as the username and `footastic` as the password.
## Forms and Fields
```lua
local forms = app.integrations.wufoo.list_forms({})
local form = app.integrations.wufoo.get_form({
form_id = "z1abc234"
})
local fields = app.integrations.wufoo.list_fields({
form_id = "z1abc234"
})
```
Use `list_fields` before `submit_entry` so agents can use the correct Wufoo
field API IDs such as `Field1` or `Field2`.
## Entries
```lua
local entries = app.integrations.wufoo.list_entries({
form_id = "z1abc234",
page = 0,
page_size = 25,
filters = {
Filter1 = "Field1+Is_equal_to+Example",
SortBy = "DateCreated",
SortDirection = "DESC"
}
})
local count = app.integrations.wufoo.count_entries({
form_id = "z1abc234"
})
local entry = app.integrations.wufoo.get_entry({
form_id = "z1abc234",
entry_id = "123"
})
local created = app.integrations.wufoo.submit_entry({
form_id = "z1abc234",
fields = {
Field1 = "Example Person",
Field2 = "person@example.test"
}
})
```
Wufoo API v3 lists entries under forms. `get_entry` therefore uses the form
entries endpoint with an `EntryId` filter and returns the filtered entries
response.
`submit_entry` sends form-encoded fields because Wufoo expects form-style entry
submissions. Returned data is the parsed Wufoo response, with submission errors
reported as tool errors.
## Comments
```lua
local comments = app.integrations.wufoo.list_form_comments({
form_id = "z1abc234",
params = { entryId = "123" }
})
local comment_count = app.integrations.wufoo.count_form_comments({
form_id = "z1abc234"
})
```
## Reports
```lua
local reports = app.integrations.wufoo.list_reports({})
local report = app.integrations.wufoo.get_report({
report_id = "r1abc234"
})
local report_entries = app.integrations.wufoo.list_report_entries({
report_id = "r1abc234",
params = { pageSize = 10 }
})
local report_count = app.integrations.wufoo.count_report_entries({
report_id = "r1abc234"
})
local report_fields = app.integrations.wufoo.list_report_fields({
report_id = "r1abc234"
})
local widgets = app.integrations.wufoo.list_report_widgets({
report_id = "r1abc234"
})
```
Report IDs can be hashes or title identifiers accepted by the Wufoo API.
## Users
```lua
local users = app.integrations.wufoo.list_users({})
local current = app.integrations.wufoo.get_current_user({})
```
`get_current_user` is retained as a compatibility alias for the users endpoint;
Wufoo's API returns a `Users` collection.
## Webhooks
```lua
local webhook = app.integrations.wufoo.add_webhook({
form_id = "z1abc234",
url = "https://example.test/wufoo",
handshake_key = "shared-secret",
metadata = true
})
local deleted = app.integrations.wufoo.delete_webhook({
form_id = "z1abc234",
webhook_id = "webhookhash"
})
```
Webhook creation is a write operation and should be used carefully because Wufoo
limits integrations per form.
## Generic API
Use generic helpers for official Wufoo API v3 endpoints that do not yet have a
dedicated wrapper.
```lua
local raw = app.integrations.wufoo.api_get({
path = "/forms/z1abc234/fields.json",
params = { system = "true" }
})
local posted = app.integrations.wufoo.api_post({
path = "/forms/z1abc234/entries.json",
body = { Field1 = "Example" }
})
```
Available generic tools: `api_get`, `api_post`, `api_put`, and `api_delete`.
POST and PUT bodies are submitted as form-encoded data. local result = app.integrations.wufoo.get_current_user({})
print(result) Functions
get_current_user Read
Get the authenticated Wufoo user's profile. Returns account details such as name, email, and organization.
- Lua path
app.integrations.wufoo.get_current_user- Full name
wufoo.wufoo_get_current_user
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
list_users Read
List Wufoo account users visible to the API key.
- Lua path
app.integrations.wufoo.list_users- Full name
wufoo.wufoo_list_users
| Parameter | Type | Required | Description |
|---|---|---|---|
params | object | no | Optional query parameters such as pretty. |
list_forms Read
List all forms in your Wufoo account. Returns form identifiers, names, descriptions, and metadata that can be used with other Wufoo tools.
- Lua path
app.integrations.wufoo.list_forms- Full name
wufoo.wufoo_list_forms
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
get_form Read
Get details for a specific Wufoo form by its identifier. Returns the full form definition including fields, settings, and metadata.
- Lua path
app.integrations.wufoo.get_form- Full name
wufoo.wufoo_get_form
| Parameter | Type | Required | Description |
|---|---|---|---|
form_id | string | yes | The form hash or identifier (e.g., "q1w2e3r4t5y6"). |
list_fields Read
List all fields for a specific Wufoo form. Returns field types, labels, API IDs, and validation rules. Use this to discover field IDs before submitting entries.
- Lua path
app.integrations.wufoo.list_fields- Full name
wufoo.wufoo_list_fields
| Parameter | Type | Required | Description |
|---|---|---|---|
form_id | string | yes | The form hash or unique identifier. |
list_entries Read
List entries submitted to a Wufoo form. Supports pagination and optional filters to narrow results. Use the page and pageSize parameters to paginate through large result sets.
- Lua path
app.integrations.wufoo.list_entries- Full name
wufoo.wufoo_list_entries
| Parameter | Type | Required | Description |
|---|---|---|---|
form_id | string | yes | The form hash or identifier to list entries for. |
page | integer | no | Page number for pagination (0-based). Default: 0. |
page_size | integer | no | Number of entries per page. Default: 25, maximum: 100. |
filters | object | no | Optional field filters. Keys are filter parameters (e.g., "Filter1", "Match", "SortBy") and values are the filter values. |
count_entries Read
Count entries submitted to a Wufoo form with optional filters.
- Lua path
app.integrations.wufoo.count_entries- Full name
wufoo.wufoo_count_entries
| Parameter | Type | Required | Description |
|---|---|---|---|
form_id | string | yes | The form hash or title identifier. |
params | object | no | Optional query parameters such as Filter1, Match, or pretty. |
get_entry Read
Find a single Wufoo form entry by form ID and entry ID using the documented form entries endpoint.
- Lua path
app.integrations.wufoo.get_entry- Full name
wufoo.wufoo_get_entry
| Parameter | Type | Required | Description |
|---|---|---|---|
form_id | string | yes | The form hash or title identifier. |
entry_id | string | yes | The entry identifier to retrieve. |
submit_entry Write
Submit a new entry to a Wufoo form. Provide field values keyed by their API field IDs (e.g., Field1, Field2). Use list_fields to discover the field IDs for a form.
- Lua path
app.integrations.wufoo.submit_entry- Full name
wufoo.wufoo_submit_entry
| Parameter | Type | Required | Description |
|---|---|---|---|
form_id | string | yes | The form hash or unique identifier. |
fields | object | yes | Object mapping field API IDs to their values (e.g., {"Field1": "John", "Field2": "john@example.com"}). Use list_fields to discover field IDs. |
list_form_comments Read
List comments made on entries for a Wufoo form.
- Lua path
app.integrations.wufoo.list_form_comments- Full name
wufoo.wufoo_list_form_comments
| Parameter | Type | Required | Description |
|---|---|---|---|
form_id | string | yes | The form hash or title identifier. |
params | object | no | Optional query parameters such as entryId, pageStart, pageSize, or pretty. |
count_form_comments Read
Count comments made on entries for a Wufoo form.
- Lua path
app.integrations.wufoo.count_form_comments- Full name
wufoo.wufoo_count_form_comments
| Parameter | Type | Required | Description |
|---|---|---|---|
form_id | string | yes | The form hash or title identifier. |
params | object | no | Optional query parameters such as pretty. |
list_reports Read
List all reports in your Wufoo account. Returns report identifiers, names, descriptions, and the forms they are associated with.
- Lua path
app.integrations.wufoo.list_reports- Full name
wufoo.wufoo_list_reports
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
get_report Read
Get details for a specific Wufoo report.
- Lua path
app.integrations.wufoo.get_report- Full name
wufoo.wufoo_get_report
| Parameter | Type | Required | Description |
|---|---|---|---|
report_id | string | yes | The report hash or title identifier. |
list_report_entries Read
List entries exposed by a Wufoo report.
- Lua path
app.integrations.wufoo.list_report_entries- Full name
wufoo.wufoo_list_report_entries
| Parameter | Type | Required | Description |
|---|---|---|---|
report_id | string | yes | The report hash or title identifier. |
params | object | no | Optional query parameters such as pageStart, pageSize, sort, sortDirection, Filter1, or Match. |
count_report_entries Read
Count entries exposed by a Wufoo report.
- Lua path
app.integrations.wufoo.count_report_entries- Full name
wufoo.wufoo_count_report_entries
| Parameter | Type | Required | Description |
|---|---|---|---|
report_id | string | yes | The report hash or title identifier. |
params | object | no | Optional query parameters such as pretty. |
list_report_fields Read
List field definitions used by a Wufoo report.
- Lua path
app.integrations.wufoo.list_report_fields- Full name
wufoo.wufoo_list_report_fields
| Parameter | Type | Required | Description |
|---|---|---|---|
report_id | string | yes | The report hash or title identifier. |
params | object | no | Optional query parameters such as system or pretty. |
list_report_widgets Read
List widgets configured on a Wufoo report.
- Lua path
app.integrations.wufoo.list_report_widgets- Full name
wufoo.wufoo_list_report_widgets
| Parameter | Type | Required | Description |
|---|---|---|---|
report_id | string | yes | The report hash or title identifier. |
params | object | no | Optional query parameters such as pretty. |
add_webhook Write
Add a webhook to a Wufoo form.
- Lua path
app.integrations.wufoo.add_webhook- Full name
wufoo.wufoo_add_webhook
| Parameter | Type | Required | Description |
|---|---|---|---|
form_id | string | yes | The form hash or title identifier. |
url | string | yes | The HTTPS endpoint Wufoo should call. |
handshake_key | string | no | Optional shared secret sent with webhook payloads. |
metadata | boolean | no | Whether Wufoo should include form and field metadata. Default: false. |
delete_webhook Write
Delete a webhook from a Wufoo form.
- Lua path
app.integrations.wufoo.delete_webhook- Full name
wufoo.wufoo_delete_webhook
| Parameter | Type | Required | Description |
|---|---|---|---|
form_id | string | yes | The form hash or title identifier. |
webhook_id | string | yes | The webhook hash identifier. |
api_get Read
Call a documented Wufoo API v3 GET endpoint.
- Lua path
app.integrations.wufoo.api_get- Full name
wufoo.wufoo_api_get
| Parameter | Type | Required | Description |
|---|---|---|---|
path | string | yes | Endpoint path, such as /forms.json. |
params | object | no | Optional query parameters. |
api_post Write
Call a documented Wufoo API v3 POST endpoint.
- Lua path
app.integrations.wufoo.api_post- Full name
wufoo.wufoo_api_post
| Parameter | Type | Required | Description |
|---|---|---|---|
path | string | yes | Endpoint path, such as /forms/{id}/entries.json. |
body | object | no | Form-encoded body fields. |
api_put Write
Call a documented Wufoo API v3 PUT endpoint.
- Lua path
app.integrations.wufoo.api_put- Full name
wufoo.wufoo_api_put
| Parameter | Type | Required | Description |
|---|---|---|---|
path | string | yes | Endpoint path, such as /forms/{id}/webhooks.json. |
body | object | no | Form-encoded body fields. |
api_delete Write
Call a documented Wufoo API v3 DELETE endpoint.
- Lua path
app.integrations.wufoo.api_delete- Full name
wufoo.wufoo_api_delete
| Parameter | Type | Required | Description |
|---|---|---|---|
path | string | yes | Endpoint path, such as /forms/{id}/webhooks/{webhook_id}.json. |
params | object | no | Optional request parameters. |