Pular para conteúdo

LINKEDIN COMPANY CREATE POST - Publicar em Nome de Empresa

O que é esta operação?

O LinkedIn Company Create Post é a operação responsável por criar publicações em nome de uma página de empresa/organização no LinkedIn (requer permissão de admin).

Por que esta operação existe?

Marketing corporativo e gestão de redes sociais. O Company Create Post existe para:

  1. Content marketing: Publicar conteúdo da marca
  2. Social media management: Gerenciar presença corporativa
  3. Automação de agência: Postar para múltiplos clientes
  4. Campanhas: Executar campanhas de marketing B2B
  5. Thought leadership: Posicionar empresa como líder de mercado

Como funciona internamente?

Quando o Company Create Post é executado, o sistema:

  1. Valida access token com escopo w_organization_social
  2. Extrai companyId dos parâmetros
  3. Processa conteúdo com variáveis dinâmicas
  4. Monta payload UGC com author como organização
  5. Define visibilidade como PUBLIC
  6. Faz POST para /v2/ugcPosts
  7. Retorna ID do post criado

Código interno (linkedin.executor.ts:152-180):

case 'create_post':
  // Create company post
  const companyPostContent = this.replaceVariables(data.content || '', context.variables);
  const companyIdForPost = this.replaceVariables(data.companyId || '', context.variables);

  const companyPostPayload = {
    author: `urn:li:organization:${companyIdForPost}`,
    lifecycleState: 'PUBLISHED',
    specificContent: {
      'com.linkedin.ugc.ShareContent': {
        shareCommentary: {
          text: companyPostContent,
        },
        shareMediaCategory: 'NONE',
      },
    },
    visibility: {
      'com.linkedin.ugc.MemberNetworkVisibility': 'PUBLIC',
    },
  };

  const companyPostResponse = await axios.post(`${baseUrl}/ugcPosts`, companyPostPayload, {
    headers: {
      'Authorization': `Bearer ${accessToken}`,
      'Content-Type': 'application/json',
      'X-Restli-Protocol-Version': '2.0.0',
    },
  });
  return companyPostResponse.data;

Quando você DEVE usar esta operação?

Use Company Create Post sempre que precisar publicar em página corporativa:

Casos de uso:

  1. Marketing de conteúdo B2B: Posts educacionais da empresa
  2. Anúncios corporativos: Novidades, eventos, vagas
  3. Social media automation: Agendar posts da marca
  4. Gestão de clientes (agência): Postar para múltiplas marcas
  5. Employee advocacy: Compartilhar conquistas da empresa
  6. Produto/Serviço: Promover lançamentos e ofertas

Parâmetros Detalhados

companyId (string, obrigatório)

O que é: ID numérico da organização/empresa.

Como obter: - URL da página: linkedin.com/company/1234567/ - Usando Company List Managed

content (string, obrigatório)

O que é: Texto do post a ser publicado.

Limite: 3000 caracteres

Suporta: Variáveis dinâmicas e emojis

Parâmetros

Campo Tipo Obrigatório Descrição
resource string Sim Sempre "companies"
operation string Sim Sempre "create_post"
companyId string Sim ID da empresa/página
content string Sim Texto do post (máx 3000 chars)
config.accessToken string Sim Token OAuth 2.0 com w_organization_social
responseVariable string Não Nome da variável de resposta (padrão: linkedInResult)

Exemplo 1: Anúncio de Vaga

Objetivo: Publicar vaga de emprego na página da empresa

JSON para Importar

{
  "name": "LinkedIn - Publicar Vaga na Página",
  "nodes": [
    {
      "id": "start_1",
      "type": "start",
      "position": { "x": 100, "y": 100 },
      "data": { "label": "Início" }
    },
    {
      "id": "variable_1",
      "type": "variable",
      "position": { "x": 300, "y": 100 },
      "data": {
        "label": "Config",
        "parameters": {
          "name": "linkedin_token",
          "value": "SEU_TOKEN"
        }
      }
    },
    {
      "id": "variable_2",
      "type": "variable",
      "position": { "x": 500, "y": 100 },
      "data": {
        "label": "Dados Vaga",
        "parameters": {
          "name": "vaga",
          "value": {
            "titulo": "Senior Full Stack Developer",
            "local": "Remote",
            "salario": "R$ 15-20k"
          }
        }
      }
    },
    {
      "id": "linkedin_1",
      "type": "linkedin",
      "position": { "x": 700, "y": 100 },
      "data": {
        "label": "Publicar Vaga",
        "resource": "companies",
        "operation": "create_post",
        "config": {
          "accessToken": "{{linkedin_token}}"
        },
        "companyId": "1234567",
        "content": "🚀 ESTAMOS CONTRATANDO!\n\n📌 Posição: {{vaga.titulo}}\n📍 Local: {{vaga.local}}\n💰 Salário: {{vaga.salario}}\n\nInteressado? Candidate-se pelo link na bio!\n\n#Vagas #TechJobs #Contratando",
        "responseVariable": "postVaga"
      }
    },
    {
      "id": "message_1",
      "type": "message",
      "position": { "x": 900, "y": 100 },
      "data": {
        "label": "Confirmação",
        "parameters": {
          "message": "✅ Vaga publicada na página da empresa!\n\nID do post: {{postVaga.id}}"
        }
      }
    },
    {
      "id": "end_1",
      "type": "end",
      "position": { "x": 1100, "y": 100 },
      "data": { "label": "Fim" }
    }
  ],
  "edges": [
    { "source": "start_1", "target": "variable_1" },
    { "source": "variable_1", "target": "variable_2" },
    { "source": "variable_2", "target": "linkedin_1" },
    { "source": "linkedin_1", "target": "message_1" },
    { "source": "message_1", "target": "end_1" }
  ]
}

Exemplo 2: Content Calendar Automatizado

Objetivo: Publicar série de posts ao longo da semana

JSON para Importar

{
  "name": "LinkedIn Company - Content Calendar",
  "nodes": [
    {
      "id": "start_1",
      "type": "start",
      "position": { "x": 100, "y": 100 },
      "data": { "label": "Início" }
    },
    {
      "id": "variable_1",
      "type": "variable",
      "position": { "x": 300, "y": 100 },
      "data": {
        "label": "Token",
        "parameters": {
          "name": "linkedin_token",
          "value": "SEU_TOKEN"
        }
      }
    },
    {
      "id": "linkedin_monday",
      "type": "linkedin",
      "position": { "x": 500, "y": 100 },
      "data": {
        "label": "Post Segunda",
        "resource": "companies",
        "operation": "create_post",
        "config": {
          "accessToken": "{{linkedin_token}}"
        },
        "companyId": "1234567",
        "content": "💪 MOTIVATION MONDAY\n\nComece a semana com energia!\n\n#MotivationMonday #Empresa"
      }
    },
    {
      "id": "delay_1",
      "type": "delay",
      "position": { "x": 700, "y": 100 },
      "data": {
        "label": "Aguardar 2 dias",
        "parameters": {
          "duration": 48,
          "unit": "hours"
        }
      }
    },
    {
      "id": "linkedin_wednesday",
      "type": "linkedin",
      "position": { "x": 900, "y": 100 },
      "data": {
        "label": "Post Quarta",
        "resource": "companies",
        "operation": "create_post",
        "config": {
          "accessToken": "{{linkedin_token}}"
        },
        "companyId": "1234567",
        "content": "💡 TIP TUESDAY\n\nDica da semana: ...\n\n#DicaDaSemana"
      }
    },
    {
      "id": "message_1",
      "type": "message",
      "position": { "x": 1100, "y": 100 },
      "data": {
        "label": "Concluído",
        "parameters": {
          "message": "✅ Content calendar executado! 2 posts publicados."
        }
      }
    },
    {
      "id": "end_1",
      "type": "end",
      "position": { "x": 1300, "y": 100 },
      "data": { "label": "Fim" }
    }
  ],
  "edges": [
    { "source": "start_1", "target": "variable_1" },
    { "source": "variable_1", "target": "linkedin_monday" },
    { "source": "linkedin_monday", "target": "delay_1" },
    { "source": "delay_1", "target": "linkedin_wednesday" },
    { "source": "linkedin_wednesday", "target": "message_1" },
    { "source": "message_1", "target": "end_1" }
  ]
}

Resposta do Node

{
  "id": "urn:li:share:9876543210",
  "activity": "urn:li:activity:9876543210",
  "created": {
    "actor": "urn:li:organization:1234567",
    "time": 1642512000000
  }
}

Boas Práticas

SIM: - Verifique se é admin da página antes de publicar - Use conteúdo profissional e alinhado com marca - Espaçe posts com DELAY (2-3 posts/dia máximo) - Inclua hashtags relevantes (3-5) - Use call-to-action claro

NÃO: - Não faça spam (máx 50 posts/dia por página) - Não publique sem permissão de admin - Não use linguagem informal demais - Não ignore diretrizes da marca

Dicas

💡 Horários ideais: 8h-10h, 12h-14h ou 17h-19h (horário comercial) 💡 Hashtags: Use #NomeDaMarca sempre 💡 Consistência: Mantenha tom de voz da marca 💡 Engajamento: Inclua perguntas para gerar comentários

Próximo Node

Company List Managed - Listar páginas gerenciadas → Post Create - Publicar post pessoal → Lead Gen List Forms - Gerenciar lead gen forms