Manage LinkedIn outreach leads from Google Sheets — search by name, read live conversation threads, update status, and send contextual follow-up messages. Use after linkedin-dm to move leads through the pipeline (Sent → Replied → Call Scheduled → Demo Done → Closed).
数据来源:ClawHub。 在 ClawSkills 查看
选择你使用的 Agent
方法一:命令行安装(推荐)
推荐(无需提前安装 clawhub)
npx clawhub@latest --dir ~/.claude/skills install linkedin-followup或使用 clawhub CLI(需提前安装)
clawhub --dir ~/.claude/skills install linkedin-followup⚠️ 需要 Node.js 18+,没有 Node?请使用下方方法二直接下载 ZIP。 安装 Node.js →
方法二:手动下载安装(无需 Node)
下载 ZIP,解压后将文件夹放到以下路径,重启 Agent 即可:
安装路径
~/.claude/skills/linkedin-followup/💡解压后将文件夹放到上方路径,重启 Agent 即可生效
--- name: linkedin-followup description: Manage LinkedIn outreach leads from Google Sheets — search by name, read live conversation threads, update status, and send contextual follow-up messages. Use after linkedin-dm to move leads through the pipeline (Sent → Replied → Call Scheduled → Demo Done → Closed). metadata: { "openclaw": { "emoji": "🔁", "requires": { "bins": ["gog"] }, "skills": ["gog"], "tags": ["linkedin", "crm", "outreach", "sales", "follow-up"] } } ---
Manage ongoing LinkedIn conversations from a central Google Sheet CRM. Read threads, draft context-aware replies, send messages, and keep the sheet updated — all from one skill.
---
Before doing anything:
linkedin-dm setup). Default: 1eEZDGcr1dIbSC782mNkxvD7pVrF8rOFySWCVZ1RXkhM, tab: Sheet1 (or Outreach if renamed).gog auth list. If no tokens: see gog auth setup below./feed/ first.---
The CRM sheet uses these columns (A–P):
| Col | Field | Notes | |---|---|---| | A | Date Sent | ISO date | | B | Person Name | Full name | | C | Role / Title | | | D | Company | | | E | LinkedIn URL | Profile URL | | F | Relationship Hook | Hook used in opener | | G | Opener Sent | Message 1 text | | H | Pitch Sent | Message 2 text | | I | Campaign | Batch label | | J | Status | Current pipeline stage | | K | Notes | Context and history | | L | Last Updated | ISO timestamp | | M | Last Reply Date | When they last replied | | N | Last Reply (preview) | First 200 chars of their last reply | | O | Conversation Log | Full thread (see format below) | | P | Next Action | What to do next (agent or human) |
Status values: Sent → Replied → Call Scheduled → Demo Done → Follow Up Sent → No Response → Closed Won → Closed Lost
Conversation Log format (column O):
[2026-02-13 17:05 SENT] Hey Rishabh, we both had stints at CRED...
[2026-02-13 17:05 SENT] I'm building an AI calling agent...
[2026-02-15 09:30 RECEIVED] Hey! Sounds interesting, tell me more.
[2026-02-15 09:45 SENT] Happy to show you a live demo — are you free Thursday?
If columns M–P don't exist yet, add them first:
gog sheets update <SHEET_ID> "Sheet1!M1:P1" \
--values-json '[["Last Reply Date","Last Reply (preview)","Conversation Log","Next Action"]]' \
--input USER_ENTERED
---
User says: "Mark Rishabh as Replied" or "Rishabh got back to me, he's interested"
```bash gog sheets get
```bash gog sheets update
- Col M: Last Reply Date - Col N: Last Reply preview (first 200 chars) - Col O: Append to Conversation Log - Col P: Next Action (what should happen next)
---
User says: "Follow up with Rishabh" or "Send a follow-up to everyone who replied"
gog sheets get <SHEET_ID> "Sheet1!A:P" --json
Find their row. Load: Name, Company, Role, LinkedIn URL, Opener Sent, Pitch Sent, Status, Notes, Conversation Log, Next Action.
Always go to feed first (anti-detection):
https://www.linkedin.com/feed/
Wait 2–4 seconds. Then navigate to their profile URL (col E).
Click the Message button on their profile. Wait for the conversation bubble to load.
Scrape the full thread with JavaScript:
const events = Array.from(document.querySelectorAll('.msg-s-message-list__event'));
const messages = [];
events.forEach(el => {
const groups = el.querySelectorAll('.msg-s-event-listitem');
groups.forEach(g => {
const nameEl = g.closest('.msg-s-message-group')?.querySelector('.msg-s-message-group__profile-link');
const bodyEl = g.querySelector('.msg-s-event-listitem__body');
const timeEl = g.closest('.msg-s-message-group')?.querySelector('.msg-s-message-group__timestamp');
if (bodyEl?.textContent?.trim()) {
messages.push({
sender: nameEl?.textContent?.trim() || 'unknown',
time: timeEl?.textContent?.trim() || '',
text: bodyEl.textContent.trim()
});
}
});
});
return JSON.stringify(messages);
If the thread is empty or not loading, scroll up in the conversation bubble to load older messages.
With the full thread loaded + their profile data, determine:
Write a response that:
Show the draft to the user and ask for approval before sending:
> Draft reply to [Name]: > [message] > > Send this? (y / edit / skip)
Same JS evaluate method as linkedin-dm:
const active = document.querySelector('.msg-overlay-conversation-bubble--is-active .msg-form__contenteditable');
if (active) { active.focus(); document.execCommand('insertText', false, '<message>'); }
Then find and click Send.
After sending:
gog sheets update <SHEET_ID> "Sheet1!J<ROW>:P<ROW>" \
--values-json '[["<new_status>","<last_reply_date>","<last_reply_preview>","<updated_conversation_log>","<next_action>","<ISO_TIMESTAMP>"]]' \
--input USER_ENTERED
---
User says: "Who needs a follow-up?" or "Check my outreach"
- Sent older than 3 days → candidate for "No Response" or gentle follow-up - Replied → needs a response - Follow Up Sent older than 5 days → consider "No Response" - Call Scheduled → check if call happened, update status
``` Name Status Last Updated Suggested Action Rishabh Nayan Replied 2026-02-14 Reply to their message Shorya Saini Sent 2026-02-10 Follow-up nudge (4 days) Shantam Mohata Sent 2026-02-13 Too soon (today) ```
---
Use these as a guide — always adapt to the actual conversation:
...
安装 LinkedIn Follow-up 后,可以对 AI 说这些话来触发它
Help me get started with LinkedIn Follow-up
Explains what LinkedIn Follow-up does, walks through the setup, and runs a quick demo based on your current project
Use LinkedIn Follow-up to manage LinkedIn outreach leads from Google Sheets — search by name,...
Invokes LinkedIn Follow-up with the right parameters and returns the result directly in the conversation
What can I do with LinkedIn Follow-up in my marketing & growth workflow?
Lists the top use cases for LinkedIn Follow-up, with example commands for each scenario
将技能文件夹放到 ~/.claude/skills/linkedin-followup/ 目录(个人级,所有项目可用),或 .claude/skills/linkedin-followup/(项目级)。重启 AI 客户端后,用 /linkedin-followup 主动调用,或让 AI 根据上下文自动发现并使用。
LinkedIn Follow-up 支持 Claude、Cursor、OpenClaw,可与这些 AI 平台无缝集成,扩展其能力。
LinkedIn Follow-up 可免费安装使用。请查阅仓库了解许可证信息。
Manage LinkedIn outreach leads from Google Sheets — search by name, read live conversation threads, update status, and send contextual follow-up messages. Use after linkedin-dm to move leads through the pipeline (Sent → Replied → Call Scheduled → Demo Done → Closed).
LinkedIn Follow-up 属于「Marketing & Growth」分类,该分类的技能帮助 AI 智能体在此领域执行专业任务。
Automate my marketing & growth tasks using LinkedIn Follow-up
Identifies repetitive steps in your workflow and sets up LinkedIn Follow-up to handle them automatically