productivity
Gotify CLI for AI Agents
Use the Gotify CLI from KosmoKrator to call Gotify tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.Gotify CLI Setup
Gotify can be configured headlessly with `kosmokrator integrations:configure gotify`.
# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash
# Configure and verify this integration.
kosmokrator integrations:configure gotify --set hostname="$GOTIFY_HOSTNAME" --enable --read allow --write ask --json
kosmokrator integrations:doctor gotify --json
kosmokrator integrations:status --json Credentials
Authentication type: API token api_token. Configure credentials once, then reuse the same stored profile from scripts, coding CLIs, Lua, and MCP.
| Key | Env var | Type | Required | Label |
|---|---|---|---|---|
hostname | GOTIFY_HOSTNAME | URL url | yes | Gotify Server URL |
app_token | GOTIFY_APP_TOKEN | Secret secret | no | Application Token |
client_token | GOTIFY_CLIENT_TOKEN | Secret secret | no | Client Token |
Command Patterns
The generic command is stable across every integration. The provider shortcut is shorter for humans.
kosmo integrations:call gotify.gotify_create_application '{"name":"example_name","description":"example_description"}' --json kosmo integrations:gotify gotify_create_application '{"name":"example_name","description":"example_description"}' --json Discovery
These commands return structured output for coding agents that need to inspect capabilities before choosing a function.
kosmo integrations:docs gotify --json
kosmo integrations:docs gotify.gotify_create_application --json
kosmo integrations:schema gotify.gotify_create_application --json
kosmo integrations:search "Gotify" --json
kosmo integrations:list --json Automation Contexts
The same configured command surface works in these environments. The command does not change unless the host wrapper, credentials, or permissions change.
CLI Functions
Every function below can be called headlessly. Commands are highlighted, copyable, and scroll horizontally when payloads are long.
gotify.gotify_create_application
Create a Gotify application and return its generated application token. Requires a client token.
write - Parameters
- name, description
kosmo integrations:call gotify.gotify_create_application '{"name":"example_name","description":"example_description"}' --json kosmo integrations:gotify gotify_create_application '{"name":"example_name","description":"example_description"}' --json gotify.gotify_create_client
Create a Gotify client and return its generated client token. Requires a client token.
write - Parameters
- name
kosmo integrations:call gotify.gotify_create_client '{"name":"example_name"}' --json kosmo integrations:gotify gotify_create_client '{"name":"example_name"}' --json gotify.gotify_create_message
Send a notification message via Gotify. The message body supports Markdown formatting. Use priority 0–4 for low, 5 for normal, and 6–10 for high priority.
write - Parameters
- title, message, priority, extras
kosmo integrations:call gotify.gotify_create_message '{"title":"example_title","message":"example_message","priority":1,"extras":"example_extras"}' --json kosmo integrations:gotify gotify_create_message '{"title":"example_title","message":"example_message","priority":1,"extras":"example_extras"}' --json gotify.gotify_delete_application
Delete a Gotify application. Gotify requires elevated authentication for this endpoint.
write - Parameters
- id
kosmo integrations:call gotify.gotify_delete_application '{"id":1}' --json kosmo integrations:gotify gotify_delete_application '{"id":1}' --json gotify.gotify_delete_application_messages
Delete all messages sent by a specific Gotify application. Requires a client token.
write - Parameters
- application_id
kosmo integrations:call gotify.gotify_delete_application_messages '{"application_id":1}' --json kosmo integrations:gotify gotify_delete_application_messages '{"application_id":1}' --json gotify.gotify_delete_client
Delete a Gotify client. Gotify requires elevated authentication for this endpoint.
write - Parameters
- id
kosmo integrations:call gotify.gotify_delete_client '{"id":1}' --json kosmo integrations:gotify gotify_delete_client '{"id":1}' --json gotify.gotify_delete_message
Delete a message from Gotify by its ID. Use the list_messages tool to find message IDs.
write - Parameters
- id
kosmo integrations:call gotify.gotify_delete_message '{"id":1}' --json kosmo integrations:gotify gotify_delete_message '{"id":1}' --json gotify.gotify_delete_messages
Delete all Gotify messages visible to the configured client token.
write - Parameters
- none
kosmo integrations:call gotify.gotify_delete_messages '{}' --json kosmo integrations:gotify gotify_delete_messages '{}' --json gotify.gotify_get_current_user
Get information about the currently authenticated Gotify user, including username and admin status.
read - Parameters
- none
kosmo integrations:call gotify.gotify_get_current_user '{}' --json kosmo integrations:gotify gotify_get_current_user '{}' --json gotify.gotify_get_health
Check the health status of the Gotify server. Returns server health information including database status.
read - Parameters
- none
kosmo integrations:call gotify.gotify_get_health '{}' --json kosmo integrations:gotify gotify_get_health '{}' --json gotify.gotify_get_version
Get Gotify server version information from the public /version endpoint.
read - Parameters
- none
kosmo integrations:call gotify.gotify_get_version '{}' --json kosmo integrations:gotify gotify_get_version '{}' --json gotify.gotify_list_application_messages
List messages sent by a specific Gotify application. Requires a client token.
read - Parameters
- application_id, limit, since
kosmo integrations:call gotify.gotify_list_application_messages '{"application_id":1,"limit":1,"since":1}' --json kosmo integrations:gotify gotify_list_application_messages '{"application_id":1,"limit":1,"since":1}' --json gotify.gotify_list_applications
List Gotify applications visible to the configured client token.
read - Parameters
- none
kosmo integrations:call gotify.gotify_list_applications '{}' --json kosmo integrations:gotify gotify_list_applications '{}' --json gotify.gotify_list_clients
List Gotify clients visible to the configured client token.
read - Parameters
- none
kosmo integrations:call gotify.gotify_list_clients '{}' --json kosmo integrations:gotify gotify_list_clients '{}' --json gotify.gotify_list_messages
List messages from the Gotify application. Returns the most recent messages, with optional pagination using "since" to fetch messages newer than a given ID.
read - Parameters
- limit, since
kosmo integrations:call gotify.gotify_list_messages '{"limit":1,"since":1}' --json kosmo integrations:gotify gotify_list_messages '{"limit":1,"since":1}' --json gotify.gotify_update_application
Update a Gotify application name and description. Requires a client token.
write - Parameters
- id, name, description
kosmo integrations:call gotify.gotify_update_application '{"id":1,"name":"example_name","description":"example_description"}' --json kosmo integrations:gotify gotify_update_application '{"id":1,"name":"example_name","description":"example_description"}' --json gotify.gotify_update_client
Update a Gotify client name. Requires a client token.
write - Parameters
- id, name
kosmo integrations:call gotify.gotify_update_client '{"id":1,"name":"example_name"}' --json kosmo integrations:gotify gotify_update_client '{"id":1,"name":"example_name"}' --json Function Schemas
Use these parameter tables when building CLI payloads without calling integrations:schema first.
gotify.gotify_create_application 2 parameters
kosmo integrations:schema gotify.gotify_create_application --json | Parameter | Type | Required | Description |
|---|---|---|---|
name | string | yes | Application name. |
description | string | no | Application description. |
gotify.gotify_create_client 1 parameters
kosmo integrations:schema gotify.gotify_create_client --json | Parameter | Type | Required | Description |
|---|---|---|---|
name | string | yes | Client name. |
gotify.gotify_create_message 4 parameters
kosmo integrations:schema gotify.gotify_create_message --json | Parameter | Type | Required | Description |
|---|---|---|---|
title | string | yes | Message title. |
message | string | yes | Message body (supports Markdown). |
priority | integer | no | Message priority from 0 (lowest) to 10 (highest). Default is 5 (normal). |
extras | object | no | Optional Gotify message extras, such as client::display contentType. |
gotify.gotify_delete_application 1 parameters
kosmo integrations:schema gotify.gotify_delete_application --json | Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | yes | Application ID. |
gotify.gotify_delete_application_messages 1 parameters
kosmo integrations:schema gotify.gotify_delete_application_messages --json | Parameter | Type | Required | Description |
|---|---|---|---|
application_id | integer | yes | Gotify application ID. |
gotify.gotify_delete_client 1 parameters
kosmo integrations:schema gotify.gotify_delete_client --json | Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | yes | Client ID. |
gotify.gotify_delete_message 1 parameters
kosmo integrations:schema gotify.gotify_delete_message --json | Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | yes | The ID of the message to delete. |
gotify.gotify_delete_messages 0 parameters
kosmo integrations:schema gotify.gotify_delete_messages --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
gotify.gotify_get_current_user 0 parameters
kosmo integrations:schema gotify.gotify_get_current_user --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
gotify.gotify_get_health 0 parameters
kosmo integrations:schema gotify.gotify_get_health --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
gotify.gotify_get_version 0 parameters
kosmo integrations:schema gotify.gotify_get_version --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
gotify.gotify_list_application_messages 3 parameters
kosmo integrations:schema gotify.gotify_list_application_messages --json | Parameter | Type | Required | Description |
|---|---|---|---|
application_id | integer | yes | Gotify application ID. |
limit | integer | no | Maximum number of messages to return (default: 100, max: 200). |
since | integer | no | Return messages with ID less than this value. |
gotify.gotify_list_applications 0 parameters
kosmo integrations:schema gotify.gotify_list_applications --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
gotify.gotify_list_clients 0 parameters
kosmo integrations:schema gotify.gotify_list_clients --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
gotify.gotify_list_messages 2 parameters
kosmo integrations:schema gotify.gotify_list_messages --json | Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | no | Maximum number of messages to return (default: 100, max: 200). |
since | integer | no | Return messages with ID greater than this value. Useful for polling new messages. |
gotify.gotify_update_application 3 parameters
kosmo integrations:schema gotify.gotify_update_application --json | Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | yes | Application ID. |
name | string | yes | Application name. |
description | string | no | Application description. |
gotify.gotify_update_client 2 parameters
kosmo integrations:schema gotify.gotify_update_client --json | Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | yes | Client ID. |
name | string | yes | Client name. |
Permissions
Headless calls still follow the integration read/write permission policy. Configure read/write defaults with
integrations:configure. Add --force only for trusted automation that should bypass that policy.