Kensho Visual, Inicio
ES EN
Diagnóstico gratis

BóvedaAutomatizaciones

Formulario de tu web con aviso al móvil

Cada vez que alguien rellena el formulario de tu web, te llega un mensaje a Telegram al momento. Con un bot gratis y n8n o un Worker de Cloudflare.

  • NivelIntermedio
  • Tiempo40 min
  • HerramientasTelegram, n8n, Cloudflare Workers
  • Actualizada

Qué consigues

Que cada solicitud del formulario de tu web te suene en el móvil en segundos, con los datos para llamar. El ejemplo: una clínica de fisioterapia en Zaragoza con dos fisios. Recibe unas 15 solicitudes de cita a la semana por la web y las veía por correo horas después. Con el aviso en Telegram, la recepcionista llama en menos de diez minutos y la cita no se va a la clínica de enfrente.

Lo que necesitas

  • Telegram en el móvil y un bot creado con @BotFather. Gratis.
  • Una de estas dos piezas en medio, las dos gratis:
    • n8n, si ya lo tienes instalado (mira la guía de n8n gratis).
    • Un Worker de Cloudflare, con el plan gratis: 100.000 peticiones al día para toda la cuenta. Para un formulario sobra.
  • Poder tocar el formulario de tu web.
  • Tiempo: 40 minutos.

Pasos

1. Crea el bot

En Telegram, abre un chat con @BotFather y escribe /newbot. Te pedirá un nombre (el que se ve, por ejemplo «Avisos Clínica») y un nombre de usuario, que tiene que acabar en bot (por ejemplo avisos_fisio_zgz_bot) y no se puede cambiar después.

Al acabar te da un token parecido a 110201543:AAHdqTc.... Trátalo como una contraseña: quien lo tenga controla el bot. Si se te escapa, BotFather te deja revocarlo.

2. Saca tu chat_id

Un bot no puede escribirte si tú no le has escrito antes. Abre el chat con tu bot, pulsa Iniciar y mándale «hola». Luego abre en el navegador, con tu token:

https://api.telegram.org/botTU_TOKEN/getUpdates

Busca "chat":{"id": y apunta el número. Ese es tu chat_id. Si quieres que el aviso llegue a todo el equipo, crea un grupo, mete al bot, escribe algo en el grupo y repite: el id del grupo empieza por -. Ojo: Telegram solo guarda esos mensajes pendientes 24 horas.

3. Prueba que el bot te escribe

curl -X POST "https://api.telegram.org/botTU_TOKEN/sendMessage" \
  -H "Content-Type: application/json" \
  -d '{"chat_id": "TU_CHAT_ID", "text": "Prueba: nueva solicitud de cita"}'

Deberías recibir el mensaje en el móvil. Si no llega, revisa el token y que le hayas escrito antes al bot.

4. Opción A: con n8n

Crea un flujo con dos nodos:

  1. Webhook, método POST. Copia la URL de producción.
  2. Telegram, recurso Message, operación Send Message. Crea la credencial con tu token, pon tu chat_id y en Text:
Nueva solicitud de cita
Nombre: {{ $json.body.nombre }}
Teléfono: {{ $json.body.telefono }}
Prefiere: {{ $json.body.preferencia }}

En las opciones del nodo Telegram, desactiva «Append n8n Attribution» para que no añada la firma de n8n.

Un detalle del Webhook: con la respuesta «Immediately», n8n contesta con un texto suyo. Si tu formulario se envía con JavaScript (lo habitual en los plugins de formularios), la web enseña su propio mensaje de gracias y no hay problema; en ese caso pon en «Allowed Origins (CORS)» el dominio de tu web en vez de *. Si es un formulario HTML sin JavaScript, el visitante vería la respuesta de n8n: para ese caso es más limpia la opción B.

La URL de producción solo funciona con el flujo publicado: publícalo. Las ejecuciones reales las ves en la pestaña Executions, no en el editor.

5. Opción B: con un Worker de Cloudflare

Si no tienes n8n, un Worker hace lo mismo sin servidor. Crea el proyecto:

npm create cloudflare@latest -- avisos-clinica

Elige la plantilla más simple (un Worker sin framework) y sustituye el código del fichero principal por este:

export default {
  async fetch(request, env) {
    if (request.method !== "POST") return new Response("No permitido", { status: 405 });
    const d = await request.formData();
    if (d.get("web")) return Response.redirect("https://tuclinica.es/gracias", 303); // trampa antispam
    const texto = `Nueva solicitud de cita\nNombre: ${d.get("nombre")}\nTeléfono: ${d.get("telefono")}\nPrefiere: ${d.get("preferencia")}`;
    const r = await fetch(`https://api.telegram.org/bot${env.TELEGRAM_TOKEN}/sendMessage`, {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({ chat_id: env.TELEGRAM_CHAT_ID, text: texto }),
    });
    return r.ok ? Response.redirect("https://tuclinica.es/gracias", 303) : new Response("Error, llámanos", { status: 502 });
  },
};

Guarda el token y el chat_id como secretos, nunca en el código, y publica:

npx wrangler secret put TELEGRAM_TOKEN
npx wrangler secret put TELEGRAM_CHAT_ID
npx wrangler deploy

Al acabar, Wrangler te da una URL https://avisos-clinica.<tu-cuenta>.workers.dev.

6. Conecta el formulario

En tu web, el formulario tiene que enviar por POST a la URL del Worker (en su action) o a la del webhook de n8n, con campos llamados nombre, telefono y preferencia. Para la opción B, añade un campo oculto llamado web: las personas no lo ven y lo dejan vacío; muchos bots lo rellenan y se descartan solos.

Si tu web es WordPress u otro gestor, busca en su formulario la opción de enviar a un webhook o a una URL externa. Haz una solicitud de prueba desde el móvil: deberías ver el aviso en Telegram y la página de gracias en la web.

Errores típicos

  • No llega nada y el curl sí funcionaba → en n8n estás usando la URL de test o el flujo no está publicado. Usa la de producción.
  • Los campos llegan vacíos → los nombres del formulario no coinciden con los del mensaje (telefono sin tilde en los dos sitios).
  • Te llena el móvil de spam → añade la trampa antispam del paso 6 y, si sigue, un captcha en el formulario.
  • Datos de salud en Telegram → en una clínica, el motivo de consulta es un dato de salud y el RGPD lo protege más. En el aviso manda solo nombre, teléfono y franja; el resto se habla por teléfono. Y el formulario necesita su texto de privacidad.
  • El token en el código o en GitHub → revócalo en @BotFather y guárdalo como secreto.

Siguiente paso

Si aún no tienes n8n, empieza por n8n gratis: instálalo y haz tu primer flujo. Y si tu web necesita un formulario que funcione de verdad, Publica tu web gratis en Cloudflare. Si prefieres que te lo dejemos montado y probado, en KENSHO lo hacemos por ti.

Guía gratis

Apúntate y sigue leyendo

Con tu nombre y tu correo se abren esta y todas las guías de la Bóveda. Te mandamos también el enlace al correo.

Siguiente paso

Si prefieres que lo hagamos nosotros

Esto es parte de lo que hacemos cada mes en ia y automatización. Mira cómo trabajamos o pide un diagnóstico gratis.

Ver IA y automatización Diagnóstico gratis

Newsletter

La newsletter de Kensho, cada martes en tu correo

Un caso real, una idea y una tarea de 10 minutos para tu negocio. Un correo a la semana.

Diagnóstico gratis

Dinos cuál es tu negocio y te decimos qué arreglaríamos primero.

No es un informe automático: lo hace y lo revisa nuestro equipo, con ayuda de IA. Si no tienes web, nos basta con el nombre y tus redes.

  1. 01Una persona del equipo mira tu negocio como lo ve un cliente que te busca: Google, tu ficha, tus reseñas, tu web y tus redes.
  2. 02La IA nos ayuda a medir y comparar más rápido. Las conclusiones las saca y las revisa el equipo.
  3. 03En menos de 24 horas te escribimos con lo que haríamos primero. Si te encaja, te preparamos una propuesta.
Sergio Alonso Salma

Sergio y SalmaEquipo de Kensho Visual

Datos obligatoriosObligatorio
Presencia onlineAl menos uno

Rellena al menos uno de los siguientes campos.

OpcionalOpcional