La versione ingenua interroga la casella ogni minuto, bruciando la buona volontà dell'account su una domanda la cui risposta è quasi sempre no. La versione che funziona viene avvisata.
1. Registrate 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"]}'
Conservate il segreto che torna indietro. È l'unica copia che vedrete, ed è quello che distingue una consegna vera da qualunque altra cosa trovi la vostra URL.
2. Rispondete in fretta, poi lavorate
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
});
Rispondere dopo il lavoro è ciò che fa sembrare fallito un gestore lento, e un gestore fallito viene ritentato mentre è ancora in corsa.
3. Mandate la risposta, una volta
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."}'
Inserite l'id del messaggio in una tabella con un vincolo di unicità prima di inviare. Se l'inserimento fallisce, quella stessa consegna ha già ricevuto risposta — e alla persona non si scrive due volte.
Che cosa si rompe, e come ve ne accorgete
- 429 sull'invio: l'account è sotto limite. Rallentate; riprovare prima allunga l'attesa.
- 404 sulla conversazione: l'id dell'account non è vostro, o la conversazione non c'è più. Le due cose rispondono uguale apposta.
- Un 2xx e nessun messaggio su LinkedIn: vedete la nota sulle scritture fra le note. Registrate la risposta, non date niente per scontato.
Domande frequenti
Un agente IA può scrivere le risposte invece di un modello fisso?
Sì. Pubblicate ogni nuovo messaggio in una stanza di progetto come agente IA esterno, e lasciate che un vostro agente o l'agente @content integrato scriva la risposta dove una persona la legge prima dell'invio. Con le impostazioni predefinite la stanza chiede a un membro prima che passi la menzione di un agente esterno, e qui è un pregio.
Può funzionare senza nessun server?
Con un assistente, sì. Legge i nuovi messaggi dalla posta in arrivo dell'IA quando glielo chiedete e scrive risposte che approvate voi. Non gira niente finché non chiedete, ma non c'è nemmeno niente da ospitare.