SalesTouch Docs

Workflows LinkedIn

Séquences MCP SalesTouch fiables pour la recherche, les conversations, la prospection, l’engagement et l’extraction.

Les workflows MCP les plus solides utilisent de petits appels d’outils faciles à vérifier. Résolvez d’abord les identités, effectuez ensuite les modifications, puis vérifiez l’état des tâches mises en file ou différées.

Rechercher un prospect et une conversation

  1. Appelez linkedin_accounts si le compte est inconnu.
  2. Identifiez le membre avec linkedin_lookup_profile.
  3. Trouvez la conversation avec linkedin_conversations_search.
  4. Chargez le contexte avec linkedin_conversations_messages.
  5. Demandez à l’agent de résumer la relation avant de rédiger quoi que ce soit.

Prompt :

Prompt

Recherche ce profil, trouve notre conversation LinkedIn, lis l’historique des messages et résume la relation. N’envoie rien.

Envoyer un message à une relation existante

  1. Lisez la conversation ou appelez lead_status.
  2. Confirmez le message exact avec l’utilisateur.
  3. Appelez linkedin_message avec un membre cible et text.
  4. Si SalesTouch exige une mise en file, réessayez avec queue: true.
  5. Indiquez si l’action a été envoyée ou mise en file.

Inviter puis relancer après acceptation

Utilisez linkedin_invite_then_message lorsque la relance ne doit être exécutée qu’après l’acceptation de l’invitation. Fournissez la cible et follow_up_message. La note d’invitation est facultative.

Utilisez ensuite lead_status pour contrôler l’acceptation de l’invitation, la relance enregistrée ou l’état du message en file.

Planifier une action LinkedIn

Ajoutez scheduled_for à un message, une invitation, une séquence invitation puis message, un J’aime, un commentaire ou une publication. Utilisez une date et une heure ISO 8601 avec un fuseau horaire.

SalesTouch enregistre immédiatement la demande, mais ne l’exécute jamais avant l’heure choisie. Les horaires de travail, les limites du compte ou un délai de récupération LinkedIn peuvent repousser la valeur effective de scheduled_for. Les planifications explicites sont prioritaires sur les actions automatiquement mises en file.

La réponse distingue requested_for de la valeur effective de scheduled_for et indique si l’événement d’exécution est registered, awaiting_horizon ou pending_retry. Les planifications lointaines restent enregistrées dans SalesTouch jusqu’à leur entrée dans l’horizon d’exécution.

Les comptes LinkedIn avec identifiants mis en veille se reconnectent lorsque l’action arrive à échéance. Les anciens comptes utilisant des cookies peuvent encore exiger une reconnexion manuelle.

Interagir avec une publication

  1. Résolvez les URL de publication ambiguës avec linkedin_lookup_post.
  2. Appelez exactement une action correspondante : linkedin_like ou linkedin_comment.
  3. Utilisez queue: true si l’action ne peut pas être exécutée immédiatement.

Évitez de demander à l’agent « d’interagir » sans préciser l’action exacte et le texte du commentaire.

Extraire les personnes ayant interagi avec une publication

  1. Résolvez la publication avec linkedin_lookup_post.
  2. Appelez scrape_linkedin_post_reactions ou scrape_linkedin_post_comments. L’extraction des commentaires renvoie par défaut les auteurs des commentaires racine. Définissez include_replies: true uniquement si les auteurs des réponses sont nécessaires.
  3. Lisez l’aperçu intégré.
  4. Si source_paging.exhausted vaut false, rappelez scrape_linkedin_post_comments avec la valeur source_paging.arguments renvoyée. L’extraction LinkedIn reprend à partir de la position enregistrée et conserve le mode include_replies d’origine après l’atteinte du budget automatique de requêtes du fournisseur ou une interruption LinkedIn récupérable.
  5. Utilisez scrape_result_page avec le result_id renvoyé uniquement pour parcourir les profils déjà enregistrés par cet appel.
  6. Utilisez les métadonnées d’export lorsque le jeu de données complet doit sortir du contexte de l’agent.

Extraire depuis une recherche

  • Utilisez scrape_linkedin_search_url si vous disposez déjà d’une URL de recherche native LinkedIn Classic pour des personnes, entreprises, publications ou emplois.
  • Utilisez scrape_linkedin_people_search, scrape_linkedin_companies_search, scrape_linkedin_posts_search ou scrape_linkedin_jobs_search pour les filtres structurés LinkedIn Classic.
  • Utilisez scrape_sales_navigator_search_url si vous disposez déjà d’une URL native Sales Navigator pour des personnes ou entreprises et souhaitez que SalesTouch déduise le type de résultat.
  • Utilisez scrape_sales_navigator_people pour une URL de recherche de leads Sales Navigator ou des filtres structurés de personnes.
  • Utilisez scrape_sales_navigator_companies pour une URL de recherche d’entreprises Sales Navigator ou des filtres structurés d’entreprises.
  • Utilisez linkedin_sales_navigator_search_parameters pour découvrir les identifiants propres au compte pour les lieux, secteurs, entreprises, postes et autres filtres énumérés. Définissez product: "classic" pour LinkedIn Classic. La valeur par défaut reste Sales Navigator pour assurer la compatibilité.
  • Utilisez linkedin_lookup_job_posting après une recherche d’emplois pour récupérer une annonce complète, avec les sections facultatives sur l’équipe de recrutement, le salaire et les avantages.
  • Définissez preview_limit pour limiter la taille de la réponse intégrée.
  • Parcourez les résultats enregistrés au lieu de demander toute l’extraction en un seul appel.

Les valeurs des filtres structurés acceptent un id connu ou une query lisible. Une requête n’est utilisée automatiquement que si elle renvoie une valeur exacte. Si plusieurs candidats correspondent, réessayez avec l’identifiant du candidat sélectionné.

Exemple : growth hackers à Paris dans des entreprises de 1 à 10 salariés :

{
  "filters": {
    "current_job_title": { "include": [{ "query": "Growth Hacker" }] },
    "location": { "include": [{ "query": "Paris" }] },
    "company_headcount": [{ "min": 1, "max": 10 }]
  },
  "limit": 100,
  "preview_limit": 20
}

Exemple : ESN à Paris, en utilisant le secteur des services informatiques de LinkedIn comme approximation métier :

{
  "filters": {
    "industry": { "include": [{ "query": "IT Services and IT Consulting" }] },
    "location": { "include": [{ "query": "Paris" }] }
  },
  "limit": 1000,
  "preview_limit": 20
}

Exemple : entreprises à Paris qui recrutent :

{
  "filters": {
    "location": { "include": [{ "query": "Paris" }] },
    "hiring_on_linkedin": true,
    "department_headcount_growth": {
      "department": [{ "query": "Engineering" }],
      "min": 1
    }
  },
  "limit": 1000,
  "preview_limit": 20
}

Pour trouver des personnes uniquement dans un résultat d’entreprises, appelez d’abord scrape_sales_navigator_companies. Transmettez ensuite son result_id comme company_result_id à scrape_sales_navigator_people, avec des filtres de personnes comme current_job_title. SalesTouch vérifie la propriété du résultat, son expiration et le compte LinkedIn, puis traite les entreprises par lots sûrs.

{
  "company_result_id": "previous_company_result_id",
  "filters": {
    "current_job_title": { "include": [{ "query": "Directeur des ressources humaines" }] }
  },
  "limit": 100,
  "preview_limit": 20
}

Interprétez correctement le recrutement et l’exhaustivité

hiring_on_linkedin: true signifie que l’entreprise possède au moins une offre d’emploi sur LinkedIn. Cela ne prouve pas que le poste ouvert concerne un développeur. Ajoutez department_headcount_growth pour la fonction Engineering comme signal d’intention, ou partez d’un jeu de données vérifié de recherche d’emplois lorsque l’intitulé doit être exact. « Toutes les entreprises » désigne aussi tous les résultats exposés par les filtres Sales Navigator sélectionnés, dans la limite de résultats LinkedIn. Segmentez les recherches larges lorsque l’avertissement vous demande de les restreindre.

« ESN » n’est pas une classification native des entreprises LinkedIn. Utilisez IT Services and IT Consulting comme approximation sectorielle large, puis qualifiez les entreprises renvoyées à partir de leur description ou de leur site web au lieu de considérer une correspondance de mots-clés comme une preuve.

Annuler une tâche en file ou une relance en attente

  1. Récupérez l’identifiant exact dans status ou lead_status.
  2. Appelez queue_cancel avec exactement l’un des éléments suivants :
    • queued_action_id pour annuler une invitation, un message ou une autre action en file ;
    • followup_id pour annuler un message automatique en état waiting_acceptance sans modifier son invitation.
  3. Indiquez le résultat de l’annulation. Ne supposez pas qu’une demande locale a annulé l’action distante.

Fiez-vous à l’état renvoyé

Considérez les états envoyé, mis en file, accepté et annulé renvoyés par SalesTouch comme la source de vérité. Ne déduisez pas l’exécution à partir du prompt d’origine.