Verifique los leads en Make.com antes de que lleguen a una campaña de Instantly
- Para quién
- Usuarios de Make.com que envían correo frío con Instantly
- El problema
- Las direcciones que nunca se comprobaron van directamente a una campaña de envío. Las no válidas rebotan, y los rebotes cuentan en contra de los buzones que envían la campaña.
- La solución
- Ponga una comprobación de Cold Leads entre el disparador e Instantly: una petición HTTP por lead, un filtro que solo deja pasar los resultados válidos y una segunda petición HTTP que añade el lead a su campaña con la API v2 de Instantly.
- Qué obtiene
- Un escenario de Make en marcha: lead nuevo, verificación con Cold Leads, filtro, lead añadido a la campaña de Instantly. Los leads que no pasan el filtro se quedan ahí o van a una hoja de revisión.
Las direcciones, los identificadores y los resultados de los ejemplos son ilustrativos. example.com está reservado para documentación, así que una comprobación real de estas direcciones devuelve invalid.
Los ejemplos de código son iguales en todos los idiomas; sus comentarios están en inglés.
Antes de empezar
- Una clave secreta de Cold Leads (sk_…) de Ajustes → Claves de API. La API forma parte del plan Business.
- Una clave de la API v2 de Instantly con un ámbito que pueda crear leads (leads:create, leads:all, all:create o all:all). Créela en Instantly en Settings → Integrations → API Keys; solo se muestra una vez. Su espacio de trabajo de Instantly necesita un plan de pago con acceso a la API.
- El ID de la campaña de Instantly. GET https://api.instantly.ai/api/v2/campaigns lista las campañas con sus ID (necesita el ámbito campaigns:read).
- Una hoja con fila de encabezado y las columnas email, first_name, last_name y company. Watch New Rows de Make se detiene en una fila vacía, así que mantenga los datos sin huecos.
Construya el escenario
- Google Sheets → Watch New Rows: elija la hoja de cálculo y la hoja.
- HTTP → Make a request (la app HTTP, versión 4). Authentication type: API key. En Credentials añada una clave: Key = su clave sk_, API key placement = In the header, API key parameter name = x-api-key. URL: https://coldleads.app/api/v1/verify. Method: POST. Body content type: application/JSON. Body input method: JSON string. Body content: el JSON de abajo, con el correo mapeado desde el paso 1. Parse response: Yes. En Advanced settings ponga Return error if HTTP request fails en Yes y Timeout en 30 segundos.
- Haga clic en la llave inglesa del enlace que sigue al módulo de Cold Leads y elija Set up a filter. Label: Solo válidas. Condition: status de los datos de respuesta del módulo de Cold Leads, Text operators: Equal to, valor valid.
- De nuevo HTTP → Make a request, esta vez para Instantly. Authentication type: API key; añada una clave con Key = Bearer seguido de un espacio y su clave de API de Instantly, API key placement = In the header, API key parameter name = Authorization. URL: https://api.instantly.ai/api/v2/leads. Method: POST. Body content type: application/JSON, JSON string, Parse response: Yes, Return error if HTTP request fails: Yes.
- Ejecute el escenario una vez con una fila de prueba, revise la salida de ambos módulos y después prográmelo.
{
"email": "{{map the e-mail field of the trigger here}}",
"timeout_ms": 10000
}{
"campaign": "your-instantly-campaign-id",
"email": "{{map email from the Cold Leads module}}",
"first_name": "{{map from the trigger}}",
"last_name": "{{map from the trigger}}",
"company_name": "{{map from the trigger}}",
"skip_if_in_workspace": true
}Sustituya cada marcador haciendo clic en el campo y eligiendo el elemento en el panel de mapeo de Make. Use solo nombres de campo de la documentación de Instantly; campaign y email son lo que necesita para añadir un lead a una campaña. skip_if_in_workspace en true omite los leads que ya existen en su espacio de trabajo de Instantly.
Elija lo estricto que es el filtro
| Filtro | Qué deja pasar | Contrapartida |
|---|---|---|
| status Equal to valid | Direcciones que un servidor de correo aceptó (motivo ok) y direcciones cuyo dominio acepta correo pero cuyo buzón no se comprobó (motivo smtp_unreachable) | Pasan más leads; algunos no están confirmados. |
| status Equal to valid, y score mayor o igual que 80 (un operador numérico) | Solo direcciones que un servidor de correo aceptó: los resultados valid puntúan 97, u 80 en direcciones de rol, cuando se confirmó el buzón, y 75 o 65 cuando no se comprobó | Menos leads; ninguno pasa mientras el paso SMTP no pueda ejecutarse para un dominio. |
Para conservar los leads risky en lugar de descartarlos, añada un Router tras el módulo de Cold Leads: una ruta con el filtro anterior lleva a Instantly, y una segunda ruta con status Equal to risky lleva a Google Sheets → Add a Row en una hoja de revisión.
Pruebe ambas peticiones desde un terminal
Si un módulo falla, envíe la misma petición con curl. Muestra la respuesta exacta, incluidos los códigos de error de Cold Leads como bad_api_key, api_not_in_plan o no_credits.
# 1) the Cold Leads request the first HTTP module sends (1 credit)
curl -s https://coldleads.app/api/v1/verify \
-H "x-api-key: $COLDLEADS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email":"anna@example.com","timeout_ms":10000}'
# 2) the Instantly request the second HTTP module sends, for a lead that passed the filter
curl -s https://api.instantly.ai/api/v2/leads \
-H "Authorization: Bearer $INSTANTLY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"campaign":"your-instantly-campaign-id","email":"anna@example.com","first_name":"Anna","last_name":"Novak","company_name":"Acme","skip_if_in_workspace":true}'Errores y reintentos
- Con Return error if HTTP request fails en Yes, un 401 o 403 (clave o plan), un 402 no_credits o un 429 detiene la ejecución en el módulo en lugar de pasar un cuerpo de error al paso siguiente.
- Cold Leads admite 120 peticiones por minuto por clave y responde 429 rate_limited con Retry-After: 60 cuando se supera. Si otras herramientas comparten la clave, active Store incomplete executions en los ajustes del escenario y añada un gestor de errores Retry al módulo de Cold Leads (clic derecho en el módulo, Add error handler).
- Make renombró sus gestores de errores el 26 de mayo de 2026: Break ahora es Retry e Ignore ahora es Skip. El conjunto completo es Skip, Retry, Resume, Commit y Rollback.
- Instantly admite hasta 100 peticiones por segundo y 6 000 por minuto por espacio de trabajo, compartidas entre todas las claves de API, y responde 429 por encima de eso.
Límites y costes
- 1 crédito de Cold Leads por lead comprobado, sea cual sea el resultado, también para los resultados de la caché de 30 días.
- timeout_ms 10000 mantiene cada comprobación por debajo de unos 10 segundos; si se agota el margen, el resultado es risky con el motivo timeout, así que se detiene en el filtro.
- El plan Business cuesta $99 al mes e incluye la API y 10 000 créditos al mes; los paquetes extra de 1 000 créditos cuestan $5.
- Make e Instantly facturan su propio uso según los planes que usted tenga con ellos.
Preguntas frecuentes
¿Hay una integración nativa de Cold Leads para Make o Instantly?
No. El escenario hace dos peticiones HTTP simples con sus propias claves: una a la API de Cold Leads y otra a la API de Instantly. Entre los dos servicios no se comparte nada más que lo que envía el escenario.
¿Qué pasa con los leads que no pasan el filtro?
Se detienen en el filtro y nunca llegan a Instantly. Añada un Router con una segunda ruta si quiere que los leads risky o invalid se escriban en una hoja de revisión.
¿Puedo usar el módulo HTTP antiguo?
Sí. El antiguo Make a request (HTTP versión 3) acepta los mismos valores en sus campos URL, Method, Headers (x-api-key o Authorization), cuerpo JSON sin procesar y Parse response.
¿Por qué un lead valid muestra el motivo smtp_unreachable?
La dirección superó las comprobaciones de sintaxis y MX, pero Cold Leads no pudo conectar con el servidor de correo del destinatario por SMTP, así que el propio buzón no se comprobó. Use el filtro más estricto si solo quiere buzones confirmados.