← Volver al blog

Enviar SMS desde n8n paso a paso (sin escribir código)

Puedes enviar un SMS desde n8n en menos de 5 minutos con el nodo HTTP Request, sin necesidad de un nodo dedicado ni de escribir código. Esa es la respuesta corta. El resto de este artículo es la guía paso a paso, con la configuración exacta que necesitas copiar.

Qué vas a necesitar

  • Una cuenta en avisiasms (10 SMS de regalo, sin tarjeta) con tu clave de API, visible en "Mi perfil" del panel.
  • Un alias de remitente aprobado (o un remitente numérico mientras se tramita, ver registro de alias CNMC).
  • Una instancia de n8n, propia o en la nube.

Paso 1: añade un nodo HTTP Request

En tu flujo de n8n, añade un nodo HTTP Request donde quieras disparar el SMS (por ejemplo, después de que se cree un evento en tu calendario, o tras un webhook de tu CRM).

Paso 2: configura la petición

  • Method: POST
  • URL: https://avisiasms.com/api/v1/messages
  • Authentication: Generic Credential Type → Header Auth
    • Name: Authorization
    • Value: Bearer TU_CLAVE_DE_API
  • Body Content Type: JSON
  • Body:
{
  "to": "{{$json.telefono}}",
  "body": "Hola {{$json.nombre}}, te recordamos tu cita el {{$json.fecha}} a las {{$json.hora}}.",
  "sender": "TUALIAS",
  "reference": "{{$json.idCita}}"
}

Sustituye {{$json.telefono}}, {{$json.nombre}}, etc. por los campos reales que traiga tu flujo desde el nodo anterior (un Google Sheets, un webhook, un CRM).

Paso 3: revisa la respuesta

Si todo va bien, la API responde 202 Accepted con algo como:

{
  "id": "msg_01HQ8Z...",
  "status": "queued",
  "segments": 1,
  "cost": 0.056,
  "balanceAfter": 12.94,
  "reference": "cita-8891"
}

Puedes usar $json.balanceAfter en un nodo posterior para, por ejemplo, avisarte por email cuando el saldo baje de un umbral, o $json.segments para llevar un control de coste dentro del propio flujo.

Errores más comunes al montar esto

  • 401 invalid_api_key: revisa que el header se llame exactamente Authorization y el valor empiece por Bearer (con espacio).
  • 422 sender_not_approved: el alias que pusiste en sender no está aprobado todavía. Usa un remitente numérico mientras se tramita.
  • 422 invalid_phone_number: el número tiene que ir en formato E.164 (+34600111222), no con espacios ni el 0 inicial.

Envío masivo desde una lista

Si en vez de un solo SMS quieres recorrer una lista (por ejemplo, todas las citas de mañana desde un Google Sheets), añade un nodo Split In Batches antes del HTTP Request para no disparar cientos de peticiones simultáneas de golpe, y deja que n8n las vaya procesando una a una.

Siguiente paso

Si tu flujo es más complejo (confirmaciones, reintentos, lógica condicional según el estado de la cita), esta misma base de HTTP Request es el punto de partida: todo lo demás es lógica de n8n encima, no algo específico de nuestra API. Prueba gratis para conseguir tu clave y probarlo con tus propios datos.

Contenido elaborado con asistencia de IA y revisado por el equipo de avisiasms.