Plazbot

Developers · Workers

Workers serverless para tus agentes.

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

  • TypeScript
  • Sin servidores
  • SDK plz incluido
workers/consultar-stock.tsTypeScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import { defineTool } from "plazbot/workers"
export default defineTool({
name: "consultar-stock",
reference: "Consulta el stock de un producto",
parameters: {
producto: { type: "string", description: "Nombre del producto" },
},
async handler(input, plz) {
const res = await plz.fetch("https://api.erp.com/stock", {
headers: { Authorization: plz.env.ERP_KEY },
})
const data = await res.json()
plz.log.info("Stock consultado", { producto: input.producto })
return {
result: `Quedan ${data.qty} unidades de ${input.producto}`,
data: { disponible: data.qty > 0 },
}
},
})
✓tool·el agente lo invoca durante la conversación

5 tipos de workers

Cinco tipos, un caso de uso cada uno.

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

Tool

defineTool()

El agente IA lo invoca solo durante la conversación.

  • →Consultar inventario
  • →Agendar citas
  • →Rastrear pedidos
  • →Calcular cotizaciones
Trigger: el agente decide

Worker

defineWorker()

Propósito general. Corre desde automatizaciones o acciones.

  • →Notificar Slack
  • →Actualizar contacto
  • →Enviar WhatsApp
  • →Enriquecer datos
Trigger: bajo demanda

Sync

defineSync()

Sincroniza datos con sistemas externos periódicamente.

  • →Sync HubSpot
  • →Sync Mailchimp
  • →Sync inventario
  • →Sync Pipedrive
Trigger: cron

Schedule

defineSchedule()

Tareas en horarios definidos: reportes, alertas, limpieza.

  • →Reporte diario
  • →Follow-up 24h
  • →Monitoreo SLA
  • →Limpieza de datos
Trigger: horario programado

Webhook

defineWebhook()

Recibe eventos externos vía HTTP. URL pública auto-generada.

  • →Pagos Stripe
  • →Pedidos Shopify
  • →Formularios Typeform
  • →MercadoPago
Trigger: HTTP request externo

SDK plz · incluido en cada worker

SDK integrado, sin imports.

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

Variables, etiquetas, etapas 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 de cada ejecución, en el dashboard y con plazbot workers logs

workers/notificar-pago.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import { defineWebhook } from "plazbot/workers"
export default defineWebhook({
name: "notificar-pago",
reference: "Procesa pagos de Stripe",
method: "POST",
async handler(request, plz) {
const { customer_email, amount } = request.body as {
customer_email: string
amount: string
}
// Buscar contacto por email
const [contact] = await plz.contacts.search({ email: customer_email })
if (contact) {
// Etiquetar como cliente pagado
await plz.contacts.addTag(contact.id, "cliente-pagado")
await plz.contacts.setStage(contact.id, "cliente")
// Notificar por WhatsApp
await plz.whatsapp.sendTemplate({
to: contact.phoneNumber!,
template: "pago_confirmado",
variablesBody: [{ variable: "1", value: amount }],
})
plz.log.info("Pago procesado", { amount })
}
return { status: 200, body: { received: true } }
},
})
✓defineWebhook·URL pública generada al desplegar

Casos de uso

Más de 25 ejemplos listos para copiar.

Conecta con cualquier sistema en pocas líneas de TypeScript. Desde pagos hasta CRMs, plantillas listas en el dashboard para copiar y adaptar.

01

E-commerce

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

02

Pagos

  • →Recibir webhooks de Stripe y PayPal
  • →Etiquetar contactos según estado de pago
  • →Enviar confirmaciones automáticas

03

Citas y reservas

  • →Crear citas en Google Calendar desde el agente
  • →Enviar recordatorios programados
  • →Sincronizar disponibilidad con sistemas externos

04

Reportes

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

05

Marketing

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

06

Integraciones

  • →Sync bidireccional con HubSpot y Pipedrive
  • →Conectar con cualquier API REST
  • →Sincronizar listas de Mailchimp

Empieza ahora

Crea tu primer worker.

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

  • CLI

    Despliega, prueba y revisa logs de tus workers desde la terminal

  • Editor en el dashboard

    Edita código directamente en el navegador

  • Plantillas

    25+ ejemplos listos para copiar y personalizar

~/terminal
1
2
3
$ npm i -g plazbot-cli
$ plazbot workers deploy ./mi-worker.ts
$ plazbot workers test mi-worker