Server Details
| Property | Value |
|---|---|
| Transport | Streamable HTTP |
| Hosting | Remote (externally hosted) |
| Categories | Social Media, Sales & Marketing |
Authentication
This server supports the following authentication method:OAuth
Scopes:openid, profile, email, w_member_social
During the server onboarding flow, you will be prompted to complete the OAuth flow to grant access. See the LinkedIn Authentication guide for step-by-step credential configuration.
Getting Started
Add the server
Navigate to the Server Library and click on the New Server button. Find LinkedIn in the Caylex Catalog.
Use in a project
Add the server to a project by configuring project connections. Its tools are now available to any agents connected to that project.
Available Tools
This server provides 4 tools:linkedin_format_rich_post
linkedin_format_rich_post
Format post content with bold, italic, lists, mentions, and hashtags. Does not publish to LinkedIn.When to use: When the user wants formatted text (bold, bullets, numbered list, hashtags, @mentions) for a LinkedIn post. Call this first to get formatted_text, then pass that text to linkedin_create_post to publish. Use when the user says “format this for LinkedIn” or “add bullet points and hashtags”. Does not require a LinkedIn API call or auth for formatting alone.Parameters:
text: Required. The main content. Exact substrings in bold_text/italic_text will be wrapped with ** and *.
bold_text: Optional. List of exact phrases from text to make bold (LinkedIn: phrase).
italic_text: Optional. List of exact phrases from text to make italic (LinkedIn: phrase).
bullet_points: Optional. List of strings; each becomes a bullet line (• item).
numbered_list: Optional. List of strings; each becomes “1. item”, “2. item”, etc.
hashtags: Optional. List of tags without # (e.g. [“AI”, “Productivity”]); appended as #AI #Productivity.
mentions: Optional. List of usernames/names; appended as @mention. Format depends on LinkedIn (often display name or URN).Returns: JSON with original_text, formatted_text (use this in linkedin_create_post), formatting_applied counts, character_count, and a note to use linkedin_create_post to publish.Side effects: None. No API call. Use output formatted_text with linkedin_create_post to publish.
linkedin_create_url_share
linkedin_create_url_share
linkedin_create_post
linkedin_create_post
Publish a text post to the authenticated user’s LinkedIn feed.When to use: When the user wants to “post on LinkedIn”, “share an update”, “publish a post”, or “create a LinkedIn post”. Use for plain text or short article-style posts (title + body). For sharing a link with preview, use linkedin_create_url_share instead. For formatting text with bold/italic/lists before posting, use linkedin_format_rich_post first and then pass the formatted_text here.Parameters:
text: Required. The main body of the post. Can include line breaks and simple formatting.
title: Optional. If provided, appears above the text (article-style). Omit for a simple text-only post.
hashtags: Optional. List of hashtag strings without the # (e.g. [“Python”, “Tech”]). They are formatted and appended to the post.
visibility: One of “PUBLIC”, “CONNECTIONS”, or “PRIVATE”. Default “PUBLIC”. Who can see the post.Returns: JSON with id, created, lifecycleState; optionally title, hashtags_used. On failure returns JSON with error, note (e.g. w_member_social scope required), and exception.Requires: LinkedIn OAuth with w_member_social scope. Token must be sent in the request.
linkedin_get_profile_info
linkedin_get_profile_info
Get LinkedIn profile information for the authenticated user.When to use: When the user asks “who am I on LinkedIn?”, “what’s my profile?”, “show my LinkedIn info”, or when you need the current user’s name, email, or locale before creating posts or shares. Do not use to look up other people’s profiles (passing person_id is not supported with standard permissions).Parameters:
person_id: Optional. Leave empty or omit to get the current authenticated user’s profile. Providing another user’s ID requires elevated API permissions and will return an error.Returns: JSON with id, firstName, lastName, name, email, locale. On error returns a string starting with “Error:”.Requires: Valid LinkedIn OAuth token in the request (Bearer token). No API call is made if person_id is set (returns error message).