Cómo enviar links para reagendar citas por WhatsApp API
Cómo enviar links para reagendar citas por WhatsApp API: que cada persona mueva o cancele su propia cita desde un botón, sin crearte citas duplicadas.
HighLevel Playbook Problemas reales y soluciones prácticas.
Capítulos del video · 9
- 00:00Link para reagendar: GoGHL contra WhatsApp API
- 00:11El event ID: por qué se duplican las citas
- 01:37Reagendar y cancelar: qué parte del link cambia
- 02:48Tu plantilla de WhatsApp API en Settings
- 03:28Botón Visit website con URL dinámica
- 04:13La URL base: Permanent Link del calendario
- 04:41?event_id= y la variable del ID de la cita
- 05:54Botón para cancelar la cita
- 07:10Prueba: automatización que te manda los links
En este artículo 8
- Recursos del video: los links y la plantilla para copiar
- Paso a paso
- Por qué tus links para reagendar citas por WhatsApp API duplican citas
- La plantilla de WhatsApp API con 3 botones
- De dónde sacar la URL base de tu calendario
- El botón para cancelar la cita
- Cómo probarlo antes de mandarlo a tus contactos
- Preguntas frecuentes
Recursos del video: los links y la plantilla para copiar
Estos son los dos formatos de link que armo en el video. Cambia el dominio por el de tu cuenta y el ID del calendario por el tuyo (abajo te explico dónde verlos):
- Reagendar:
https://tudominio.com/widget/booking/ID-DE-TU-CALENDARIO?event_id={{1}} - Cancelar:
https://tudominio.com/widget/cancel-booking?event_id={{1}}
En el botón de la plantilla pegas todo menos el {{1}}: ese lo pone HighLevel cuando agregas la variable. Y este es el texto de la plantilla que uso en el video, por si quieres partir de ahí:
¡Hola! 👋 Solo queremos recordarte que mañana, {{1}} {{2}} a las {{3}}, tenemos una cita contigo. Esperamos verte por aquí 😊 Para ayudarnos a tener todo listo, cuéntanos qué deseas hacer con tu cita:
Las tres variables son el día, la fecha y la hora de la cita, y debajo van los botones Confirmar, Reagendar y Cancelar.
Paso a paso
- Entra a Settings → WhatsApp → Templates y abre tu plantilla de recordatorio (02:48).
- Agrega un botón de respuesta rápida «Confirmar» (03:15).
- Agrega un botón Visit website con el texto «Reagendar» y cambia URL Type a Dynamic (03:28).
- Copia la URL base desde Calendars → Calendar Settings → Share → Permanent Link (04:13).
- Pégala en Website URL, agrega
?event_id=y elige la variable Appointment → ID para el{{1}}(04:41). - Repite con un botón «Cancelar» y la URL
widget/cancel-booking(05:54). - Guarda la plantilla y pruébala con una automatización y un contacto de prueba (07:10).
Por qué tus links para reagendar citas por WhatsApp API duplican citas
Si usas GoGHL, mandar el link para reagendar o cancelar es muy sencillo: agarras la variable, la pegas en el botón y listo (00:00). Con la API oficial de WhatsApp la cosa cambia por completo.
Fíjate en estos dos links de reagendar, uno de Oswaldo y otro de Pedro, agendados en el mismo calendario (00:11). Si los partes en dos, los dos tienen la misma base. Lo único que cambia es lo que va después de event_id=.
Ese event ID es el identificador único de la cita. Es lo que le dice a HighLevel cuál cita tiene que actualizar. Sin él, la persona abre tu calendario general, elige otro horario y termina duplicando su cita (00:21): tú tienes dos citas de la misma persona y nadie canceló la primera.
Con GoGHL no pasa porque el mensaje sale con la variable del link ya completa, con el event ID adentro. Con la API, la plantilla la aprueba Meta antes de que exista cualquier cita, así que el link no puede ir fijo: el event ID se tiene que mandar de forma dinámica, con un botón especial. Si todavía estás decidiendo cómo conectar WhatsApp, en proveedor de WhatsApp para GoHighLevel comparo las opciones, y aquí puedes probar GoGHL 7 días gratis.
Qué parte del link cambia y qué parte no
En el tablero del video lo ves completo (01:54):
| Lo que no cambia (la URL base) | Lo que cambia en cada cita | |
|---|---|---|
| Reagendar | …/widget/booking/ + el ID del calendario | ?event_id= + el ID de la cita |
| Cancelar | …/widget/cancel-booking | ?event_id= + el ID de la cita |
Lo que va después de widget/booking/ es el ID del calendario: es igual para todas las citas de ese calendario. El link de cancelar ni siquiera lo lleva. En los dos casos, lo que cambia es el event ID.
La plantilla de WhatsApp API con 3 botones
Vamos a ello. Entra a Settings y luego a WhatsApp, en la sección de plantillas (02:48). No te preocupes si tarda en cargar; a mí me pasa seguido y con refrescar se arregla.
Mi plantilla tiene un mensaje general con las variables de la cita y, más abajo, los botones. Meta te deja combinar respuestas rápidas con botones de acción: así quedan los tres.
Confirmar: una respuesta rápida
El primer botón es un Quick reply (03:15). Cuando tu contacto le da clic a «Confirmar», es como si te hubiera escrito la palabra «Confirmar». Del lado de HighLevel recibes esa respuesta y con ella puedes disparar una automatización: marcar la cita como confirmada, avisarle a tu equipo o lo que necesites.
Reagendar: Visit website con URL dinámica
El segundo botón es de tipo Visit website (03:28). Ojo con esto: en URL Type, HighLevel te pone Static por defecto, y aquí necesitas Dynamic. Con una URL estática, todos tus contactos reciben exactamente el mismo link, sin el event ID de su cita, y vuelves al problema de las citas duplicadas.
Con la URL dinámica, el final del link cambia para cada persona. Esa es toda la diferencia.
De dónde sacar la URL base de tu calendario
En Website URL va la URL base, la parte que no cambia. Para verla, ve a Calendars, entra a Calendar Settings de tu calendario y dale a Share (04:13). Ahí copia el Permanent Link. Fíjate que sea ese y no el otro link que aparece: el Permanent Link es el que coincide con la base de los links de reagendar.
Si tienes tu dominio conectado, la base sale con tu dominio en lugar del de HighLevel. Tus contactos confían más en darle clic a un link con el nombre de tu negocio; si todavía no lo tienes, te explico cómo configurar dominio en GoHighLevel.
Agregar el event ID al final
Pega el Permanent Link en el botón de Reagendar y, al final, escribe un signo de interrogación, event_id y un signo de igual (04:41). En cuanto lo haces, aparece una variable {{1}} al final de la URL. Meta solo acepta la parte dinámica al final del link, así que este formato es justo el que necesitas.
Esa variable la llenas con el ID de la cita: en la etiqueta de variables entra a Appointment y elige ID. El appointment ID es lo mismo que el event ID.
Abajo te pide un ejemplo (sample) para que Meta revise la plantilla. Puedes pegar un ID real que hayas visto o una combinación de letras y números parecida (05:19). Es solo un ejemplo: no es lo que le va a llegar a tus contactos.
Cuando la plantilla se envía, HighLevel sustituye el {{1}} por el ID de la cita de esa persona (05:39). Ya no importa si usas la misma plantilla para 10,000 personas distintas: el event ID va cambiando y cada quien recibe el link de su propia cita.
El botón para cancelar la cita
El botón de cancelar se arma igual, con otra URL base (05:54). El link de cancelar no lleva el ID del calendario: es tu dominio, /widget/cancel-booking, el signo de interrogación y el event ID.
- Agrega otro botón Visit website con el texto «Cancelar».
- Cambia URL Type a Dynamic.
- Pega la base
…/widget/cancel-booking?event_id=y elige otra vez Appointment → ID. - Pon un ejemplo en el sample y guarda la plantilla.
Con eso la plantilla queda con los tres botones. Recuerda que una plantilla nueva o editada pasa por la revisión de Meta antes de poder usarse.
Cómo probarlo antes de mandarlo a tus contactos
Si quieres ver tus links base sin buscarlos en la configuración, hay una forma muy sencilla: una automatización que te mande los links a ti (07:10).
- Crea una automatización con un trigger de cita agendada.
- Agrega una acción que te mande un mensaje con dos variables: en la etiqueta de variables, dentro de Appointment, están el link para reagendar y el link para cancelar (07:41).
- Ve a Contactos, entra a un contacto de prueba y agéndale una cita (07:56).
Ten en cuenta que el trigger tiene que ser el adecuado para que la cita dispare la automatización. Si todo está bien, te llega el mensaje con los dos links completos (08:15): todo lo que va antes de event_id= es tu URL base.
Esta misma plantilla es la que mandas en tus recordatorios. Si todavía no los tienes armados, en recordatorios de citas en GoHighLevel te enseño la automatización completa: la confirmación al agendar y los avisos antes de la cita. Y si quieres ver todo lo que puedes hacer con WhatsApp en tu cuenta, empieza por conectar WhatsApp Business a GoHighLevel.
Así de sencillo: un botón dinámico, la URL base y el event ID al final.
Menos teoría. Más acción.
HighLevel Playbook
Problemas reales y soluciones prácticas. Lo que importa para trabajar mejor con HighLevel.
Preguntas frecuentes
¿Qué es el event ID de una cita en GoHighLevel?
Es el identificador único de cada cita; en las variables aparece como el ID de Appointment. Cuando va al final del link de reagendar o cancelar, HighLevel sabe exactamente qué cita tiene que mover o cancelar.
¿Puedo usar la misma plantilla para todos mis contactos?
Sí. Con la URL dinámica, HighLevel pone el event ID de cada persona al enviar la plantilla. Una sola plantilla aprobada te sirve para todos tus contactos y todas sus citas.
¿Por qué no puedo pegar el link de reagendar directo en el botón?
Porque la plantilla la aprueba Meta antes de que exista la cita, y un link fijo sería el mismo para todos. Por eso el botón lleva la URL base fija y el event ID como variable al final.
¿Qué pasa si mi contacto abre el link general del calendario?
Agenda una cita nueva y la anterior sigue en tu calendario. Te quedan dos citas de la misma persona y tienes que cancelar una a mano.
¿Necesito la API de WhatsApp para mandar estos botones?
No. Con GoGHL el link para reagendar ya sale con el event ID dentro de la variable, así que basta con pegarla. La URL dinámica solo hace falta en las plantillas de la API oficial.
¿Te sirvió este tutorial?



