Brought to you by The Hulk SDR -

Wajahat Mirza | SalesRobot

<aside>

BTW, we've been building SalesRobot since 2020. Bootstrapped.

We’re at 5,500 users across 45 countries, but here’s some actual crazy shit:

→ $2.7M in lifetime revenue →$1.2M ARR crossed → 3.3 million organic LinkedIn impressions in 2025 alone.

Give SalesRobot your ICP, connect your LinkedIn account, and it handles the rest:

🎞️ AI video clone - your face, auto-personalized at scale

🎙️ AI voice clone - your voice, personalized per prospect

📅 AI appointment setter - handles replies, kills objections, books calls while you sleep.

Check it out if you’re intrigued, we’ve got a 14-day free trial (you should definitely give it a shot)
Book a demo today
White-label version for agencies (your clients would never know it’s us)

</aside>

Turn every commenter on every post your team publishes into a live conversation, automatically, using the SalesRobot MCP.

Build time: about 90 minutes for the first campaign. After that it runs on a timer.


New to this? Read START-HERE.md first. It covers what is in the folder, what each file does, and the setup steps in plain English. This playbook is the full manual: every section opens with a plain-language summary, then gets specific.

comment-harvester.zip


Read this first (60 seconds)

Here is what you are building, honestly, before you spend 90 minutes on it.

What it does: every 6 hours, it finds every new post your team published, pulls every commenter off those posts, sorts them by connection degree, drops them into the right SalesRobot campaign, and sends them a connection request or a DM that references the post they commented on. Then a second loop reads the replies and works them until they book or hard-decline.

What it is not: the SalesRobot MCP has no scheduler in it. There is no “run every 6 hours” button. The 6 hours comes from cron on your machine calling Claude Code, which calls the MCP. If your laptop is shut, nothing runs. Section 7 covers this properly, including how to move it somewhere that stays on.

The honest limits, so you do not hit them at 2am and think you broke something:

→ There is no documented merge tag for the text of a person’s comment. {{firstName}}, {{companyName}}, {{jobTitle}} exist. {{commentText}} does not. Section 5 explains the design that gets you comment-level relevance anyway, without inventing a field. → Three things in this build depend on how your specific account behaves. They are marked VERIFY and each one has a 2-minute test. Do not skip them. → The 42% reply rate is what our team saw on commenters. It is a warm-audience number. Your number will move with your copy and your audience.

If you want the version of this that already exists as a product instead of a build, that is SalesRobot Agentic Mode. This guide is for people who want to own the workflow.


The architecture

┌──────────────────────────────────────────────────────────┐
│  ONE TIME (Sections 1-3)                                 │
│  install MCP → list accounts → harden each account       │
│  quotas · schedule · blacklist (incl. your own team)     │
└────────────────────────┬─────────────────────────────────┘
                         │
                         ▼
┌──────────────────────────────────────────────────────────┐
│  EVERY 6 HOURS (Sections 4-7, the cron)                  │
│                                                          │
│  for each of your 5 LinkedIn accounts:                   │
│    raw_get_posts        → find recent posts              │
│    for each post:                                        │
│      campaign_list      → does a campaign exist?         │
│        no  → campaign_create                             │
│              campaign_update_settings                    │
│              campaign_create_sequence_from_steps         │
│              campaign_start                              │
│        yes → skip straight to import                     │
│      prospect_import_post_comments  → pull commenters    │
└────────────────────────┬─────────────────────────────────┘
                         │
                         ▼
┌──────────────────────────────────────────────────────────┐
│  EVERY HOUR (Section 8, the closer)                      │
│  inbox_get_messages → classify → inbox_send_message      │
│  inbox_tag_chat · prospect_pause                         │
└──────────────────────────────────────────────────────────┘

The important thing to understand before you build: the campaign is the unit of segmentation, not the prospect. One campaign holds the commenters from exactly one post at exactly one connection degree. That constraint is what makes the personalization work, and it falls out of how the MCP is built rather than being a preference. Section 4 explains why.