Pedirle a Octo que envíe una plantilla

Dile a Octo en el chat a quién escribir y qué decir, y encuentra la plantilla aprobada, rellena las variables y prepara el envío a un número de WhatsApp. No sale nada hasta que confirmas. Qué comprueba y qué rechaza.

Actualizado

No tienes que abrir la bandeja para enviar una plantilla a una persona. Escribe la petición en el chat con Octo como se la dirías a un compañero, y Octo encuentra la plantilla y rellena sus variables. Todavía no la envía: te muestra exactamente lo que va a enviar, y solo sale cuando pulsas Confirmar. El envío pasa por el mismo camino que la bandeja y la API, así que se comprueba igual y aparece en la misma conversación.

Esto es para un destinatario cada vez. Para toda una lista, usa una campaña. Por qué WhatsApp necesita una plantilla está en Cuándo un mensaje de WhatsApp tiene que ser una plantilla.

Un ejemplo de petición

Lavandería Tidewater tiene una plantilla de utilidad aprobada, pickup_confirmation, con el cuerpo Hola {{1}}, tu recogida está confirmada para el {{2}}. Responde aquí si quieres cambiarla. Ana preguntó la semana pasada por el lavado de un edredón, dijo que te volvería a escribir y no lo ha hecho. Escribes:

Envía a Ana Ruiz la confirmación de recogida para el martes, de 9 a 11 h.

Octo está preparado para resolverlo en este orden:

  1. Encontrar a Ana. Un nombre se busca en tus contactos; un número de teléfono se puede usar tal cual. En ambos casos tiene que acabar en formato internacional (+14255550123): el envío rechaza cualquier otra cosa.
  2. Revisar su último contacto. Cuándo escribió Ana por última vez por WhatsApp le dice a Octo si la ventana de 24 horas está abierta, y si alguien ya le escribió hoy.
  3. Encontrar la plantilla. Octo busca en tus plantillas por nombre y por nombre visible, mirando solo las aprobadas.
  4. Rellenar las variables — {{1}} = Ana, {{2}} = martes, de 9 a 11 h — y preparar el envío. Octo dice que lo ha preparado para que lo confirmes; no dice «enviado».
  5. Esperarte. Aparece una tarjeta en el chat — ver más abajo. Nada le llega a Ana hasta que pulsas Confirmar.

Octo formula cada paso a su manera. Las comprobaciones del resto de esta guía las hace el propio envío, siempre.

Di qué plantilla, y cada valor

Cuanto más nombre tu petición, menos tiene que elegir Octo:

Envía al +14255550123 la plantilla pickup_confirmation. Nombre: Ana. Franja: martes, de 9 a 11 h.

Si solo describes el mensaje, Octo elige la plantilla aprobada que mejor encaje y dice cuál eligió. Si a tu petición le falta una variable, dila o espera que te la pregunte: nunca se envía una plantilla con un hueco vacío (ver más abajo).

Las plantillas con botones también funcionan. La plantilla de marketing de Lavandería Tidewater con un botón de copiar código recibe el código como valor:

Envía a Ben la plantilla duvet_promo con el código FRESH20.

Confirmar antes de enviar

En el chat del panel, el envío preparado aparece como una tarjeta titulada ¿Enviar esta plantilla de WhatsApp?:

LíneaQué muestra
ParaEl número al que irá — +14255550123
PlantillaLa plantilla y su idioma — pickup_confirmation (es)
ValoresCada valor junto al hueco que rellena, en orden: encabezado, luego cuerpo, luego botones — Cuerpo 1 → Ana, Cuerpo 2 → martes, de 9 a 11 h
Vence …Cuándo caduca la petición: 24 horas después de que Octo la preparara

Después, Confirmar o Cancelar.

El chat de Octo. Bajo la petición de enviar a Ana Ruiz la confirmación de recogida, una tarjeta titulada ¿Enviar esta plantilla de WhatsApp? muestra Para +14255550123, Plantilla pickup_confirmation (es), Valores Cuerpo 1 → Ana y Cuerpo 2 → martes, de 9 a 11 h, cuándo vence la petición y los botones Cancelar y Confirmar. La respuesta de Octo debajo dice que todavía no se ha enviado nada.
No sale nada hasta que pulsas Confirmar. La tarjeta muestra el número, la plantilla y cada valor que enviará.
  • Confirmar la envía. La tarjeta cambia a Enviado, y aparece una nota en el chat: Done ✅ — Template “pickup_confirmation” sent to +14255550123 via WhatsApp. Si WhatsApp o alguna de las comprobaciones de abajo la rechaza, la tarjeta dice No enviado con el motivo.
  • Cancelar no envía nada. La tarjeta dice Cancelado: no se envió nada.
  • No hacer nada no envía nada. Pasadas 24 horas la tarjeta dice Vencido: no se envió nada.

Algunos detalles que importan:

  • Lee los valores, no solo el número. La tarjeta es el último punto donde se puede detectar un hueco equivocado o una errata. Para cambiar algo, cancela y vuelve a pedirlo.
  • Los botones esperan a Octo. Mientras Octo sigue escribiendo su respuesta, la tarjeta dice Podrá confirmar cuando Octo termine de responder.
  • Varias plantillas, varias tarjetas. Pide dos envíos en un chat y obtienes dos tarjetas; cada una se confirma o cancela por separado.
  • Volver más tarde es seguro. Recarga la página y la tarjeta muestra lo que pasó de verdad. Una petición ya enviada, cancelada o vencida nunca vuelve a mostrar botones activos, y pulsar Confirmar dos veces no envía dos veces.
  • Quién puede confirmar. Solo la persona que se lo pidió a Octo, o un propietario o administrador del espacio de trabajo, puede confirmarla o cancelarla.

Hablar con Octo por correo, WhatsApp o Slack

Octo también pregunta ahí. El mensaje muestra lo que va a hacer y un código corto. Por correo respondes con el código; en WhatsApp y Slack también hay botones Confirm y Cancel. La línea que apruebas nombra la plantilla, el número y los valores:

Send WhatsApp template "pickup_confirmation" (en_US) to +14255550123 — body 1: "Ana", body 2: "Tuesday, 9–11am"

Un valor en un hueco con nombre de código — otp, pin, un token — se muestra como •••• en esa línea. Una petición sin respuesta vence a las 24 horas y no se envía nada.

Lo que Octo rechaza

Todo rechazo ocurre antes de contactar con WhatsApp, y a Octo se le dice por qué.

SituaciónQué pasa
La plantilla está pendiente, rechazada, pausada o deshabilitadaRechazado: solo se puede enviar una plantilla aprobada.
Falta una variable, o se da vacíaRechazado, nombrando el hueco — por ejemplo body is missing variable “customer_name”, o que el cuerpo espera 2 valores y recibió 1.
Un valor es demasiado largoRechazado. Un código para copiar tiene como máximo 15 caracteres.
La plantilla tiene un encabezado de imagen, video o documentoOcto no puede aportar el archivo, así que el envío se rechaza. Envíala desde tu propio sistema, que acepta el payload completo de plantilla de Meta.
El número de WhatsApp de la plantilla ya no está activoRechazado.
La facturación no está configurada para el espacio de trabajoRechazado con Billing setup required.
El número está enviando demasiado rápido, o alcanzó su límite diarioRechazado con el tiempo de espera. A Octo se le da la espera y te dice cuándo volver a intentarlo; no está pensado para reintentar por su cuenta. Ver Qué tan rápido puede enviar un número.

Estos rechazos dejan el intento visible en la conversación como un mensaje que no salió:

  • El cliente se dio de baja de los mensajes de WhatsApp. Se registra como bloqueado. Octo no puede saltarse una baja.
  • El número de WhatsApp todavía está pendiente de verificación.
  • El espacio de trabajo está suspendido, o el destino no está habilitado para él. Se registra como fallido.
  • Meta rechazó el mensaje. Se registra como fallido; a Octo se le da el error de Meta y puede reintentar con otros valores.

Texto libre en lugar de una plantilla

Si la ventana está abierta, Octo puede enviar tus palabras tal cual. Pide «Escribe a Ana por WhatsApp: tu repartidor llega en diez minutos» y, si Ana escribió en las últimas 24 horas en ese número, el texto sale como un mensaje normal.

Si no, el envío de texto libre se rechaza con la ventana cerrada como motivo. Octo no lo cuela: tiene que pasar a una plantilla aprobada, y cuando ninguna encaja, te lo dice. Puede ayudarte a crear una, pero una plantilla nueva tiene que aprobarla Meta antes de que alguien pueda recibirla. Trae tus plantillas a Omni Octo lo explica.

Dónde aparece el mensaje

  • Qué número lo envía. Las plantillas pertenecen a un número de WhatsApp, así que la plantilla decide el remitente. Si tienes dos números, nombra la plantilla sincronizada con el que quieras.
  • Qué conversación. La misma que ya usan los mensajes del cliente, exactamente como en un envío desde tu propio sistema. Cuando Ana responde, su respuesta se suma a esa conversación.
  • Quién responde a la respuesta. Octo no toma el control de la conversación. Si la atendía un agente de IA, la sigue atendiendo; si la habías tomado tú, sigue contigo. Esto es distinto de enviar desde una conversación, donde primero tomas el control.
  • Qué muestra. El mensaje en la conversación muestra el cuerpo con los valores, registrado como enviado por ti. Empieza como enviado; entregado, leído o fallido llegan después desde Meta.

«Enviado» en la respuesta de Octo significa que Meta aceptó el mensaje. No significa que Ana lo haya recibido — y una plantilla de marketing puede no entregarse nunca.

Pedirlo dos veces envía dos veces

Cada petición es una tarjeta nueva, y cada tarjeta confirmada es un envío nuevo. No hay comprobación de «ya enviado» entre peticiones: si vuelves a pedirlo, o le pides a Octo que «lo intente de nuevo» tras un envío que sí salió, y confirmas ambas, Ana recibe la plantilla dos veces — y cada una cuenta contra los límites del número. Revisa el estado de la tarjeta anterior antes de confirmar un reenvío.

Lo que Octo no hace

  • Enviar a una lista. Una petición es un destinatario; usa una campaña.
  • Enviar una plantilla con encabezado multimedia. No tiene forma de aportar el archivo.
  • Saltarse una baja, ni enviar una plantilla que no está aprobada.
  • Colar texto libre con la ventana cerrada.

Octo fuera del chat

Cuando un programa habla con Octo en lugar de una persona, el envío sigue esperando a una persona:

Dónde se conecta el programaQué pasa
/mcp — encargándole a Octo un trabajo con send_messageQueda en espera. El resultado lleva un pending_action con un código. No se envía nada hasta que alguien responde YES <code> en la misma conversación.
/mcp/tools — llamando directamente a las herramientas de OctoRechazado con confirmation_required.
/v1, una conversación guardadaQueda en espera de una respuesta YES <code>, igual.
/v1, una petición que no guarda nadaNo se ofrece.

Si tu propio software necesita enviar una plantilla sin que una persona apruebe cada una, llama directamente al endpoint de envío de plantillas — Enviar una plantilla desde tu propio sistema.

Adónde ir después