Fluxos de trabalho do LinkedIn
Sequências MCP confiáveis da SalesTouch para pesquisa, conversas, prospecção, engajamento e extração.
Os fluxos MCP mais sólidos usam chamadas de ferramentas pequenas e fáceis de inspecionar. Resolva primeiro as identidades, faça as alterações depois e verifique o estado dos trabalhos colocados na fila ou adiados.
Pesquisar um prospect e uma conversa
- Chame
linkedin_accountsquando a conta for desconhecida. - Resolva o membro com
linkedin_lookup_profile. - Encontre a conversa com
linkedin_conversations_search. - Carregue o contexto com
linkedin_conversations_messages. - Peça para o agente resumir o relacionamento antes de redigir qualquer coisa.
Prompt:
Pesquise este perfil, encontre nossa conversa no LinkedIn, leia o histórico de mensagens e resuma o relacionamento. Não envie nada.
Enviar para uma conexão existente
- Leia a conversa ou chame
lead_status. - Confirme a mensagem exata com o usuário.
- Chame
linkedin_messagecom um membro-alvo etext. - Se a SalesTouch exigir a fila, tente novamente com
queue: true. - Informe se a ação foi enviada ou colocada na fila.
Convidar e acompanhar após a aceitação
Use linkedin_invite_then_message quando o acompanhamento só deve ser executado depois que o convite for aceito. Forneça o alvo e follow_up_message. A nota do convite é opcional.
Depois, use lead_status para verificar a aceitação do convite, o acompanhamento salvo ou o estado da mensagem na fila.
Agendar uma ação do LinkedIn
Adicione scheduled_for a qualquer mensagem, convite, sequência de convite e mensagem, curtida, comentário ou publicação. Use uma data e hora ISO 8601 com fuso horário.
A SalesTouch salva a solicitação imediatamente, mas nunca a executa antes do horário solicitado. Horários de trabalho, limites da conta ou um período de espera do LinkedIn podem adiar o valor efetivo de scheduled_for. Agendamentos explícitos têm prioridade sobre ações colocadas automaticamente na fila.
A resposta diferencia requested_for do valor efetivo de scheduled_for e informa se o evento de execução está registered, awaiting_horizon ou pending_retry. Agendamentos de longo prazo permanecem salvos na SalesTouch até entrarem no horizonte de execução.
Contas do LinkedIn com credenciais que estejam inativas se reconectam quando a ação vence. Contas antigas baseadas em cookies ainda podem exigir uma reconexão manual.
Interagir com uma publicação
- Resolva URLs de publicações ambíguas com
linkedin_lookup_post. - Chame exatamente uma ação correspondente:
linkedin_likeoulinkedin_comment. - Use
queue: truequando a ação não puder ser executada imediatamente.
Evite pedir para o agente apenas “interagir” sem especificar a ação exata e o texto do comentário.
Extrair pessoas que interagiram com uma publicação
- Resolva a publicação com
linkedin_lookup_post. - Chame
scrape_linkedin_post_reactionsouscrape_linkedin_post_comments. A extração de comentários retorna por padrão os autores dos comentários principais. Definainclude_replies: trueapenas quando precisar dos autores das respostas. - Leia a prévia embutida.
- Se
source_paging.exhaustedforfalse, chamescrape_linkedin_post_commentsnovamente com o valor retornado emsource_paging.arguments. A extração continua da posição salva e preserva o modoinclude_repliesoriginal depois que o orçamento automático de segurança para solicitações ao provedor é atingido ou após uma interrupção recuperável do LinkedIn. - Use
scrape_result_pagecom oresult_idretornado apenas para paginar os perfis já salvos por essa chamada. - Use os metadados de exportação quando o conjunto completo de dados precisar ficar fora do contexto do agente.
Extrair de uma pesquisa
- Use
scrape_linkedin_search_urlquando já tiver uma URL nativa de pesquisa do LinkedIn Classic para pessoas, empresas, publicações ou vagas. - Use
scrape_linkedin_people_search,scrape_linkedin_companies_search,scrape_linkedin_posts_searchouscrape_linkedin_jobs_searchpara filtros estruturados do LinkedIn Classic. - Use
scrape_sales_navigator_search_urlquando já tiver uma URL nativa do Sales Navigator para pessoas ou empresas e quiser que a SalesTouch descubra o tipo de resultado. - Use
scrape_sales_navigator_peoplepara uma URL de pesquisa de leads do Sales Navigator ou filtros estruturados de pessoas. - Use
scrape_sales_navigator_companiespara uma URL de pesquisa de empresas do Sales Navigator ou filtros estruturados de empresas. - Use
linkedin_sales_navigator_search_parameterspara descobrir IDs específicos da conta para locais, setores, empresas, cargos e outros filtros enumerados. Definaproduct: "classic"para o LinkedIn Classic. O padrão continua sendo Sales Navigator por compatibilidade. - Use
linkedin_lookup_job_postingapós uma pesquisa de vagas para buscar um anúncio completo, incluindo seções opcionais de equipe de contratação, salário e benefícios. - Defina
preview_limitpara manter pequena a resposta embutida. - Percorra os resultados salvos em vez de solicitar toda a extração em uma única chamada.
Os valores de filtros estruturados aceitam um id conhecido ou uma query legível. Uma consulta só é usada automaticamente quando resolve um único valor exato. Se vários candidatos corresponderem, tente novamente com o ID escolhido.
Exemplo: growth hackers em Paris em empresas com 1 a 10 funcionários:
{
"filters": {
"current_job_title": { "include": [{ "query": "Growth Hacker" }] },
"location": { "include": [{ "query": "Paris" }] },
"company_headcount": [{ "min": 1, "max": 10 }]
},
"limit": 100,
"preview_limit": 20
}Exemplo: empresas de serviços de TI em Paris, usando o setor do LinkedIn como aproximação de negócio:
{
"filters": {
"industry": { "include": [{ "query": "IT Services and IT Consulting" }] },
"location": { "include": [{ "query": "Paris" }] }
},
"limit": 1000,
"preview_limit": 20
}Exemplo: empresas em Paris que estão contratando:
{
"filters": {
"location": { "include": [{ "query": "Paris" }] },
"hiring_on_linkedin": true,
"department_headcount_growth": {
"department": [{ "query": "Engineering" }],
"min": 1
}
},
"limit": 1000,
"preview_limit": 20
}Para encontrar pessoas apenas dentro de um resultado de empresas, primeiro chame scrape_sales_navigator_companies. Depois, passe seu result_id como company_result_id para scrape_sales_navigator_people, junto com filtros de pessoas como current_job_title. A SalesTouch valida a propriedade do resultado, a validade e a conta do LinkedIn, e aplica as empresas em lotes seguros.
{
"company_result_id": "previous_company_result_id",
"filters": {
"current_job_title": { "include": [{ "query": "Directeur des ressources humaines" }] }
},
"limit": 100,
"preview_limit": 20
}Interprete corretamente a contratação e a abrangência
hiring_on_linkedin: true significa que a empresa tem pelo menos uma vaga publicada no LinkedIn. Isso não comprova que a vaga seja para desenvolvimento. Adicione department_headcount_growth para a função Engineering como sinal de intenção ou parta de um conjunto verificado de pesquisa de vagas quando o cargo precisar ser exato. “Todas as empresas” também significa todos os resultados expostos pelos filtros selecionados do Sales Navigator, sujeitos ao limite do LinkedIn. Segmente pesquisas amplas quando o aviso pedir uma busca mais restrita.
“ESN” não é uma classificação nativa de empresas do LinkedIn. Use IT Services and IT Consulting como aproximação setorial ampla e qualifique as empresas retornadas pela descrição ou pelo site, em vez de tratar uma correspondência de palavras-chave como prova.
Cancelar uma ação na fila ou um acompanhamento pendente
- Obtenha o identificador exato em
statusoulead_status. - Chame
queue_cancelcom exatamente um destes valores:queued_action_idpara cancelar um convite, uma mensagem ou outra ação na fila;followup_idpara cancelar uma mensagem automática emwaiting_acceptancesem alterar o convite.
- Informe o resultado do cancelamento. Não suponha que uma solicitação local cancelou a ação remota.
Confie no estado retornado
Considere os estados de envio, fila, aceitação e cancelamento retornados pela SalesTouch como a fonte da verdade. Não deduza a execução pelo prompt original.
Verificar os convites atuais antes da prospecção
Chame lead_status ou linkedin_lookup_profile com o membro desejado e o linkedin_account_id previsto. Ambos retornam invitation_status: pending confirma um convite enviado, inclusive fora da SalesTouch; none confirma sua ausência após a leitura completa da lista atual; connected indica que o membro já está conectado; unknown indica evidências indisponíveis, incompletas, antigas ou um envio anterior sem confirmação. Consulte source, complete, coverage, checked_at, started_at, max_age_ms e reason. can_invite: false bloqueia o envio. Um perfil de segundo grau, um campo ausente ou uma fila local vazia nunca comprovam a ausência de convite.
Os convites de salestouch_status são o histórico da SalesTouch, com source: "salestouch_history" e complete: false. Em lead_status, invitation.live_status descreve a observação atual; invitation.history_status, as datas de contato e os campos de fila descrevem atividades registradas. Um convite na fila continua sendo trabalho agendado, mesmo com status atual desconhecido. As verificações somente de leitura não enviam nada nem criam histórico de convites.
As duas ferramentas verificam novamente imediatamente antes do envio real, inclusive para ações na fila e solicitações scheduled_for. Elas ignoram convites já pendentes. linkedin_invite_then_message mantém um único follow-up aguardando aceitação, inclusive para convites externos. Se já houver conexão, o fluxo continua com o follow-up. invitation_status_unknown ou invitation_outcome_unknown interrompe o convite; consulte lead_status antes de tentar novamente. Um timeout após o envio pode significar que o linkedin aceitou a solicitação. Resultados de envio desconhecidos continuam bloqueados mesmo com retry_invitation; reenviar explicitamente após a retirada de um envio confirmado exige uma nova verificação completa de ausência.
O status atual é uma observação limitada, não uma reserva atômica no linkedin. Uma leitura que ultrapassa seu limite de páginas ou tempo permanece desconhecida; uma ação externa pode ocorrer junto com o envio final. A SalesTouch serializa suas próprias tentativas e verifica resultados ambíguos sem um segundo envio. Cancelamentos na fila se aplicam antes da execução; não podem recuperar um envio remoto já em andamento.
Um checked_at recente não basta: provider_freshness: "origin_confirmed" indica que a resposta foi verificada como proveniente do provedor. Uma resposta em cache ou atualização não verificável retorna unknown e bloqueia o envio. Essas verificações podem consumir os limites de leitura do provedor; a SalesTouch não ignora esses limites.