The Scenario
Your team is preparing a competitive content brief and your manager wants to know what the top 25 competitors have been posting on LinkedIn over the past month. Not a vague summary — actual post text, engagement numbers, and dates, in a sheet the content team can sort and filter. The handoff note from your manager said: "Should take an hour or two."
It will not take an hour or two if you do it manually.
The bad version:
- Open each company's LinkedIn page, scroll through their recent posts, copy the text and engagement count into a row in the sheet
- Discover that LinkedIn limits how far back you can scroll without an account and some posts are not loading
- Manually flag posts that mention pricing or product launches, which requires reading every post and making a judgment call on each one
Twenty-five companies, ten posts each, reading every post twice — once to copy and once to flag. That is a full day of work that produces a table your content team will partially ignore anyway.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent inside your Google Sheet. It reads your company list and calls Crustdata's LinkedIn post retrieval endpoint for each entry, writing the returned posts into the sheet structure you need.
For each company in column A, use Crustdata to fetch the last 10 LinkedIn posts and write them into new rows in a sheet called LinkedIn Posts with columns: Company, Post Date, Text Preview, and Likes Count. Then add a flag in column E for any post that mentions pricing or product launches.
What You Get
- A LinkedIn Posts sheet with one row per post
- Columns: Company, Post Date, a 200-character text preview, Likes Count
- Column E: a flag on any post where the text contains pricing or product-related keywords
- Any company with no LinkedIn activity in the last 30 days gets a single row noting that, so you know the silence is real
What If the Data Is Not Quite Ready
Some company names in column A are informal — the LinkedIn page uses a different official name
For each company in column A, check Crustdata for a LinkedIn URL match and note the resolved page name in column B, then fetch the last 10 posts using that matched entity
You want posts from a specific date range, not just the most recent 10
For each company in column A, use Crustdata to fetch all LinkedIn posts published between April 1 and April 30, 2026 — write them into the LinkedIn Posts sheet with Company, Post Date, Text Preview, and Likes Count columns
You want to separate high-engagement posts from low-engagement ones
Fetch the last 10 LinkedIn posts per company in column A using Crustdata, write them all into the LinkedIn Posts sheet, then add a column called Engagement Tier where posts with over 100 likes get "High" and everything else gets "Low"
One prompt to collect posts, flag signals, score engagement, and produce a priority list
For each company in column A, use Crustdata to fetch LinkedIn posts from the past 30 days — write them into the LinkedIn Posts sheet with Company, Post Date, Text Preview, Likes Count, and a Signal column flagging posts that mention pricing, funding, product launches, or hiring. Then add a row in a separate Summary sheet for each company showing total post count, average likes, and whether any high-signal posts were found.
Content strategy starts from the Summary sheet, not from reading 250 rows individually.
Try It
Get the 7-day free trial of SheetXAI and open your competitor tracking sheet with company names, then ask it to pull the last 10 LinkedIn posts per company from Crustdata and flag the ones worth reading first. You can also ask it to run keyword-based LinkedIn searches across the same list.
