Automate LinkedIn operations through Composio's LinkedIn toolkit via Rube MCP.
Toolkit docs
:
composio.dev/toolkits/linkedin
Prerequisites
Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
Active LinkedIn connection via
RUBE_MANAGE_CONNECTIONS
with toolkit
linkedin
Always call
RUBE_SEARCH_TOOLS
first to get current tool schemas
Setup
Get Rube MCP
Add
https://rube.app/mcp
as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLS
responds
Call
RUBE_MANAGE_CONNECTIONS
with toolkit
linkedin
If connection is not ACTIVE, follow the returned auth link to complete LinkedIn OAuth
Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Create a LinkedIn Post
When to use
User wants to publish a text post on LinkedIn
Tool sequence
:
LINKEDIN_GET_MY_INFO
- Get authenticated user's profile info [Prerequisite]
LINKEDIN_REGISTER_IMAGE_UPLOAD
- Register image upload if post includes an image [Optional]
LINKEDIN_CREATE_LINKED_IN_POST
- Publish the post [Required]
Key parameters
:
text
Post content text
visibility
'PUBLIC' or 'CONNECTIONS'
media_title
Title for attached media
media_description
Description for attached media
Pitfalls
:
Must retrieve user profile URN via GET_MY_INFO before creating a post
Image uploads require a two-step process: register upload first, then include the asset in the post
Post text has character limits enforced by LinkedIn API
Visibility defaults may vary; always specify explicitly
2. Get Profile Information
When to use
User wants to retrieve their LinkedIn profile or company details
Tool sequence
:
LINKEDIN_GET_MY_INFO
- Get authenticated user's profile [Required]
LINKEDIN_GET_COMPANY_INFO
- Get company page details [Optional]
Key parameters
:
No parameters needed for GET_MY_INFO (uses authenticated user)
organization_id
Company/organization ID for GET_COMPANY_INFO
Pitfalls
:
GET_MY_INFO returns the authenticated user only; cannot look up other users
Company info requires the numeric organization ID, not the company name or vanity URL
Some profile fields may be restricted based on OAuth scopes granted
3. Manage Post Images
When to use
User wants to upload and attach images to LinkedIn posts
Tool sequence
:
LINKEDIN_REGISTER_IMAGE_UPLOAD
- Register an image upload with LinkedIn [Required]
Upload the image binary to the returned upload URL [Required]
LINKEDIN_GET_IMAGES
- Verify uploaded image status [Optional]
LINKEDIN_CREATE_LINKED_IN_POST
- Create post with the image asset [Required]
Key parameters
:
owner
URN of the image owner (user or organization)
image_id
ID of the uploaded image for GET_IMAGES
Pitfalls
:
The upload is a two-phase process: register then upload binary
Image asset URN from registration must be used when creating the post
Supported formats typically include JPG, PNG, and GIF
Large images may take time to process before they are available
4. Comment on Posts
When to use
User wants to comment on an existing LinkedIn post
Tool sequence
:
LINKEDIN_CREATE_COMMENT_ON_POST
- Add a comment to a post [Required]
Key parameters
:
post_id
The URN or ID of the post to comment on
text
Comment content
actor
URN of the commenter (user or organization)
Pitfalls
:
Post ID must be a valid LinkedIn URN format
The actor URN must match the authenticated user or a managed organization
Rate limits apply to comment creation; avoid rapid-fire comments
5. Delete a Post
When to use
User wants to remove a previously published LinkedIn post
Tool sequence
:
LINKEDIN_DELETE_LINKED_IN_POST
- Delete the specified post [Required]
Key parameters
:
post_id
The URN or ID of the post to delete
Pitfalls
:
Deletion is permanent and cannot be undone
Only the post author or organization admin can delete a post
The post_id must be the exact URN returned when the post was created
Common Patterns
ID Resolution
User URN from profile
:
1. Call LINKEDIN_GET_MY_INFO
2. Extract user URN (e.g., 'urn:li:person:XXXXXXXXXX')
3. Use URN as actor/owner in subsequent calls
Organization ID from company
:
1. Call LINKEDIN_GET_COMPANY_INFO with organization_id
2. Extract organization URN for posting as a company page
Image Upload Flow
Call REGISTER_IMAGE_UPLOAD to get upload URL and asset URN
Upload the binary image to the provided URL
Use the asset URN when creating a post with media
Verify with GET_IMAGES if upload status is uncertain
Known Pitfalls
Authentication
:
LinkedIn OAuth tokens have limited scopes; ensure required permissions are granted
Tokens expire; re-authenticate if API calls return 401 errors
URN Formats
:
LinkedIn uses URN identifiers (e.g., 'urn:li:person:ABC123')
Always use the full URN format, not just the alphanumeric ID portion
Organization URNs differ from person URNs
Rate Limits
:
LinkedIn API has strict daily rate limits on post creation and comments
Implement backoff strategies for bulk operations
Monitor 429 responses and respect Retry-After headers
Content Restrictions
:
Posts have character limits enforced by the API
Some content types (polls, documents) may require additional API features
HTML markup in post text is not supported
Quick Reference
Task
Tool Slug
Key Params
Get my profile
LINKEDIN_GET_MY_INFO
(none)
Create post
LINKEDIN_CREATE_LINKED_IN_POST
text, visibility
Get company info
LINKEDIN_GET_COMPANY_INFO
organization_id
Register image upload
LINKEDIN_REGISTER_IMAGE_UPLOAD
owner
Get uploaded images
LINKEDIN_GET_IMAGES
image_id
Delete post
LINKEDIN_DELETE_LINKED_IN_POST
post_id
Comment on post
LINKEDIN_CREATE_COMMENT_ON_POST
post_id, text, actor
Powered by
Composio