Skip to main content

Configuración de los Servicios de Agentes IA

Los servicios permiten que tu agente de IA se conecte con APIs externas para ejecutar acciones complejas como consultar bases de datos, realizar reservas, procesar pagos, o cualquier integración que necesites. El agente recolectará automáticamente la información necesaria del usuario antes de llamar a la API.

Github

Puedes descargar nuestro repositorio de ejemplo para crear tus agentes.
✅ Los servicios están en Producción Estable y han demostrado alta fiabilidad. El sistema maneja automáticamente la recolección de datos, validación y ejecución de APIs externas.

Flujo de Funcionamiento

  1. Detección de Intención: La IA identifica que el usuario quiere usar un servicio
  2. Recolección de Datos: El agente pregunta por los campos requeridos que falten
  3. Validación: Se validan los tipos de datos antes de enviar
  4. Llamada a API: Se ejecuta la llamada HTTP con los datos recolectados
  5. Procesamiento: Se mapea la respuesta según responseMapping
  6. Respuesta Final: Se envía la respuesta personalizada al usuario

Estructura Completa

Variables del Servicio

Las variables del sistema son valores predefinidos que el agente puede utilizar automáticamente en los servicios. Estas variables se actualizan dinámicamente durante la conversación y proporcionan información contextual importante. Sintaxis: [nombreVariable]
Solo disponibles en: Sección Servicios
VariableDescripciónTipoEjemplo
[lastmessagetime]Fecha y hora del último mensaje del usuarioSistema2024-08-31 18:53:28
[sessionId]ID único de la sesión actualSistemasess_abc123def456
[agentId]ID único del agente actualSistemaagent_xyz789
[lastmessage]Último mensaje del usuarioSistema"Hola, necesito agendar una cita"
[lastmessageIA]Última respuesta del agenteSistema"¡Hola! Te ayudo a agendar tu cita"
[urlTempFile]URL temporal de archivos adjuntosDinámicohttps://temp.plazbot.com/file123

Ubicaciones de uso:

Endpoints - Para incluir variables del sistema en las URLs
Headers - Para autenticación o identificación
Body templates - Para enviar datos contextuales
Respuestas - Para personalizar mensajes

Ejemplo de Uso

Campos del Servicio

CampoTipoRequeridoDescripción
intentstring✅ SíIdentificador único del servicio (ej: schedule_appointment)
referencestring✅ SíDescripción clara para que la IA entienda cuándo usar este servicio
enabledboolean✅ SíSi el servicio está activo (true) o deshabilitado (false)
methodstring✅ SiMetodo HTTP: GET o POST
endpointstring✅ SíURL completa de la API externa
requiredFieldsarray✅ SíLista de campos que el usuario debe proporcionar
headersobject❌ NoHeaders HTTP personalizados
bodyTemplateobject❌ NoEstructura del body para requests
bodySchemaobject❌ NoDefine los tipos de datos del body ("string", "date", "boolean", "numeric"). Se usa para convertir los valores al tipo correcto antes de enviar.
responseMappingobject❌ NoMapeo de la respuesta usando JSONPath
responseMessagestring❌ NoMensaje de éxito predeterminado
responseConditionsarray❌ NoRespuestas condicionales basadas en el resultado
tagsarray❌ NoEtiquetas para clasificar el servicio
actionstring❌ NoAcción a ejecutar después del servicio
Configuración de Required Fields
CampoTipoRequeridoDescripción
namestring✅ SíNombre de la variable (sin espacios)
descriptionstring✅ SíDescripción del campo para la IA
promptHintstring✅ SíPregunta específica para obtener este dato
typestring✅ SíTipo de dato esperado
propertiesarraySolo arrayObjectSub-propiedades del objeto ([{name, type}])

Tipos de Datos Soportados

TipoDescripciónEjemplo de Valor
stringTexto libre"Juan Pérez"
emailDirección de correo válida"usuario@email.com"
phoneNúmero de teléfono"+51987654321"
dateFecha y hora"2024-03-15 14:30"
datetimeFecha con hora exacta"2024-03-15 14:30:00"
numberNúmero entero o decimal150 o 99.99
integerNúmero entero42
booleanVerdadero o falsotrue / false
arrayArray de strings["valor1", "valor2"]
arrayObjectArray de objetos con propiedades[{"campo": "valor"}]
Los campos de tipo date son procesados inteligentemente por la IA. El usuario puede escribir “mañana a las 3pm” y se convertirá automáticamente al formato correcto.

Tipo arrayObject - Arrays de Objetos

El tipo arrayObject permite definir campos que recopilan listas de objetos con propiedades configurables. Cada propiedad del objeto se define con name y type.
El LLM generará un JSON Schema con items: { type: "object", properties: {...} } para que el modelo de IA recopile los datos correctamente. Tipos soportados en sub-propiedades: string, number, integer, boolean
El tipo array (sin Object) genera un array simple de strings: ["valor1", "valor2"]. Usa arrayObject cuando necesites objetos con múltiples propiedades.

Headers Comunes

Autenticación Bearer Token

Autenticación API Key

Headers Personalizados

Body Template con Formateo

Formateo de Fechas

Variables Condicionales

Response Mapping Avanzado

Mapeo Básico

Mapeo de Arrays

Mapeo Condicional

Respuestas Condicionales

Configuración Avanzada

Condiciones con Multiples Valores

Encadenamiento de Servicios (nextService)

Cada condicion puede incluir un campo nextService que indica el intent de otro servicio a ejecutar automaticamente si esa condicion se cumple:
CampoDescripcion
conditionExpresion condicional usando JSONPath y operadores
messageMensaje a mostrar al usuario si la condicion se cumple
nextService(Opcional) Intent del siguiente servicio a ejecutar automaticamente

Body Schema

El bodySchema define los tipos de datos que se enviaran en el body del request. Esto permite que el sistema convierta automaticamente los valores del usuario al tipo correcto antes de hacer la llamada HTTP.
TipoDescripcion
stringTexto tal cual
dateConvierte a formato de fecha
booleanConvierte a true/false
numericConvierte a numero

Ejemplos por Casos de Uso

Agendar Cita Médica

Consulta de Productos

Procesar Pago

Nunca hardcodees API keys en la configuración. Usa siempre variables como {{apiKey}} que se configuran de forma segura en el panel de Plazbot.