KosmoKrator

productivity

MeisterTask Lua API for KosmoKrator Agents

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

7 functions 5 read 2 write Bearer token auth

Lua Namespace

Agents call this integration through app.integrations.meistertask.*. Use lua_read_doc("integrations.meistertask") 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.

MeisterTask — Lua API Reference

list_projects

List all MeisterTask projects the authenticated user has access to.

Parameters

No parameters required.

Example

local result = app.integrations.meistertask.list_projects({})

for _, project in ipairs(result) do
  print(project.id .. ": " .. project.name)
end

get_project

Get detailed information about a specific MeisterTask project.

Parameters

NameTypeRequiredDescription
idintegeryesThe project ID

Example

local result = app.integrations.meistertask.get_project({
  id = 12345
})

print("Project: " .. result.name)
print("Status: " .. result.status)

create_task

Create a new task in a MeisterTask project.

Parameters

NameTypeRequiredDescription
project_idintegeryesThe project ID to create the task in
namestringyesThe task name / title
statusstringnoTask status (e.g., “open”, “completed”)
descriptionstringnoTask description (supports Markdown)
assignee_idintegernoUser ID to assign the task to
due_datestringnoDue date in ISO 8601 format (e.g., “2026-04-30”)
priorityintegernoPriority level
section_idintegernoSection (column) ID within the project
labelsarraynoArray of label names or IDs

Example

local result = app.integrations.meistertask.create_task({
  project_id = 12345,
  name = "Review quarterly report",
  description = "Check all numbers and update the summary section.",
  due_date = "2026-04-30",
  priority = 3
})

print("Created task #" .. result.id .. ": " .. result.name)

list_tasks

List tasks across projects with optional filters.

Parameters

NameTypeRequiredDescription
project_idintegernoFilter by project ID
statusstringnoFilter by status (e.g., “open”, “completed”)
assignee_idintegernoFilter by assignee user ID
limitintegernoMaximum number of tasks to return
pageintegernoPage number for pagination

Example

-- List open tasks in a specific project
local result = app.integrations.meistertask.list_tasks({
  project_id = 12345,
  status = "open"
})

for _, task in ipairs(result) do
  print(task.id .. ": " .. task.name .. " (due: " .. (task.due_date or "none") .. ")")
end

get_task

Get detailed information about a specific task.

Parameters

NameTypeRequiredDescription
idintegeryesThe task ID

Example

local result = app.integrations.meistertask.get_task({
  id = 67890
})

print("Task: " .. result.name)
print("Status: " .. result.status)
print("Description: " .. (result.description or "No description"))

update_task

Update an existing task. Provide only the fields you want to change.

Parameters

NameTypeRequiredDescription
idintegeryesThe task ID to update
namestringnoNew task name
statusstringnoNew status (e.g., “open”, “completed”)
descriptionstringnoUpdated description
assignee_idintegernoReassign to a different user
due_datestringnoUpdated due date (ISO 8601)
priorityintegernoUpdated priority
section_idintegernoMove to a different section
labelsarraynoUpdated labels

Example

-- Complete a task
local result = app.integrations.meistertask.update_task({
  id = 67890,
  status = "completed"
})

print("Task " .. result.id .. " is now " .. result.status)

-- Update due date and assignee
local result2 = app.integrations.meistertask.update_task({
  id = 67891,
  due_date = "2026-05-15",
  assignee_id = 42
})

get_current_user

Get the authenticated user’s profile.

Parameters

No parameters required.

Example

local result = app.integrations.meistertask.get_current_user({})

print("Logged in as: " .. result.first_name .. " " .. result.last_name)
print("Email: " .. result.email)

Multi-Account Usage

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

-- Default account (always works)
app.integrations.meistertask.list_projects({})

-- Explicit default (portable across setups)
app.integrations.meistertask.default.list_projects({})

-- Named accounts
app.integrations.meistertask.work.list_projects({})
app.integrations.meistertask.personal.list_projects({})

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

Raw agent markdown
# MeisterTask — Lua API Reference

## list_projects

List all MeisterTask projects the authenticated user has access to.

### Parameters

No parameters required.

### Example

```lua
local result = app.integrations.meistertask.list_projects({})

for _, project in ipairs(result) do
  print(project.id .. ": " .. project.name)
end
```

---

## get_project

Get detailed information about a specific MeisterTask project.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `id` | integer | yes | The project ID |

### Example

```lua
local result = app.integrations.meistertask.get_project({
  id = 12345
})

print("Project: " .. result.name)
print("Status: " .. result.status)
```

---

## create_task

Create a new task in a MeisterTask project.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `project_id` | integer | yes | The project ID to create the task in |
| `name` | string | yes | The task name / title |
| `status` | string | no | Task status (e.g., "open", "completed") |
| `description` | string | no | Task description (supports Markdown) |
| `assignee_id` | integer | no | User ID to assign the task to |
| `due_date` | string | no | Due date in ISO 8601 format (e.g., "2026-04-30") |
| `priority` | integer | no | Priority level |
| `section_id` | integer | no | Section (column) ID within the project |
| `labels` | array | no | Array of label names or IDs |

### Example

```lua
local result = app.integrations.meistertask.create_task({
  project_id = 12345,
  name = "Review quarterly report",
  description = "Check all numbers and update the summary section.",
  due_date = "2026-04-30",
  priority = 3
})

print("Created task #" .. result.id .. ": " .. result.name)
```

---

## list_tasks

List tasks across projects with optional filters.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `project_id` | integer | no | Filter by project ID |
| `status` | string | no | Filter by status (e.g., "open", "completed") |
| `assignee_id` | integer | no | Filter by assignee user ID |
| `limit` | integer | no | Maximum number of tasks to return |
| `page` | integer | no | Page number for pagination |

### Example

```lua
-- List open tasks in a specific project
local result = app.integrations.meistertask.list_tasks({
  project_id = 12345,
  status = "open"
})

for _, task in ipairs(result) do
  print(task.id .. ": " .. task.name .. " (due: " .. (task.due_date or "none") .. ")")
end
```

---

## get_task

Get detailed information about a specific task.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `id` | integer | yes | The task ID |

### Example

```lua
local result = app.integrations.meistertask.get_task({
  id = 67890
})

print("Task: " .. result.name)
print("Status: " .. result.status)
print("Description: " .. (result.description or "No description"))
```

---

## update_task

Update an existing task. Provide only the fields you want to change.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `id` | integer | yes | The task ID to update |
| `name` | string | no | New task name |
| `status` | string | no | New status (e.g., "open", "completed") |
| `description` | string | no | Updated description |
| `assignee_id` | integer | no | Reassign to a different user |
| `due_date` | string | no | Updated due date (ISO 8601) |
| `priority` | integer | no | Updated priority |
| `section_id` | integer | no | Move to a different section |
| `labels` | array | no | Updated labels |

### Example

```lua
-- Complete a task
local result = app.integrations.meistertask.update_task({
  id = 67890,
  status = "completed"
})

print("Task " .. result.id .. " is now " .. result.status)

-- Update due date and assignee
local result2 = app.integrations.meistertask.update_task({
  id = 67891,
  due_date = "2026-05-15",
  assignee_id = 42
})
```

---

## get_current_user

Get the authenticated user's profile.

### Parameters

No parameters required.

### Example

```lua
local result = app.integrations.meistertask.get_current_user({})

print("Logged in as: " .. result.first_name .. " " .. result.last_name)
print("Email: " .. result.email)
```

---

## Multi-Account Usage

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

```lua
-- Default account (always works)
app.integrations.meistertask.list_projects({})

-- Explicit default (portable across setups)
app.integrations.meistertask.default.list_projects({})

-- Named accounts
app.integrations.meistertask.work.list_projects({})
app.integrations.meistertask.personal.list_projects({})
```

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

Metadata-Derived Lua Example

local result = app.integrations.meistertask.meistertask_list_projects({})
print(result)

Functions

meistertask_list_projects

List all MeisterTask projects the authenticated user has access to. Returns project IDs, names, and basic metadata.

Operation
Read read
Full name
meistertask.meistertask_list_projects
ParameterTypeRequiredDescription
No parameters.

meistertask_get_project

Get detailed information about a specific MeisterTask project, including sections, members, and status.

Operation
Read read
Full name
meistertask.meistertask_get_project
ParameterTypeRequiredDescription
id integer yes The project ID.

meistertask_create_task

Create a new task in a MeisterTask project. You must specify the project and at least a task name. Optionally set status, assignee, due date, description, and more.

Operation
Write write
Full name
meistertask.meistertask_create_task
ParameterTypeRequiredDescription
project_id integer yes The project ID to create the task in.
name string yes The task name / title.
status string no Task status. Common values: "open", "completed". Defaults to "open".
description string no A detailed description of the task (supports Markdown).
assignee_id integer no The user ID of the person to assign the task to.
due_date string no Due date in ISO 8601 format (e.g., "2026-04-30").
priority integer no Task priority level.
section_id integer no The section (column) ID within the project to place the task.
labels array no Array of label names or IDs to attach to the task.

meistertask_list_tasks

List tasks across MeisterTask projects with optional filters. Supports filtering by project, status, assignee, and more.

Operation
Read read
Full name
meistertask.meistertask_list_tasks
ParameterTypeRequiredDescription
project_id integer no Filter tasks by project ID.
status string no Filter by status. Common values: "open", "completed".
assignee_id integer no Filter by assignee user ID.
limit integer no Maximum number of tasks to return.
page integer no Page number for pagination.

meistertask_get_task

Get detailed information about a specific MeisterTask task, including its description, status, assignee, due date, and attachments.

Operation
Read read
Full name
meistertask.meistertask_get_task
ParameterTypeRequiredDescription
id integer yes The task ID.

meistertask_update_task

Update an existing MeisterTask task. You can change the name, status, description, assignee, due date, priority, labels, and more.

Operation
Write write
Full name
meistertask.meistertask_update_task
ParameterTypeRequiredDescription
id integer yes The task ID to update.
name string no New task name / title.
status string no New status. Common values: "open", "completed".
description string no Updated task description (supports Markdown).
assignee_id integer no User ID to reassign the task to.
due_date string no Updated due date in ISO 8601 format (e.g., "2026-04-30").
priority integer no Updated priority level.
section_id integer no Move the task to a different section (column).
labels array no Updated array of label names or IDs.

meistertask_get_current_user

Get the profile of the currently authenticated MeisterTask user, including name, email, and account details.

Operation
Read read
Full name
meistertask.meistertask_get_current_user
ParameterTypeRequiredDescription
No parameters.