KosmoKrator

marketing

VBout Lua API for KosmoKrator Agents

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

6 functions 5 read 1 write API key auth

Lua Namespace

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

VBout — Lua API Reference

list_contacts

List contacts from VBout with pagination.

Parameters

NameTypeRequiredDescription
limitintegernoMaximum number of contacts to return (default: 20, max: 100)
offsetintegernoOffset for pagination (default: 0)

Example

local result = app.integrations.vbout.list_contacts({
  limit = 50,
  offset = 0
})

for _, contact in ipairs(result.contacts or {}) do
  print(contact.email .. " - " .. (contact.first_name or ""))
end

get_contact

Get details for a specific VBout contact by ID.

Parameters

NameTypeRequiredDescription
idstringyesThe VBout contact ID

Example

local result = app.integrations.vbout.get_contact({
  id = "12345"
})

print("Email: " .. result.email)
print("Name: " .. (result.first_name or "") .. " " .. (result.last_name or ""))

create_contact

Add a new contact to a VBout email list.

Parameters

NameTypeRequiredDescription
emailstringyesThe contact’s email address
list_idstringyesThe VBout list ID to add the contact to
first_namestringnoContact’s first name
last_namestringnoContact’s last name
phonestringnoContact’s phone number

Example

local result = app.integrations.vbout.create_contact({
  email = "[email protected]",
  list_id = "list_abc123",
  first_name = "Jane",
  last_name = "Doe"
})

print("Created contact: " .. result.id)

list_campaigns

List email campaigns from VBout with pagination.

Parameters

NameTypeRequiredDescription
limitintegernoMaximum number of campaigns to return (default: 20, max: 100)
offsetintegernoOffset for pagination (default: 0)

Example

local result = app.integrations.vbout.list_campaigns({
  limit = 10,
  offset = 0
})

for _, campaign in ipairs(result.campaigns or {}) do
  print(campaign.subject .. " - Status: " .. campaign.status)
end

get_campaign

Get details for a specific VBout email campaign by ID.

Parameters

NameTypeRequiredDescription
idstringyesThe VBout campaign ID

Example

local result = app.integrations.vbout.get_campaign({
  id = "camp_678"
})

print("Subject: " .. result.subject)
print("Status: " .. result.status)

get_current_user

Get the currently authenticated VBout user profile. Useful for verifying API credentials.

Parameters

None.

Example

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

print("User: " .. result.name)
print("Email: " .. result.email)

Multi-Account Usage

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

-- Default account (always works)
app.integrations.vbout.function_name({...})

-- Explicit default (portable across setups)
app.integrations.vbout.default.function_name({...})

-- Named accounts
app.integrations.vbout.work.function_name({...})
app.integrations.vbout.agency.function_name({...})

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

Raw agent markdown
# VBout — Lua API Reference

## list_contacts

List contacts from VBout with pagination.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `limit` | integer | no | Maximum number of contacts to return (default: 20, max: 100) |
| `offset` | integer | no | Offset for pagination (default: 0) |

### Example

```lua
local result = app.integrations.vbout.list_contacts({
  limit = 50,
  offset = 0
})

for _, contact in ipairs(result.contacts or {}) do
  print(contact.email .. " - " .. (contact.first_name or ""))
end
```

---

## get_contact

Get details for a specific VBout contact by ID.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `id` | string | yes | The VBout contact ID |

### Example

```lua
local result = app.integrations.vbout.get_contact({
  id = "12345"
})

print("Email: " .. result.email)
print("Name: " .. (result.first_name or "") .. " " .. (result.last_name or ""))
```

---

## create_contact

Add a new contact to a VBout email list.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `email` | string | yes | The contact's email address |
| `list_id` | string | yes | The VBout list ID to add the contact to |
| `first_name` | string | no | Contact's first name |
| `last_name` | string | no | Contact's last name |
| `phone` | string | no | Contact's phone number |

### Example

```lua
local result = app.integrations.vbout.create_contact({
  email = "[email protected]",
  list_id = "list_abc123",
  first_name = "Jane",
  last_name = "Doe"
})

print("Created contact: " .. result.id)
```

---

## list_campaigns

List email campaigns from VBout with pagination.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `limit` | integer | no | Maximum number of campaigns to return (default: 20, max: 100) |
| `offset` | integer | no | Offset for pagination (default: 0) |

### Example

```lua
local result = app.integrations.vbout.list_campaigns({
  limit = 10,
  offset = 0
})

for _, campaign in ipairs(result.campaigns or {}) do
  print(campaign.subject .. " - Status: " .. campaign.status)
end
```

---

## get_campaign

Get details for a specific VBout email campaign by ID.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `id` | string | yes | The VBout campaign ID |

### Example

```lua
local result = app.integrations.vbout.get_campaign({
  id = "camp_678"
})

print("Subject: " .. result.subject)
print("Status: " .. result.status)
```

---

## get_current_user

Get the currently authenticated VBout user profile. Useful for verifying API credentials.

### Parameters

None.

### Example

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

print("User: " .. result.name)
print("Email: " .. result.email)
```

---

## Multi-Account Usage

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

```lua
-- Default account (always works)
app.integrations.vbout.function_name({...})

-- Explicit default (portable across setups)
app.integrations.vbout.default.function_name({...})

-- Named accounts
app.integrations.vbout.work.function_name({...})
app.integrations.vbout.agency.function_name({...})
```

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

Metadata-Derived Lua Example

local result = app.integrations.vbout.vbout_list_contacts({
  limit = 1,
  offset = 1
})
print(result)

Functions

vbout_list_contacts

List contacts from VBout. Returns paginated contact records including email, name, and list membership.

Operation
Read read
Full name
vbout.vbout_list_contacts
ParameterTypeRequiredDescription
limit integer no Maximum number of contacts to return (default: 20, max: 100).
offset integer no Offset for pagination (default: 0).

vbout_get_contact

Get details for a specific VBout contact by ID, including email, name, custom fields, and list memberships.

Operation
Read read
Full name
vbout.vbout_get_contact
ParameterTypeRequiredDescription
id string yes The VBout contact ID.

vbout_create_contact

Add a new contact to a VBout email list. Requires an email address and a list ID. Optionally pass additional fields like first name, last name, or custom fields.

Operation
Write write
Full name
vbout.vbout_create_contact
ParameterTypeRequiredDescription
email string yes The contact's email address.
list_id string yes The VBout list ID to add the contact to.
first_name string no Contact's first name.
last_name string no Contact's last name.
phone string no Contact's phone number.

vbout_list_campaigns

List email campaigns from VBout. Returns paginated campaign records including subject, status, and send statistics.

Operation
Read read
Full name
vbout.vbout_list_campaigns
ParameterTypeRequiredDescription
limit integer no Maximum number of campaigns to return (default: 20, max: 100).
offset integer no Offset for pagination (default: 0).

vbout_get_campaign

Get details for a specific VBout email campaign by ID, including subject, content, status, and delivery statistics.

Operation
Read read
Full name
vbout.vbout_get_campaign
ParameterTypeRequiredDescription
id string yes The VBout campaign ID.

vbout_get_current_user

Get the currently authenticated VBout user profile. Useful for verifying API credentials and retrieving account information.

Operation
Read read
Full name
vbout.vbout_get_current_user
ParameterTypeRequiredDescription
No parameters.