Channels & Messaging Social Platforms

OpenClaw LinkedIn Integration: Automate Professional Outreach

Use OpenClaw to automate LinkedIn posts, monitor engagement, and run outreach workflows — with proper OAuth setup and rate limit management for 2025.

SR
S. Rivera
Growth Engineer
2025-02-22 13 min 5.8k views
Updated Mar 2025
Key Takeaways
OpenClaw connects to LinkedIn via API v2 with OAuth 2.0 — you need a LinkedIn Developer App.
Required scopes: r_liteprofile, w_member_social for user posts; organization scopes for company pages.
LinkedIn enforces 100 API calls/day for standard apps — plan your posting schedule accordingly.
Access tokens expire after 60 days; OpenClaw handles refresh token rotation automatically.
Company page posting requires admin access and additional organization scopes in your app.

LinkedIn remains the highest-converting B2B social platform. Connecting OpenClaw to LinkedIn automates content publishing, monitors engagement, and handles outreach workflows at scale — without the manual copy-paste grind. Here's what works in early 2025.

What You Can Automate

OpenClaw's LinkedIn channel skill handles three categories of automation. Know which one you need before configuring the app — each requires different OAuth scopes.

  • Content publishing — scheduled posts, article shares, image posts on personal profiles or company pages
  • Engagement monitoring — track post reactions, comments, and follower growth via the analytics API
  • Connection and outreach tracking — log connection requests and message activity (read-only; LinkedIn doesn't allow automated messaging)

The automation limit that trips people up: LinkedIn doesn't allow sending connection requests or messages via API. You can track them, but not send them. Any tool claiming to automate LinkedIn DMs via API is likely scraping, which violates ToS.

💡
Start with personal profile posting
Company page posting requires extra scopes and approval. Get personal profile posting working first — same API, simpler auth. Once you confirm the channel connection, add company page scopes.

LinkedIn OAuth Setup

Create a LinkedIn Developer App at linkedin.com/developers. Add the following OAuth 2.0 scopes: r_liteprofile, r_emailaddress, w_member_social. For company pages, also add r_organization_social and w_organization_social.

Set your redirect URI to https://localhost:8080/callback during development. Run the OAuth flow once to generate your access token and refresh token — you'll paste both into OpenClaw's config.

# LinkedIn OAuth credentials for OpenClaw
LINKEDIN_CLIENT_ID=your_app_client_id
LINKEDIN_CLIENT_SECRET=your_app_client_secret
LINKEDIN_ACCESS_TOKEN=your_oauth_access_token
LINKEDIN_REFRESH_TOKEN=your_refresh_token

Store credentials in OpenClaw's secrets manager. The refresh token is long-lived (12 months) but the access token expires every 60 days — OpenClaw rotates it automatically during channel health checks.

100 API calls/day limit on standard apps
LinkedIn's standard developer app gets 100 API calls per day. Each post, engagement check, or analytics pull counts as one call. Plan your schedule to stay well under this. If you need more, apply for the Marketing Developer Program.

OpenClaw Configuration

In your OpenClaw gateway config file, add the LinkedIn channel block:

channels:
  linkedin:
    enabled: true
    auth:
      client_id: ${LINKEDIN_CLIENT_ID}
      client_secret: ${LINKEDIN_CLIENT_SECRET}
      access_token: ${LINKEDIN_ACCESS_TOKEN}
      refresh_token: ${LINKEDIN_REFRESH_TOKEN}
    profile:
      person_id: "~"  # authenticated user
      company_id: "12345678"  # optional: your company page URN
    rate_limit:
      calls_per_day: 80  # stay under the 100 limit

Restart the gateway and run openclaw status channels. LinkedIn channel should show as connected with your profile name. A 401 error means your access token has expired — run the refresh flow manually or wait for OpenClaw's next auto-refresh cycle.

Outreach Workflows

The most valuable LinkedIn automation is scheduled content publishing. Create a skill that fires on a weekly cron and posts your prepared content:

skills:
  weekly_post:
    trigger: cron(0 8 * * 1)  # Monday 8am
    actions:
      - channel: linkedin
        action: create_post
        text: "This week's insight: {content_block}"
        visibility: PUBLIC

For engagement monitoring, poll your recent posts and log reactions to a dashboard or Notion database:

skills:
  engagement_check:
    trigger: cron(0 18 * * *)  # daily 6pm
    actions:
      - channel: linkedin
        action: get_post_analytics
        lookback_days: 7
      - channel: notion
        action: append_to_database
        data: "{{event.analytics}}"

Here's where most people stop — they set up posting but skip engagement tracking. Closing that loop shows you which post formats actually drive follower growth.

Common Mistakes

Requesting too many scopes upfront is the number one mistake. LinkedIn's review process gets slower the more scopes you request. Request only what you need now; you can add scopes later.

  • Missing refresh token — if you only store the access token, you'll get locked out every 60 days and need to re-run the OAuth flow manually.
  • Posting too frequently — LinkedIn's algorithm deprioritizes accounts that post more than once per day. Stick to 3-5 posts per week maximum.
  • Using the wrong URN format — company page posts require the full URN format: urn:li:organization:12345678, not just the ID number.
  • Ignoring API deprecation notices — LinkedIn retired v1 API endpoints in 2021. Check you're using v2 paths only.

Frequently Asked Questions

Does OpenClaw support LinkedIn API?
Yes. OpenClaw connects to LinkedIn via the official LinkedIn API v2. You need a LinkedIn Developer App with the correct OAuth 2.0 scopes.

Can I post to LinkedIn automatically with OpenClaw?
You can. With the w_member_social scope, OpenClaw can publish text posts, articles, and image posts on behalf of the authenticated user.

What API scopes does OpenClaw need for LinkedIn?
At minimum: r_liteprofile, r_emailaddress, w_member_social for posting. For company page posts you also need r_organization_social and w_organization_social.

Is there a rate limit for LinkedIn automation?
LinkedIn enforces 100 API calls per day for basic apps. Posting too frequently also risks account flags. Stay under 80 calls/day to leave headroom.

Can OpenClaw post to LinkedIn company pages?
Yes, with the correct organization scopes. You need admin access to the company page and must request the organization social scopes in your app.

How do I refresh LinkedIn OAuth tokens?
LinkedIn access tokens expire after 60 days. OpenClaw's LinkedIn channel handles refresh token rotation automatically if you provide the refresh token during setup.

SR
S. Rivera
Growth Engineer · aiagentsguides.com

S. Rivera builds growth automation systems for B2B SaaS companies. At aiagentsguides.com she covers social channel integrations and outreach workflows.

Get the OpenClaw Weekly

New guides, tips, and updates every week. Free forever.