productivity
Nifty Lua API for KosmoKrator Agents
Agent-facing Lua documentation and function reference for the Nifty KosmoKrator integration.Lua Namespace
Agents call this integration through app.integrations.nifty.*.
Use lua_read_doc("integrations.nifty") 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
Nifty workflow without starting an interactive agent session.
kosmo integrations:lua --eval 'dump(app.integrations.nifty.list_projects({limit = 1, offset = 1}))' --json kosmo integrations:lua --eval 'print(docs.read("nifty"))' --json
kosmo integrations:lua --eval 'print(docs.read("nifty.list_projects"))' --json Workflow file
Put repeatable logic in a Lua file, then execute it with JSON output for the calling process.
local nifty = app.integrations.nifty
local result = nifty.list_projects({limit = 1, offset = 1})
dump(result) kosmo integrations:lua workflow.lua --json
kosmo integrations:lua workflow.lua --force --json integrations:lua exposes app.integrations.nifty, app.mcp.*, docs.*, json.*, and regex.*. Use app.integrations.nifty.default.* or app.integrations.nifty.work.* when you configured named credential accounts.
MCP-only Lua
If the script only needs configured MCP servers and does not need Nifty, 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.
Nifty Integration
Tools
nifty_list_projects
List all projects in Nifty.
- Parameters:
limit(integer, optional),offset(integer, optional)
nifty_get_project
Get details of a specific project.
- Parameters:
project_id(string, required)
nifty_list_tasks
List tasks with optional filters.
- Parameters:
project_id(string, optional),status(string, optional),assignee_id(string, optional),milestone_id(string, optional),task_list_id(string, optional),limit(integer, optional),offset(integer, optional)
nifty_get_task
Get details of a specific task.
- Parameters:
task_id(string, required)
nifty_create_task
Create a new task in a project.
- Parameters:
title(string, required),project_id(string, required),description(string, optional),task_list_id(string, optional),assignee_id(string, optional),due_date(string, optional),priority(string, optional),labels(array, optional)
nifty_get_current_user
Get the authenticated user profile.
- Parameters: none
Raw agent markdown
# Nifty Integration
## Tools
### nifty_list_projects
List all projects in Nifty.
- **Parameters:** `limit` (integer, optional), `offset` (integer, optional)
### nifty_get_project
Get details of a specific project.
- **Parameters:** `project_id` (string, required)
### nifty_list_tasks
List tasks with optional filters.
- **Parameters:** `project_id` (string, optional), `status` (string, optional), `assignee_id` (string, optional), `milestone_id` (string, optional), `task_list_id` (string, optional), `limit` (integer, optional), `offset` (integer, optional)
### nifty_get_task
Get details of a specific task.
- **Parameters:** `task_id` (string, required)
### nifty_create_task
Create a new task in a project.
- **Parameters:** `title` (string, required), `project_id` (string, required), `description` (string, optional), `task_list_id` (string, optional), `assignee_id` (string, optional), `due_date` (string, optional), `priority` (string, optional), `labels` (array, optional)
### nifty_get_current_user
Get the authenticated user profile.
- **Parameters:** none local result = app.integrations.nifty.list_projects({limit = 1, offset = 1})
print(result) Functions
list_projects Read
List all projects in Nifty. Returns project IDs, names, and metadata that can be used to query tasks.
- Lua path
app.integrations.nifty.list_projects- Full name
nifty.nifty_list_projects
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | no | Maximum number of projects to return. |
offset | integer | no | Number of projects to skip for pagination. |
get_project Read
Get details of a specific Nifty project by its ID, including name, description, status, and task lists.
- Lua path
app.integrations.nifty.get_project- Full name
nifty.nifty_get_project
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | yes | The ID of the project to retrieve. |
list_tasks Read
List tasks in Nifty with optional filters. Filter by project, status, assignee, or other criteria. Returns task IDs, titles, statuses, and assignees.
- Lua path
app.integrations.nifty.list_tasks- Full name
nifty.nifty_list_tasks
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | no | Filter tasks by project ID. |
status | string | no | Filter by task status (e.g., "open", "in_progress", "completed"). |
assignee_id | string | no | Filter by assignee user ID. |
milestone_id | string | no | Filter by milestone ID. |
task_list_id | string | no | Filter by task list ID. |
limit | integer | no | Maximum number of tasks to return. |
offset | integer | no | Number of tasks to skip for pagination. |
get_task Read
Get details of a specific Nifty task by its ID, including title, description, status, assignee, and due date.
- Lua path
app.integrations.nifty.get_task- Full name
nifty.nifty_get_task
| Parameter | Type | Required | Description |
|---|---|---|---|
task_id | string | yes | The ID of the task to retrieve. |
create_task Write
Create a new task in a Nifty project. Requires a title and project ID. Optionally include a description, task list, assignee, and due date.
- Lua path
app.integrations.nifty.create_task- Full name
nifty.nifty_create_task
| Parameter | Type | Required | Description |
|---|---|---|---|
title | string | yes | The title of the task. |
project_id | string | yes | The ID of the project to create the task in. |
description | string | no | A detailed description of the task (supports markdown). |
task_list_id | string | no | The ID of the task list to add the task to. |
assignee_id | string | no | The user ID of the person to assign the task to. |
due_date | string | no | Due date for the task (ISO 8601 format, e.g., "2025-12-31"). |
priority | string | no | Task priority level (e.g., "low", "medium", "high", "urgent"). |
labels | array | no | Array of label names to apply to the task. |
get_current_user Read
Get the profile of the currently authenticated Nifty user, including name, email, and workspace membership.
- Lua path
app.integrations.nifty.get_current_user- Full name
nifty.nifty_get_current_user
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||