productivity
AddEvent Lua API for KosmoKrator Agents
Agent-facing Lua documentation and function reference for the AddEvent KosmoKrator integration.Lua Namespace
Agents call this integration through app.integrations.addevent.*.
Use lua_read_doc("integrations.addevent") 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
AddEvent workflow without starting an interactive agent session.
kosmo integrations:lua --eval 'dump(app.integrations.addevent.search({page = 1, page_size = 1, calendar_id = "example_calendar_id", sort_by = "example_sort_by", sort_order = "example_sort_order"}))' --json kosmo integrations:lua --eval 'print(docs.read("addevent"))' --json
kosmo integrations:lua --eval 'print(docs.read("addevent.search"))' --json Workflow file
Put repeatable logic in a Lua file, then execute it with JSON output for the calling process.
local addevent = app.integrations.addevent
local result = addevent.search({page = 1, page_size = 1, calendar_id = "example_calendar_id", sort_by = "example_sort_by", sort_order = "example_sort_order"})
dump(result) kosmo integrations:lua workflow.lua --json
kosmo integrations:lua workflow.lua --force --json integrations:lua exposes app.integrations.addevent, app.mcp.*, docs.*, json.*, and regex.*. Use app.integrations.addevent.default.* or app.integrations.addevent.work.* when you configured named credential accounts.
MCP-only Lua
If the script only needs configured MCP servers and does not need AddEvent, 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.
AddEvent Lua API Reference
This package uses AddEvent Calendar and Events API v2 at https://api.addevent.com/calevent/v2. AddEvent authenticates with an API key sent as Authorization: Bearer <apiKey>.
list_events
Search events you have created.
local result = app.integrations.addevent.list_events({
page = 1,
page_size = 10,
calendar_id = "cal_123",
sort_order = "desc"
})
get_event
Retrieve one event by ID.
local event = app.integrations.addevent.get_event({
id = "evt_123"
})
create_event
Create an event. title and datetime_start are required. datetime_end defaults to one hour after the start when omitted by AddEvent.
local event = app.integrations.addevent.create_event({
calendar_id = "cal_123",
title = "Demo event",
datetime_start = "2026-04-10 09:00:00",
datetime_end = "2026-04-10 10:00:00",
timezone = "America/New_York",
location = "Conference Room A",
description = "Planning session"
})
update_event
Patch an event. Only fields in attributes are changed.
app.integrations.addevent.update_event({
id = "evt_123",
attributes = {
title = "Updated title",
location = "Zoom"
}
})
delete_event
Delete an event permanently.
app.integrations.addevent.delete_event({
id = "evt_123"
})
list_calendars
Search calendars.
local result = app.integrations.addevent.list_calendars({
page = 1,
page_size = 10,
sort_by = "created",
sort_order = "desc"
})
get_calendar
Retrieve a calendar by ID.
local calendar = app.integrations.addevent.get_calendar({
id = "cal_123"
})
create_calendar
Create a calendar.
local calendar = app.integrations.addevent.create_calendar({
title = "Product webinars",
timezone = "America/Los_Angeles",
weekday_begin = "monday",
description = "Public webinar calendar"
})
list_timezones
List supported timezone values for event and calendar creation.
local timezones = app.integrations.addevent.list_timezones({})
Notes
Use AddEvent field names from the v2 API, such as datetime_start, datetime_end, calendar_id, and custom_data. Page size is capped at 20 by AddEvent for search endpoints.
Multi-Account Usage
app.integrations.addevent.list_events({...})
app.integrations.addevent.default.list_events({...})
app.integrations.addevent.work.create_event({...})Raw agent markdown
# AddEvent Lua API Reference
This package uses AddEvent Calendar and Events API v2 at `https://api.addevent.com/calevent/v2`. AddEvent authenticates with an API key sent as `Authorization: Bearer <apiKey>`.
## list_events
Search events you have created.
```lua
local result = app.integrations.addevent.list_events({
page = 1,
page_size = 10,
calendar_id = "cal_123",
sort_order = "desc"
})
```
## get_event
Retrieve one event by ID.
```lua
local event = app.integrations.addevent.get_event({
id = "evt_123"
})
```
## create_event
Create an event. `title` and `datetime_start` are required. `datetime_end` defaults to one hour after the start when omitted by AddEvent.
```lua
local event = app.integrations.addevent.create_event({
calendar_id = "cal_123",
title = "Demo event",
datetime_start = "2026-04-10 09:00:00",
datetime_end = "2026-04-10 10:00:00",
timezone = "America/New_York",
location = "Conference Room A",
description = "Planning session"
})
```
## update_event
Patch an event. Only fields in `attributes` are changed.
```lua
app.integrations.addevent.update_event({
id = "evt_123",
attributes = {
title = "Updated title",
location = "Zoom"
}
})
```
## delete_event
Delete an event permanently.
```lua
app.integrations.addevent.delete_event({
id = "evt_123"
})
```
## list_calendars
Search calendars.
```lua
local result = app.integrations.addevent.list_calendars({
page = 1,
page_size = 10,
sort_by = "created",
sort_order = "desc"
})
```
## get_calendar
Retrieve a calendar by ID.
```lua
local calendar = app.integrations.addevent.get_calendar({
id = "cal_123"
})
```
## create_calendar
Create a calendar.
```lua
local calendar = app.integrations.addevent.create_calendar({
title = "Product webinars",
timezone = "America/Los_Angeles",
weekday_begin = "monday",
description = "Public webinar calendar"
})
```
## list_timezones
List supported timezone values for event and calendar creation.
```lua
local timezones = app.integrations.addevent.list_timezones({})
```
## Notes
Use AddEvent field names from the v2 API, such as `datetime_start`, `datetime_end`, `calendar_id`, and `custom_data`. Page size is capped at 20 by AddEvent for search endpoints.
## Multi-Account Usage
```lua
app.integrations.addevent.list_events({...})
app.integrations.addevent.default.list_events({...})
app.integrations.addevent.work.create_event({...})
``` local result = app.integrations.addevent.search({page = 1, page_size = 1, calendar_id = "example_calendar_id", sort_by = "example_sort_by", sort_order = "example_sort_order"})
print(result) Functions
search Read
Search calendar events from AddEvent. Supports page, page_size, calendar_id, sort_by, and sort_order parameters.
- Lua path
app.integrations.addevent.search- Full name
addevent.addevent_list_events
| Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | no | Page number for pagination (default: 1). |
page_size | integer | no | Number of events per page (default: 10, max: 20). |
calendar_id | string | no | Filter events by calendar ID. |
sort_by | string | no | Sort field supported by AddEvent. |
sort_order | string | no | Sort direction. |
retrieve Read
Get details for a specific AddEvent calendar event by ID.
- Lua path
app.integrations.addevent.retrieve- Full name
addevent.addevent_get_event
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | The AddEvent event ID. |
create Write
Create a new calendar event in AddEvent. Requires title and datetime_start. Optionally set calendar_id, datetime_end, timezone, location, description, RSVP, color, and custom data.
- Lua path
app.integrations.addevent.create- Full name
addevent.addevent_create_event
| Parameter | Type | Required | Description |
|---|---|---|---|
title | string | yes | Event title. |
datetime_start | string | yes | Event start date/time, e.g. "2026-04-10 09:00:00". |
datetime_end | string | no | Event end date/time. Defaults to one hour after datetime_start when omitted by AddEvent. |
calendar_id | string | no | Calendar ID. Defaults to the account default calendar when omitted. |
timezone | string | no | Event timezone, e.g. "America/New_York" or "floating". |
all_day_event | boolean | no | Whether this is an all-day event. |
location | string | no | Event location or meeting URL. |
description | string | no | Event description. Plain text and simplified HTML are supported by AddEvent. |
organizer_name | string | no | Organizer name. Requires organizer_email when provided. |
organizer_email | string | no | Organizer email. Requires organizer_name when provided. |
color | integer | no | Event color ID from 1 to 20. |
rsvp_enabled | boolean | no | Whether RSVP is enabled for the event. |
custom_data | object | no | Custom key/value data to attach to the event. |
update Write
Update an existing AddEvent event. Only fields provided in attributes are changed.
- Lua path
app.integrations.addevent.update- Full name
addevent.addevent_update_event
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | The AddEvent event ID. |
attributes | object | yes | Event fields to update, using AddEvent v2 field names. |
delete Write
Delete an AddEvent event by ID. This action is permanent.
- Lua path
app.integrations.addevent.delete- Full name
addevent.addevent_delete_event
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | The AddEvent event ID. |
search_calendars Read
Search AddEvent calendars. Supports page, page_size, calendar_ids, sort_by, and sort_order.
- Lua path
app.integrations.addevent.search_calendars- Full name
addevent.addevent_list_calendars
| Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | no | Page number for pagination (default: 1). |
page_size | integer | no | Number of calendars per page (default: 10, max: 20). |
calendar_ids | array | no | Optional calendar IDs to filter by. |
sort_by | string | no | Sort field. |
sort_order | string | no | Sort direction. |
retrieve_calendar Read
Retrieve an AddEvent calendar by ID.
- Lua path
app.integrations.addevent.retrieve_calendar- Full name
addevent.addevent_get_calendar
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | The AddEvent calendar ID. |
create_calendar Write
Create a new AddEvent calendar. Requires title; optional fields include timezone, weekday_begin, description, internal_name, calendar_color, and custom_data.
- Lua path
app.integrations.addevent.create_calendar- Full name
addevent.addevent_create_calendar
| Parameter | Type | Required | Description |
|---|---|---|---|
title | string | yes | Calendar title. |
timezone | string | no | Default calendar timezone. |
weekday_begin | string | no | Calendar week start day. |
description | string | no | Calendar description. |
internal_name | string | no | Internal calendar name. |
calendar_color | integer | no | Calendar color ID from 1 to 20. |
custom_data | object | no | Custom key/value data to attach to the calendar. |
list_timezones Read
List timezones supported by the AddEvent Calendar and Events API.
- Lua path
app.integrations.addevent.list_timezones- Full name
addevent.addevent_list_timezones
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||