KosmoKrator

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.

Inline Lua call
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
Read Lua docs headlessly
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.

workflow.lua
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)
Run the workflow
kosmo integrations:lua workflow.lua --json
kosmo integrations:lua workflow.lua --force --json
Namespace note. 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.

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({...})
```
Metadata-derived Lua example
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

retrieve Read

Get details for a specific AddEvent calendar event by ID.

Lua path
app.integrations.addevent.retrieve
Full name
addevent.addevent_get_event
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
No parameters.