Rivalwin × Make — Integración
Integración

Conecta Rivalwin
con Make

Automatiza la generación de informes de inteligencia competitiva directamente desde tus escenarios de Make. Lanza análisis, espera los resultados y envíalos donde los necesitas, sin intervención manual.

~15 minutos de configuración
Sin app oficial — vía módulo HTTP
Autenticación vía API Key

Requisitos previos
🔑

API Key de Rivalwin

Generada desde Integraciones & API Keys en tu panel
⚙️

Cuenta de Make activa

Make Free, Core o cualquier plan superior funciona
🏷️

rival_ref del competidor

El ID interno del rival que quieres analizar (ej: rvl_4a7e9f12)
💳

Plan con acceso a API

Comprueba que tu plan incluya acceso a la API de Rivalwin
El flujo asíncrono en 2 pasos

La API de Rivalwin es asíncrona. Primero creas el informe y recibes un hash; luego consultas el estado hasta obtener los datos completos. En Make esto se implementa con un bucle de reintentos usando el módulo Repeater.

Paso 1
HTTP — POST /new_report
Envías los parámetros del informe. Recibes un hash identificador de forma inmediata.
Paso 2
Repeater + Sleep + HTTP — POST /report_status
Un módulo Repeater ejecuta el ciclo de espera. Cada iteración duerme 30 s y consulta el estado con el hash. Cuando el Router detecta DONE, el bucle se corta y los datos pasan al destino final.
Resultado
Datos del informe disponibles
Anuncios, KPIs, demografía, análisis de IA y PDF. Listos para enrutar a Slack, Google Sheets, Gmail, etc.
ℹ️
Tiempo de procesamiento: Los informes tardan entre 1 y 5 minutos dependiendo del volumen de anuncios y la plataforma. Configura el Repeater con al menos 10 iteraciones para cubrir el peor caso.
Armando el escenario en Make

Vamos a crear un escenario completo que genera un informe de Meta Ads, espera el resultado y lo procesa. Puedes adaptarlo a cualquier plataforma o destino.

01
Trigger

Configura el disparador del escenario

Abre Make, crea un nuevo escenario y elige el módulo de trigger según tu caso de uso.

Schedule
o
Webhooks > Custom webhook
o
Manually

Para testear usa Run once (ejecución manual). Para producción, Schedule te permite ejecutarlo automáticamente, por ejemplo todos los lunes a las 9:00. Configura el intervalo mínimo según las operaciones que consuma tu plan.

ℹ️
Operaciones de Make: Cada módulo ejecutado consume 1 operación. Un escenario completo con polling de 5 iteraciones consume aproximadamente 15–20 operaciones por ejecución.
02
HTTP Request

Crea el informe con el módulo HTTP

Añade el módulo HTTP > Make a request y configúralo para llamar al endpoint /new_report.

CampoValor
MethodPOST
URLhttps://rivalwin.com/api/v1/meta/companies/new_report
Body typeRaw
Content typeapplication/json
Headers > X-API-KeyTu API Key de Rivalwin
Parse response✅ Activado (para acceder a los campos del JSON)

Contenido del campo Request content:

JSON — Body del request
{
  "rival_ref": "rvl_4a7e9f12",
  "date_from": "{{formatDate(addDays(now; -30); "YYYY-MM-DD")}}",
  "date_to": "{{formatDate(addDays(now; -2); "YYYY-MM-DD")}}",
  "country": "ES"
}
⚠️
date_to debe ser como mínimo anteayer. La función addDays(now; -2) lo calcula automáticamente en la sintaxis de Make.

Respuesta exitosa — el campo data.hash se usará en los pasos siguientes:

JSON — Respuesta 202
{
  "hash": "abc123def456...",
  "status": "PENDING",
  "created_at": "2026-04-20 09:00:00"
}
💡
En Make, con Parse response activado, accedes al hash como {{1.data.hash}} (donde 1 es el número del módulo HTTP).
03
Bucle de polling

Añade el módulo Repeater para el bucle de espera

Añade el módulo Flow Control > Repeater justo después del primer HTTP. Este módulo ejecutará el ciclo de polling el número de veces que configures.

Campo del RepeaterValor recomendado
Initial value1
Repeats10 (cubre hasta ~5 minutos de espera)
Step1
HTTP /new_report
Repeater ×10
Sleep 30 s
HTTP /report_status

Dentro del Repeater, añade primero el módulo Tools > Sleep configurado a 30 segundos para esperar antes de cada consulta de estado.

⚠️
Límite de Make: El módulo Sleep acepta un máximo de 300 segundos por llamada. Para esperas mayores, encadena dos módulos Sleep o aumenta el número de Repeats.
04
HTTP Request

Consulta el estado con un segundo módulo HTTP

Después del Sleep, añade un nuevo módulo HTTP > Make a request apuntando a /report_status. Referencia el hash del primer módulo HTTP.

CampoValor
MethodPOST
URLhttps://rivalwin.com/api/v1/meta/companies/report_status
Body typeRaw
Content typeapplication/json
Headers > X-API-KeyTu API Key de Rivalwin
Parse response✅ Activado

Contenido del campo Request content, referenciando el hash del módulo 1:

JSON — Body para /report_status
{
  "hash": "{{1.data.hash}}"
}
💡
Ajusta 1 por el número real del módulo HTTP inicial si tu escenario tiene más módulos antes. Puedes verlo en el tooltip del módulo en el editor de Make.
05
Lógica condicional

Verifica el estado con un módulo Router

Añade un módulo Flow Control > Router después del segundo HTTP. Crea tres rutas según el valor del campo status:

DONEInforme listo — continúa con el procesamiento de datos
ERRORHa fallado — usa Tools > Set error handler o envía una alerta
PENDING / PROCESSINGTodavía en proceso — el Repeater continúa automáticamente con la siguiente iteración

Configuración de las rutas en el Router:

  • Ruta 1 — DONE: Filtro {{3.data.status}} Equal to DONE → procesa el informe
  • Ruta 2 — ERROR: Filtro {{3.data.status}} Equal to ERROR → notificación de error
  • Ruta 3 — Fallback: Sin filtro (acepta PENDING y PROCESSING) → el Repeater itera de nuevo
💡
En Make el Repeater itera automáticamente en bucle hasta completar el número de repeticiones. No necesitas conectar la ruta de fallback de vuelta al Sleep — el propio Repeater ya reejecutará el ciclo.
⚠️
Break the loop: Para cortar el Repeater antes de tiempo cuando el estado es DONE o ERROR, añade el módulo Flow Control > Break al final de esas rutas. Así evitas iteraciones innecesarias.
06
Procesamiento

Extrae los datos del informe con un módulo Tools

Cuando el Router detecta DONE, el campo data.report contiene toda la información. Usa el módulo Tools > Set multiple variables para extraer los campos que necesitas.

VariableValor (expresión Make)
rival{{3.data.report.rival.name}}
totalAds{{3.data.report.kpis.ads_total}}
impressionsMax{{3.data.report.kpis.impressions_upper}}
pdfUrl{{3.data.report.pdf_url}}
aiAnalysis{{3.data.report.insights.gpt_analysis}}
topAdCopy{{3.data.report.ads[].content}} (primer elemento)
💡
Sustituye 3 por el número real del módulo HTTP que llama a /report_status en tu escenario.
07
Destino final

Envía los datos donde los necesitas

Con las variables configuradas, conecta cualquier módulo destino. Make tiene apps nativas para todos los destinos habituales:

Slack
Google Sheets
Gmail
Notion
Airtable
Google Docs

Ejemplo de mensaje de Slack usando las variables del paso anterior:

Mensaje Slack — campo Text
🔍 Nuevo informe de competencia listo

*Competidor:* {{rival}}
*Anuncios activos:* {{totalAds}}
*Impresiones estimadas:* {{impressionsMax}}

*Top anuncio:* {{topAdCopy}}

📄 Ver PDF completo: {{pdfUrl}}
Usar webhook en lugar de polling

Si prefieres un flujo sin polling, puedes configurar un webhook en Rivalwin para que notifique a Make automáticamente cuando el informe esté listo. Esta opción es más eficiente en operaciones.

Ventaja: Rivalwin llama a tu URL de Make automáticamente cuando el informe termina — sin Repeater, sin Sleep, sin operaciones extra de polling.
  1. En Make, crea un nuevo escenario y añade el módulo Webhooks > Custom webhook como trigger.
  2. Haz clic en Add, dale un nombre (ej: rivalwin-reports) y copia la URL generada.
  3. En Rivalwin, ve a Integraciones & API Keys y pega esa URL en el campo Webhook.
  4. Cuando generes un informe vía API, Rivalwin enviará el payload completo a tu webhook en cuanto termine. Make recibirá los datos directamente en el trigger y continuará el escenario.
  5. Haz clic en Determine data structure en Make y genera un informe de prueba para que Make detecte automáticamente los campos del payload.
ℹ️
URL pública requerida: Make genera URLs públicas para los webhooks de forma automática en todos los planes. No necesitas infraestructura propia.
Panel de Integraciones de Rivalwin con el campo webhook configurado ampliar
Errores comunes y cómo resolverlos
CódigoErrorSolución en Make
401invalid_api_keyComprueba que el header X-API-Key esté correctamente configurado en el módulo HTTP
402insufficient_creditsRevisa los créditos disponibles en tu panel de Rivalwin
403api_not_in_planTu plan no incluye acceso a la API. Actualiza el plan en Rivalwin
404rival_not_foundEl rival_ref no existe. Verifica el ID en tu panel de Rivalwin
429cooldown_activeEspera al menos 10 segundos entre informes. Añade un módulo Sleep antes del primer HTTP Request
400invalid_date_rangedate_to no puede ser hoy ni futuro. Usa addDays(now; -2) en la expresión de fecha