KosmoKrator

productivity

Zendesk Sell Lua API for KosmoKrator Agents

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

Lua Namespace

Agents call this integration through app.integrations.zendesk_sell.*. Use lua_read_doc("integrations.zendesk-sell") 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 Zendesk Sell workflow without starting an interactive agent session.

Inline Lua call
kosmo integrations:lua --eval 'dump(app.integrations.zendesk_sell.create_contact({first_name = "example_first_name", last_name = "example_last_name", email = "example_email", contact_id = 1}))' --json
Read Lua docs headlessly
kosmo integrations:lua --eval 'print(docs.read("zendesk-sell"))' --json
kosmo integrations:lua --eval 'print(docs.read("zendesk-sell.create_contact"))' --json

Workflow file

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

workflow.lua
local zendesk_sell = app.integrations.zendesk_sell
local result = zendesk_sell.create_contact({first_name = "example_first_name", last_name = "example_last_name", email = "example_email", contact_id = 1})

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

MCP-only Lua

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

Zendesk Sell Lua Reference

Namespace: app.integrations["zendesk-sell"]

Use Zendesk Sell field names directly for expanded endpoint tools. Write tools wrap your arguments inside the Sell API data envelope before sending the request.

Core Records

Contacts, leads, and deals support list, get, create, update, delete, and upsert tools.

local contact = app.integrations["zendesk-sell"].create_contact({
  first_name = "Ada",
  last_name = "Example",
  email = "ada@example.test",
  contact_id = 100
})

local deal = app.integrations["zendesk-sell"].create_deal({
  name = "Website Redesign",
  value = 25000,
  currency = "USD",
  stage_id = 2,
  contact_id = contact.data.id
})

Use upsert tools when an external identifier or email should prevent duplicate records:

local lead = app.integrations["zendesk-sell"].upsert_lead({
  email = "ada@example.test",
  first_name = "Ada",
  last_name = "Example",
  custom_fields = {
    external_id = "lead-123"
  }
})

Activities

Tasks and notes require a related resource.

app.integrations["zendesk-sell"].create_task({
  content = "Follow up",
  resource_type = "deal",
  resource_id = 12345,
  due_date = "2026-05-20"
})

app.integrations["zendesk-sell"].create_note({
  content = "Budget confirmed.",
  resource_type = "deal",
  resource_id = 12345,
  is_important = true
})

Metadata

Use metadata tools to find valid IDs before writing records:

  • list_users, get_user
  • list_pipelines, get_pipeline
  • list_stages, get_stage
  • list_deal_sources, list_lead_sources, list_loss_reasons
  • list_products, get_product

Return Shape

Tools return Zendesk Sell’s decoded JSON. Collections usually return items and meta; single-record operations usually return data and meta.

Multi-Account Usage

app.integrations["zendesk-sell"].list_contacts({ page = 1 })
app.integrations["zendesk-sell"].production.list_contacts({ page = 1 })
Raw agent markdown
# Zendesk Sell Lua Reference

Namespace: `app.integrations["zendesk-sell"]`

Use Zendesk Sell field names directly for expanded endpoint tools. Write tools
wrap your arguments inside the Sell API `data` envelope before sending the
request.

## Core Records

Contacts, leads, and deals support list, get, create, update, delete, and
upsert tools.

```lua
local contact = app.integrations["zendesk-sell"].create_contact({
  first_name = "Ada",
  last_name = "Example",
  email = "ada@example.test",
  contact_id = 100
})

local deal = app.integrations["zendesk-sell"].create_deal({
  name = "Website Redesign",
  value = 25000,
  currency = "USD",
  stage_id = 2,
  contact_id = contact.data.id
})
```

Use upsert tools when an external identifier or email should prevent duplicate
records:

```lua
local lead = app.integrations["zendesk-sell"].upsert_lead({
  email = "ada@example.test",
  first_name = "Ada",
  last_name = "Example",
  custom_fields = {
    external_id = "lead-123"
  }
})
```

## Activities

Tasks and notes require a related resource.

```lua
app.integrations["zendesk-sell"].create_task({
  content = "Follow up",
  resource_type = "deal",
  resource_id = 12345,
  due_date = "2026-05-20"
})

app.integrations["zendesk-sell"].create_note({
  content = "Budget confirmed.",
  resource_type = "deal",
  resource_id = 12345,
  is_important = true
})
```

## Metadata

Use metadata tools to find valid IDs before writing records:

- `list_users`, `get_user`
- `list_pipelines`, `get_pipeline`
- `list_stages`, `get_stage`
- `list_deal_sources`, `list_lead_sources`, `list_loss_reasons`
- `list_products`, `get_product`

## Return Shape

Tools return Zendesk Sell's decoded JSON. Collections usually return `items`
and `meta`; single-record operations usually return `data` and `meta`.

## Multi-Account Usage

```lua
app.integrations["zendesk-sell"].list_contacts({ page = 1 })
app.integrations["zendesk-sell"].production.list_contacts({ page = 1 })
```
Metadata-derived Lua example
local result = app.integrations.zendesk_sell.create_contact({first_name = "example_first_name", last_name = "example_last_name", email = "example_email", contact_id = 1})
print(result)

Functions

create_contact Write

Create a new contact in Zendesk Sell. Provide at least a first name and last name for people, or use endpoint tools with raw Sell fields for organizations.

Lua path
app.integrations.zendesk_sell.create_contact
Full name
zendesk-sell.zendesk_sell_create_contact
ParameterTypeRequiredDescription
first_name string yes Contact first name.
last_name string yes Contact last name.
email string no Contact email address.
contact_id integer no ID of the organization contact this person belongs to.
create_deal Write

Create Deal in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.create_deal
Full name
zendesk-sell.zendesk_sell_create_deal
ParameterTypeRequiredDescription
No parameters.
create_deal_source Write

Create Deal Source in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.create_deal_source
Full name
zendesk-sell.zendesk_sell_create_deal_source
ParameterTypeRequiredDescription
No parameters.
create_lead Write

Create Lead in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.create_lead
Full name
zendesk-sell.zendesk_sell_create_lead
ParameterTypeRequiredDescription
No parameters.
create_lead_source Write

Create Lead Source in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.create_lead_source
Full name
zendesk-sell.zendesk_sell_create_lead_source
ParameterTypeRequiredDescription
No parameters.
create_loss_reason Write

Create Loss Reason in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.create_loss_reason
Full name
zendesk-sell.zendesk_sell_create_loss_reason
ParameterTypeRequiredDescription
No parameters.
create_note Write

Create Note in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.create_note
Full name
zendesk-sell.zendesk_sell_create_note
ParameterTypeRequiredDescription
No parameters.
create_product Write

Create Product in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.create_product
Full name
zendesk-sell.zendesk_sell_create_product
ParameterTypeRequiredDescription
No parameters.
create_task Write

Create Task in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.create_task
Full name
zendesk-sell.zendesk_sell_create_task
ParameterTypeRequiredDescription
No parameters.
delete_contact Write

Delete Contact in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.delete_contact
Full name
zendesk-sell.zendesk_sell_delete_contact
ParameterTypeRequiredDescription
No parameters.
delete_deal Write

Delete Deal in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.delete_deal
Full name
zendesk-sell.zendesk_sell_delete_deal
ParameterTypeRequiredDescription
No parameters.
delete_deal_source Write

Delete Deal Source in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.delete_deal_source
Full name
zendesk-sell.zendesk_sell_delete_deal_source
ParameterTypeRequiredDescription
No parameters.
delete_lead Write

Delete Lead in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.delete_lead
Full name
zendesk-sell.zendesk_sell_delete_lead
ParameterTypeRequiredDescription
No parameters.
delete_lead_source Write

Delete Lead Source in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.delete_lead_source
Full name
zendesk-sell.zendesk_sell_delete_lead_source
ParameterTypeRequiredDescription
No parameters.
delete_loss_reason Write

Delete Loss Reason in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.delete_loss_reason
Full name
zendesk-sell.zendesk_sell_delete_loss_reason
ParameterTypeRequiredDescription
No parameters.
delete_note Write

Delete Note in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.delete_note
Full name
zendesk-sell.zendesk_sell_delete_note
ParameterTypeRequiredDescription
No parameters.
delete_product Write

Delete Product in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.delete_product
Full name
zendesk-sell.zendesk_sell_delete_product
ParameterTypeRequiredDescription
No parameters.
delete_task Write

Delete Task in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.delete_task
Full name
zendesk-sell.zendesk_sell_delete_task
ParameterTypeRequiredDescription
No parameters.
get_contact Read

Get full details of a specific contact in Zendesk Sell by its ID. Returns all contact fields including email, phone, organization, and custom fields.

Lua path
app.integrations.zendesk_sell.get_contact
Full name
zendesk-sell.zendesk_sell_get_contact
ParameterTypeRequiredDescription
id integer yes The contact ID.
get_current_user Read

Get the profile of the currently authenticated Zendesk Sell user. Use this to verify credentials and identify the connected account.

Lua path
app.integrations.zendesk_sell.get_current_user
Full name
zendesk-sell.zendesk_sell_get_current_user
ParameterTypeRequiredDescription
No parameters.
get_deal Read

Get full details of a specific deal in Zendesk Sell by its ID. Returns deal value, status, associated contact and organization, pipeline stage, and custom fields.

Lua path
app.integrations.zendesk_sell.get_deal
Full name
zendesk-sell.zendesk_sell_get_deal
ParameterTypeRequiredDescription
id integer yes The deal ID.
get_deal_source Read

Get Deal Source in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.get_deal_source
Full name
zendesk-sell.zendesk_sell_get_deal_source
ParameterTypeRequiredDescription
No parameters.
get_lead Read

Get Lead in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.get_lead
Full name
zendesk-sell.zendesk_sell_get_lead
ParameterTypeRequiredDescription
No parameters.
get_lead_source Read

Get Lead Source in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.get_lead_source
Full name
zendesk-sell.zendesk_sell_get_lead_source
ParameterTypeRequiredDescription
No parameters.
get_loss_reason Read

Get Loss Reason in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.get_loss_reason
Full name
zendesk-sell.zendesk_sell_get_loss_reason
ParameterTypeRequiredDescription
No parameters.
get_note Read

Get Note in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.get_note
Full name
zendesk-sell.zendesk_sell_get_note
ParameterTypeRequiredDescription
No parameters.
get_pipeline Read

Get Pipeline in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.get_pipeline
Full name
zendesk-sell.zendesk_sell_get_pipeline
ParameterTypeRequiredDescription
No parameters.
get_product Read

Get Product in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.get_product
Full name
zendesk-sell.zendesk_sell_get_product
ParameterTypeRequiredDescription
No parameters.
get_stage Read

Get Stage in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.get_stage
Full name
zendesk-sell.zendesk_sell_get_stage
ParameterTypeRequiredDescription
No parameters.
get_task Read

Get Task in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.get_task
Full name
zendesk-sell.zendesk_sell_get_task
ParameterTypeRequiredDescription
No parameters.
get_user Read

Get User in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.get_user
Full name
zendesk-sell.zendesk_sell_get_user
ParameterTypeRequiredDescription
No parameters.
list_contacts Read

List contacts in Zendesk Sell. Returns paginated results sorted by the specified field. Use this to browse, search, or export contacts from the CRM.

Lua path
app.integrations.zendesk_sell.list_contacts
Full name
zendesk-sell.zendesk_sell_list_contacts
ParameterTypeRequiredDescription
page integer no Page number (1-based). Defaults to 1.
per_page integer no Number of contacts per page (max 100). Defaults to 25.
sort_by string no Field to sort by (e.g. "created_at", "updated_at", "last_name"). Defaults to the API default.
list_deal_sources Read

List Deal Sources in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.list_deal_sources
Full name
zendesk-sell.zendesk_sell_list_deal_sources
ParameterTypeRequiredDescription
No parameters.
list_deals Read

List deals in Zendesk Sell. Optionally filter by status (open, won, lost, abandoned). Returns paginated results.

Lua path
app.integrations.zendesk_sell.list_deals
Full name
zendesk-sell.zendesk_sell_list_deals
ParameterTypeRequiredDescription
page integer no Page number (1-based). Defaults to 1.
per_page integer no Number of deals per page (max 100). Defaults to 25.
status string no Filter by deal status: "open", "won", "lost", or "abandoned".
list_lead_sources Read

List Lead Sources in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.list_lead_sources
Full name
zendesk-sell.zendesk_sell_list_lead_sources
ParameterTypeRequiredDescription
No parameters.
list_leads Read

List leads in Zendesk Sell. Returns paginated results with lead details including contact info, status, and source.

Lua path
app.integrations.zendesk_sell.list_leads
Full name
zendesk-sell.zendesk_sell_list_leads
ParameterTypeRequiredDescription
page integer no Page number (1-based). Defaults to 1.
per_page integer no Number of leads per page (max 100). Defaults to 25.
list_loss_reasons Read

List Loss Reasons in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.list_loss_reasons
Full name
zendesk-sell.zendesk_sell_list_loss_reasons
ParameterTypeRequiredDescription
No parameters.
list_notes Read

List Notes in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.list_notes
Full name
zendesk-sell.zendesk_sell_list_notes
ParameterTypeRequiredDescription
No parameters.
list_pipelines Read

List Pipelines in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.list_pipelines
Full name
zendesk-sell.zendesk_sell_list_pipelines
ParameterTypeRequiredDescription
No parameters.
list_products Read

List Products in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.list_products
Full name
zendesk-sell.zendesk_sell_list_products
ParameterTypeRequiredDescription
No parameters.
list_stages Read

List Stages in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.list_stages
Full name
zendesk-sell.zendesk_sell_list_stages
ParameterTypeRequiredDescription
No parameters.
list_tasks Read

List Tasks in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.list_tasks
Full name
zendesk-sell.zendesk_sell_list_tasks
ParameterTypeRequiredDescription
No parameters.
list_users Read

List Users in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.list_users
Full name
zendesk-sell.zendesk_sell_list_users
ParameterTypeRequiredDescription
No parameters.
update_contact Write

Update Contact in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.update_contact
Full name
zendesk-sell.zendesk_sell_update_contact
ParameterTypeRequiredDescription
No parameters.
update_deal Write

Update Deal in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.update_deal
Full name
zendesk-sell.zendesk_sell_update_deal
ParameterTypeRequiredDescription
No parameters.
update_deal_source Write

Update Deal Source in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.update_deal_source
Full name
zendesk-sell.zendesk_sell_update_deal_source
ParameterTypeRequiredDescription
No parameters.
update_lead Write

Update Lead in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.update_lead
Full name
zendesk-sell.zendesk_sell_update_lead
ParameterTypeRequiredDescription
No parameters.
update_lead_source Write

Update Lead Source in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.update_lead_source
Full name
zendesk-sell.zendesk_sell_update_lead_source
ParameterTypeRequiredDescription
No parameters.
update_loss_reason Write

Update Loss Reason in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.update_loss_reason
Full name
zendesk-sell.zendesk_sell_update_loss_reason
ParameterTypeRequiredDescription
No parameters.
update_note Write

Update Note in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.update_note
Full name
zendesk-sell.zendesk_sell_update_note
ParameterTypeRequiredDescription
No parameters.
update_product Write

Update Product in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.update_product
Full name
zendesk-sell.zendesk_sell_update_product
ParameterTypeRequiredDescription
No parameters.
update_task Write

Update Task in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.update_task
Full name
zendesk-sell.zendesk_sell_update_task
ParameterTypeRequiredDescription
No parameters.
upsert_contact Write

Upsert Contact in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.upsert_contact
Full name
zendesk-sell.zendesk_sell_upsert_contact
ParameterTypeRequiredDescription
No parameters.
upsert_deal Write

Upsert Deal in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.upsert_deal
Full name
zendesk-sell.zendesk_sell_upsert_deal
ParameterTypeRequiredDescription
No parameters.
upsert_lead Write

Upsert Lead in Zendesk Sell.

Lua path
app.integrations.zendesk_sell.upsert_lead
Full name
zendesk-sell.zendesk_sell_upsert_lead
ParameterTypeRequiredDescription
No parameters.