Overview
Schedule and automate LinkedIn posts on personal profiles with text, images, carousels, video, and documents.
Schedule and automate LinkedIn posts on personal profiles with text, images, carousels, video, and documents. Posts go out as the connected member.
Quick Reference
| Property | Value |
|---|---|
| Character limit | 3,000 |
| Images per post | 20 |
| Videos per post | 1 |
| Documents per post | 1 (PDF, PPT, PPTX, DOC, DOCX) |
| Image max size | 30 MB |
| Video formats | MP4 |
| Video max size | 500 MB |
| Video min duration | 3 seconds |
| Video max duration | 30 minutes |
| Post types | Text, Image, Multi-image, Video, Document |
| Scheduling | Yes, with IANA timezone |
| Editing published posts | No |
| Inbox (Comments) | No |
| Inbox (DMs) | No |
| Analytics | No |
Before You Start
LinkedIn connections post to personal profiles only. Polls, reshares, and company pages are not available through this connection.
Additional requirements:
- Text posts have the highest organic reach. The first ~210 characters appear before the "see more" fold, so lead with your hook
- Multi-image posts accept images only. A video URL in a multi-image post fails with
INVALID_MEDIA - You cannot mix media types in the same post
- Threads and quote posts are not supported. They fail with
UNSUPPORTED_FEATURE - LinkedIn rejects duplicate content with a 422 error. You cannot post the same text twice, even across different time periods
Connect
Open Dashboard → Connections and connect LinkedIn.
Complete the consent screen. Onepostly requests all scopes below in a single OAuth flow.
Grab the account id from the connections list:
const { connections: list } = await connections.listConnections();
const li = list.find((c) => c.platform === "linkedin");
// li.id is your accountIdIf a connection stops working (TOKEN_INVALID or authHealth: "action_required"), reconnect it once from the dashboard.
OAuth Scopes
| Scope | What it enables |
|---|---|
openid | Sign in with LinkedIn OpenID Connect |
profile | Member identity (name, avatar) |
w_member_social | Publish and delete posts as the member |
Token Lifetime
| Token | Lifetime | Behavior |
|---|---|---|
| Access token | ~60 days | Refreshed automatically when the app supports programmatic refresh |
| Refresh token | When issued | After expiry or revocation, reconnect the account |
Capabilities
| Action | Supported | Notes |
|---|---|---|
| Text-only post | Yes | 3,000 characters max |
| Image post | Yes | Single image URL, caption optional |
| Multi-image | Yes | 2 to 20 images only. Video URLs fail with INVALID_MEDIA |
| Video post | Yes | MP4, 75 KB to 500 MB |
| Document post | Yes | PDF, PPT, PPTX, DOC, DOCX — max 100 MB, swipeable carousel |
| Schedule | Yes | Cancel any time before it publishes |
| Remote delete | Yes | Removes the post from the profile |
| Comments / likes | No | Not available through this connection |
| Analytics | No | Not available on the member-auth path |
| Company pages | No | Personal profiles only |
What You Can't Do
These features are not available through Onepostly's LinkedIn integration:
- Polls
- Reshares or quote posts
- Threads or reply chains
- Comments, reactions, or metrics through this connection
- Editing a published post