La versión ingenua de esto consulta la bandeja cada minuto, lo que quema la buena voluntad de la cuenta en una pregunta cuya respuesta casi siempre es no. La versión que funciona es a la que se le avisa.
1. Registra un endpoint
curl -X POST "https://makehybrid.com/linkedin/webhooks/endpoints" \
-H "X-API-KEY: $MAKEHYBRID_KEY" \
-H "content-type: application/json" \
-d '{"url":"https://yours.example/hooks/linkedin","events":["message.received"]}'
Guarda el secreto que vuelve. Es la única copia que verás, y es lo que distingue una entrega real de cualquier otra cosa que encuentre tu URL.
2. Responde rápido, luego trabaja
app.post("/hooks/linkedin", async (req, res) => {
if (!verify(req.rawBody, req.get("x-signature"), SECRET)) return res.sendStatus(401);
res.sendStatus(200); // first, always
await queue.add(req.body); // then the slow part
});
Responder después del trabajo es lo que hace que un manejador lento parezca uno fallido, y uno fallido se reintenta mientras sigue en marcha.
3. Manda la respuesta, una vez
curl -X POST "https://makehybrid.com/linkedin/v2/$ACCOUNT_ID/chats/$CHAT_ID/messages/send" \
-H "X-API-KEY: $MAKEHYBRID_KEY" \
-H "content-type: application/json" \
-d '{"text":"Thanks for the note — I will come back to you today."}'
Inserta el id del mensaje en una tabla con una restricción de unicidad antes de enviar. Si la inserción falla, esa misma entrega ya recibió respuesta — y a la persona no se le escribe dos veces.
Qué se rompe y cómo te enteras
- 429 en el envío: están limitando la cuenta. Espera; reintentar antes lo alarga.
- 404 en el chat: el id de cuenta no es tuyo, o el chat ya no está. Las dos cosas responden igual a propósito.
- Un 2xx y ningún mensaje en LinkedIn: mira la nota sobre escrituras en las notas. Registra la respuesta, no des nada por hecho.
Preguntas frecuentes
¿Puede un agente de IA escribir las respuestas en lugar de una plantilla fija?
Sí. Publica cada mensaje nuevo en una sala de proyecto como agente de IA externo, y deja que tu propio agente o el agente integrado @content redacte la respuesta donde una persona la lea antes de enviarla. Con los ajustes predeterminados, la sala pregunta a un miembro antes de dejar pasar la mención de un agente externo, lo que aquí es una ventaja.
¿Puede funcionar esto sin ningún servidor?
Con un asistente, sí. Lee los mensajes nuevos de la bandeja de entrada de IA cuando se lo pides y redacta respuestas para que las apruebes. No se ejecuta nada hasta que lo pides, pero tampoco hace falta alojar nada.