SyncGTM now works inside Claude and ChatGPT. Learn more
All GTM agents

LinkedIn Profile Posts

/linkedin-profile-posts

Returns the recent posts a LinkedIn profile has authored, with content, engagement counts, timestamps and post URLs, for a flat 0.3 credits per call.

Download Skilllinkedin-profile-posts.zip · free

Overview

linkedin_profile_posts is a SyncGTM MCP tool that takes a LinkedIn profile URL and returns the recent posts that person authored, each with its content, reaction and comment counts, timestamp and post URL. It returns 10 posts by default and up to 100 per call via max_posts, at a flat 0.3 credits, so 100 posts cost the same as 10. It covers what someone publishes, not what they react to or comment on; those are linkedin_profile_reactions and linkedin_profile_comments at 0.2 credits each.

What it does

  1. 1

    Takes one input: profile_url, either a full LinkedIn profile URL like linkedin.com/in/janedoe or the bare username. One person per call, no batch parameter.

  2. 2

    max_posts is the only other setting. It accepts 1 to 100 and defaults to 10, and it does not change the price, so raise it to 25 or 50 whenever you are looking for a pattern rather than a headline.

  3. 3

    Each post comes back with its content, posted_at timestamp, an engagement object holding reactions and comments, and the post URL you can quote in an email.

  4. 4

    There is no date, keyword or author-name field. If you need posts from the last 90 days, pull more posts and filter the returned posted_at yourself.

  5. 5

    Does not return emails, phone numbers, job history, what the person reacted to or commented on elsewhere, or the accounts that engaged with a post. Those are find_work_email, linkedin_profile_enrich, linkedin_profile_reactions, linkedin_profile_comments, linkedin_post_engagers and linkedin_post_commenters.

  6. 6

    Costs 0.3 credits per call, flat. A 40-person list is 40 calls and 12 credits. check_credits is free, so run it before a large batch.

How to use it

  1. 1

    Download the skill file — it saves as linkedin-profile-posts.zip.

  2. 2

    In Claude, open Settings → Capabilities → Skills and upload the .zip (or unzip the linkedin-profile-posts/ folder into .claude/skills/ for Claude Code).

  3. 3

    Connect the SyncGTM MCP server if you have not already — browser sign-in, no API key. Then paste one LinkedIn profile URL, or a list of them, and the skill dedupes and quotes the credit cost before it spends anything.

  4. 4

    Tune max_posts, the one setting worth changing. Leave it at 10 to check whether someone posts at all, raise it to 50 when you want recurring themes, since the cost is identical either way.

  5. 5

    Trigger it anytime by typing /linkedin-profile-posts followed by the profile URLs and what you want out — themes, the top-engagement post, or a drafted opener.

Use cases

Outreach openers that quote something real

Pull a prospect's last 25 posts and open your email with a line from the one they actually wrote, plus the post URL so a colleague can check it. Beats "loved your content" by a wide margin.

Pre-meeting attendee prep

Before a discovery call or a renewal, pull each attendee's last 25 posts and keep the ones whose posted_at falls inside the current quarter. You walk in knowing which initiative each person has been talking about publicly.

Personalization triage

Run 10 posts per person across a list and split it into people worth a hand-written opener and people who get the standard sequence. A profile that returns nothing is a decision, not a dead end.

Creator and partner vetting

Before a co-marketing push or an influencer partnership, check posting cadence and real engagement counts on the last 50 posts. Follower count hides a dormant account; posted_at does not.

GTM workflow examples

Monday: warm the 25 people entering your sequence this week

  1. 1Run `find_people` with the ICP filters and limit 25 (0.3 credits per result, 7.5 credits) to get 25 LinkedIn profile URLs.
  2. 2Run `linkedin_profile_posts` on each URL with max_posts set to 25 (0.3 credits each, 7.5 credits) to pull their posts, engagement counts and post URLs.
  3. 3For anyone returning fewer than 3 posts, run `linkedin_profile_comments` (0.2 credits) instead and ask for 25 comments, which gives their opinions in their own words.
  4. 4Run `find_work_email` (1 credit) only on the people who produced usable material, so you are not buying emails for prospects you cannot personalize.
  5. 5Draft one two-line opener per person that quotes their highest-engagement post verbatim and carries its URL.

Outcome: A 25-row sheet of profile, quoted line, source post URL and a ready-to-send opener, for 15 credits of sourcing and posts plus 1 credit per email on the shortlist that cleared the bar.

Turn one champion's best post into a warm account list

  1. 1Run `linkedin_profile_posts` on your champion or a category creator with max_posts set to 50 (0.3 credits) and rank the posts by reaction count.
  2. 2Take the top post's URL and run `linkedin_post_engagers` (0.3 credits per page) to get the people who reacted to it.
  3. 3Run `linkedin_post_commenters` on the same post (0.3 credits per page) for the higher-intent people who typed a reply.
  4. 4Filter both lists to your ICP titles, then run `find_work_email` (1 credit) on the survivors.

Outcome: A warm list where every contact has already engaged publicly with the exact topic your first email opens on, sourced for 0.9 credits across the three calls before enrichment.

Attendee brief before Thursday's discovery call

  1. 1Run `linkedin_profile_posts` with max_posts set to 25 on each of the 4 attendees (0.3 credits each), then filter the returned posts on posted_at to the last 90 days, since the tool has no date parameter.
  2. 2Run `linkedin_profile_enrich` (1 credit) on the two economic buyers for work history and skills, so you know how long they have owned the problem they are posting about.
  3. 3Run `check_job_change` (2 credits) on anyone whose newest posted_at is older than 90 days, to confirm they are still in the seat.
  4. 4Run `linkedin_page_posts` on the company page (0.3 credits) and compare the company line against what the individuals are saying.

Outcome: A one-page brief per attendee naming their public position, the gap between the company message and theirs, and three questions to open the call with.

Prompts

Paste any of these into Claude once the skill is installed and the SyncGTM MCP is connected.

Get the last 25 posts from linkedin.com/in/janedoe with linkedin_profile_posts and summarize the three topics she writes about most. Include the post URL and reaction count for the best example of each theme.
Pull 50 posts from linkedin.com/in/janedoe, rank them by reactions, then draft a two-line cold email opener that quotes the top post word for word. No flattery, no adjectives.
For the 20 LinkedIn profile URLs below, get the last 10 posts each with linkedin_profile_posts. Return a table of profile URL, newest posted_at, posts returned, top theme and the URL of their highest-engagement post. Stop at 20 profiles and report credits used.
Get 25 posts from linkedin.com/in/janedoe with linkedin_profile_posts. If fewer than 3 come back, run linkedin_profile_comments instead and ask it for 25 comments, then tell me which tool you ended up using and why.
Use find_people to find people with the title VP of Sales at companies in the Software Development industry in the United States, limit 20 (0.3 credits per result). Then pull the last 10 posts for each with linkedin_profile_posts and flag anyone whose newest posted_at is inside the last 30 days.

Best practices

  • Raise max_posts. It is free. The cost is 0.3 credits whether you pull 10 posts or 100, so use 10 to check whether someone posts at all and 50 when you want the themes they actually care about. The only thing you spend is context.

  • Say "posts they wrote" in the prompt. Left ambiguous, your client may reach for linkedin_profile_reactions or linkedin_profile_comments, which answer different questions and cost 0.2 credits.

  • Treat a quiet profile as an answer. Few posts or none means this person is not a fit for content-led personalization. Switch to linkedin_profile_comments (0.2 credits) — many people comment far more than they post.

  • There is no date filter. profile_url and max_posts are the only two parameters, so 10 posts from a daily poster covers a week while 10 from an occasional one can span two years. Pull extra and filter on posted_at rather than asking for a date range.

  • Deduplicate the URL list and cap the run. There is no batch parameter, so 40 profiles is 40 calls and 12 credits, and a duplicated URL bills twice. End every batch prompt with "stop there and report credits used".

  • Use the right sibling for the question. A company page is linkedin_page_posts (0.3), the people who engaged with a post are linkedin_post_engagers or linkedin_post_commenters (0.3 per page), and the same question on X is x_profile_posts (0.4). This tool returns none of those.

Complementary skills

Explore more

Ready to run /linkedin-profile-posts on your own data?