Lelemon API
  • Guías
  • Referencia de la API
Information
external-api
    Avisar que un escalamiento se resolviopostMandar un mensaje a la persona de una conversacion, sin que corra el agentepostVer el estado de una conversaciongetVer las conversaciones anteriores de la misma personagetEscribir en el caso los datos que ya tiene tu sistemaputMandar el caso a otro embudopostDejar una nota interna en el chat de una conversacionpostAbrir una conversacion con un agentepostLeer los mensajes de una conversaciongetMandar un mensaje y recibir la respuestapostCrear o reemplazar un documento de conocimientoputListar las colecciones de conocimientogetCrear una coleccion de conocimiento, o recuperar la que ya existepostListar los documentos de una colecciongetBorrar un documento y sacarlo del indicedeleteAsignarle una coleccion a un agenteputQuitarle una coleccion a un agentedeleteListar las plantillas de agente disponiblesgetCrear un agente a partir de una plantillapostSacarle una plantilla a un agente que ya andapostActivar un agentepostPausar un agentepostListar los agentes de la organizaciongetLeer un agente enterogetCambiar la configuracion de un agentepatchEl historial de instrucciones del agentegetVolver a una version anterior del promptpostEl texto de autorizacion que hay que aceptar, y su versiongetLas acciones HTTP de tu organizaciongetRegistrar una accion HTTPpostDar de baja una accion HTTPdeleteQue acciones alcanza un agente y cuales tiene prendidasgetConcederle una accion a un agenteputQuitarle una accion a un agentedeleteReportar un hecho de tu sistemapostListar los triggers de la organizaciongetCrear un triggerpostEditar o pausar un triggerpatchEncargarle un trabajo a un agentepostVer en que va una corridagetCancelar una corridapostResponderle a una corrida que pregunto algopostVer que agendas haygetVer los horarios libres de una agendagetReservar un horariopostListar los embudos de la organizaciongetLeer un embudo entero, con sus etapas y sus camposgetReemplazar las opciones de los campos de lista de un embudoputLeer las respuestas rapidas de un embudogetReemplazar las respuestas rapidas de un embudoputListar las skills de un agentegetCrear una skill y asignarsela a un agentepostLeer una skill, con su contenidogetBorrar una skilldeleteEditar una skillpatchMétricas por conversación, de las que cambiaron en un rangogetListar los archivos de una conversacion, con su descargagetVer si una persona del equipo esta disponiblegetPoner a una persona del equipo disponible o ausenteput
Schemas
powered by Zudoku
Lelemon API
Lelemon API

Schemas


ResolveConversationDto

resolution
​string · maxLength: 2000

Que se resolvio, en palabras. Queda escrito en la conversacion.

message
​string · maxLength: 4000

Si viene, se le manda al contacto por su canal. Si se omite, la resolucion solo queda registrada.

externalRef
​string · maxLength: 120

El id del ticket de su lado. Con el, un reintento del mismo aviso no se procesa dos veces.

returnToAgent
​boolean

Por defecto el control vuelve al agente. false lo deja en manos de una persona.

Default: true

EscalamientoResueltoDto

id
​string · required

El id de la conversacion.

controlStatus
​string · enum · required

Quien la tiene despues del aviso. Lo normal es agent: el control vuelve al agente. Queda como estaba (human o escalated) si una persona del equipo la tenia tomada, o si mandaste returnToAgent: false.

Enum values:
agent
human
escalated
messageQueued
​boolean · required

true si el mensaje al contacto quedo encolado. Encolado, no entregado: el transporte lo despacha despues.

alreadyResolved
​boolean · required

true si este aviso ya se habia procesado antes. Reintentar es seguro.

EnviarMensajeDto

message
​string · maxLength: 4000 · required

El texto que le llega a la persona. No puede ser solo espacios.

externalRef
​string · maxLength: 120 · required

El id de este envio en su sistema. Un reintento con el mismo valor no manda el mensaje dos veces.

MensajeEnviadoDto

id
​string · required

El id de la conversacion.

messageId
​string · required

El id del mensaje que quedo guardado en la conversacion. En un reintento es el del primer envio.

alreadySent
​boolean · required

true si esa externalRef ya habia enviado un mensaje en esta conversacion y esta llamada no mando nada. Reintentar es seguro.

CampoDelCasoDto

key
​string · required

La clave del campo, tal como se declaro en el embudo.

label
​string · required

Como se muestra en el panel.

type
​string · required

El tipo del campo, tal como se configuro.

value
​string | null · required

El valor guardado en la ficha del contacto. null si el campo no tiene dato todavia.

EstadoDeConversacionDto

id
​string · required

El id de la conversacion.

name
​string | null · required

Nombre del contacto.

email
​string | null · required

Correo del contacto.

phone
​string | null · required

Telefono del contacto.

status
​string · enum · required

El estado del caso en el flujo.

Enum values:
pending
active
waiting
completed
failed
abandoned
expired
controlStatus
​string · enum · required

Quien la tiene: agent el agente, human una persona del equipo, escalated esperando que alguien la tome.

Enum values:
agent
human
escalated
controlledBy
​string | null · required

El id de la persona que la tomo, cuando controlStatus es human.

assignedTo
​string | null · required

El id de la persona duena del caso. null si nadie lo tiene asignado.

escalatedAt
​string | null · date-time · required
escalationReason
​string | null · required

Por que se escalo, si se escalo.

pipelineId
​string · required

El flujo en el que esta el caso.

pipelineName
​string · required
currentStageId
​string | null · required
currentStageName
​string | null · required
lastMessageAt
​string | null · date-time · required
createdAt
​string · date-time · required
inboundNumberLabel
​string | null · required

La etiqueta del numero de WhatsApp del negocio por el que entro. null si no entro por WhatsApp.

inboundNumberDisplay
​string | null · required

Ese numero, como se muestra. null si no entro por WhatsApp.

​CampoDelCasoDto[] · required

Los campos del embudo ACTUAL del caso, en el orden en que se declararon. Un campo sensible no aparece: ni la clave, ni el valor.

ConversacionAnteriorDto

conversationId
​string · required

El id de esa conversacion anterior. Sus mensajes se leen con GET /conversations/{id}/messages.

pipelineId
​string · required
pipelineName
​string · required
status
​string · enum · required
Enum values:
pending
active
waiting
completed
failed
abandoned
expired
outcome
​string | null · required

Por que termino: la clave del sistema (inactividad_despedida, seguimiento_agotado...) o el motivo que declara la etapa de cierre. null si no tiene.

summary
​string | null · required

Resumen breve de la conversacion, escrito al cerrarse. null si no hay.

firstMessage
​string | null · required

Los primeros 160 caracteres de lo primero que escribio el cliente. null si no escribio.

messageCount
​number · required
createdAt
​string · date-time · required
lastMessageAt
​string | null · date-time · required

HistorialDelClienteDto

conversationId
​string · required

La conversacion por la que se pregunto.

​ConversacionAnteriorDto[] · required

Las otras conversaciones de la misma persona en esta organizacion, de la mas nueva a la mas vieja. Hasta 50.

EscribirCamposDelCasoDto

​object · required

Las claves y valores a escribir. Las claves son las que declara el embudo, sin importar quien las llena. Los valores son texto; los vacios se rechazan porque borrarian el que ya estaba.

Example: {"rut":"76543210-K","plan":"Hosting Pro","sucursal":"Talca"}

CamposDelCasoEscritosDto

id
​string · required

El id del caso.

guardados
​string[] · required

Las claves que quedaron escritas en la ficha del contacto. Una clave que ya valia lo mismo vuelve aca igual: la llamada es idempotente y reintentarla no la saca de esta lista.

Example: ["rut","plan"]
rechazados
​string[] · required

Las claves que no entraron, por su nombre. Una clave cae aca si el embudo no la declara, si el valor venia vacio o no era texto, si no cumple el tipo del campo (un email sin arroba, por ejemplo), o si depende de otro campo que se rechazo en esta misma llamada. El "quien lo llena" NO limita esta puerta: cualquier clave declarada se puede escribir, la llene el equipo, el canal o el agente. No es un error: las demas si se escribieron.

Example: ["motivo"]
​object · required

Por que se rechazo cada clave de "rechazados" que no paso el tipo del campo. Solo trae las claves de esa causa: si una se rechazo por no estar declarada en el embudo, no aparece aca.

Example: {"correo":"no parece un correo: falta el @ o el dominio"}
limpiados
​string[] · required

Las claves que esta escritura BORRO de la ficha. Pasa cuando se escribe un campo del que dependen las opciones de otro (dependsOn en GET /pipelines/{id}) y el valor que el otro tenia ya no esta entre las validas para el valor nuevo: ese campo se limpia y hay que volver a pedirlo. No es un error, y las claves de aca no vuelven en "guardados" ni en "rechazados".

Example: ["comuna"]

DerivarCasoDto

pipeline
​string · required

El embudo destino, por slug o por id.

Example: soporte-hosting
stage
​string

La etapa destino dentro de ese embudo, por slug o por id. Si se omite, el caso entra por la etapa de entrada del embudo. Una etapa que no sea de ese embudo es un 400: no se corrige sola.

Example: ticket-nuevo

CasoDerivadoDto

id
​string · required

El id del caso.

pipelineId
​string · required

El id del embudo en el que quedo.

pipelineSlug
​string · required

Su slug.

Example: soporte-hosting
stageId
​string · required

El id de la etapa en la que quedo.

stageSlug
​string · required

Su slug.

Example: ticket-nuevo
movido
​boolean · required

false si el caso ya estaba en esa etapa, o sea que esta llamada no lo movio. Reintentar es seguro: no se reescribe ni se vuelve a avisar.

CrearNotaInternaDto

texto
​string · maxLength: 4000 · required

El texto de la nota. La ve solo el equipo. No puede ser solo espacios.

externalRef
​string · maxLength: 120

El id de esta nota en su sistema. Un reintento con el mismo valor no deja la nota dos veces.

NotaInternaCreadaDto

id
​string · required

El id de la conversacion.

messageId
​string · required

El id de la nota. Es el mismo con que aparece en GET /conversations/{id}/messages?incluirNotas=true. En un reintento es el de la primera.

createdAt
​string · date-time · required
alreadyCreated
​boolean · required

true si esa externalRef ya habia dejado una nota en esta conversacion y esta llamada no dejo ninguna. Reintentar es seguro.

OpenAgentConversationDto

externalId
​string · maxLength: 120 · required

El id de esta conversacion en su sistema, unico en la organizacion. Si ya existe, se devuelve esa conversacion.

contactName
​string · maxLength: 255
contactEmail
​string · email · maxLength: 255
contactPhone
​string · maxLength: 50

ConversacionAbiertaDto

conversationId
​string · required

El id de la conversacion. Es lo que va en la URL para mandar y leer mensajes.

agentSlug
​string · required

El agente que la atiende.

Example: ventas
created
​boolean · required

true si se abrio en esta llamada; false si ese externalId ya tenia una conversacion y se devolvio esa. Un reintento la ve en false.

SendAgentMessageDto

message
​string · maxLength: 4000 · required
externalRef
​string · maxLength: 120

El id de este mensaje en su sistema. Un reintento con el mismo valor no guarda el mensaje dos veces ni hace contestar al agente otra vez: devuelve lo que paso con el primero. Mandenlo siempre.

RespuestaDelAgenteDto

conversationId
​string · required
status
​string · enum · required

answered: el agente contesto y la respuesta viene en response (HTTP 200). pending: se vencio el techo de espera y la respuesta se escribe despues; se lee con GET /conversations/{id}/messages (HTTP 202). human: alguien del equipo tomo la conversacion, el mensaje le llego a esa persona y el agente no contesta (HTTP 200).

Enum values:
answered
pending
human
response
​string

Lo que contesto el agente. Solo viene cuando status es answered.

alreadySent
​boolean

true si ese externalRef ya habia llegado en esta conversacion: el mensaje no se guardo otra vez y la respuesta es la del primero. Reintentar es seguro.

MensajeDto

role
​string · enum · required

user lo que mando el cliente; assistant lo que contesto el agente; human lo que escribio alguien del equipo; internal_note una nota interna, que la persona nunca ve (solo viene con incluirNotas=true).

Enum values:
user
assistant
human
internal_note
content
​string · required
createdAt
​string · date-time · required
author
​string

Quien dejo la nota: el nombre de la persona del equipo o de la credencial. Solo viene en internal_note.

HiloDeConversacionDto

conversationId
​string · required
​MensajeDto[] · required

Del mas viejo al mas nuevo.

PushKnowledgeDocumentDto

collectionId
​string · required

La colección donde vive el documento. Tiene que ser tuya.

filename
​string · maxLength: 500 · required

Ruta relativa del archivo, p. ej. "docs/pricing.md". Es la identidad: el mismo valor reemplaza el documento anterior.

content
​string · required

El contenido del documento, en markdown.

DocumentoEmpujadoDto

id
​string · required

El id del documento. Es lo que va en documentId para borrarlo.

collectionId
​string · required
filename
​string · required

La ruta relativa que se mando. Junto con la coleccion, es la identidad del documento.

Example: guias/precios-2026.md
status
​string · enum · required

processing recien empujado: los trozos y sus vectores se hacen despues. ready cuando el agente ya lo puede citar. failed si la indexacion fallo; el motivo se lee en error al listar.

Enum values:
processing
ready
failed

CrearColeccionDto

slug
​string · maxLength: 100 · required

El identificador que eliges tú. Es la llave de idempotencia: dos llamadas con el mismo slug devuelven la misma coleccion.

Example: guias-precios
name
​string · maxLength: 255 · required

Como se llama la coleccion en la pantalla.

Example: Guías de precios
description
​string · maxLength: 1000

Para que sirve, en una linea. Se ve en la pantalla.

ColeccionCreadaDto

id
​string · required

El id de la coleccion. Es lo que va en collectionId al empujar documentos y al asignarla a un agente.

slug
​string · required
name
​string · required
description
​string | null · required
createdAt
​string · date-time · required

ColeccionDto

id
​string · required

El id de la coleccion. Es lo que va en collectionId al empujar documentos y al asignarla a un agente.

slug
​string · required
name
​string · required
description
​string | null · required
createdAt
​string · date-time · required
documentCount
​number · required

Cuantos documentos vivos tiene adentro.

Example: 12

PaginaDeColeccionesDto

limit
​number · required

Cuantas filas se pidieron. Es el limit del pedido o 50 si no se mando.

Example: 50
offset
​number · required

Cuantas filas se saltearon. Es el offset del pedido o 0.

Example: 0
hasMore
​boolean · required

true si hay mas filas despues de esta pagina. Para seguir, repetir el pedido con offset + limit.

​ColeccionDto[] · required

DocumentoDto

id
​string · required

El id del documento. Es lo que va en documentId para borrarlo.

collectionId
​string · required
filename
​string · required

La ruta relativa que se mando. Junto con la coleccion, es la identidad del documento.

Example: guias/precios-2026.md
status
​string · enum · required

processing recien empujado: los trozos y sus vectores se hacen despues. ready cuando el agente ya lo puede citar. failed si la indexacion fallo; el motivo se lee en error al listar.

Enum values:
processing
ready
failed
sizeBytes
​number · required

Peso del contenido en bytes.

Example: 18432
chunkCount
​number · required

En cuantos trozos quedo partido. 0 mientras esta en processing.

error
​string | null · required

Por que fallo la indexacion, cuando status es failed. null si no fallo.

createdAt
​string · date-time · required
updatedAt
​string · date-time · required

PaginaDeDocumentosDto

limit
​number · required

Cuantas filas se pidieron. Es el limit del pedido o 50 si no se mando.

Example: 50
offset
​number · required

Cuantas filas se saltearon. Es el offset del pedido o 0.

Example: 0
hasMore
​boolean · required

true si hay mas filas despues de esta pagina. Para seguir, repetir el pedido con offset + limit.

​DocumentoDto[] · required

PlantillaDto

id
​string · required

El id de la plantilla. Es lo que va en templateId.

slug
​string · required
name
​string · required
description
​string | null · required
category
​string · required

Para agrupar en la galeria.

Example: ventas
knowledgeCollections
​string[] · required

Los slugs de las colecciones de conocimiento que el agente instanciado va a usar. Conviene tenerlas creadas antes de instanciar; las que falten salen en missing.

Example: ["precios","preguntas-frecuentes"]

PaginaDePlantillasDto

limit
​number · required

Cuantas filas se pidieron. Es el limit del pedido o 50 si no se mando.

Example: 50
offset
​number · required

Cuantas filas se saltearon. Es el offset del pedido o 0.

Example: 0
hasMore
​boolean · required

true si hay mas filas despues de esta pagina. Para seguir, repetir el pedido con offset + limit.

​PlantillaDto[] · required

InstanciarPlantillaDto

slug
​string · required

Identificador del agente dentro de tu organizacion. Es la llave de idempotencia: reintentar con el mismo slug devuelve el mismo agente, no uno nuevo.

Example: ventas
name
​string

Como se llama el agente. Por omision, el nombre de la plantilla.

ConocimientoInstanciadoDto

assigned
​string[] · required

Los slugs de las colecciones que quedaron asignadas al agente.

missing
​string[] · required

Los slugs que la plantilla pedia y la organizacion no tiene. Se crean con POST /knowledge/collections y se asignan con PUT /agents/{agentId}/knowledge/{collectionId}.

AgenteInstanciadoDto

id
​string · required

El id del agente. Es lo que va en agentId.

slug
​string · required
name
​string · required
status
​string · enum · required

Recien instanciado queda en draft; se activa con POST /agents/{agentId}/activate.

Enum values:
draft
active
paused
archived
audience
​string · enum · required
Enum values:
external
internal
channels
​string[] · required

Los canales por los que atiende. Vacio significa todos.

createdAt
​string · date-time · required
​ConocimientoInstanciadoDto · required

SacarPlantillaDto

name
​string · required

Como se llama la plantilla.

category
​string · required

En que parte del catalogo va. Por ejemplo sales o support.

slug
​string

Identificador de la plantilla. Por omision se deriva del nombre.

description
​string

Para que sirve esta plantilla.

FaltaParaAlcanzarDto

codigo
​string · enum · required

Codigo estable para ramificar: sin_flujo (no esta en ningun flujo), no_es_la_etapa_de_entrada (esta en un flujo pero no lo alcanza una conversacion nueva), sin_canal_api (no tiene el canal api en channels).

Enum values:
sin_flujo
no_es_la_etapa_de_entrada
sin_canal_api
mensaje
​string · required

Que hacer al respecto, para una persona.

AgenteActivadoDto

id
​string · required

El id del agente. Es lo que va en agentId.

slug
​string · required
name
​string · required
status
​string · enum · required

Recien instanciado queda en draft; se activa con POST /agents/{agentId}/activate.

Enum values:
draft
active
paused
archived
audience
​string · enum · required
Enum values:
external
internal
channels
​string[] · required

Los canales por los que atiende. Vacio significa todos.

createdAt
​string · date-time · required
​FaltaParaAlcanzarDto[] · required

Lo que todavia impide que alguien lo alcance. Vacio significa que ya lo alcanza cualquiera. Activar no falla por esto: informa.

AgenteAprovisionadoDto

id
​string · required

El id del agente. Es lo que va en agentId.

slug
​string · required
name
​string · required
status
​string · enum · required

Recien instanciado queda en draft; se activa con POST /agents/{agentId}/activate.

Enum values:
draft
active
paused
archived
audience
​string · enum · required
Enum values:
external
internal
channels
​string[] · required

Los canales por los que atiende. Vacio significa todos.

createdAt
​string · date-time · required

AgenteResumenDto

id
​string · required

El id del agente. Es lo que va en agentId.

slug
​string · required

El identificador que se eligio al crearlo. Unico en la organizacion.

Example: ventas
name
​string · required

Como se llama en el panel.

description
​string | null · required

Para que sirve, si se escribio.

status
​string · enum · required

draft recien creado; active atendiendo; paused no contesta; archived retirado.

Enum values:
draft
active
paused
archived
audience
​string · enum · required

A quien atiende. Por esta API solo se ven agentes external: los internal se administran desde el panel.

Enum values:
external
internal
runtimeType
​string · enum · required

text o voice.

Enum values:
text
voice
channels
​string[] · required

Los canales por los que atiende. Vacio significa todos. Para atender por esta API tiene que incluir api.

Example: ["whatsapp","api"]
version
​number · required

Sube cuando se modifica el agente (PATCH, activar, pausar, dar de baja). Es lo que va en expectedVersion al escribir. No sube al conceder o quitar una accion ni al editar una accion o un servidor: para eso, updatedAt.

Example: 3
createdAt
​string · date-time · required
updatedAt
​string · date-time · required

Ultimo cambio del agente, de las acciones que tiene concedidas o de lo que hace una de ellas y a donde sale (editar una accion, un servidor MCP o un conector mueve a todos los agentes que la tienen). No refleja las colecciones de conocimiento asignadas ni si un canal esta conectado.

PaginaDeAgentesDto

limit
​number · required

Cuantas filas se pidieron. Es el limit del pedido o 50 si no se mando.

Example: 50
offset
​number · required

Cuantas filas se saltearon. Es el offset del pedido o 0.

Example: 0
hasMore
​boolean · required

true si hay mas filas despues de esta pagina. Para seguir, repetir el pedido con offset + limit.

​AgenteResumenDto[] · required

ModeloDelAgenteDto

provider
​string | null · required

El proveedor del modelo: gemini, gemini-live, bedrock, anthropic, deepseek o nova.

Example: bedrock
model
​string | null · required

El identificador del modelo en ese proveedor.

maxOutputTokens
​number | null · required

Cuántos tokens puede escribir el modelo en cada llamada. Sin valor, rige el mínimo del motor.

effort
​string | null · required

Cuánto razona el modelo antes de contestar: low, medium, high, xhigh o max. Sin valor, rige el del modelo.

Example: medium
alwaysLoadedTools
​array | null · required

Las herramientas que el modelo ve siempre. Las demás las encuentra buscando cuando las necesita. Sin valor, las ve todas.

AccionDelAgenteDto

slug
​string · required

El slug de la accion. Es lo que va al conceder o quitar.

name
​string · required
description
​string · required

Lo que lee el agente para decidir cuando usarla.

destinationOrigin
​string | null

A que tercero sale la accion: solo el origen (esquema, host y puerto), nunca el path, la query ni las cabeceras. Lo tienen las acciones HTTP de la organizacion, las de un servidor MCP (el origen del servidor) y las de un conector (el de su sitio). null si la accion es una herramienta nativa de Lelemon, que no tiene un destino configurado por la organizacion, o si ya no existe. "(ilegible)" si la accion sale a un destino pero su direccion no se pudo leer. Solo viene si la credencial tiene actions:read; sin ese alcance el campo no existe.

Example: https://n8n.tuempresa.cl

CanalDelAgenteDto

slug
​string · required

El slug del canal: whatsapp, web, api...

name
​string · required
connected
​boolean · required

true si el canal tiene una conexion activa.

ColeccionAsignadaDto

id
​string · required

El id de la coleccion. Es lo que va en collectionId.

name
​string · required

AgenteDto

id
​string · required

El id del agente. Es lo que va en agentId.

slug
​string · required

El identificador que se eligio al crearlo. Unico en la organizacion.

Example: ventas
name
​string · required

Como se llama en el panel.

description
​string | null · required

Para que sirve, si se escribio.

status
​string · enum · required

draft recien creado; active atendiendo; paused no contesta; archived retirado.

Enum values:
draft
active
paused
archived
audience
​string · enum · required

A quien atiende. Por esta API solo se ven agentes external: los internal se administran desde el panel.

Enum values:
external
internal
runtimeType
​string · enum · required

text o voice.

Enum values:
text
voice
channels
​string[] · required

Los canales por los que atiende. Vacio significa todos. Para atender por esta API tiene que incluir api.

Example: ["whatsapp","api"]
version
​number · required

Sube cuando se modifica el agente (PATCH, activar, pausar, dar de baja). Es lo que va en expectedVersion al escribir. No sube al conceder o quitar una accion ni al editar una accion o un servidor: para eso, updatedAt.

Example: 3
createdAt
​string · date-time · required
updatedAt
​string · date-time · required

Ultimo cambio del agente, de las acciones que tiene concedidas o de lo que hace una de ellas y a donde sale (editar una accion, un servidor MCP o un conector mueve a todos los agentes que la tienen). No refleja las colecciones de conocimiento asignadas ni si un canal esta conectado.

systemPrompt
​string · required

Las instrucciones del agente, enteras. Es el texto que se cambia con PATCH.

​ModeloDelAgenteDto · required
maxIterations
​number · required

Cuantas vueltas puede dar el agente en un turno.

Example: 10
maxTokens
​number · required

Techo de tokens por turno.

Example: 100000
​AccionDelAgenteDto[] · required

Las acciones que tiene concedidas hoy. Con actions:read, ademas el origen al que llama cada una; nunca la direccion entera.

​CanalDelAgenteDto[] · required

Los canales de channels, con su nombre y si estan conectados.

​ColeccionAsignadaDto[]

Las colecciones de conocimiento asignadas y habilitadas. Solo viene si la credencial ademas tiene knowledge:read; si no, el campo no esta.

ActualizarAgenteDto

name
​string

Como se llama el agente.

description
​string

Para que sirve.

systemPrompt
​string

Las instrucciones del agente. Queda una version en el historial.

llmConfig
​object

Con que modelo contesta: { primary: { provider, model }, fallback?: { provider, model } }.

maxTokens
​number · min: 1000 · max: 5000000

Cuantos tokens puede gastar el agente en un turno, sumando entrada y salida de todas sus vueltas. Si se pasa, el turno se detiene.

expectedVersion
​number

La version del agente que leiste. Si alguien lo cambio en el medio, la respuesta es 409 y no se escribe nada.

AgenteGestionadoDto

id
​string · required
slug
​string · required
name
​string · required
description
​string | null · required
status
​string · enum · required
Enum values:
draft
active
paused
archived
version
​number · required

La version nueva. Es lo que va en expectedVersion del proximo PATCH para no pisar un cambio ajeno.

Example: 4
updatedAt
​string · date-time · required

VersionDePromptDto

id
​string · required

El id de la version. Es lo que va en versionId para restaurarla.

version
​number · required

El numero de version del agente cuando se escribio.

Example: 2
chars
​number · required

Cuantos caracteres tiene el texto. El texto no viene: un prompt puede pesar cientos de KB.

Example: 4821
createdAt
​string · date-time · required

HistorialDePromptsDto

​VersionDePromptDto[] · required

De la mas nueva a la mas vieja. Hasta 50.

VersionRestauradaDto

id
​string · required

El id de la version cuyo texto se copio.

version
​number · required

Su numero de version.

Example: 2

AgenteRestauradoDto

id
​string · required
slug
​string · required
name
​string · required
description
​string | null · required
status
​string · enum · required
Enum values:
draft
active
paused
archived
version
​number · required

La version nueva. Es lo que va en expectedVersion del proximo PATCH para no pisar un cambio ajeno.

Example: 4
updatedAt
​string · date-time · required
​object · required

De que version salio el texto. El agente queda con una version NUEVA que lo copia; la vieja sigue en el historial.

TextoDeAutorizacionDto

version
​string · required
texto
​string · required

El texto que se acepta.

detalle
​string · required

La explicacion larga de lo que ese texto implica.

AutorizacionVigenteDto

version
​string · required

La version vigente. Es lo que va en autorizacionVersion al registrar una accion. Va suelta ademas de dentro de vigente para que no haya que deducir cual de los dos textos manda.

Example: 2026-09-1
​object · required

La autorizacion de entrega del art. 15 bis de la Ley 21.719, que se acepta siempre.

​object · required

La confirmacion extra cuando el destino no esta en Chile. Se acepta con confirmaSalidaDelPais: true.

paises
​string[] · required

Los valores que acepta destinationCountry.

Enum values:
chile
fuera_de_chile
desconocido

VariableDeAccionDto

nombre
​string · pattern: ^[a-zA-Z0-9_-]{1,64}… · required

El nombre con que llega a tu sistema: letras sin tilde, numeros, "_" o "-", hasta 64. No puede repetirse ni llamarse como un parametro, sin distinguir mayusculas.

Example: sesion_id
variable
​string · enum

Que dato de Lelemon va. Ausente cuando origen es campo_del_caso. conversacion.id: el id de la conversacion; es otro cuando la anterior se cerro y la persona vuelve a escribir. conversacion.canal: por donde llego. agente.id: el agente que atiende. organizacion.id: tu organizacion. contacto.telefono: el numero desde el que escribe la persona, como lo manda WhatsApp; no va si la persona usa un nombre de usuario. contacto.whatsapp_id: el identificador de WhatsApp de la persona, que Meta manda aunque oculte su numero. Estos dos ultimos solo salen desde agentes que atienden clientes, en acciones POST, PUT, PATCH o DELETE, y con la autorizacion de destino vigente para esa URL (purpose, destinationCountry y autorizacionVersion); sin ella la accion no se guarda.

Enum values:
conversacion.id
conversacion.canal
contacto.telefono
contacto.whatsapp_id
agente.id
organizacion.id
Example: conversacion.id
origen
​string

campo_del_caso cuando el valor sale de un campo del caso (contacts.data), declarado en pipelines.settings.entityFields, en vez de un dato de Lelemon.

Example: campo_del_caso
campo
​string

La clave del campo del caso tal como la declara el embudo. Obligatoria cuando origen es campo_del_caso; si el caso no la tiene guardada, la accion no se ejecuta.

Example: rut_comprador
opcional
​boolean

Sólo con origen campo_del_caso. Si el campo está vacío en el caso, se omite del pedido en vez de bloquear la accion. Por defecto false.

Example: false

CrearAccionHttpDto

name
​string · required

Como se llama la accion.

description
​string · required

Lo que lee el agente para decidir cuando usarla. Sin esto no la usa nunca.

url
​string · required

A donde llama. No vuelve en ninguna respuesta: de la direccion solo se devuelve el origen.

Example: https://api.tusistema.cl/tickets
method
​string · required

GET, POST, PUT, PATCH o DELETE.

slug
​string · required

Identificador de la accion. Es con lo que se le concede a un agente, y es la llave para reintentar sin duplicar.

Example: crear_ticket
timeout
​number

Milisegundos de espera.

headers
​object

Nombre de cabecera a valor. Aca viaja tu credencial: se cifra antes de guardarla y no vuelve nunca en una respuesta.

parameters
​object

JSON Schema de los parametros que el agente va a completar.

​VariableDeAccionDto[]

Campos que llena Lelemon al ejecutar, no el agente: el agente no los ve y no los puede inventar. Van en la query si el metodo es GET y en el cuerpo si no. Si falta el dato (por ejemplo, una conversacion sin caso), el campo no va. El nombre no puede repetirse ni ser el de un parametro. Al volver a registrar la misma accion, omitirlas deja las que tenia; [] o null las saca.

Example: [{"nombre":"sesion_id","variable":"conversacion.id"}]
purpose
​string

Para que es. Parte de la autorizacion de destino (art. 15 bis de la Ley 21.719): si mandas alguno de purpose, destinationCountry o autorizacionVersion, tienen que venir los tres.

Example: Abrir tickets de soporte con lo que cuenta el cliente.
destinationCountry
​string · enum

Donde esta alojado ese sistema, declarado por ti: chile, fuera_de_chile o desconocido. "No se" cuenta como fuera. Parte de la autorizacion de destino.

Enum values:
chile
fuera_de_chile
desconocido
autorizacionVersion
​string

La version del texto de autorizacion que aceptas. Se lee en GET /v1/external/actions/authorization. Parte de la autorizacion de destino.

Example: 2026-09-1
confirmaSalidaDelPais
​boolean

La segunda confirmacion, obligatoria cuando el destino no esta en Chile: los datos salen del pais y eso es una transferencia internacional.

paraClientes
​boolean

A que agentes se les puede conceder. Sin mandarlo, a cualquiera: a quien se la das se decide al concederla. true: solo a los que atienden clientes. false: solo a tu asistente interno.

VariableGuardadaDto

nombre
​string · required

El nombre con que llega a tu sistema.

Example: sesion_id
variable
​string

Que dato de Lelemon va: conversacion.id o conversacion.canal, por ejemplo. Ausente cuando origen es campo_del_caso. Una clave que ya no existe se ignora al ejecutar.

Example: conversacion.id
origen
​string

campo_del_caso cuando el valor sale de un campo del caso en vez de un dato de Lelemon.

Example: campo_del_caso
campo
​string

La clave del campo del caso, tal como la declara el embudo. Sólo cuando origen es campo_del_caso.

Example: rut_comprador
opcional
​boolean

Sólo cuando origen es campo_del_caso. Si está vacío en el caso, se omite del pedido en vez de bloquear la acción.

Example: false

AccionDto

slug
​string · required

El identificador de la accion. Es lo que va al concederla a un agente y al darla de baja.

Example: crear_ticket
name
​string · required
description
​string · required

Lo que lee el agente para decidir cuando usarla.

method
​string · enum · required
Enum values:
GET
POST
PUT
PATCH
DELETE
origin
​string · required

Solo el origen de la direccion registrada (esquema, host y puerto). La direccion completa no vuelve nunca: en muchos webhooks el path es la credencial.

Example: https://api.tusistema.cl
headerNames
​string[] · required

Los nombres de las cabeceras configuradas. Los valores no vuelven nunca.

Example: ["Authorization"]
​object · required

El JSON Schema de los parametros que el agente completa al usarla.

​VariableGuardadaDto[] · required

Los campos que Lelemon agrega en cada llamada. Vacia si no tiene.

audience
​string | null · enum · required

A que clase de agente se le puede conceder. null significa a cualquiera, y es lo que queda si no mandaste paraClientes al registrarla: a quien se la das se decide al concederla.

Enum values:
external
internal
status
​string · required

active si esta disponible; inactive si se dio de baja.

Example: active

ListaDeAccionesDto

​AccionDto[] · required

Las acciones HTTP activas de la organizacion.

AccionDelCatalogoDto

slug
​string · required

El slug de la accion. Es lo que va en PUT y DELETE /agents/{agentId}/actions/{slug}.

name
​string · required
description
​string · required
source
​string · required

De donde sale: "Tus sistemas" para las acciones HTTP que registraste, "Lelemon" para las que traemos nosotros, o el nombre del servidor MCP conectado que la anuncia.

Example: Tus sistemas
enabled
​boolean · required

true si el agente la tiene concedida hoy.

destinationOrigin
​string | null

A que tercero sale la accion: solo el origen (esquema, host y puerto), nunca el path, la query ni las cabeceras. Lo tienen las acciones HTTP de la organizacion, las de un servidor MCP (el origen del servidor) y las de un conector (el de su sitio). null si la accion es una herramienta nativa de Lelemon, que no tiene un destino configurado por la organizacion, o si ya no existe. "(ilegible)" si la accion sale a un destino pero su direccion no se pudo leer. Solo viene si la credencial tiene actions:read; sin ese alcance el campo no existe.

Example: https://n8n.tuempresa.cl

CatalogoDeAccionesDelAgenteDto

​AccionDelCatalogoDto[] · required

ReportarHechoDto

evento
​string · required

Que paso, con el nombre que uses en tu sistema. Es el mismo nombre que declara el trigger que lo escucha.

Example: primera_empresa_conectada
externalId
​string · required

El identificador del usuario final EN TU SISTEMA. Es el mismo con el que se abre una conversacion, asi que la persona es la misma para las dos rutas.

Example: usuario-1234
datos
​object

Contexto del hecho. Hoy no se guarda ni cambia la decision; se acepta para no romper tu llamada cuando los triggers miren condiciones.

ResultadoDeTriggerDto

triggerId
​string · required

El trigger que escuchaba este hecho.

estado
​string · enum · required

disparo: el agente le escribio. ya_estaba: a esa persona este trigger ya le habia llegado, y no se le escribio de nuevo. control_humano: alguien de tu equipo tiene la conversacion y no se la piso. error: este trigger no pudo despachar (por ejemplo su agente esta pausado) y los demas siguieron igual.

Enum values:
disparo
ya_estaba
control_humano
error

HechoReportadoDto

​ResultadoDeTriggerDto[] · required

Una entrada por trigger que escuchaba el hecho. Vacio si ninguno lo escuchaba.

duplicado
​boolean · required

Verdadero cuando no se escribio nada nuevo y algo ya le habia llegado a esa persona. Con dos triggers donde uno disparo es falso: hubo mensaje. Sirve para medir reintentos sin mirar el codigo HTTP.

motivo
​string · enum

Por que no se escribio nada. Solo viaja cuando no se escribio NI se habia escrito antes: sin trigger que escuche el hecho, la conversacion en manos de tu equipo, o ningun trigger pudo despachar.

Enum values:
sin trigger
control humano
error

CrearTriggerDto

agentId
​string · required

Que agente escribe. Tiene que ser de tu organizacion, estar activo, y ser de los que la API administra.

evento
​string · required

El hecho que despierta este trigger, con el nombre que uses en tu sistema. Es el mismo que mandas a POST /v1/external/events.

Example: primera_empresa_conectada
texto
​string · required

Lo que el agente dice.

abrirPanel
​boolean

Si tu aplicacion deberia traer la conversacion al frente al recibir el aviso. Viaja tal cual en el webhook; la decision es tuya.

Default: false
activo
​boolean

Nace activo. Manda false para crearlo pausado.

Default: true

TriggerDto

id
​string · required
agentId
​string · required

El agente que escribe.

evento
​string · required

El hecho que lo despierta.

Example: primera_empresa_conectada
texto
​string · required

Lo que el agente dice.

abrirPanel
​boolean · required

Si tu aplicacion deberia traer la conversacion al frente. Viaja tal cual en el aviso saliente.

activo
​boolean · required

Un trigger pausado no dispara.

createdAt
​string · date-time · required
updatedAt
​string · date-time · required

TriggersDto

​TriggerDto[] · required

EditarTriggerDto

texto
​string
abrirPanel
​boolean
activo
​boolean

Un trigger pausado no dispara. Pausarlo no borra las entregas: al prenderlo, a quien ya le llego no le vuelve a llegar.

PedidoPorDto

id
​string · maxLength: 200 · required

El identificador del usuario en tu sistema a nombre de quien corre la corrida.

Example: pc-user-42
vence
​number · required

Hasta cuando vale la firma, en segundos Unix (UTC). Tiene que estar en el futuro y a no mas de 300 segundos.

Example: 1789132000
firma
​string · required

HMAC-SHA256 en hex minuscula (64 caracteres) sobre el texto "lelemon-run:v1::", con el secreto de servicio que tu sistema comparte con Lelemon como llave.

Example: 3b1f0c4e8d2a7f6b5c9e0a1d4f7b2c8e6a3d9f0b1c5e7a2d4f6b8c0e2a4d6f81

TopesPedidosDto

maxVueltas
​number

Cuantas vueltas puede dar. Maximo 60; por defecto 30.

maxCostoUsd
​number

Cuanto puede gastar, en dolares. Maximo 10; por defecto 2.

maxMinutos
​number

Cuantos minutos puede durar desde que empieza. Maximo 120; por defecto 30.

CrearCorridaDto

meta
​string · maxLength: 8000 · required

Que tiene que lograr el agente. Se lo trata como texto de un usuario.

Example: Concilia la cartola de agosto de la empresa 76.123.456-7 y dime que quedo pendiente.
​object · required

A nombre de quien corre, firmado por tu sistema. Sin este campo: 400. Con la firma invalida o vencida: 401.

​TopesPedidosDto

TopesDeLaCorridaDto

maxVueltas
​number · required
maxCostoUsd
​number · required

En dolares.

maxMinutos
​number · required

ResultadoDeLaCorridaDto

resumen
​string

Lo que el agente declaro al terminar. Es una declaracion: nadie la comprobo todavia.

comprobaciones
​string[]

Lo que habria que mirar para confirmar que esta hecho, segun el agente.

parcial
​string

Lo ultimo que escribio el agente. Viene tambien cuando se detuvo o fallo.

error
​string

Por que fallo. Solo con estado fallida.

CorridaDto

runId
​string · required

El id de la corrida. Es lo que va en la URL para seguirla.

agentSlug
​string · required
estado
​string · enum · required

en_curso: trabajando o en la cola. esperando_al_humano: pauso para preguntar; pregunta trae la pregunta, respondela con POST /runs/{id}/answer. terminada_sin_verificar: el agente dijo que termino y todavia nadie lo comprobo; no la leas como hecha. terminada: la comprobo un verificador (hoy no ocurre). detenida: se acabo un limite; razon dice cual. fallida: error; resultado.error dice cual, o razon "abandonada" si nadie contesto la pausa en 30 dias. cancelada: la cancelaste.

Enum values:
en_curso
esperando_al_humano
terminada_sin_verificar
terminada
detenida
fallida
cancelada
razon
​string | null · enum · required

Con estado detenida, que limite la freno. Con estado fallida y razon "abandonada", nadie contesto la pausa en 30 dias.

Enum values:
vueltas
costo
tiempo
no_supo_terminar
ciclo
abandonada
pregunta
​string | null · required

Con estado esperando_al_humano: lo que el agente pregunto. Respondelo con POST /runs/{id}/answer.

vueltas
​number · required

Vueltas que lleva.

costoUsd
​number · required

Lo que lleva gastado, en dolares.

​TopesDeLaCorridaDto · required
​object · required
cancelacionPedida
​boolean · required

true si pediste cancelarla. Mientras un worker la corre, se cancela al empezar su vuelta siguiente.

creadaEn
​string · date-time · required
iniciadaEn
​string | null · date-time · required
terminadaEn
​string | null · date-time · required

ResponderCorridaDto

respuesta
​string · maxLength: 4000 · required

La respuesta a lo que pregunto el agente.

​object · required

Quien responde, firmado por tu sistema. Sin este campo: 400. Con la firma invalida o vencida: 401.

AgendaDto

slug
​string · required

Cómo se nombra esta agenda en las otras rutas.

Example: fundador
name
​string · required

Su nombre, para mostrarlo.

Example: Con el fundador
timezone
​string · required

El huso en el que la organización definió sus horarios.

Example: America/Santiago
slotDurationMinutes
​number · required

Cuánto dura cada bloque, en minutos.

Example: 20

AgendasDto

​AgendaDto[] · required

Las agendas activas de la organización. Vacío significa que no hay ninguna configurada todavía, no que algo haya fallado.

BloqueLibreDto

id
​string · required

Identificador del bloque. Es lo que se manda de vuelta para reservarlo.

Example: 2026-09-17T14:00:00.000Z
start
​string · required

Cuándo empieza, en ISO 8601 con zona.

Example: 2026-09-17T14:00:00.000Z
end
​string · required

Cuándo termina, en ISO 8601 con zona.

Example: 2026-09-17T14:20:00.000Z

DisponibilidadDto

​BloqueLibreDto[] · required

Los bloques libres, ordenados de más cercano a más lejano. Vacío significa que no hay ninguno en la ventana pedida, no que algo haya fallado.

ReservarBloqueDto

agenda
​string · required

En qué agenda reservar, por su slug. El mismo con el que pediste los horarios.

Example: fundador
slotStart
​string · required

Cuándo empieza, en ISO 8601 con zona. Es el id de un bloque devuelto por la disponibilidad.

Example: 2026-09-17T14:00:00.000Z
attendeeEmail
​string · required

Correo de quien agenda. Ahí le llega la invitación.

Example: [email protected]
attendeeName
​string · required

Nombre de quien agenda, como aparece en la invitación.

Example: Ana Pérez
attendeePhone
​string

Teléfono de contacto, si lo tienes.

companyName
​string

Empresa de quien agenda. Va en la descripción del evento.

context
​string

Para qué es la reunión. Va en la descripción del evento, para que quien atienda llegue sabiendo.

ReunionAgendadaDto

meetingId
​string · required

El id de la reunión. Es lo que se guarda para referirse a ella.

scheduledFor
​string · required

Cuándo quedó, en ISO 8601 con zona.

Example: 2026-09-17T14:00:00.000Z
durationMinutes
​number · required

Cuánto dura, en minutos.

Example: 20
meetLink
​string

El link de la videollamada. Puede no venir si la agenda está configurada sin videollamada.

Example: https://meet.google.com/abc-defg-hij

EmbudoResumenDto

id
​string · required

El id del embudo. Es lo que va en pipelineId.

name
​string · required

Como se llama en el panel.

status
​string · enum · required

draft recien creado; active en uso; paused pausado; archived retirado.

Enum values:
draft
active
paused
archived
createdAt
​string · date-time · required

PaginaDeEmbudosDto

limit
​number · required

Cuantas filas se pidieron. Es el limit del pedido o 50 si no se mando.

Example: 50
offset
​number · required

Cuantas filas se saltearon. Es el offset del pedido o 0.

Example: 0
hasMore
​boolean · required

true si hay mas filas despues de esta pagina. Para seguir, repetir el pedido con offset + limit.

​EmbudoResumenDto[] · required

EtapaDelEmbudoDto

id
​string · required

El id de la etapa.

name
​string · required

Como se llama en el panel.

orderIndex
​number · required

El orden en el que aparece en el embudo.

isEntry
​boolean · required

true si es la etapa de entrada.

isTerminal
​boolean · required

true si cierra el caso al llegar ahi.

camposObligatorios
​string[] · required

Claves de los campos del embudo (fields[].key) que el caso tiene que tener completos para entrar a esta etapa. Lista vacia si la etapa no exige nada. Un movimiento hecho por una persona, por la API o por el agente se rechaza con 422 mientras falte alguno; el cierre automatico y las transiciones del flujo no se bloquean.

Example: ["rut","email"]
statusType
​string | null · enum

Que significa la etapa en el embudo: todo por hacer, in_progress en curso, done terminado. null si el embudo no lo declara. Es descriptivo: no cierra ni mueve el caso.

Enum values:
todo
in_progress
done

OpcionDelCampoDto

value
​string · required
label
​string · required
whenParent
​string[]

Solo en un campo con dependsOn: los valores del campo padre para los que esta opcion existe. Ausente quiere decir que vale para cualquier valor del padre.

Example: ["metropolitana"]

CampoDelEmbudoDto

key
​string · required

La clave del campo, tal como se guarda en el contacto.

label
​string · required

Como se muestra en el panel.

type
​string · enum · required

El tipo del campo.

Enum values:
text
email
phone
url
textarea
file
select
sensitive
​boolean · required

true si es un dato sensible. No sale con su valor en GET /conversations/{id}.

required
​boolean

true si hace falta para avanzar.

​OpcionDelCampoDto[]

Las opciones, si el tipo es select.

dependsOn
​string

La clave del campo del que dependen las opciones de este. Ausente quiere decir que las opciones son fijas. Solo valen las opciones cuyo whenParent nombra el valor que ese campo tiene en el caso, mas las que no traen whenParent; un valor fuera de ahi se rechaza al escribir.

Example: region

EmbudoDto

id
​string · required

El id del embudo. Es lo que va en pipelineId.

name
​string · required

Como se llama en el panel.

status
​string · enum · required

draft recien creado; active en uso; paused pausado; archived retirado.

Enum values:
draft
active
paused
archived
createdAt
​string · date-time · required
​EtapaDelEmbudoDto[] · required

Las etapas vivas, ordenadas.

​CampoDelEmbudoDto[] · required

Los campos que declara el embudo. Son definiciones, sin valores.

OpcionDto

value
​string · maxLength: 80 · required

Lo que se guarda en el caso. Unico dentro del campo, sin distinguir mayusculas ni espacios al borde.

label
​string · maxLength: 80

Lo que se muestra. Si no viene, vale lo mismo que value. Al escribir un caso se acepta cualquiera de los dos y se guarda el value.

whenParent
​string[]

Solo en un campo con dependsOn: los valores del campo padre para los que esta opcion existe. Si no viene, la opcion vale para cualquier valor del padre.

CampoConOpcionesDto

key
​string · required

La clave del campo, tal como la devuelve GET /v1/external/pipelines/{id}. Tiene que existir en el embudo y ser de tipo lista.

​OpcionDto[] · required

Las opciones que el campo queda teniendo. Reemplazan por completo a las que tenia. Una lista vacia lo deja sin opciones.

ReemplazarOpcionesDto

​CampoConOpcionesDto[] · required

Los campos que se reemplazan. Los que no se nombran quedan como estaban. Padre e hijo de una cascada se mandan en el mismo pedido: se validan juntos.

CampoReemplazadoDto

key
​string · required

La clave del campo.

options
​number · required

Cuantas opciones quedo teniendo.

OpcionesReemplazadasDto

id
​string · required

El embudo que se escribio.

changed
​boolean · required

false cuando lo que llego era igual a lo que ya habia: no se escribio nada. Repetir el mismo pedido devuelve false.

​CampoReemplazadoDto[] · required

Como quedo cada campo nombrado en el pedido.

RespuestaRapidaGuardadaDto

atajo
​string · required

El atajo, sin la barra.

Example: saludo
texto
​string · required

El texto tal como se guardo, con {agente} y {cliente} sin reemplazar: se reemplazan al insertarla en el chat.

RespuestasRapidasDto

id
​string · required

El embudo.

​RespuestaRapidaGuardadaDto[] · required

En el orden en que el panel las muestra. Vacia si el embudo no tiene.

RespuestaRapidaDto

atajo
​string · maxLength: 30 · required

Lo que el equipo escribe despues de la barra para insertarla: /saludo es el atajo saludo. De 1 a 30 letras minusculas, numeros, - o _, sin la barra. Unico en el embudo.

Example: saludo
texto
​string · maxLength: 4096 · required

El texto que se inserta en el chat, hasta 4096 caracteres. {agente} se reemplaza por el nombre de la persona del equipo que la inserta y {cliente} por el nombre del contacto; si falta el dato se deja vacio, sin dejar la llave ni espacios de sobra. Lo demas se inserta tal cual.

Example: Hola {cliente}, soy {agente}. En que te ayudo?

ReemplazarRespuestasRapidasDto

​RespuestaRapidaDto[] · required

Las respuestas rapidas que el embudo queda teniendo, hasta 50. Reemplazan por completo a las que tenia. Una lista vacia deja el embudo sin respuestas. Se validan igual que en el panel.

RespuestasRapidasReemplazadasDto

id
​string · required

El embudo.

​RespuestaRapidaGuardadaDto[] · required

En el orden en que el panel las muestra. Vacia si el embudo no tiene.

changed
​boolean · required

false cuando lo que llego era igual a lo que ya habia: no se escribio nada. Repetir el mismo pedido devuelve false.

CrearSkillDto

slug
​string · maxLength: 100 · required

El identificador que eliges tú. Es lo que el agente nombra al cargarla, y la llave de idempotencia: dos llamadas con el mismo slug devuelven la misma skill.

Example: cerrar-el-mes
nombre
​string · maxLength: 255 · required

Como se llama la skill.

Example: Cerrar el mes
descripcion
​string · maxLength: 500 · required

Para que sirve, en una linea. Es lo unico de la skill que viaja en el prompt del agente, en cada mensaje: por eso es corta y dice CUANDO usarla, no como.

Example: Los pasos del cierre mensual de una empresa.
contenido
​string · maxLength: 20000 · required

El instructivo completo, en texto. No viaja en el prompt: el agente lo carga con cargar_skill cuando va a hacer esa tarea.

requiere
​string[]

Slugs de otras skills del mismo agente que el agente recibe completas, antes que esta, cada vez que la carga. Sirve para una base que varias comparten sin repetirla. Un solo nivel: una skill requerida no puede requerir otra.

Example: ["contabilidad-estandar"]

SkillDto

id
​string · required

El id de la skill. El agente no lo usa: la nombra por su slug.

slug
​string · required
nombre
​string · required
descripcion
​string · required

Lo unico de la skill que viaja en el prompt del agente, en cada mensaje.

Example: Los pasos del cierre mensual de una empresa.

PaginaDeSkillsDto

limit
​number · required

Cuantas filas se pidieron. Es el limit del pedido o 50 si no se mando.

Example: 50
offset
​number · required

Cuantas filas se saltearon. Es el offset del pedido o 0.

Example: 0
hasMore
​boolean · required

true si hay mas filas despues de esta pagina. Para seguir, repetir el pedido con offset + limit.

​SkillDto[] · required

SkillConContenidoDto

id
​string · required

El id de la skill. El agente no lo usa: la nombra por su slug.

slug
​string · required
nombre
​string · required
descripcion
​string · required

Lo unico de la skill que viaja en el prompt del agente, en cada mensaje.

Example: Los pasos del cierre mensual de una empresa.
contenido
​string · required

El instructivo completo: lo que el agente lee cuando la carga con cargar_skill. No viaja en su prompt.

Example: # Cerrar el mes 1. Revisar los movimientos.
requiere
​string[] · required

Las skills que el agente recibe completas, antes que esta, cada vez que la carga.

Example: ["contabilidad-estandar"]

ActualizarSkillDto

nombre
​string · maxLength: 255
descripcion
​string · maxLength: 500
contenido
​string · maxLength: 20000
requiere
​string[]

Slugs de otras skills del mismo agente que el agente recibe completas, antes que esta, cada vez que la carga. Sirve para una base que varias comparten sin repetirla. Un solo nivel: una skill requerida no puede requerir otra.

MetricasDeConversacionDto

conversationId
​string · required

El id de la conversación.

pipelineId
​string · required
pipelineName
​string | null · required
status
​string · required

Estado actual: pending, active, waiting, completed, failed, abandoned o expired.

controlStatus
​string · required

Quién la tiene ahora: agent, escalated o human.

outcome
​string | null · required

Por qué terminó, si terminó con un motivo.

createdAt
​string · date-time · required

Cuándo entró.

escalatedAt
​string | null · date-time · required

La primera vez que el agente la derivó a una persona.

takenAt
​string | null · date-time · required

La primera vez que una persona la tomó.

takenBy
​string | null · required

El id de quien la tomó primero. null si la tomaron desde el celular.

closedAt
​string | null · date-time · required

Cuándo se cerró. null si sigue abierta.

closedBy
​string | null · enum · required

Quién la cerró: el agente, una persona o el sistema (inactividad, seguimiento agotado).

Enum values:
ai
human
system
resolvedByAi
​boolean · required

true si la cerró el agente sin derivarla ni que nadie la tomara.

waitSeconds
​number | null · required

Segundos entre la última derivación y que una persona la tomara, la primera vez que pasó.

aiSeconds
​number · required

Segundos que la atendió el agente.

humanSeconds
​number · required

Segundos que la atendió una persona.

updatedAt
​string · date-time · required

El último cambio. Es el campo por el que filtra el rango.

PaginaDeMetricasDto

limit
​number · required

Cuantas filas se pidieron. Es el limit del pedido o 50 si no se mando.

Example: 50
offset
​number · required

Cuantas filas se saltearon. Es el offset del pedido o 0.

Example: 0
hasMore
​boolean · required

true si hay mas filas despues de esta pagina. Para seguir, repetir el pedido con offset + limit.

​MetricasDeConversacionDto[] · required

AdjuntoDto

id
​string · required

El id del adjunto. En la ficha es el id del archivo; en el chat es el id del mensaje que lo trajo.

nombre
​string · required

El nombre original del archivo. Los medios del chat no guardan el nombre que tenian en el telefono: salen con el nombre con que se guardaron.

Example: Contrato firmado.pdf
mime
​string · required
tamano
​number | null · required

Peso en bytes. null si no se sabe: los medios del chat no lo guardan.

fecha
​string · date-time · required

Cuando llego al chat o se adjunto a la ficha.

origen
​string · enum · required

chat: lo mando el cliente por el chat (imagen, audio o video). ficha: lo que esta en la ficha del caso, que mezcla los documentos que el cliente mando por el chat, que quedan solo aqui, con los archivos que subio el equipo; subidoPor los distingue.

Enum values:
chat
ficha
subidoPor
​string · enum · required

Quien lo subio. cliente: lo mando la persona por el chat. equipo: lo cargo alguien del equipo en la ficha. Todo lo de origen chat es del cliente; en la ficha se distingue por como entro el archivo.

Enum values:
cliente
equipo
url
​string · required

Direccion firmada para descargar el archivo, sin credencial. Vive 10 minutos: pide la lista de nuevo cuando venza. Baja con su nombre en Content-Disposition; solo se ven en linea los pdf, imagenes, audio y video, lo demas baja como archivo.

venceEn
​string · date-time · required

Hasta cuando sirve la url.

PaginaDeAdjuntosDto

limit
​number · required

Cuantas filas se pidieron. Es el limit del pedido o 50 si no se mando.

Example: 50
offset
​number · required

Cuantas filas se saltearon. Es el offset del pedido o 0.

Example: 0
hasMore
​boolean · required

true si hay mas filas despues de esta pagina. Para seguir, repetir el pedido con offset + limit.

​AdjuntoDto[] · required

DisponibilidadDelMiembroDto

email
​string · required

El email de la persona.

estado
​string · enum · required

Lo que quedo marcado, por la persona o por la API. No considera el horario de la organizacion: eso es disponibleParaRepartir.

Enum values:
disponible
ausente
disponibleParaRepartir
​boolean · required

Si el reparto le asignaria un caso nuevo ahora mismo. Es false si esta ausente, y tambien si esta disponible pero la organizacion tiene horario de atencion y ya cerro: el auto-away por horario manda, salvo que la persona haya pedido seguir un rato mas (extendidoHasta en el futuro). Poner disponible fuera de horario no cambia eso.

cambiadoEl
​string | null · date-time · required

Cuando se cambio el estado por ultima vez. null si nunca.

extendidoHasta
​string | null · date-time · required

Hasta cuando pidio la persona seguir recibiendo casos pasado el horario. null si no hay extension.

CambiarDisponibilidadDto

email
​string · required

El email de la persona del equipo. No distingue mayusculas. Tiene que ser un miembro activo de tu organizacion.

Example: [email protected]
estado
​string · enum · required

disponible: puede recibir casos nuevos. ausente: el reparto la salta.

Enum values:
disponible
ausente
On this page
  • ResolveConversationDto
  • EscalamientoResueltoDto
  • EnviarMensajeDto
  • MensajeEnviadoDto
  • CampoDelCasoDto
  • EstadoDeConversacionDto
  • ConversacionAnteriorDto
  • HistorialDelClienteDto
  • EscribirCamposDelCasoDto
  • CamposDelCasoEscritosDto
  • DerivarCasoDto
  • CasoDerivadoDto
  • CrearNotaInternaDto
  • NotaInternaCreadaDto
  • OpenAgentConversationDto
  • ConversacionAbiertaDto
  • SendAgentMessageDto
  • RespuestaDelAgenteDto
  • MensajeDto
  • HiloDeConversacionDto
  • PushKnowledgeDocumentDto
  • DocumentoEmpujadoDto
  • CrearColeccionDto
  • ColeccionCreadaDto
  • ColeccionDto
  • PaginaDeColeccionesDto
  • DocumentoDto
  • PaginaDeDocumentosDto
  • PlantillaDto
  • PaginaDePlantillasDto
  • InstanciarPlantillaDto
  • ConocimientoInstanciadoDto
  • AgenteInstanciadoDto
  • SacarPlantillaDto
  • FaltaParaAlcanzarDto
  • AgenteActivadoDto
  • AgenteAprovisionadoDto
  • AgenteResumenDto
  • PaginaDeAgentesDto
  • ModeloDelAgenteDto
  • AccionDelAgenteDto
  • CanalDelAgenteDto
  • ColeccionAsignadaDto
  • AgenteDto
  • ActualizarAgenteDto
  • AgenteGestionadoDto
  • VersionDePromptDto
  • HistorialDePromptsDto
  • VersionRestauradaDto
  • AgenteRestauradoDto
  • TextoDeAutorizacionDto
  • AutorizacionVigenteDto
  • VariableDeAccionDto
  • CrearAccionHttpDto
  • VariableGuardadaDto
  • AccionDto
  • ListaDeAccionesDto
  • AccionDelCatalogoDto
  • CatalogoDeAccionesDelAgenteDto
  • ReportarHechoDto
  • ResultadoDeTriggerDto
  • HechoReportadoDto
  • CrearTriggerDto
  • TriggerDto
  • TriggersDto
  • EditarTriggerDto
  • PedidoPorDto
  • TopesPedidosDto
  • CrearCorridaDto
  • TopesDeLaCorridaDto
  • ResultadoDeLaCorridaDto
  • CorridaDto
  • ResponderCorridaDto
  • AgendaDto
  • AgendasDto
  • BloqueLibreDto
  • DisponibilidadDto
  • ReservarBloqueDto
  • ReunionAgendadaDto
  • EmbudoResumenDto
  • PaginaDeEmbudosDto
  • EtapaDelEmbudoDto
  • OpcionDelCampoDto
  • CampoDelEmbudoDto
  • EmbudoDto
  • OpcionDto
  • CampoConOpcionesDto
  • ReemplazarOpcionesDto
  • CampoReemplazadoDto
  • OpcionesReemplazadasDto
  • RespuestaRapidaGuardadaDto
  • RespuestasRapidasDto
  • RespuestaRapidaDto
  • ReemplazarRespuestasRapidasDto
  • RespuestasRapidasReemplazadasDto
  • CrearSkillDto
  • SkillDto
  • PaginaDeSkillsDto
  • SkillConContenidoDto
  • ActualizarSkillDto
  • MetricasDeConversacionDto
  • PaginaDeMetricasDto
  • AdjuntoDto
  • PaginaDeAdjuntosDto
  • DisponibilidadDelMiembroDto
  • CambiarDisponibilidadDto