← 返回
安全合规 中文

Linkedin Pipedream

Post to LinkedIn, comment, like, search organizations, and manage profiles via Pipedream OAuth integration.
通过Pipedream OAuth集成,在LinkedIn上发布帖子、评论、点赞、搜索组织和管理个人资料。
g9pedro
安全合规 clawhub v1.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 2,136
下载
💾 5
安装
1
版本
#latest

概述

LinkedIn via Pipedream — Post, Comment & Engage

Full LinkedIn automation using Pipedream's OAuth infrastructure. Post as yourself or your organization, comment on posts, search companies, and more.

Prerequisites

  1. pdauth CLI installed and configured — see pdauth skill
  2. LinkedIn account connected via OAuth

Quick Start

# 1. Connect LinkedIn (generates OAuth link for user to click)
pdauth connect linkedin --user telegram:5439689035

# 2. After user authorizes, verify connection
pdauth status --user telegram:5439689035

# 3. Post to LinkedIn
pdauth call linkedin.linkedin-create-text-post-user \
  --user telegram:5439689035 \
  --args '{"instruction": "Create a post: Excited to announce our new product launch! 🚀"}'

OAuth Flow

# Generate OAuth link
pdauth connect linkedin --user USER_ID

# Share with user: "Click to authorize LinkedIn: <link>"
# User clicks → authorizes via LinkedIn → done

# Verify connection
pdauth status --user USER_ID

User ID convention: Use telegram: format for Telegram users.


Available Tools (19 total)

✅ Working via MCP (pdauth call)

ToolPurpose
---------------
linkedin-create-text-post-userPost as personal account
linkedin-create-image-post-userPost with image (personal)
linkedin-create-commentComment on any post
linkedin-create-like-on-shareLike a post
linkedin-search-organizationSearch for companies
linkedin-get-current-member-profileGet your own profile
linkedin-get-member-profileGet any member's profile
linkedin-get-org-member-accessCheck org admin status
linkedin-retrieve-comments-sharesGet comments on a post
linkedin-delete-postDelete your post

⚠️ Broken via MCP (requires workaround)

ToolIssueWorkaround
-------------------------
linkedin-create-text-post-organization"tool name too long" bugUse direct SDK call
linkedin-create-image-post-organizationSame bugUse direct SDK call

Tool Reference

1. Create Personal Post

pdauth call linkedin.linkedin-create-text-post-user \
  --user telegram:5439689035 \
  --args '{"instruction": "Create a post: Your post content here. Use emojis 🎉 and hashtags #AI #Tech"}'

Tips:

  • Keep posts under 3000 characters
  • Emojis increase engagement
  • Use line breaks for readability

2. Create Image Post (Personal)

pdauth call linkedin.linkedin-create-image-post-user \
  --user telegram:5439689035 \
  --args '{"instruction": "Create image post with text: Check out our new office! Image URL: https://example.com/image.jpg"}'

3. Comment on a Post

# Comment using post URN
pdauth call linkedin.linkedin-create-comment \
  --user telegram:5439689035 \
  --args '{"instruction": "Comment on urn:li:share:7293123456789012480 with text: Great insights! Thanks for sharing."}'

Finding post URNs:

  • From LinkedIn URL: linkedin.com/posts/username_activity-7293123456789012480 → URN is urn:li:share:7293123456789012480
  • Or use linkedin-retrieve-comments-shares on known posts

4. Like a Post

pdauth call linkedin.linkedin-create-like-on-share \
  --user telegram:5439689035 \
  --args '{"instruction": "Like the post urn:li:share:7293123456789012480"}'

5. Search Organizations

pdauth call linkedin.linkedin-search-organization \
  --user telegram:5439689035 \
  --args '{"instruction": "Search for companies matching: artificial intelligence startups"}'

6. Get Your Profile

pdauth call linkedin.linkedin-get-current-member-profile \
  --user telegram:5439689035 \
  --args '{"instruction": "Get my LinkedIn profile"}'

Returns: name, headline, URN, vanity name, etc.

7. Get Member Profile

pdauth call linkedin.linkedin-get-member-profile \
  --user telegram:5439689035 \
  --args '{"instruction": "Get profile for member URN urn:li:person:30_5n7bx7f"}'

8. Check Organization Admin Access

pdauth call linkedin.linkedin-get-org-member-access \
  --user telegram:5439689035 \
  --args '{"instruction": "Check my access level for organization 105382747"}'

Returns: ADMINISTRATOR, MEMBER, or NONE

9. Get Comments on a Post

pdauth call linkedin.linkedin-retrieve-comments-shares \
  --user telegram:5439689035 \
  --args '{"instruction": "Get comments for post urn:li:share:7293123456789012480"}'

10. Delete a Post

pdauth call linkedin.linkedin-delete-post \
  --user telegram:5439689035 \
  --args '{"instruction": "Delete post urn:li:share:7293123456789012480"}'

Organization Posting (Workaround Required)

The Bug

linkedin-create-text-post-organization fails via MCP with:

Error: tool name too long

This is a Pipedream MCP bug, not a LinkedIn API issue.

Workaround: Direct SDK Call

Create a Node.js script to post as organization:

// org-post.mjs
import { PipedreamClient } from '@pipedream/sdk';

const client = new PipedreamClient({
  projectEnvironment: 'development',
  clientId: 'YOUR_CLIENT_ID',      // from ~/.config/pdauth/config.json
  clientSecret: 'YOUR_CLIENT_SECRET',
  projectId: 'YOUR_PROJECT_ID',
});

async function postAsOrg(orgId, text) {
  const result = await client.actions.run({
    id: 'linkedin-create-text-post-organization',
    externalUserId: 'telegram:5439689035',
    configuredProps: {
      linkedin: { authProvisionId: 'apn_4vhLGx4' },  // LinkedIn account ID
      organizationId: orgId,
      text: text,
    },
  });
  console.log('Posted!', result);
}

// Example usage
postAsOrg('105382747', 'Hello from Versatly! 🚀');

Run with:

node org-post.mjs

Known Organization IDs

OrganizationIDURN
------------------------
Versatly105382747urn:li:organization:105382747

Key Reference Values

Pedro's LinkedIn Info

ItemValue
-------------
Member URNurn:li:person:30_5n7bx7f
User ID (Pipedream)telegram:5439689035
Auth Provision IDapn_4vhLGx4
Admin ofVersatly (org 105382747)

URN Formats

TypeFormatExample
-----------------------
Personurn:li:person:IDurn:li:person:30_5n7bx7f
Organizationurn:li:organization:IDurn:li:organization:105382747
Post/Shareurn:li:share:IDurn:li:share:7293123456789012480
Commenturn:li:comment:(urn:li:share:ID,ID)Complex nested URN

Common Patterns

Pattern 1: Post and Verify

# Post
pdauth call linkedin.linkedin-create-text-post-user \
  --user telegram:5439689035 \
  --args '{"instruction": "Create post: Just shipped a new feature! 🎉"}'

# The response includes the post URN - save it for later

Pattern 2: Engage with Content

# Find posts to engage with (manual: get URN from LinkedIn URL)
# Like the post
pdauth call linkedin.linkedin-create-like-on-share \
  --user telegram:5439689035 \
  --args '{"instruction": "Like post urn:li:share:7293123456789012480"}'

# Comment
pdauth call linkedin.linkedin-create-comment \
  --user telegram:5439689035 \
  --args '{"instruction": "Comment on urn:li:share:7293123456789012480: Congrats on the launch!"}'

Pattern 3: Research a Company

# Search for the company
pdauth call linkedin.linkedin-search-organization \
  --user telegram:5439689035 \
  --args '{"instruction": "Search for OpenAI"}'

# Check if you have admin access (for orgs you manage)
pdauth call linkedin.linkedin-get-org-member-access \
  --user telegram:5439689035 \
  --args '{"instruction": "Check access for organization 12345678"}'

Error Handling

Common Errors

ErrorCauseSolution
------------------------
App not connectedNo LinkedIn OAuthRun pdauth connect linkedin --user USER_ID
tool name too longMCP bug for org toolsUse direct SDK workaround
403 ForbiddenNo permission for actionCheck org admin status
Invalid URNMalformed URN formatUse correct format: urn:li:type:id
Rate limitedToo many API callsWait and retry (LinkedIn limits ~100 calls/day)

Checking Connection Status

# Quick status check
pdauth status --user telegram:5439689035

# JSON output for parsing
pdauth status --user telegram:5439689035 --json

Reconnecting

If OAuth expires or breaks:

pdauth disconnect linkedin --user telegram:5439689035
pdauth connect linkedin --user telegram:5439689035
# Share new link with user

Best Practices

  1. Rate Limits: LinkedIn is strict. Space out bulk operations.
  2. Content Quality: LinkedIn penalizes spammy content. Write thoughtfully.
  3. Org Posting: Always verify admin access before attempting org posts.
  4. URN Handling: Always validate URN format before API calls.
  5. Error Recovery: If a post fails, check status before retrying (may have succeeded).

Example Workflow: Complete LinkedIn Campaign

# 1. Verify connection
pdauth status --user telegram:5439689035

# 2. Check org admin status
pdauth call linkedin.linkedin-get-org-member-access \
  --user telegram:5439689035 \
  --args '{"instruction": "Check access for organization 105382747"}'

# 3. Post personal announcement
pdauth call linkedin.linkedin-create-text-post-user \
  --user telegram:5439689035 \
  --args '{"instruction": "Create post: Thrilled to share that Versatly just launched our new AI assistant! 🤖 #AI #Startup"}'

# 4. Post as organization (use SDK workaround)
# → Run org-post.mjs script

# 5. Engage with relevant industry posts
pdauth call linkedin.linkedin-create-comment \
  --user telegram:5439689035 \
  --args '{"instruction": "Comment on urn:li:share:XXXXX: Great perspective on AI safety!"}'

Files & Configuration

FilePurpose
---------------
~/.config/pdauth/config.jsonPipedream credentials
~/.openclaw/workspace/pdauth/pdauth CLI source
~/.openclaw/workspace/skills/pdauth/SKILL.mdpdauth skill reference

See Also

  • pdauth skill — OAuth management for all Pipedream apps
  • Pipedream MCP — Browse all available integrations
  • LinkedIn API Docs — Official API reference

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-03-28 17:47 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

ai-intelligence

ClawVault

g9pedro
具备记忆图谱、上下文配置、检查点/恢复、结构化存储、语义搜索、观察记忆、任务追踪、画布等功能的代理记忆系统。
★ 10 📥 10,063
security-compliance

MoltGuard - Security & Antivirus & Guardrails

thomaslwang
MoltGuard — OpenClaw 安全守卫,由 OpenGuardrails 提供。安装 MoltGuard,保护您和您的用户免受提示注入、数据泄露和恶意攻击。
★ 116 📥 30,713
security-compliance

OpenClaw Backup

alex3alex
备份与恢复 OpenClaw 数据。适用于创建备份、设置自动备份计划、从备份恢复或管理备份轮转。处理 ~/.openclaw 目录归档并包含适当的排除规则。
★ 89 📥 30,601