{
  "schemaVersion": "1.0",
  "item": {
    "slug": "linkedin-pipedream",
    "name": "Linkedin Pipedream",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/G9Pedro/linkedin-pipedream",
    "canonicalUrl": "https://clawhub.ai/G9Pedro/linkedin-pipedream",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/linkedin-pipedream",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=linkedin-pipedream",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "org-post.mjs"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/linkedin-pipedream"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/linkedin-pipedream",
    "agentPageUrl": "https://openagent3.xyz/skills/linkedin-pipedream/agent",
    "manifestUrl": "https://openagent3.xyz/skills/linkedin-pipedream/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/linkedin-pipedream/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "LinkedIn via Pipedream — Post, Comment & Engage",
        "body": "Full LinkedIn automation using Pipedream's OAuth infrastructure. Post as yourself or your organization, comment on posts, search companies, and more."
      },
      {
        "title": "Prerequisites",
        "body": "pdauth CLI installed and configured — see pdauth skill\nLinkedIn account connected via OAuth"
      },
      {
        "title": "Quick Start",
        "body": "# 1. Connect LinkedIn (generates OAuth link for user to click)\npdauth connect linkedin --user telegram:5439689035\n\n# 2. After user authorizes, verify connection\npdauth status --user telegram:5439689035\n\n# 3. Post to LinkedIn\npdauth call linkedin.linkedin-create-text-post-user \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Create a post: Excited to announce our new product launch! 🚀\"}'"
      },
      {
        "title": "OAuth Flow",
        "body": "# Generate OAuth link\npdauth connect linkedin --user USER_ID\n\n# Share with user: \"Click to authorize LinkedIn: <link>\"\n# User clicks → authorizes via LinkedIn → done\n\n# Verify connection\npdauth status --user USER_ID\n\nUser ID convention: Use telegram:<user_id> format for Telegram users."
      },
      {
        "title": "✅ Working via MCP (pdauth call)",
        "body": "ToolPurposelinkedin-create-text-post-userPost as personal accountlinkedin-create-image-post-userPost with image (personal)linkedin-create-commentComment on any postlinkedin-create-like-on-shareLike a postlinkedin-search-organizationSearch for companieslinkedin-get-current-member-profileGet your own profilelinkedin-get-member-profileGet any member's profilelinkedin-get-org-member-accessCheck org admin statuslinkedin-retrieve-comments-sharesGet comments on a postlinkedin-delete-postDelete your post"
      },
      {
        "title": "⚠️ Broken via MCP (requires workaround)",
        "body": "ToolIssueWorkaroundlinkedin-create-text-post-organization\"tool name too long\" bugUse direct SDK calllinkedin-create-image-post-organizationSame bugUse direct SDK call"
      },
      {
        "title": "1. Create Personal Post",
        "body": "pdauth call linkedin.linkedin-create-text-post-user \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Create a post: Your post content here. Use emojis 🎉 and hashtags #AI #Tech\"}'\n\nTips:\n\nKeep posts under 3000 characters\nEmojis increase engagement\nUse line breaks for readability"
      },
      {
        "title": "2. Create Image Post (Personal)",
        "body": "pdauth call linkedin.linkedin-create-image-post-user \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Create image post with text: Check out our new office! Image URL: https://example.com/image.jpg\"}'"
      },
      {
        "title": "3. Comment on a Post",
        "body": "# Comment using post URN\npdauth call linkedin.linkedin-create-comment \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Comment on urn:li:share:7293123456789012480 with text: Great insights! Thanks for sharing.\"}'\n\nFinding post URNs:\n\nFrom LinkedIn URL: linkedin.com/posts/username_activity-7293123456789012480 → URN is urn:li:share:7293123456789012480\nOr use linkedin-retrieve-comments-shares on known posts"
      },
      {
        "title": "4. Like a Post",
        "body": "pdauth call linkedin.linkedin-create-like-on-share \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Like the post urn:li:share:7293123456789012480\"}'"
      },
      {
        "title": "5. Search Organizations",
        "body": "pdauth call linkedin.linkedin-search-organization \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Search for companies matching: artificial intelligence startups\"}'"
      },
      {
        "title": "6. Get Your Profile",
        "body": "pdauth call linkedin.linkedin-get-current-member-profile \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Get my LinkedIn profile\"}'\n\nReturns: name, headline, URN, vanity name, etc."
      },
      {
        "title": "7. Get Member Profile",
        "body": "pdauth call linkedin.linkedin-get-member-profile \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Get profile for member URN urn:li:person:30_5n7bx7f\"}'"
      },
      {
        "title": "8. Check Organization Admin Access",
        "body": "pdauth call linkedin.linkedin-get-org-member-access \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Check my access level for organization 105382747\"}'\n\nReturns: ADMINISTRATOR, MEMBER, or NONE"
      },
      {
        "title": "9. Get Comments on a Post",
        "body": "pdauth call linkedin.linkedin-retrieve-comments-shares \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Get comments for post urn:li:share:7293123456789012480\"}'"
      },
      {
        "title": "10. Delete a Post",
        "body": "pdauth call linkedin.linkedin-delete-post \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Delete post urn:li:share:7293123456789012480\"}'"
      },
      {
        "title": "The Bug",
        "body": "linkedin-create-text-post-organization fails via MCP with:\n\nError: tool name too long\n\nThis is a Pipedream MCP bug, not a LinkedIn API issue."
      },
      {
        "title": "Workaround: Direct SDK Call",
        "body": "Create a Node.js script to post as organization:\n\n// org-post.mjs\nimport { PipedreamClient } from '@pipedream/sdk';\n\nconst client = new PipedreamClient({\n  projectEnvironment: 'development',\n  clientId: 'YOUR_CLIENT_ID',      // from ~/.config/pdauth/config.json\n  clientSecret: 'YOUR_CLIENT_SECRET',\n  projectId: 'YOUR_PROJECT_ID',\n});\n\nasync function postAsOrg(orgId, text) {\n  const result = await client.actions.run({\n    id: 'linkedin-create-text-post-organization',\n    externalUserId: 'telegram:5439689035',\n    configuredProps: {\n      linkedin: { authProvisionId: 'apn_4vhLGx4' },  // LinkedIn account ID\n      organizationId: orgId,\n      text: text,\n    },\n  });\n  console.log('Posted!', result);\n}\n\n// Example usage\npostAsOrg('105382747', 'Hello from Versatly! 🚀');\n\nRun with:\n\nnode org-post.mjs"
      },
      {
        "title": "Known Organization IDs",
        "body": "OrganizationIDURNVersatly105382747urn:li:organization:105382747"
      },
      {
        "title": "Pedro's LinkedIn Info",
        "body": "ItemValueMember URNurn:li:person:30_5n7bx7fUser ID (Pipedream)telegram:5439689035Auth Provision IDapn_4vhLGx4Admin ofVersatly (org 105382747)"
      },
      {
        "title": "URN Formats",
        "body": "TypeFormatExamplePersonurn:li:person:IDurn:li:person:30_5n7bx7fOrganizationurn:li:organization:IDurn:li:organization:105382747Post/Shareurn:li:share:IDurn:li:share:7293123456789012480Commenturn:li:comment:(urn:li:share:ID,ID)Complex nested URN"
      },
      {
        "title": "Pattern 1: Post and Verify",
        "body": "# Post\npdauth call linkedin.linkedin-create-text-post-user \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Create post: Just shipped a new feature! 🎉\"}'\n\n# The response includes the post URN - save it for later"
      },
      {
        "title": "Pattern 2: Engage with Content",
        "body": "# Find posts to engage with (manual: get URN from LinkedIn URL)\n# Like the post\npdauth call linkedin.linkedin-create-like-on-share \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Like post urn:li:share:7293123456789012480\"}'\n\n# Comment\npdauth call linkedin.linkedin-create-comment \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Comment on urn:li:share:7293123456789012480: Congrats on the launch!\"}'"
      },
      {
        "title": "Pattern 3: Research a Company",
        "body": "# Search for the company\npdauth call linkedin.linkedin-search-organization \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Search for OpenAI\"}'\n\n# Check if you have admin access (for orgs you manage)\npdauth call linkedin.linkedin-get-org-member-access \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Check access for organization 12345678\"}'"
      },
      {
        "title": "Common Errors",
        "body": "ErrorCauseSolutionApp not connectedNo LinkedIn OAuthRun pdauth connect linkedin --user USER_IDtool name too longMCP bug for org toolsUse direct SDK workaround403 ForbiddenNo permission for actionCheck org admin statusInvalid URNMalformed URN formatUse correct format: urn:li:type:idRate limitedToo many API callsWait and retry (LinkedIn limits ~100 calls/day)"
      },
      {
        "title": "Checking Connection Status",
        "body": "# Quick status check\npdauth status --user telegram:5439689035\n\n# JSON output for parsing\npdauth status --user telegram:5439689035 --json"
      },
      {
        "title": "Reconnecting",
        "body": "If OAuth expires or breaks:\n\npdauth disconnect linkedin --user telegram:5439689035\npdauth connect linkedin --user telegram:5439689035\n# Share new link with user"
      },
      {
        "title": "Best Practices",
        "body": "Rate Limits: LinkedIn is strict. Space out bulk operations.\nContent Quality: LinkedIn penalizes spammy content. Write thoughtfully.\nOrg Posting: Always verify admin access before attempting org posts.\nURN Handling: Always validate URN format before API calls.\nError Recovery: If a post fails, check status before retrying (may have succeeded)."
      },
      {
        "title": "Example Workflow: Complete LinkedIn Campaign",
        "body": "# 1. Verify connection\npdauth status --user telegram:5439689035\n\n# 2. Check org admin status\npdauth call linkedin.linkedin-get-org-member-access \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Check access for organization 105382747\"}'\n\n# 3. Post personal announcement\npdauth call linkedin.linkedin-create-text-post-user \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Create post: Thrilled to share that Versatly just launched our new AI assistant! 🤖 #AI #Startup\"}'\n\n# 4. Post as organization (use SDK workaround)\n# → Run org-post.mjs script\n\n# 5. Engage with relevant industry posts\npdauth call linkedin.linkedin-create-comment \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Comment on urn:li:share:XXXXX: Great perspective on AI safety!\"}'"
      },
      {
        "title": "Files & Configuration",
        "body": "FilePurpose~/.config/pdauth/config.jsonPipedream credentials~/.openclaw/workspace/pdauth/pdauth CLI source~/.openclaw/workspace/skills/pdauth/SKILL.mdpdauth skill reference"
      },
      {
        "title": "See Also",
        "body": "pdauth skill — OAuth management for all Pipedream apps\nPipedream MCP — Browse all available integrations\nLinkedIn API Docs — Official API reference"
      }
    ],
    "body": "LinkedIn via Pipedream — Post, Comment & Engage\n\nFull LinkedIn automation using Pipedream's OAuth infrastructure. Post as yourself or your organization, comment on posts, search companies, and more.\n\nPrerequisites\npdauth CLI installed and configured — see pdauth skill\nLinkedIn account connected via OAuth\nQuick Start\n# 1. Connect LinkedIn (generates OAuth link for user to click)\npdauth connect linkedin --user telegram:5439689035\n\n# 2. After user authorizes, verify connection\npdauth status --user telegram:5439689035\n\n# 3. Post to LinkedIn\npdauth call linkedin.linkedin-create-text-post-user \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Create a post: Excited to announce our new product launch! 🚀\"}'\n\nOAuth Flow\n# Generate OAuth link\npdauth connect linkedin --user USER_ID\n\n# Share with user: \"Click to authorize LinkedIn: <link>\"\n# User clicks → authorizes via LinkedIn → done\n\n# Verify connection\npdauth status --user USER_ID\n\n\nUser ID convention: Use telegram:<user_id> format for Telegram users.\n\nAvailable Tools (19 total)\n✅ Working via MCP (pdauth call)\nTool\tPurpose\nlinkedin-create-text-post-user\tPost as personal account\nlinkedin-create-image-post-user\tPost with image (personal)\nlinkedin-create-comment\tComment on any post\nlinkedin-create-like-on-share\tLike a post\nlinkedin-search-organization\tSearch for companies\nlinkedin-get-current-member-profile\tGet your own profile\nlinkedin-get-member-profile\tGet any member's profile\nlinkedin-get-org-member-access\tCheck org admin status\nlinkedin-retrieve-comments-shares\tGet comments on a post\nlinkedin-delete-post\tDelete your post\n⚠️ Broken via MCP (requires workaround)\nTool\tIssue\tWorkaround\nlinkedin-create-text-post-organization\t\"tool name too long\" bug\tUse direct SDK call\nlinkedin-create-image-post-organization\tSame bug\tUse direct SDK call\nTool Reference\n1. Create Personal Post\npdauth call linkedin.linkedin-create-text-post-user \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Create a post: Your post content here. Use emojis 🎉 and hashtags #AI #Tech\"}'\n\n\nTips:\n\nKeep posts under 3000 characters\nEmojis increase engagement\nUse line breaks for readability\n2. Create Image Post (Personal)\npdauth call linkedin.linkedin-create-image-post-user \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Create image post with text: Check out our new office! Image URL: https://example.com/image.jpg\"}'\n\n3. Comment on a Post\n# Comment using post URN\npdauth call linkedin.linkedin-create-comment \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Comment on urn:li:share:7293123456789012480 with text: Great insights! Thanks for sharing.\"}'\n\n\nFinding post URNs:\n\nFrom LinkedIn URL: linkedin.com/posts/username_activity-7293123456789012480 → URN is urn:li:share:7293123456789012480\nOr use linkedin-retrieve-comments-shares on known posts\n4. Like a Post\npdauth call linkedin.linkedin-create-like-on-share \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Like the post urn:li:share:7293123456789012480\"}'\n\n5. Search Organizations\npdauth call linkedin.linkedin-search-organization \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Search for companies matching: artificial intelligence startups\"}'\n\n6. Get Your Profile\npdauth call linkedin.linkedin-get-current-member-profile \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Get my LinkedIn profile\"}'\n\n\nReturns: name, headline, URN, vanity name, etc.\n\n7. Get Member Profile\npdauth call linkedin.linkedin-get-member-profile \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Get profile for member URN urn:li:person:30_5n7bx7f\"}'\n\n8. Check Organization Admin Access\npdauth call linkedin.linkedin-get-org-member-access \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Check my access level for organization 105382747\"}'\n\n\nReturns: ADMINISTRATOR, MEMBER, or NONE\n\n9. Get Comments on a Post\npdauth call linkedin.linkedin-retrieve-comments-shares \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Get comments for post urn:li:share:7293123456789012480\"}'\n\n10. Delete a Post\npdauth call linkedin.linkedin-delete-post \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Delete post urn:li:share:7293123456789012480\"}'\n\nOrganization Posting (Workaround Required)\nThe Bug\n\nlinkedin-create-text-post-organization fails via MCP with:\n\nError: tool name too long\n\n\nThis is a Pipedream MCP bug, not a LinkedIn API issue.\n\nWorkaround: Direct SDK Call\n\nCreate a Node.js script to post as organization:\n\n// org-post.mjs\nimport { PipedreamClient } from '@pipedream/sdk';\n\nconst client = new PipedreamClient({\n  projectEnvironment: 'development',\n  clientId: 'YOUR_CLIENT_ID',      // from ~/.config/pdauth/config.json\n  clientSecret: 'YOUR_CLIENT_SECRET',\n  projectId: 'YOUR_PROJECT_ID',\n});\n\nasync function postAsOrg(orgId, text) {\n  const result = await client.actions.run({\n    id: 'linkedin-create-text-post-organization',\n    externalUserId: 'telegram:5439689035',\n    configuredProps: {\n      linkedin: { authProvisionId: 'apn_4vhLGx4' },  // LinkedIn account ID\n      organizationId: orgId,\n      text: text,\n    },\n  });\n  console.log('Posted!', result);\n}\n\n// Example usage\npostAsOrg('105382747', 'Hello from Versatly! 🚀');\n\n\nRun with:\n\nnode org-post.mjs\n\nKnown Organization IDs\nOrganization\tID\tURN\nVersatly\t105382747\turn:li:organization:105382747\nKey Reference Values\nPedro's LinkedIn Info\nItem\tValue\nMember URN\turn:li:person:30_5n7bx7f\nUser ID (Pipedream)\ttelegram:5439689035\nAuth Provision ID\tapn_4vhLGx4\nAdmin of\tVersatly (org 105382747)\nURN Formats\nType\tFormat\tExample\nPerson\turn:li:person:ID\turn:li:person:30_5n7bx7f\nOrganization\turn:li:organization:ID\turn:li:organization:105382747\nPost/Share\turn:li:share:ID\turn:li:share:7293123456789012480\nComment\turn:li:comment:(urn:li:share:ID,ID)\tComplex nested URN\nCommon Patterns\nPattern 1: Post and Verify\n# Post\npdauth call linkedin.linkedin-create-text-post-user \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Create post: Just shipped a new feature! 🎉\"}'\n\n# The response includes the post URN - save it for later\n\nPattern 2: Engage with Content\n# Find posts to engage with (manual: get URN from LinkedIn URL)\n# Like the post\npdauth call linkedin.linkedin-create-like-on-share \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Like post urn:li:share:7293123456789012480\"}'\n\n# Comment\npdauth call linkedin.linkedin-create-comment \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Comment on urn:li:share:7293123456789012480: Congrats on the launch!\"}'\n\nPattern 3: Research a Company\n# Search for the company\npdauth call linkedin.linkedin-search-organization \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Search for OpenAI\"}'\n\n# Check if you have admin access (for orgs you manage)\npdauth call linkedin.linkedin-get-org-member-access \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Check access for organization 12345678\"}'\n\nError Handling\nCommon Errors\nError\tCause\tSolution\nApp not connected\tNo LinkedIn OAuth\tRun pdauth connect linkedin --user USER_ID\ntool name too long\tMCP bug for org tools\tUse direct SDK workaround\n403 Forbidden\tNo permission for action\tCheck org admin status\nInvalid URN\tMalformed URN format\tUse correct format: urn:li:type:id\nRate limited\tToo many API calls\tWait and retry (LinkedIn limits ~100 calls/day)\nChecking Connection Status\n# Quick status check\npdauth status --user telegram:5439689035\n\n# JSON output for parsing\npdauth status --user telegram:5439689035 --json\n\nReconnecting\n\nIf OAuth expires or breaks:\n\npdauth disconnect linkedin --user telegram:5439689035\npdauth connect linkedin --user telegram:5439689035\n# Share new link with user\n\nBest Practices\nRate Limits: LinkedIn is strict. Space out bulk operations.\nContent Quality: LinkedIn penalizes spammy content. Write thoughtfully.\nOrg Posting: Always verify admin access before attempting org posts.\nURN Handling: Always validate URN format before API calls.\nError Recovery: If a post fails, check status before retrying (may have succeeded).\nExample Workflow: Complete LinkedIn Campaign\n# 1. Verify connection\npdauth status --user telegram:5439689035\n\n# 2. Check org admin status\npdauth call linkedin.linkedin-get-org-member-access \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Check access for organization 105382747\"}'\n\n# 3. Post personal announcement\npdauth call linkedin.linkedin-create-text-post-user \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Create post: Thrilled to share that Versatly just launched our new AI assistant! 🤖 #AI #Startup\"}'\n\n# 4. Post as organization (use SDK workaround)\n# → Run org-post.mjs script\n\n# 5. Engage with relevant industry posts\npdauth call linkedin.linkedin-create-comment \\\n  --user telegram:5439689035 \\\n  --args '{\"instruction\": \"Comment on urn:li:share:XXXXX: Great perspective on AI safety!\"}'\n\nFiles & Configuration\nFile\tPurpose\n~/.config/pdauth/config.json\tPipedream credentials\n~/.openclaw/workspace/pdauth/\tpdauth CLI source\n~/.openclaw/workspace/skills/pdauth/SKILL.md\tpdauth skill reference\nSee Also\npdauth skill — OAuth management for all Pipedream apps\nPipedream MCP — Browse all available integrations\nLinkedIn API Docs — Official API reference"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/G9Pedro/linkedin-pipedream",
    "publisherUrl": "https://clawhub.ai/G9Pedro/linkedin-pipedream",
    "owner": "G9Pedro",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/linkedin-pipedream",
    "downloadUrl": "https://openagent3.xyz/downloads/linkedin-pipedream",
    "agentUrl": "https://openagent3.xyz/skills/linkedin-pipedream/agent",
    "manifestUrl": "https://openagent3.xyz/skills/linkedin-pipedream/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/linkedin-pipedream/agent.md"
  }
}