What problem does it solve? Cold outreach campaigns need proof that you read a prospect's content, but manually checking LinkedIn profiles at scale is slow and inconsistent. This playbook scrapes the most recent usable LinkedIn post from a company page or personal profile and stores the raw post text, URL, and age as reusable personalization variables. ## Core Features & Use Cases - Batched async scraping: Runs an async 3-call pattern (start, poll, read dataset) over up to 100 profile URLs per batch, with reposts off and a 3-month window, keeping cost near $2.95 per 1,000 unique profiles. - Mandatory fail-closed content filter: Skips personal, political, bereavement, and charged posts, advancing to the next post rather than abstaining, so only sendable business content reaches your copy. - Optional AI personalization line: Generates a one-line reference (e.g., "Noticed they became an IBM Business Partner") only when the operator opts in, with list-split guidance instead of spintax gating. - Use Case: A sales team with a 1,000-contact list across 620 companies dedupes to unique profiles, scrapes recent posts, fans company posts back out to every contact, and uploads two segments to their sequencer with an honest A/B control. ## Quick Start Ask the assistant to fetch the most recent usable LinkedIn post for each profile URL in my prospect list and output the post text, URL, and days ago.