KosmoKrator

productivity

Constant Contact Lua API for KosmoKrator Agents

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

Lua Namespace

Agents call this integration through app.integrations.constant_contact.*. Use lua_read_doc("integrations.constant-contact") 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 Constant Contact workflow without starting an interactive agent session.

Inline Lua call
kosmo integrations:lua --eval 'dump(app.integrations.constant_contact.constantcontact_api_get({path = "example_path", params = "example_params"}))' --json
Read Lua docs headlessly
kosmo integrations:lua --eval 'print(docs.read("constant-contact"))' --json
kosmo integrations:lua --eval 'print(docs.read("constant-contact.constantcontact_api_get"))' --json

Workflow file

Put repeatable logic in a Lua file, then execute it with JSON output for the calling process.

workflow.lua
local constant_contact = app.integrations.constant_contact
local result = constant_contact.constantcontact_api_get({path = "example_path", params = "example_params"})

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.constant_contact, app.mcp.*, docs.*, json.*, and regex.*. Use app.integrations.constant_contact.default.* or app.integrations.constant_contact.work.* when you configured named credential accounts.

MCP-only Lua

If the script only needs configured MCP servers and does not need Constant Contact, 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.

Constant Contact Lua API Reference

Namespace: app.integrations["constant-contact"]

The Constant Contact integration targets the V3 API. It uses OAuth Bearer tokens stored by the host.

Contacts

local contacts = app.integrations["constant-contact"].list_contacts({
  status = "active",
  limit = 100
})

local contact = app.integrations["constant-contact"].get_contact({
  contact_id = "contact_123"
})

local created = app.integrations["constant-contact"].create_contact({
  email = "person@example.test",
  first_name = "Example",
  list_ids = { "list_123" }
})

Use create_or_update_contact when you want Constant Contact’s sign-up form create-or-update behavior and can provide the full V3 payload.

Lists, Tags, Custom Fields

local lists = app.integrations["constant-contact"].list_lists({})
local list = app.integrations["constant-contact"].get_list({ list_id = "list_123" })
local tags = app.integrations["constant-contact"].list_tags({})
local fields = app.integrations["constant-contact"].list_custom_fields({})

List create/update/delete tools are write operations.

Campaigns And Reports

local campaigns = app.integrations["constant-contact"].list_campaigns({ limit = 20 })
local campaign = app.integrations["constant-contact"].get_campaign({
  campaign_id = "campaign_123"
})

local activity = app.integrations["constant-contact"].get_campaign_activity({
  activity_id = "activity_123"
})

local sends = app.integrations["constant-contact"].get_email_sends_report({
  activity_id = "activity_123",
  params = { limit = 100 }
})

First-class report tools cover sends, bounces, and clicks. Use api_get for other tracking report endpoints such as opens, forwards, or opt-outs.

Segments And Activities

local segments = app.integrations["constant-contact"].list_segments({})
local segment = app.integrations["constant-contact"].get_segment({
  segment_id = "segment_123"
})

local activities = app.integrations["constant-contact"].list_activities({})
local activity_status = app.integrations["constant-contact"].get_activity({
  activity_id = "activity_bulk_123"
})

Account

local account = app.integrations["constant-contact"].get_account_summary({
  params = { extra_fields = "physical_address,company_logo" }
})

local privileges = app.integrations["constant-contact"].get_user_privileges({})

get_current_user is retained as a compatibility alias for account summary.

Long-Tail Endpoints

local opens = app.integrations["constant-contact"].api_get({
  path = "/reports/email_reports/activity_123/tracking/opens"
})

local export = app.integrations["constant-contact"].api_post({
  path = "/activities/contact_exports",
  payload = { file_type = "CSV" }
})

Generic API tools accept relative paths only.

Multi-Account Usage

app.integrations["constant-contact"].list_contacts({})
app.integrations["constant-contact"].default.list_contacts({})
app.integrations["constant-contact"].marketing.list_campaigns({})

All functions are identical across accounts; only credentials differ.

Raw agent markdown
# Constant Contact Lua API Reference

Namespace: `app.integrations["constant-contact"]`

The Constant Contact integration targets the V3 API. It uses OAuth Bearer tokens stored by the host.

## Contacts

```lua
local contacts = app.integrations["constant-contact"].list_contacts({
  status = "active",
  limit = 100
})

local contact = app.integrations["constant-contact"].get_contact({
  contact_id = "contact_123"
})

local created = app.integrations["constant-contact"].create_contact({
  email = "person@example.test",
  first_name = "Example",
  list_ids = { "list_123" }
})
```

Use `create_or_update_contact` when you want Constant Contact's sign-up form create-or-update behavior and can provide the full V3 payload.

## Lists, Tags, Custom Fields

```lua
local lists = app.integrations["constant-contact"].list_lists({})
local list = app.integrations["constant-contact"].get_list({ list_id = "list_123" })
local tags = app.integrations["constant-contact"].list_tags({})
local fields = app.integrations["constant-contact"].list_custom_fields({})
```

List create/update/delete tools are write operations.

## Campaigns And Reports

```lua
local campaigns = app.integrations["constant-contact"].list_campaigns({ limit = 20 })
local campaign = app.integrations["constant-contact"].get_campaign({
  campaign_id = "campaign_123"
})

local activity = app.integrations["constant-contact"].get_campaign_activity({
  activity_id = "activity_123"
})

local sends = app.integrations["constant-contact"].get_email_sends_report({
  activity_id = "activity_123",
  params = { limit = 100 }
})
```

First-class report tools cover sends, bounces, and clicks. Use `api_get` for other tracking report endpoints such as opens, forwards, or opt-outs.

## Segments And Activities

```lua
local segments = app.integrations["constant-contact"].list_segments({})
local segment = app.integrations["constant-contact"].get_segment({
  segment_id = "segment_123"
})

local activities = app.integrations["constant-contact"].list_activities({})
local activity_status = app.integrations["constant-contact"].get_activity({
  activity_id = "activity_bulk_123"
})
```

## Account

```lua
local account = app.integrations["constant-contact"].get_account_summary({
  params = { extra_fields = "physical_address,company_logo" }
})

local privileges = app.integrations["constant-contact"].get_user_privileges({})
```

`get_current_user` is retained as a compatibility alias for account summary.

## Long-Tail Endpoints

```lua
local opens = app.integrations["constant-contact"].api_get({
  path = "/reports/email_reports/activity_123/tracking/opens"
})

local export = app.integrations["constant-contact"].api_post({
  path = "/activities/contact_exports",
  payload = { file_type = "CSV" }
})
```

Generic API tools accept relative paths only.

## Multi-Account Usage

```lua
app.integrations["constant-contact"].list_contacts({})
app.integrations["constant-contact"].default.list_contacts({})
app.integrations["constant-contact"].marketing.list_campaigns({})
```

All functions are identical across accounts; only credentials differ.
Metadata-derived Lua example
local result = app.integrations.constant_contact.constantcontact_api_get({path = "example_path", params = "example_params"})
print(result)

Functions

constantcontact_api_get Read

Call a read-only Constant Contact API v3 endpoint not covered by a first-class tool.

Lua path
app.integrations.constant_contact.constantcontact_api_get
Full name
constant-contact.constantcontact_api_get
ParameterTypeRequiredDescription
path string yes API path such as /account/summary or /reports/email_reports/{activity_id}/tracking/opens.
params object no Query parameters.
constantcontact_api_post Read

Call a Constant Contact API v3 POST endpoint with a JSON payload.

Lua path
app.integrations.constant_contact.constantcontact_api_post
Full name
constant-contact.constantcontact_api_post
ParameterTypeRequiredDescription
path string yes API path such as /activities/contact_exports.
payload object no JSON request body.
constantcontact_create Write

Create a new contact in Constant Contact. Requires an email address. Optionally set first name, last name, and assign to lists.

Lua path
app.integrations.constant_contact.constantcontact_create
Full name
constant-contact.constantcontact_create_contact
ParameterTypeRequiredDescription
email string yes The contact's email address.
first_name string no The contact's first name.
last_name string no The contact's last name.
list_ids array no Array of list UUIDs to add the contact to. Use list_contacts or list_lists to discover available list IDs.
constantcontact_create_list Write

Create a Constant Contact contact list.

Lua path
app.integrations.constant_contact.constantcontact_create_list
Full name
constant-contact.constantcontact_create_list
ParameterTypeRequiredDescription
name string yes List name.
constantcontact_create_or_update Write

Create or update a contact using Constant Contact sign_up_form semantics.

Lua path
app.integrations.constant_contact.constantcontact_create_or_update
Full name
constant-contact.constantcontact_create_or_update_contact
ParameterTypeRequiredDescription
payload object yes Constant Contact sign_up_form contact payload.
constantcontact_delete Write

Delete a Constant Contact contact by contact ID.

Lua path
app.integrations.constant_contact.constantcontact_delete
Full name
constant-contact.constantcontact_delete_contact
ParameterTypeRequiredDescription
contact_id string yes Contact ID.
constantcontact_delete_list Write

Delete a Constant Contact contact list.

Lua path
app.integrations.constant_contact.constantcontact_delete_list
Full name
constant-contact.constantcontact_delete_list
ParameterTypeRequiredDescription
list_id string yes Contact list ID.
constantcontact_get_account_summary Read

Get Constant Contact account summary details.

Lua path
app.integrations.constant_contact.constantcontact_get_account_summary
Full name
constant-contact.constantcontact_get_account_summary
ParameterTypeRequiredDescription
params object no Optional extra_fields such as physical_address,company_logo.
constantcontact_get_activity Read

Get status for a Constant Contact bulk activity.

Lua path
app.integrations.constant_contact.constantcontact_get_activity
Full name
constant-contact.constantcontact_get_activity
ParameterTypeRequiredDescription
activity_id string yes Bulk activity ID.
constantcontact_get_campaign Read

Get a Constant Contact email campaign by campaign ID.

Lua path
app.integrations.constant_contact.constantcontact_get_campaign
Full name
constant-contact.constantcontact_get_campaign
ParameterTypeRequiredDescription
campaign_id string yes Email campaign ID.
constantcontact_get_campaign_activity Read

Get a Constant Contact email campaign activity by activity ID.

Lua path
app.integrations.constant_contact.constantcontact_get_campaign_activity
Full name
constant-contact.constantcontact_get_campaign_activity
ParameterTypeRequiredDescription
activity_id string yes Email campaign activity ID.
constantcontact_get Read

Get detailed information for a single Constant Contact contact by ID, including email, name, phone, address, and list memberships.

Lua path
app.integrations.constant_contact.constantcontact_get
Full name
constant-contact.constantcontact_get_contact
ParameterTypeRequiredDescription
contact_id string yes The Constant Contact contact ID.
constantcontact_get_activity_summary Read

Get recent campaign activity summary for a contact.

Lua path
app.integrations.constant_contact.constantcontact_get_activity_summary
Full name
constant-contact.constantcontact_get_contact_activity_summary
ParameterTypeRequiredDescription
contact_id string yes Contact ID.
constantcontact_get_current_user Read

Get Constant Contact account summary information. The slug is retained for backward compatibility.

Lua path
app.integrations.constant_contact.constantcontact_get_current_user
Full name
constant-contact.constantcontact_get_current_user
ParameterTypeRequiredDescription
No parameters.
constantcontact_get_email_bounces_report Read

Get bounces tracking report for an email campaign activity.

Lua path
app.integrations.constant_contact.constantcontact_get_email_bounces_report
Full name
constant-contact.constantcontact_get_email_bounces_report
ParameterTypeRequiredDescription
activity_id string yes Email campaign activity ID.
params object no Optional limit and cursor.
constantcontact_get_email_clicks_report Read

Get clicks tracking report for an email campaign activity.

Lua path
app.integrations.constant_contact.constantcontact_get_email_clicks_report
Full name
constant-contact.constantcontact_get_email_clicks_report
ParameterTypeRequiredDescription
activity_id string yes Email campaign activity ID.
params object no Optional limit and cursor.
constantcontact_get_email_sends_report Read

Get sends tracking report for an email campaign activity.

Lua path
app.integrations.constant_contact.constantcontact_get_email_sends_report
Full name
constant-contact.constantcontact_get_email_sends_report
ParameterTypeRequiredDescription
activity_id string yes Email campaign activity ID.
params object no Optional limit and cursor.
constantcontact_get_list Read

Get a Constant Contact contact list by ID.

Lua path
app.integrations.constant_contact.constantcontact_get_list
Full name
constant-contact.constantcontact_get_list
ParameterTypeRequiredDescription
list_id string yes Contact list ID.
constantcontact_get_segment Read

Get a Constant Contact segment by ID.

Lua path
app.integrations.constant_contact.constantcontact_get_segment
Full name
constant-contact.constantcontact_get_segment
ParameterTypeRequiredDescription
segment_id string yes Segment ID.
constantcontact_get_user_privileges Read

Get Constant Contact user privileges for the current access token.

Lua path
app.integrations.constant_contact.constantcontact_get_user_privileges
Full name
constant-contact.constantcontact_get_user_privileges
ParameterTypeRequiredDescription
No parameters.
constantcontact_list_activities Read

List Constant Contact bulk activities.

Lua path
app.integrations.constant_contact.constantcontact_list_activities
Full name
constant-contact.constantcontact_list_activities
ParameterTypeRequiredDescription
params object no Optional status filter.
constantcontact_list_campaigns Read

List email campaigns from Constant Contact. Supports cursor-based pagination.

Lua path
app.integrations.constant_contact.constantcontact_list_campaigns
Full name
constant-contact.constantcontact_list_campaigns
ParameterTypeRequiredDescription
limit integer no Maximum number of campaigns to return per page (default: 50).
cursor string no Pagination cursor from a previous response to fetch the next page of results.
constantcontact_list Read

List contacts from Constant Contact. Supports pagination and filtering by status (active, unconfirmed, opted_out, non_subscriber).

Lua path
app.integrations.constant_contact.constantcontact_list
Full name
constant-contact.constantcontact_list_contacts
ParameterTypeRequiredDescription
limit integer no Maximum number of contacts to return per page (default: 50, max: 500).
cursor string no Pagination cursor from a previous response to fetch the next page of results.
status string no Filter contacts by status: "all", "active", "unconfirmed", "opted_out", or "non_subscriber".
constantcontact_list_custom_fields Read

List Constant Contact contact custom fields.

Lua path
app.integrations.constant_contact.constantcontact_list_custom_fields
Full name
constant-contact.constantcontact_list_custom_fields
ParameterTypeRequiredDescription
No parameters.
constantcontact_list_lists Read

List all contact lists in Constant Contact. Returns list IDs, names, and membership counts. Use list IDs when creating contacts.

Lua path
app.integrations.constant_contact.constantcontact_list_lists
Full name
constant-contact.constantcontact_list_lists
ParameterTypeRequiredDescription
No parameters.
constantcontact_list_segments Read

List Constant Contact segments.

Lua path
app.integrations.constant_contact.constantcontact_list_segments
Full name
constant-contact.constantcontact_list_segments
ParameterTypeRequiredDescription
params object no Optional limit, cursor, and status filters.
constantcontact_list_tags Read

List Constant Contact contact tags.

Lua path
app.integrations.constant_contact.constantcontact_list_tags
Full name
constant-contact.constantcontact_list_tags
ParameterTypeRequiredDescription
No parameters.
constantcontact_update Write

Update a Constant Contact contact by contact ID.

Lua path
app.integrations.constant_contact.constantcontact_update
Full name
constant-contact.constantcontact_update_contact
ParameterTypeRequiredDescription
contact_id string yes Contact ID.
payload object yes Contact payload fields.
constantcontact_update_list Write

Update a Constant Contact contact list.

Lua path
app.integrations.constant_contact.constantcontact_update_list
Full name
constant-contact.constantcontact_update_list
ParameterTypeRequiredDescription
list_id string yes Contact list ID.
payload object yes Contact list payload.