Vas a darle a una alerta un mensaje útil y, si usas un servicio externo, a configurar su webhook.
Antes de empezar
Crea primero la condición. Para un webhook, ten listo el endpoint público de tu receptor y verifica que tu cuenta tenga acceso a webhooks y créditos suficientes. El editor acepta direcciones http o https en los puertos 80 y 443. No se admiten localhost ni direcciones de redes privadas.
1. Escribir el mensaje común
Abre la pestaña Options y haz clic en la fila Message. Está cerrada de forma predeterminada y muestra Auto, porque la mayoría de las alertas no necesitan un texto propio.
Para un nivel de ejemplo de EURUSD en 1.1000, un mensaje útil indica el instrumento, qué ocurrió y cuándo:
EURUSD level review: {{symbol}} at {{price}}. {{condition_text}}. Time: {{time_iso}}.
No superes el límite del campo. Si lo dejas vacío, se usa el mensaje automático, que ya indica el símbolo, la condición y el precio, y escribe una regla de varias condiciones con los mismos paréntesis que muestra el editor. El mensaje es también el nombre con el que aparece la alerta en la lista.
Una alerta tiene un solo mensaje y todos los destinos marcados lo usan. El cuerpo del webhook que se describe más abajo es otra cosa: una carga útil para una máquina, no una frase para una persona.
2. Usar las variables que existen
Abre Available variables debajo del campo y copia cada nombre tal como está escrito, con las llaves dobles incluidas.
Usa {{symbol}} para el instrumento, {{condition_text}} para una condición legible, {{timeframe}} para la temporalidad y {{alert_url}} para un enlace de vuelta a la alerta. {{time_iso}} es una fecha y hora en UTC, que puede no coincidir con el reloj de tu pantalla.
En una alerta 4CM-AI, {{forecast_summary}}, {{forecast_cycle}} y {{forecast_symbol}} ayudan a identificar el evento. {{price}} y {{close}} describen precios de mercado; no los uses para dar a entender que una alerta de pronóstico combinada tuvo un único precio de ejecución.
La lista también incluye {{name}}, {{condition}}, {{exchange}}, {{status}}, {{time}} y {{time_now}}. Un nombre que no existe se queda en el texto exactamente como lo escribiste, así que un {{prices}} mal escrito nunca se convierte en un precio.
3. Empezar con el cuerpo predeterminado del webhook
En Notifications, marca Webhook URL y pega el endpoint de tu receptor. Elige Raw JSON y deja el cuerpo vacío.

La dirección en la que escucha tu receptor. Solo los puertos 80 y 443.
Format: Raw JSON o una estructura que Discord y Slack saben mostrar.
Así se envía una carga útil estructurada con los identificadores de la alerta y de la activación, un buen punto de partida cuando el receptor guarda los eventos. Revisa una carga útil real antes de crear un proceso que dependa de sus campos.
Las solicitudes llegan desde una única dirección de servidor de ForecastCity, que se muestra debajo del campo. Añádela a tu lista de direcciones permitidas si tu endpoint filtra por dirección.
4. Personalizar el formato cuando lo necesites
Para un receptor que espera un objeto pequeño, escribe:
{"symbol":"{{symbol}}","condition":"{{condition_text}}","time":"{{time_iso}}","source":"ForecastCity"}
La sustitución es textual. Si un valor puede contener comillas o saltos de línea, usa la carga útil predeterminada o gestiónalo en tu receptor. Un cuerpo personalizado que no sea JSON válido se envía como texto plano.
Para un webhook entrante de Discord, elige Discord y escribe, en su lugar, una línea breve:
Review {{symbol}}: {{condition_text}}. Open the alert: {{alert_url}}.
Para Slack, elige Slack y escribe con el mismo estilo. Ambos formatos envuelven tu texto en la estructura que espera cada servicio. Deja el campo vacío para usar su contenido predeterminado.
5. Guardar y comparar el resultado
Guarda la alerta. En el próximo evento, compara el símbolo, la condición y la hora que recibió tu receptor con la entrada de Log. Si todavía se ven llaves o el receptor rechaza el cuerpo, vuelve a abrir el editor y revisa los nombres de las variables y el JSON.
Continúa con la elección de destinos o con cómo averiguar por qué una alerta no te avisó.