// /DEVELOPERS / WORKERS · SERVERLESS RUNTIME

workers.serverless/*

Funciones serverless en TypeScript para extender tus agentes IA. Conecta APIs externas, procesa webhooks, sincroniza datos y automatiza tareas programadas — sin gestionar servidores.

~/terminal·bash
$ plazbot workers init mi-worker --type tool
~/workers/consultar-stock.ts·typescript
01import { defineTool } from "plazbot/workers"
02 
03export default defineTool({
04 name: "consultar-stock",
05 reference: "Consulta el stock de un producto",
06 parameters: {
07 producto: { type: "string", required: true },
08 },
09 
10 async run(payload, plz) {
11 const res = await fetch("https://api.erp.com/stock", {
12 headers: { Authorization: plz.env.ERP_KEY },
13 })
14 const data = await res.json()
15 
16 plz.log.info("Stock consultado", { producto: payload.producto })
17 
18 return {
19 disponible: data.qty > 0,
20 cantidad: data.qty,
21 }
22 },
23})
└── typescript· serverless· sdk built-in (plz)· zero config
// 5 TIPOS DE WORKERS

workers.types/*

Cada tipo está optimizado para un caso de uso específico — desde herramientas del agente hasta webhooks en tiempo real.

// 01
Tool.worker
defineTool()

Tu agente IA lo invoca automáticamente durante la conversación. Ideal para consultas a APIs en tiempo real.

  • ├── Consultar inventario
  • ├── Agendar citas
  • ├── Rastrear pedidos
  • ├── Calcular cotizaciones
trigger: El agente decide cuándo usarlo
// 02
Worker.worker
defineWorker()

Función de propósito general. Se ejecuta desde automatizaciones, acciones del agente u otros workers.

  • ├── Notificar Slack
  • ├── Actualizar contacto
  • ├── Enviar WhatsApp
  • ├── Enriquecer datos
trigger: Bajo demanda o vía acciones
// 03
Sync.worker
defineSync()

Mantiene datos sincronizados entre Plazbot y sistemas externos ejecutándose periódicamente.

  • ├── Sync HubSpot
  • ├── Sync Mailchimp
  • ├── Sync inventario
  • ├── Sync Pipedrive
trigger: Ejecución programada (cron)
// 04
Schedule.worker
defineSchedule()

Tareas automatizadas que se ejecutan en horarios definidos. Reportes, alertas y mantenimiento.

  • ├── Reporte diario
  • ├── Follow-up 24h
  • ├── Monitoreo SLA
  • ├── Limpieza de datos
trigger: Horario programado (cron)
// 05
Webhook.worker
defineWebhook()

Recibe eventos en tiempo real de servicios externos vía HTTP. URL pública auto-generada.

  • ├── Pagos Stripe
  • ├── Pedidos Shopify
  • ├── Formularios Typeform
  • ├── MercadoPago
trigger: HTTP request externo
// SDK BUILT-IN · IMPORT FREE

plz.sdk/*

Cada worker recibe el SDK plz automáticamente. Sin instalaciones, sin imports, sin configuración — contactos, WhatsApp, agentes, storage y más, todo listo para usar.

plz.contacts

CRUD de contactos, variables, etiquetas, etapas y segmentaciones

plz.whatsapp

Enviar mensajes, plantillas y obtener historial

plz.agents

Interactuar con agentes IA desde código

plz.conversations

Mensajes, notas internas, resolver y reabrir

plz.workspace

Tags, etapas, segmentaciones y miembros del equipo

plz.kv

Key-Value Store para persistir datos entre ejecuciones

plz.env

Secrets encriptados (AES-256) inyectados en runtime

plz.log

Logs en tiempo real visibles en el dashboard

~/workers/notificar-pago.ts·webhook
01import { defineWebhook } from "plazbot/workers"
02 
03export default defineWebhook({
04 name: "notificar-pago",
05 reference: "Procesa pagos de Stripe",
06 
07 async run(payload, plz) {
08 // payload = body del request HTTP
09 const { customer_email, amount } = payload
10 
11 // Buscar contacto por email
12 const contacts = await plz.contacts.search({
13 email: customer_email,
14 })
15 
16 if (contacts.length > 0) {
17 const id = contacts[0].id
18 
19 // Etiquetar como cliente pagado
20 await plz.contacts.addTag(id, "cliente-pagado")
21 await plz.contacts.setStage(id, "Cliente")
22 
23 // Notificar por WhatsApp
24 await plz.whatsapp.sendTemplate({
25 to: contacts[0].phoneNumber,
26 templateName: "pago_confirmado",
27 language: "es",
28 parameters: [amount],
29 })
30 
31 plz.log.info("Pago procesado", { amount })
32 }
33 },
34})
└── defineWebhook· async run(payload, plz)· http trigger
// CASOS DE USO · 25+ EJEMPLOS LISTOS

workers.examples/*

Conecta con cualquier sistema en pocas líneas de TypeScript. Desde pagos hasta CRMs, templates listos para copiar.

// 01

e-commerce.ts

  • ├── Consultar stock en tiempo real desde el agente
  • ├── Procesar webhooks de Shopify y MercadoPago
  • ├── Rastrear envíos y notificar por WhatsApp
// 02

pagos.ts

  • ├── Recibir webhooks de Stripe y PayPal
  • ├── Etiquetar contactos según estado de pago
  • ├── Enviar confirmaciones automáticas
// 03

citas y reservas.ts

  • ├── Crear citas en Google Calendar desde el agente
  • ├── Enviar recordatorios programados
  • ├── Sincronizar disponibilidad con sistemas externos
// 04

reportes.ts

  • ├── Reportes diarios enviados a Slack
  • ├── Exportar métricas a Google Sheets
  • ├── Monitoreo de SLA con alertas automáticas
// 05

marketing.ts

  • ├── Follow-ups automáticos a las 24h
  • ├── Campañas de cumpleaños por WhatsApp
  • ├── Enriquecimiento de leads desde APIs
// 06

integraciones.ts

  • ├── Sync bidireccional con HubSpot y Pipedrive
  • ├── Conectar con cualquier API REST
  • ├── Sincronizar listas de Mailchimp
// EMPIEZA AHORA

workers.init/*

Escribe TypeScript, despliega y listo. Sin servidores, sin Docker, sin configuración.

~/terminal·bash
$ plazbot workers init mi-worker --type tool
$ plazbot workers deploy mi-worker
// 01
cli

Crea, despliega y prueba workers desde tu terminal

// 02
dashboard.editor

Edita código directamente en el navegador

// 03
templates

25+ ejemplos listos para copiar y personalizar