@anysiteio/agent-skills 1.4.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +49 -1
- package/.claude-plugin/plugin.json +5 -1
- package/README.md +27 -33
- package/bin/install.js +186 -135
- package/bundles.json +19 -0
- package/package.json +3 -2
- package/skills/anysite-audience-analysis/SKILL.md +110 -38
- package/skills/anysite-audience-analysis/references/PLATFORM_COVERAGE.md +38 -19
- package/skills/anysite-audience-analysis/references/TOOL_MAPPING.md +16 -11
- package/skills/anysite-brand-reputation/SKILL.md +105 -43
- package/skills/anysite-competitor-analyzer/SKILL.md +170 -111
- package/skills/anysite-competitor-intelligence/SKILL.md +201 -116
- package/skills/anysite-competitor-intelligence/references/ANALYSIS_PATTERNS.md +17 -13
- package/skills/anysite-content-analytics/SKILL.md +101 -33
- package/skills/anysite-crm-account-brief/SKILL.md +71 -0
- package/skills/anysite-crm-audit/SKILL.md +59 -0
- package/skills/anysite-crm-champions/SKILL.md +76 -0
- package/skills/anysite-crm-competitor-intel/SKILL.md +74 -0
- package/skills/anysite-crm-enrich/SKILL.md +84 -0
- package/skills/anysite-crm-lookalikes/SKILL.md +64 -0
- package/skills/anysite-crm-prospect/SKILL.md +90 -0
- package/skills/anysite-crm-score/SKILL.md +72 -0
- package/skills/anysite-crm-setup/SKILL.md +147 -0
- package/skills/anysite-crm-signals/SKILL.md +96 -0
- package/skills/anysite-influencer-discovery/SKILL.md +123 -71
- package/skills/anysite-lead-generation/SKILL.md +288 -256
- package/skills/anysite-lead-generation/references/LINKEDIN_STRATEGIES.md +79 -71
- package/skills/anysite-lead-generation/references/WEB_SCRAPING.md +121 -87
- package/skills/anysite-market-research/SKILL.md +117 -68
- package/skills/anysite-mcp/SKILL.md +128 -0
- package/skills/anysite-mcp-migration/SKILL.md +19 -8
- package/skills/anysite-person-analyzer/SKILL.md +86 -53
- package/skills/anysite-trend-analysis/SKILL.md +119 -55
- package/skills/anysite-vc-analyst/SKILL.md +12 -2
- package/skills/competitor-discovery/SKILL.md +350 -0
- package/skills/customer-pain-mining/SKILL.md +318 -0
- package/skills/positioning-map/SKILL.md +314 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: anysite-lead-generation
|
|
3
|
-
description: Lead generation and prospecting using anysite MCP server for LinkedIn prospect discovery, email finding, company research, and contact enrichment. Extract contacts from websites, find decision-makers at target companies, and build qualified prospect lists for sales, recruiting, and business development. Supports LinkedIn (primary), web scraping for contact extraction, and Instagram business discovery. Use when users need to build prospect lists, find decision-makers, extract contact information, research potential customers
|
|
3
|
+
description: Lead generation and prospecting using anysite MCP server for LinkedIn prospect discovery, email finding, company research, and contact enrichment. Extract contacts from websites, find decision-makers at target companies, and build qualified prospect lists for sales, recruiting, and business development. Supports LinkedIn (primary), web scraping for contact extraction, and Instagram business discovery. Research and list-building only - this skill does NOT write to a CRM. For finding leads AND pushing them into a connected CRM use anysite-crm-prospect; for filling gaps in existing CRM records use anysite-crm-enrich. Use when users need to build prospect lists, find decision-makers, extract contact information, or research potential customers outside a CRM context.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# anysite Lead Generation
|
|
@@ -21,10 +21,24 @@ This skill provides comprehensive lead generation capabilities with the added be
|
|
|
21
21
|
|
|
22
22
|
## Supported Platforms
|
|
23
23
|
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
24
|
+
- **LinkedIn** (Primary): People search, profile enrichment, email discovery, company research, employee listings
|
|
25
|
+
- **Web Scraping**: Contact extraction from websites, sitemap parsing, general web data
|
|
26
|
+
- **Instagram**: Business account discovery and profile analysis (supplementary)
|
|
27
|
+
- **Y Combinator**: Startup company and founder research (supplementary)
|
|
28
|
+
|
|
29
|
+
## v2 API Overview
|
|
30
|
+
|
|
31
|
+
All data fetching uses the universal `execute()` tool with four parameters: `source`, `category`, `endpoint`, `params`. Supporting tools:
|
|
32
|
+
|
|
33
|
+
- **`execute(source, category, endpoint, params)`** - Fetch data. Returns first page of items + `cache_key`.
|
|
34
|
+
- **`get_page(cache_key, offset, limit)`** - Load additional pages from a previous execute() result using the returned `cache_key` and `next_offset`.
|
|
35
|
+
- **`query_cache(cache_key, conditions, sort_by, aggregate, group_by)`** - Filter, sort, count, or aggregate already-fetched data without a new API call.
|
|
36
|
+
- **`export_data(cache_key, format)`** - Export a full dataset as CSV, JSON, or JSONL. Returns a download URL.
|
|
37
|
+
- **`discover(source, category)`** - Inspect available endpoints and their accepted params (use when unsure about params).
|
|
38
|
+
|
|
39
|
+
### Error Handling
|
|
40
|
+
|
|
41
|
+
v2 responses may include an `llm_hint` field with human-readable guidance when something goes wrong (e.g., invalid params, rate limits). Always check for `llm_hint` in the response and follow its advice before retrying.
|
|
28
42
|
|
|
29
43
|
## Quick Start
|
|
30
44
|
|
|
@@ -32,58 +46,69 @@ This skill provides comprehensive lead generation capabilities with the added be
|
|
|
32
46
|
|
|
33
47
|
Choose the appropriate data source based on your prospecting goal:
|
|
34
48
|
|
|
35
|
-
| Goal |
|
|
36
|
-
|
|
37
|
-
| Find prospects by title/company | `
|
|
38
|
-
| Enrich existing leads | `
|
|
39
|
-
| Find verified emails | `
|
|
40
|
-
| Extract website contacts | `
|
|
41
|
-
| Research target companies | `
|
|
42
|
-
| Find company employees | `
|
|
49
|
+
| Goal | v2 Call | Use Case |
|
|
50
|
+
|------|---------|----------|
|
|
51
|
+
| Find prospects by title/company | `execute("linkedin", "search", "search_users", {...})` | B2B prospecting, targeted outreach |
|
|
52
|
+
| Enrich existing leads | `execute("linkedin", "user", "get", {"user": ...})` | Add work history, education, skills |
|
|
53
|
+
| Find verified emails | `execute("linkedin", "email", "find", {"user": ...})` | Email outreach campaigns |
|
|
54
|
+
| Extract website contacts | `execute("webparser", "parse", "parse", {"url": ...})` | Get emails/phones from contact pages |
|
|
55
|
+
| Research target companies | `execute("linkedin", "search", "search_companies", {...})` | Account-based marketing (ABM) |
|
|
56
|
+
| Find company employees | `execute("linkedin", "search", "search_users", {...})` + company filter | Multi-threading into accounts |
|
|
43
57
|
|
|
44
58
|
### Step 2: Execute Data Collection
|
|
45
59
|
|
|
46
|
-
Use anysite MCP tools directly to gather lead data:
|
|
60
|
+
Use anysite MCP v2 tools directly to gather lead data:
|
|
47
61
|
|
|
48
62
|
**Example: Find Sales VPs in San Francisco**
|
|
49
63
|
```
|
|
50
|
-
Tool:
|
|
64
|
+
Tool: mcp__anysite__execute
|
|
51
65
|
Parameters:
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
66
|
+
- source: "linkedin"
|
|
67
|
+
- category: "search"
|
|
68
|
+
- endpoint: "search_users"
|
|
69
|
+
- params: {"title": "VP Sales", "location": "San Francisco Bay Area", "count": 25}
|
|
55
70
|
```
|
|
56
71
|
|
|
57
72
|
**Example: Enrich a LinkedIn Profile**
|
|
58
73
|
```
|
|
59
|
-
Tool:
|
|
74
|
+
Tool: mcp__anysite__execute
|
|
60
75
|
Parameters:
|
|
61
|
-
-
|
|
62
|
-
-
|
|
63
|
-
-
|
|
64
|
-
- with_skills: true
|
|
76
|
+
- source: "linkedin"
|
|
77
|
+
- category: "user"
|
|
78
|
+
- endpoint: "get"
|
|
79
|
+
- params: {"user": "linkedin.com/in/johndoe", "with_experience": true, "with_education": true, "with_skills": true}
|
|
65
80
|
```
|
|
66
81
|
|
|
67
82
|
**Example: Find Email Address**
|
|
68
83
|
```
|
|
69
|
-
Tool:
|
|
84
|
+
Tool: mcp__anysite__execute
|
|
70
85
|
Parameters:
|
|
71
|
-
-
|
|
72
|
-
-
|
|
86
|
+
- source: "linkedin"
|
|
87
|
+
- category: "email"
|
|
88
|
+
- endpoint: "find"
|
|
89
|
+
- params: {"user": "johndoe"}
|
|
73
90
|
```
|
|
74
91
|
|
|
75
92
|
**Example: Extract Contacts from Website**
|
|
76
93
|
```
|
|
77
|
-
Tool:
|
|
94
|
+
Tool: mcp__anysite__execute
|
|
78
95
|
Parameters:
|
|
79
|
-
-
|
|
80
|
-
-
|
|
81
|
-
-
|
|
96
|
+
- source: "webparser"
|
|
97
|
+
- category: "parse"
|
|
98
|
+
- endpoint: "parse"
|
|
99
|
+
- params: {"url": "https://company.com/contact", "extract_contacts": true, "strip_all_tags": true}
|
|
82
100
|
```
|
|
83
101
|
|
|
84
102
|
### Step 3: Process and Analyze Results
|
|
85
103
|
|
|
86
|
-
|
|
104
|
+
After execute() returns data with a `cache_key`, use v2 post-processing:
|
|
105
|
+
|
|
106
|
+
- **Filter results**: `query_cache(cache_key, conditions=[{"field": "title", "operator": "contains", "value": "VP"}])`
|
|
107
|
+
- **Sort results**: `query_cache(cache_key, sort_by=[{"field": "follower_count", "order": "desc"}])`
|
|
108
|
+
- **Count results**: `query_cache(cache_key, aggregate=[{"function": "count", "field": "*"}])`
|
|
109
|
+
- **Get more pages**: `get_page(cache_key, offset=next_offset, limit=10)`
|
|
110
|
+
|
|
111
|
+
Also review the returned data for:
|
|
87
112
|
- **Profile completeness**: Work history, education, skills presence
|
|
88
113
|
- **Contact quality**: Email deliverability, phone format
|
|
89
114
|
- **Relevance scoring**: Title match, company fit, location alignment
|
|
@@ -98,15 +123,23 @@ Choose your preferred output format:
|
|
|
98
123
|
- Includes actionable next steps
|
|
99
124
|
- Shows data quality metrics
|
|
100
125
|
|
|
101
|
-
**CSV Export**
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
126
|
+
**CSV Export (via v2 export_data)**
|
|
127
|
+
```
|
|
128
|
+
Tool: mcp__anysite__export_data
|
|
129
|
+
Parameters:
|
|
130
|
+
- cache_key: <cache_key from execute>
|
|
131
|
+
- format: "csv"
|
|
132
|
+
```
|
|
133
|
+
Returns a download URL. Ready for CRM import (Salesforce, HubSpot, etc.)
|
|
105
134
|
|
|
106
|
-
**JSON Export**
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
135
|
+
**JSON Export (via v2 export_data)**
|
|
136
|
+
```
|
|
137
|
+
Tool: mcp__anysite__export_data
|
|
138
|
+
Parameters:
|
|
139
|
+
- cache_key: <cache_key from execute>
|
|
140
|
+
- format: "json"
|
|
141
|
+
```
|
|
142
|
+
Returns a download URL. Structured data for custom integration.
|
|
110
143
|
|
|
111
144
|
## Common Workflows
|
|
112
145
|
|
|
@@ -118,38 +151,44 @@ Choose your preferred output format:
|
|
|
118
151
|
|
|
119
152
|
1. **Search for prospects**
|
|
120
153
|
```
|
|
121
|
-
Tool:
|
|
154
|
+
Tool: mcp__anysite__execute
|
|
122
155
|
Parameters:
|
|
123
|
-
-
|
|
124
|
-
-
|
|
125
|
-
-
|
|
126
|
-
- company_keywords: "software"
|
|
127
|
-
- count: 50
|
|
156
|
+
- source: "linkedin"
|
|
157
|
+
- category: "search"
|
|
158
|
+
- endpoint: "search_users"
|
|
159
|
+
- params: {"keywords": "SaaS software cloud", "title": "Head of Marketing, VP Marketing, CMO", "location": "United States", "company_keywords": "software", "count": 50}
|
|
128
160
|
```
|
|
129
161
|
|
|
130
162
|
2. **Enrich top prospects** (for first 10-20 results)
|
|
131
163
|
```
|
|
132
164
|
For each prospect from step 1:
|
|
133
|
-
Tool:
|
|
165
|
+
Tool: mcp__anysite__execute
|
|
134
166
|
Parameters:
|
|
135
|
-
-
|
|
136
|
-
-
|
|
137
|
-
-
|
|
138
|
-
-
|
|
167
|
+
- source: "linkedin"
|
|
168
|
+
- category: "user"
|
|
169
|
+
- endpoint: "get"
|
|
170
|
+
- params: {"user": "<prospect_username>", "with_experience": true, "with_education": true}
|
|
139
171
|
```
|
|
140
172
|
|
|
141
173
|
3. **Find email addresses**
|
|
142
174
|
```
|
|
143
175
|
For each qualified prospect:
|
|
144
|
-
Tool:
|
|
145
|
-
|
|
146
|
-
|
|
176
|
+
Tool: mcp__anysite__execute
|
|
177
|
+
Parameters:
|
|
178
|
+
- source: "linkedin"
|
|
179
|
+
- category: "email"
|
|
180
|
+
- endpoint: "find"
|
|
181
|
+
- params: {"user": "<prospect_username>"}
|
|
147
182
|
```
|
|
148
183
|
|
|
149
184
|
4. **Export to CRM**
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
185
|
+
```
|
|
186
|
+
Tool: mcp__anysite__export_data
|
|
187
|
+
Parameters:
|
|
188
|
+
- cache_key: <cache_key from search>
|
|
189
|
+
- format: "csv"
|
|
190
|
+
```
|
|
191
|
+
Import the CSV to your CRM system and set up outreach sequences.
|
|
153
192
|
|
|
154
193
|
**Expected Output**:
|
|
155
194
|
- 50 prospects with LinkedIn profiles
|
|
@@ -165,41 +204,55 @@ Tool: mcp__anysite__get_linkedin_user_email_db
|
|
|
165
204
|
|
|
166
205
|
1. **Research target companies**
|
|
167
206
|
```
|
|
168
|
-
Tool:
|
|
207
|
+
Tool: mcp__anysite__execute
|
|
169
208
|
Parameters:
|
|
170
|
-
-
|
|
171
|
-
-
|
|
172
|
-
-
|
|
173
|
-
- location: <target location>
|
|
174
|
-
- count: 20
|
|
209
|
+
- source: "linkedin"
|
|
210
|
+
- category: "search"
|
|
211
|
+
- endpoint: "search_companies"
|
|
212
|
+
- params: {"keywords": "<your ICP description>", "industry": "<target industry>", "employee_count": ["51-200", "201-500"], "location": "<target location>", "count": 20}
|
|
175
213
|
```
|
|
176
214
|
|
|
177
215
|
2. **Get company details**
|
|
178
216
|
```
|
|
179
217
|
For each target company:
|
|
180
|
-
Tool:
|
|
218
|
+
Tool: mcp__anysite__execute
|
|
181
219
|
Parameters:
|
|
182
|
-
-
|
|
220
|
+
- source: "linkedin"
|
|
221
|
+
- category: "company"
|
|
222
|
+
- endpoint: "get"
|
|
223
|
+
- params: {"company": "<company_identifier or URL>"}
|
|
183
224
|
```
|
|
184
225
|
|
|
185
226
|
3. **Find employees at target companies**
|
|
186
227
|
```
|
|
187
228
|
For each target company:
|
|
188
|
-
Tool:
|
|
229
|
+
Tool: mcp__anysite__execute
|
|
189
230
|
Parameters:
|
|
190
|
-
-
|
|
191
|
-
-
|
|
192
|
-
-
|
|
231
|
+
- source: "linkedin"
|
|
232
|
+
- category: "search"
|
|
233
|
+
- endpoint: "search_users"
|
|
234
|
+
- params: {"company_keywords": "<Company Name>", "title": "VP, Director, Head of, Chief", "count": 10}
|
|
193
235
|
```
|
|
194
236
|
|
|
195
237
|
4. **Enrich decision-makers**
|
|
196
238
|
```
|
|
197
239
|
For each decision-maker:
|
|
198
|
-
Tool:
|
|
199
|
-
|
|
240
|
+
Tool: mcp__anysite__execute
|
|
241
|
+
source: "linkedin", category: "user", endpoint: "get", params: {"user": "<username>"}
|
|
242
|
+
Tool: mcp__anysite__execute
|
|
243
|
+
source: "linkedin", category: "email", endpoint: "find", params: {"user": "<username>"}
|
|
200
244
|
```
|
|
201
245
|
|
|
202
|
-
5. **
|
|
246
|
+
5. **Filter and analyze with query_cache**
|
|
247
|
+
```
|
|
248
|
+
Tool: mcp__anysite__query_cache
|
|
249
|
+
Parameters:
|
|
250
|
+
- cache_key: <cache_key from employee search>
|
|
251
|
+
- conditions: [{"field": "title", "operator": "contains", "value": "VP"}]
|
|
252
|
+
- sort_by: [{"field": "name", "order": "asc"}]
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
6. **Create ABM campaign**
|
|
203
256
|
- Group prospects by company
|
|
204
257
|
- Identify multi-threading opportunities
|
|
205
258
|
- Build company-specific messaging
|
|
@@ -219,18 +272,24 @@ Tool: mcp__anysite__find_linkedin_user_email
|
|
|
219
272
|
1. **Get company websites**
|
|
220
273
|
```
|
|
221
274
|
From LinkedIn company search or existing list
|
|
222
|
-
Tool:
|
|
275
|
+
Tool: mcp__anysite__execute
|
|
276
|
+
Parameters:
|
|
277
|
+
- source: "linkedin"
|
|
278
|
+
- category: "company"
|
|
279
|
+
- endpoint: "get"
|
|
280
|
+
- params: {"company": "<company_identifier>"}
|
|
223
281
|
Extract: company website URLs
|
|
224
282
|
```
|
|
225
283
|
|
|
226
284
|
2. **Parse contact pages**
|
|
227
285
|
```
|
|
228
286
|
For each website:
|
|
229
|
-
Tool:
|
|
287
|
+
Tool: mcp__anysite__execute
|
|
230
288
|
Parameters:
|
|
231
|
-
-
|
|
232
|
-
-
|
|
233
|
-
-
|
|
289
|
+
- source: "webparser"
|
|
290
|
+
- category: "parse"
|
|
291
|
+
- endpoint: "parse"
|
|
292
|
+
- params: {"url": "https://company.com/contact", "extract_contacts": true, "strip_all_tags": true}
|
|
234
293
|
|
|
235
294
|
Alternative pages to try:
|
|
236
295
|
- /contact
|
|
@@ -241,18 +300,21 @@ Alternative pages to try:
|
|
|
241
300
|
|
|
242
301
|
3. **Parse team pages** (if available)
|
|
243
302
|
```
|
|
244
|
-
Tool:
|
|
303
|
+
Tool: mcp__anysite__execute
|
|
245
304
|
Parameters:
|
|
246
|
-
-
|
|
247
|
-
-
|
|
305
|
+
- source: "webparser"
|
|
306
|
+
- category: "parse"
|
|
307
|
+
- endpoint: "parse"
|
|
308
|
+
- params: {"url": "https://company.com/team", "extract_contacts": true}
|
|
248
309
|
```
|
|
249
310
|
|
|
250
311
|
4. **Get sitemap** (for comprehensive coverage)
|
|
251
312
|
```
|
|
252
|
-
Tool:
|
|
313
|
+
Tool: mcp__anysite__discover
|
|
253
314
|
Parameters:
|
|
254
|
-
-
|
|
255
|
-
-
|
|
315
|
+
- source: "webparser"
|
|
316
|
+
- category: "parse"
|
|
317
|
+
(Use discover to find the sitemap endpoint and its params, then execute accordingly)
|
|
256
318
|
|
|
257
319
|
Identify pages likely to contain contacts:
|
|
258
320
|
- /contact, /team, /about, /leadership
|
|
@@ -282,30 +344,47 @@ Required skills, titles, experience level, location
|
|
|
282
344
|
|
|
283
345
|
2. **Search for candidates**
|
|
284
346
|
```
|
|
285
|
-
Tool:
|
|
347
|
+
Tool: mcp__anysite__execute
|
|
348
|
+
Parameters:
|
|
349
|
+
- source: "linkedin"
|
|
350
|
+
- category: "search"
|
|
351
|
+
- endpoint: "search_users"
|
|
352
|
+
- params: {"keywords": "Python React AWS", "title": "Software Engineer, Senior Engineer", "location": "Remote", "count": 100}
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
3. **Get more results with pagination**
|
|
356
|
+
```
|
|
357
|
+
If response includes next_offset:
|
|
358
|
+
Tool: mcp__anysite__get_page
|
|
286
359
|
Parameters:
|
|
287
|
-
-
|
|
288
|
-
-
|
|
289
|
-
-
|
|
290
|
-
- count: 100
|
|
360
|
+
- cache_key: <cache_key from search>
|
|
361
|
+
- offset: <next_offset>
|
|
362
|
+
- limit: 50
|
|
291
363
|
```
|
|
292
364
|
|
|
293
|
-
|
|
365
|
+
4. **Enrich candidate profiles**
|
|
294
366
|
```
|
|
295
367
|
For promising candidates:
|
|
296
|
-
Tool:
|
|
297
|
-
|
|
298
|
-
Tool: mcp__anysite__get_linkedin_user_skills
|
|
299
|
-
Tool: mcp__anysite__get_linkedin_user_education
|
|
368
|
+
Tool: mcp__anysite__execute
|
|
369
|
+
source: "linkedin", category: "user", endpoint: "get", params: {"user": "<username>", "with_experience": true, "with_education": true, "with_skills": true}
|
|
300
370
|
```
|
|
301
371
|
|
|
302
|
-
|
|
372
|
+
5. **Find contact information**
|
|
303
373
|
```
|
|
304
|
-
Tool:
|
|
305
|
-
|
|
374
|
+
Tool: mcp__anysite__execute
|
|
375
|
+
source: "linkedin", category: "email", endpoint: "find", params: {"user": "<username>"}
|
|
306
376
|
```
|
|
307
377
|
|
|
308
|
-
|
|
378
|
+
6. **Filter candidates with query_cache**
|
|
379
|
+
```
|
|
380
|
+
Tool: mcp__anysite__query_cache
|
|
381
|
+
Parameters:
|
|
382
|
+
- cache_key: <cache_key from search>
|
|
383
|
+
- conditions: [{"field": "location", "operator": "contains", "value": "Remote"}]
|
|
384
|
+
- sort_by: [{"field": "follower_count", "order": "desc"}]
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
7. **Build candidate pipeline**
|
|
309
388
|
- Score candidates on skills match
|
|
310
389
|
- Prioritize by years of experience
|
|
311
390
|
- Create outreach sequence
|
|
@@ -321,11 +400,11 @@ Tool: mcp__anysite__get_linkedin_user_email_db
|
|
|
321
400
|
### Primary Tools
|
|
322
401
|
|
|
323
402
|
#### LinkedIn People Search
|
|
324
|
-
**
|
|
403
|
+
**v2 Call**: `execute("linkedin", "search", "search_users", {...})`
|
|
325
404
|
|
|
326
405
|
Search for LinkedIn users by various criteria.
|
|
327
406
|
|
|
328
|
-
**Parameters
|
|
407
|
+
**Parameters** (passed in `params`):
|
|
329
408
|
- `keywords` (optional): General keywords for search
|
|
330
409
|
- `title` (optional): Job title keywords (e.g., "VP Sales", "Software Engineer")
|
|
331
410
|
- `company_keywords` (optional): Company name keywords
|
|
@@ -335,7 +414,7 @@ Search for LinkedIn users by various criteria.
|
|
|
335
414
|
- `last_name` (optional): Last name
|
|
336
415
|
- `count` (default: 10): Number of results to return
|
|
337
416
|
|
|
338
|
-
**Returns**: List of user profiles with name, title, location, profile URL, and URN
|
|
417
|
+
**Returns**: List of user profiles with name, title, location, profile URL, and URN. Includes `cache_key` for pagination and filtering.
|
|
339
418
|
|
|
340
419
|
**Use Cases**:
|
|
341
420
|
- Find prospects by title and location
|
|
@@ -343,12 +422,14 @@ Search for LinkedIn users by various criteria.
|
|
|
343
422
|
- Search for alumni from specific schools
|
|
344
423
|
- Build prospect lists for outreach
|
|
345
424
|
|
|
425
|
+
**Pagination**: If `next_offset` is returned, call `get_page(cache_key, next_offset, limit)` for more results.
|
|
426
|
+
|
|
346
427
|
#### LinkedIn Profile Details
|
|
347
|
-
**
|
|
428
|
+
**v2 Call**: `execute("linkedin", "user", "get", {"user": ...})`
|
|
348
429
|
|
|
349
430
|
Get comprehensive profile information for a LinkedIn user.
|
|
350
431
|
|
|
351
|
-
**Parameters
|
|
432
|
+
**Parameters** (passed in `params`):
|
|
352
433
|
- `user` (required): LinkedIn username or full profile URL
|
|
353
434
|
- `with_education` (default: true): Include education history
|
|
354
435
|
- `with_experience` (default: true): Include work experience
|
|
@@ -363,52 +444,33 @@ Get comprehensive profile information for a LinkedIn user.
|
|
|
363
444
|
- Understand prospect's career path
|
|
364
445
|
|
|
365
446
|
#### Email Finding
|
|
366
|
-
**
|
|
447
|
+
**v2 Call**: `execute("linkedin", "email", "find", {"user": ...})`
|
|
367
448
|
|
|
368
449
|
Search for email addresses associated with LinkedIn profiles.
|
|
369
450
|
|
|
370
|
-
**Parameters
|
|
371
|
-
- `
|
|
372
|
-
- `count` (default: 5): Number of results
|
|
373
|
-
- `request_timeout` (default: 300): Timeout in seconds
|
|
451
|
+
**Parameters** (passed in `params`):
|
|
452
|
+
- `user` (required): LinkedIn username or profile URL
|
|
374
453
|
|
|
375
|
-
**Returns**:
|
|
454
|
+
**Returns**: Email addresses associated with the LinkedIn profile
|
|
376
455
|
|
|
377
456
|
**Use Cases**:
|
|
378
457
|
- Find verified emails for prospects
|
|
379
|
-
- Reverse lookup email to LinkedIn profile
|
|
380
458
|
- Enrich contact databases
|
|
381
|
-
|
|
382
|
-
#### Email Database Lookup
|
|
383
|
-
**Tool**: `mcp__anysite__get_linkedin_user_email_db`
|
|
384
|
-
|
|
385
|
-
Retrieve cached email address for a LinkedIn profile.
|
|
386
|
-
|
|
387
|
-
**Parameters**:
|
|
388
|
-
- `profile` (required): LinkedIn profile URL
|
|
389
|
-
- `request_timeout` (default: 300): Timeout in seconds
|
|
390
|
-
|
|
391
|
-
**Returns**: Email address if available in database
|
|
392
|
-
|
|
393
|
-
**Use Cases**:
|
|
394
|
-
- Quick email lookup for known profiles
|
|
395
|
-
- Batch email enrichment
|
|
396
|
-
- Contact data verification
|
|
459
|
+
- Build email outreach lists
|
|
397
460
|
|
|
398
461
|
#### Company Search
|
|
399
|
-
**
|
|
462
|
+
**v2 Call**: `execute("linkedin", "search", "search_companies", {...})`
|
|
400
463
|
|
|
401
464
|
Search for LinkedIn companies by various criteria.
|
|
402
465
|
|
|
403
|
-
**Parameters
|
|
466
|
+
**Parameters** (passed in `params`):
|
|
404
467
|
- `keywords` (optional): Company name or description keywords
|
|
405
468
|
- `location` (optional): Company location
|
|
406
469
|
- `industry` (optional): Industry type
|
|
407
470
|
- `employee_count` (optional): Array of employee count ranges (e.g., ["51-200", "201-500"])
|
|
408
471
|
- `count` (required): Number of results to return
|
|
409
|
-
- `request_timeout` (default: 300): Timeout in seconds
|
|
410
472
|
|
|
411
|
-
**Returns**: List of companies with name, industry, size, location, and URN
|
|
473
|
+
**Returns**: List of companies with name, industry, size, location, and URN. Includes `cache_key`.
|
|
412
474
|
|
|
413
475
|
**Use Cases**:
|
|
414
476
|
- Identify target accounts for ABM
|
|
@@ -417,13 +479,12 @@ Search for LinkedIn companies by various criteria.
|
|
|
417
479
|
- Market segmentation analysis
|
|
418
480
|
|
|
419
481
|
#### Company Details
|
|
420
|
-
**
|
|
482
|
+
**v2 Call**: `execute("linkedin", "company", "get", {"company": ...})`
|
|
421
483
|
|
|
422
484
|
Get detailed information about a LinkedIn company.
|
|
423
485
|
|
|
424
|
-
**Parameters
|
|
486
|
+
**Parameters** (passed in `params`):
|
|
425
487
|
- `company` (required): Company identifier or LinkedIn URL
|
|
426
|
-
- `request_timeout` (default: 300): Timeout in seconds
|
|
427
488
|
|
|
428
489
|
**Returns**: Company profile with description, industry, size, specialties, website
|
|
429
490
|
|
|
@@ -434,16 +495,10 @@ Get detailed information about a LinkedIn company.
|
|
|
434
495
|
- Qualify accounts before prospecting
|
|
435
496
|
|
|
436
497
|
#### Company Employee Stats
|
|
437
|
-
**
|
|
498
|
+
**v2 Call**: `discover("linkedin", "company")` to find the employee stats endpoint, then `execute(...)` with the discovered endpoint and params.
|
|
438
499
|
|
|
439
500
|
Get employee statistics and insights for a company.
|
|
440
501
|
|
|
441
|
-
**Parameters**:
|
|
442
|
-
- `urn` (required): Company URN from company lookup
|
|
443
|
-
- `request_timeout` (default: 300): Timeout in seconds
|
|
444
|
-
|
|
445
|
-
**Returns**: Employee count, growth metrics, department distribution
|
|
446
|
-
|
|
447
502
|
**Use Cases**:
|
|
448
503
|
- Track hiring velocity (company growth)
|
|
449
504
|
- Identify growing departments
|
|
@@ -453,17 +508,15 @@ Get employee statistics and insights for a company.
|
|
|
453
508
|
### Supporting Tools
|
|
454
509
|
|
|
455
510
|
#### Web Contact Extraction
|
|
456
|
-
**
|
|
511
|
+
**v2 Call**: `execute("webparser", "parse", "parse", {"url": ...})`
|
|
457
512
|
|
|
458
513
|
Extract content and contact information from web pages.
|
|
459
514
|
|
|
460
|
-
**Parameters
|
|
515
|
+
**Parameters** (passed in `params`):
|
|
461
516
|
- `url` (required): Webpage URL
|
|
462
517
|
- `extract_contacts` (default: false): Extract emails, phones, social links
|
|
463
518
|
- `strip_all_tags` (default: true): Remove HTML tags
|
|
464
519
|
- `only_main_content` (default: true): Extract only main content area
|
|
465
|
-
- `same_origin_links` (default: false): Include only same-domain links
|
|
466
|
-
- `request_timeout` (default: 300): Timeout in seconds
|
|
467
520
|
|
|
468
521
|
**Returns**: Page content, contacts (emails, phones), links
|
|
469
522
|
|
|
@@ -474,58 +527,55 @@ Extract content and contact information from web pages.
|
|
|
474
527
|
- Discover team member information
|
|
475
528
|
|
|
476
529
|
#### Sitemap Parsing
|
|
477
|
-
**
|
|
530
|
+
**v2 Call**: `discover("webparser", "parse")` to find the sitemap endpoint, then `execute(...)` with discovered endpoint and params.
|
|
478
531
|
|
|
479
532
|
Retrieve sitemap URLs from a website.
|
|
480
533
|
|
|
481
|
-
**Parameters**:
|
|
482
|
-
- `url` (required): Website URL
|
|
483
|
-
- `count` (default: 50): Number of URLs to return
|
|
484
|
-
- `request_timeout` (default: 300): Timeout in seconds
|
|
485
|
-
|
|
486
|
-
**Returns**: List of URLs from sitemap
|
|
487
|
-
|
|
488
534
|
**Use Cases**:
|
|
489
535
|
- Find all pages on a website
|
|
490
536
|
- Identify contact/team pages
|
|
491
537
|
- Comprehensive website crawling
|
|
492
538
|
- Discover hidden landing pages
|
|
493
539
|
|
|
494
|
-
#### LinkedIn User
|
|
495
|
-
**
|
|
540
|
+
#### LinkedIn User Posts
|
|
541
|
+
**v2 Call**: `execute("linkedin", "post", "get_user_posts", {"user": ...})`
|
|
542
|
+
|
|
543
|
+
Get recent posts from a LinkedIn user for engagement research.
|
|
496
544
|
|
|
497
|
-
|
|
545
|
+
**Use Cases**:
|
|
546
|
+
- Research prospect interests and activity
|
|
547
|
+
- Identify conversation starters
|
|
548
|
+
- Analyze thought leadership topics
|
|
498
549
|
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
- `count` (default: 10): Number of experience entries
|
|
502
|
-
- `request_timeout` (default: 300): Timeout in seconds
|
|
550
|
+
#### LinkedIn Post Search
|
|
551
|
+
**v2 Call**: `execute("linkedin", "post", "search_posts", {...})`
|
|
503
552
|
|
|
504
|
-
|
|
553
|
+
Search LinkedIn posts by keywords.
|
|
505
554
|
|
|
506
555
|
**Use Cases**:
|
|
507
|
-
-
|
|
508
|
-
-
|
|
509
|
-
-
|
|
510
|
-
|
|
556
|
+
- Find prospects discussing relevant topics
|
|
557
|
+
- Monitor industry conversations
|
|
558
|
+
- Identify engaged professionals
|
|
559
|
+
|
|
560
|
+
#### LinkedIn Job Search
|
|
561
|
+
**v2 Call**: `execute("linkedin", "job_search", "search_jobs", {...})`
|
|
511
562
|
|
|
512
|
-
|
|
513
|
-
**Tool**: `mcp__anysite__get_linkedin_user_skills`
|
|
563
|
+
Search LinkedIn job postings.
|
|
514
564
|
|
|
515
|
-
|
|
565
|
+
**Use Cases**:
|
|
566
|
+
- Identify companies that are hiring (growth signals)
|
|
567
|
+
- Find companies investing in specific roles
|
|
568
|
+
- Research market demand
|
|
516
569
|
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
- `count` (default: 10): Number of skills to return
|
|
520
|
-
- `request_timeout` (default: 300): Timeout in seconds
|
|
570
|
+
#### Google LinkedIn Search
|
|
571
|
+
**v2 Call**: `execute("linkedin", "google", "search", {"query": ...})`
|
|
521
572
|
|
|
522
|
-
|
|
573
|
+
Search Google for LinkedIn profiles.
|
|
523
574
|
|
|
524
575
|
**Use Cases**:
|
|
525
|
-
-
|
|
526
|
-
-
|
|
527
|
-
-
|
|
528
|
-
- Skills-based matching
|
|
576
|
+
- Find profiles that LinkedIn search misses
|
|
577
|
+
- Search by specific phrases
|
|
578
|
+
- Discover profiles with particular keywords
|
|
529
579
|
|
|
530
580
|
## Output Formats
|
|
531
581
|
|
|
@@ -567,7 +617,7 @@ Next Steps:
|
|
|
567
617
|
|
|
568
618
|
### CSV Export
|
|
569
619
|
|
|
570
|
-
Use
|
|
620
|
+
Use `export_data(cache_key, "csv")` to get a download URL for CRM import and spreadsheet analysis.
|
|
571
621
|
|
|
572
622
|
**How to Request**:
|
|
573
623
|
"Export the results as CSV"
|
|
@@ -583,15 +633,9 @@ Full Name,First Name,Last Name,Title,Company,Location,Email,Phone,LinkedIn URL,P
|
|
|
583
633
|
- Spreadsheet analysis and filtering
|
|
584
634
|
- Team collaboration via Google Sheets
|
|
585
635
|
|
|
586
|
-
**CSV Benefits**:
|
|
587
|
-
- Universal format for all CRM systems
|
|
588
|
-
- Easy filtering and sorting
|
|
589
|
-
- Compatible with email tools
|
|
590
|
-
- Shareable with team members
|
|
591
|
-
|
|
592
636
|
### JSON Export
|
|
593
637
|
|
|
594
|
-
Use
|
|
638
|
+
Use `export_data(cache_key, "json")` to get a download URL for programmatic access and custom integration.
|
|
595
639
|
|
|
596
640
|
**How to Request**:
|
|
597
641
|
"Export the results as JSON"
|
|
@@ -643,7 +687,7 @@ Use JSON format for programmatic access and custom integration.
|
|
|
643
687
|
|
|
644
688
|
Combine LinkedIn data with other platforms for comprehensive lead profiles:
|
|
645
689
|
|
|
646
|
-
**Pattern**: LinkedIn
|
|
690
|
+
**Pattern**: LinkedIn -> Company Website -> Instagram (for B2C)
|
|
647
691
|
|
|
648
692
|
1. Find prospect on LinkedIn
|
|
649
693
|
2. Get company website from LinkedIn company profile
|
|
@@ -653,11 +697,11 @@ Combine LinkedIn data with other platforms for comprehensive lead profiles:
|
|
|
653
697
|
|
|
654
698
|
**Example**:
|
|
655
699
|
```
|
|
656
|
-
1.
|
|
657
|
-
2.
|
|
658
|
-
3.
|
|
659
|
-
4.
|
|
660
|
-
5.
|
|
700
|
+
1. execute("linkedin", "search", "search_users", {"keywords": "Emily Chen", "company_keywords": "FashionBrand"})
|
|
701
|
+
2. execute("linkedin", "company", "get", {"company": "FashionBrand"}) -> Get website URL
|
|
702
|
+
3. execute("webparser", "parse", "parse", {"url": "<website>/contact", "extract_contacts": true}) -> Get phone, email
|
|
703
|
+
4. execute("instagram", "search", "search_users", {"query": "FashionBrand"}) -> Find official account
|
|
704
|
+
5. execute("instagram", "user", "user", {"user": "fashionbrand"}) -> Verify business account, get follower count
|
|
661
705
|
```
|
|
662
706
|
|
|
663
707
|
### Boolean Search Patterns
|
|
@@ -718,18 +762,24 @@ Score prospects based on multiple criteria:
|
|
|
718
762
|
- **50-69**: Qualified - Standard outreach
|
|
719
763
|
- **<50**: Unqualified - Nurture or discard
|
|
720
764
|
|
|
765
|
+
Use `query_cache()` to filter by score thresholds:
|
|
766
|
+
```
|
|
767
|
+
query_cache(cache_key, conditions=[{"field": "score", "operator": ">=", "value": 70}], sort_by=[{"field": "score", "order": "desc"}])
|
|
768
|
+
```
|
|
769
|
+
|
|
721
770
|
### Automated Prospect Enrichment
|
|
722
771
|
|
|
723
772
|
Systematic enrichment workflow for large lists:
|
|
724
773
|
|
|
725
774
|
**Process**:
|
|
726
|
-
1. **Initial Search**: Get 100-500 prospects from LinkedIn search
|
|
727
|
-
2. **
|
|
728
|
-
3. **
|
|
729
|
-
4. **
|
|
730
|
-
5. **
|
|
731
|
-
6. **
|
|
732
|
-
7. **
|
|
775
|
+
1. **Initial Search**: Get 100-500 prospects from LinkedIn search via execute()
|
|
776
|
+
2. **Paginate**: Use get_page() to collect all results beyond the first page
|
|
777
|
+
3. **First Filter**: Use query_cache() to remove obviously unqualified (wrong title, location, etc.)
|
|
778
|
+
4. **Batch Enrichment**: Enrich top 50 prospects with full profiles via execute()
|
|
779
|
+
5. **Email Discovery**: Find emails for top 25 prospects via execute()
|
|
780
|
+
6. **Web Research**: Extract company contacts for remaining prospects
|
|
781
|
+
7. **Final Scoring**: Apply lead scoring framework
|
|
782
|
+
8. **Export**: Use export_data(cache_key, "csv") for top-scored leads
|
|
733
783
|
|
|
734
784
|
**Efficiency Tips**:
|
|
735
785
|
- Start with larger searches (100+) to account for filtering
|
|
@@ -743,6 +793,8 @@ Systematic enrichment workflow for large lists:
|
|
|
743
793
|
|
|
744
794
|
This skill focuses on B2B lead generation where LinkedIn, web scraping, and professional networks provide the most comprehensive data. For local business discovery and contact extraction, the combination of LinkedIn company search and web scraping provides strong coverage.
|
|
745
795
|
|
|
796
|
+
**Note on Crunchbase**: Crunchbase tools are disabled in v2. Use LinkedIn company search and Y Combinator data as alternatives for company research and funding information.
|
|
797
|
+
|
|
746
798
|
### Rate Limits and Timeouts
|
|
747
799
|
|
|
748
800
|
**Default Timeout**: 300 seconds (5 minutes) per MCP tool call
|
|
@@ -753,10 +805,7 @@ This skill focuses on B2B lead generation where LinkedIn, web scraping, and prof
|
|
|
753
805
|
- Make multiple calls for larger lists
|
|
754
806
|
- Allow processing time between batches
|
|
755
807
|
|
|
756
|
-
2. **
|
|
757
|
-
- Company employee searches: 400-500 seconds
|
|
758
|
-
- Profile enrichment: 300-400 seconds
|
|
759
|
-
- Email finding: 400-600 seconds
|
|
808
|
+
2. **Pagination**: Use `get_page(cache_key, offset, limit)` to retrieve additional results without re-executing the search.
|
|
760
809
|
|
|
761
810
|
3. **Parallel Processing**: For independent queries
|
|
762
811
|
- Search multiple locations simultaneously
|
|
@@ -766,32 +815,26 @@ This skill focuses on B2B lead generation where LinkedIn, web scraping, and prof
|
|
|
766
815
|
**Example**:
|
|
767
816
|
```
|
|
768
817
|
Instead of:
|
|
769
|
-
|
|
818
|
+
execute("linkedin", "search", "search_users", {"count": 200}) -> May timeout
|
|
770
819
|
|
|
771
820
|
Do this:
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
821
|
+
execute("linkedin", "search", "search_users", {"count": 50, "location": "California"})
|
|
822
|
+
execute("linkedin", "search", "search_users", {"count": 50, "location": "New York"})
|
|
823
|
+
execute("linkedin", "search", "search_users", {"count": 50, "location": "Texas"})
|
|
824
|
+
execute("linkedin", "search", "search_users", {"count": 50, "location": "Florida"})
|
|
776
825
|
```
|
|
777
826
|
|
|
778
827
|
### Data Freshness
|
|
779
828
|
|
|
780
829
|
**LinkedIn Data**: Real-time access through anysite MCP
|
|
781
|
-
-
|
|
782
|
-
- Profile updates reflected
|
|
830
|
+
- Results cached for 7 days via cache_key (use get_page/query_cache without re-fetching)
|
|
831
|
+
- Profile updates reflected in new execute() calls
|
|
783
832
|
- Company changes visible in real-time
|
|
784
833
|
|
|
785
|
-
**Email Database**: May have stale entries
|
|
786
|
-
- `get_linkedin_user_email_db` returns cached emails
|
|
787
|
-
- Some emails may be outdated
|
|
788
|
-
- Verify before mass outreach
|
|
789
|
-
|
|
790
834
|
**Recommendation**:
|
|
791
|
-
1. Use `
|
|
792
|
-
2.
|
|
793
|
-
3.
|
|
794
|
-
4. Update your CRM when emails bounce
|
|
835
|
+
1. Use `execute("linkedin", "email", "find", {"user": ...})` for email discovery
|
|
836
|
+
2. Validate emails before sending (use email validation service)
|
|
837
|
+
3. Update your CRM when emails bounce
|
|
795
838
|
|
|
796
839
|
### Privacy and Compliance
|
|
797
840
|
|
|
@@ -838,24 +881,21 @@ For advanced techniques and strategies, see:
|
|
|
838
881
|
- Broaden search criteria (remove some filters)
|
|
839
882
|
- Try location variations: "San Francisco", "San Francisco Bay Area", "SF"
|
|
840
883
|
- Use partial titles: "Sales" instead of "Vice President of Sales"
|
|
841
|
-
- Verify company names with `
|
|
884
|
+
- Verify company names with `execute("linkedin", "search", "search_companies", {...})` first
|
|
885
|
+
- Check `llm_hint` in the response for guidance
|
|
842
886
|
|
|
843
887
|
**Example Fix**:
|
|
844
888
|
```
|
|
845
|
-
|
|
846
|
-
title
|
|
847
|
-
location="San Francisco, California"
|
|
848
|
-
company_keywords="Salesforce Inc"
|
|
889
|
+
Too Restrictive:
|
|
890
|
+
execute("linkedin", "search", "search_users", {"title": "Vice President of Enterprise Sales", "location": "San Francisco, California", "company_keywords": "Salesforce Inc"})
|
|
849
891
|
|
|
850
|
-
|
|
851
|
-
title
|
|
852
|
-
location="San Francisco Bay Area"
|
|
853
|
-
company_keywords="Salesforce"
|
|
892
|
+
Better:
|
|
893
|
+
execute("linkedin", "search", "search_users", {"title": "VP Sales OR Head of Sales", "location": "San Francisco Bay Area", "company_keywords": "Salesforce"})
|
|
854
894
|
```
|
|
855
895
|
|
|
856
896
|
#### 2. Email Not Found
|
|
857
897
|
|
|
858
|
-
**Symptoms**:
|
|
898
|
+
**Symptoms**: Email find returns no results
|
|
859
899
|
|
|
860
900
|
**Causes**:
|
|
861
901
|
- Email not in database
|
|
@@ -863,16 +903,15 @@ company_keywords="Salesforce"
|
|
|
863
903
|
- Email verification required
|
|
864
904
|
|
|
865
905
|
**Solutions**:
|
|
866
|
-
1.
|
|
867
|
-
2.
|
|
868
|
-
3.
|
|
869
|
-
4. Check for email in LinkedIn profile "Contact Info" section
|
|
906
|
+
1. Extract email from company website instead
|
|
907
|
+
2. Use email pattern guessing (firstname.lastname@company.com)
|
|
908
|
+
3. Check for email in LinkedIn profile "Contact Info" section
|
|
870
909
|
|
|
871
910
|
**Alternative Workflow**:
|
|
872
911
|
```
|
|
873
|
-
1.
|
|
874
|
-
2.
|
|
875
|
-
3.
|
|
912
|
+
1. execute("linkedin", "user", "get", {"user": "<username>"}) -> Get current company
|
|
913
|
+
2. execute("linkedin", "company", "get", {"company": "<company>"}) -> Get company website
|
|
914
|
+
3. execute("webparser", "parse", "parse", {"url": "<website>/contact", "extract_contacts": true}) -> Extract company emails
|
|
876
915
|
4. Use email pattern: first.last@companydomain.com
|
|
877
916
|
```
|
|
878
917
|
|
|
@@ -887,26 +926,18 @@ company_keywords="Salesforce"
|
|
|
887
926
|
|
|
888
927
|
**Solutions**:
|
|
889
928
|
- Reduce `count` parameter (try 25-50 instead of 100+)
|
|
890
|
-
- Increase `request_timeout` to 400-600 seconds
|
|
891
929
|
- Break large searches into multiple smaller searches
|
|
892
930
|
- Simplify search criteria
|
|
931
|
+
- Check `llm_hint` for retry guidance
|
|
893
932
|
|
|
894
933
|
**Example**:
|
|
895
934
|
```
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
title="Software Engineer",
|
|
899
|
-
count=500,
|
|
900
|
-
request_timeout=300
|
|
901
|
-
)
|
|
935
|
+
May Timeout:
|
|
936
|
+
execute("linkedin", "search", "search_users", {"title": "Software Engineer", "count": 500})
|
|
902
937
|
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
count=50,
|
|
907
|
-
request_timeout=400
|
|
908
|
-
)
|
|
909
|
-
# Then make additional calls for more results
|
|
938
|
+
Better:
|
|
939
|
+
execute("linkedin", "search", "search_users", {"title": "Software Engineer", "count": 50})
|
|
940
|
+
# Then use get_page(cache_key, next_offset, 50) for additional results
|
|
910
941
|
```
|
|
911
942
|
|
|
912
943
|
#### 4. Incomplete Profile Data
|
|
@@ -919,8 +950,7 @@ search_linkedin_users(
|
|
|
919
950
|
- Profile hasn't been updated
|
|
920
951
|
|
|
921
952
|
**Solutions**:
|
|
922
|
-
- Set `with_experience
|
|
923
|
-
- Try getting detailed experience with `get_linkedin_user_experience`
|
|
953
|
+
- Set `with_experience`, `with_education`, `with_skills` to true in params
|
|
924
954
|
- Accept incomplete data and supplement with web research
|
|
925
955
|
- Focus on prospects with complete profiles
|
|
926
956
|
|
|
@@ -945,6 +975,7 @@ search_linkedin_users(
|
|
|
945
975
|
- Verify MCP server is running and configured
|
|
946
976
|
- Check MCP server logs for errors
|
|
947
977
|
- Ensure authentication is set up correctly
|
|
978
|
+
- Check `llm_hint` field in error responses for actionable guidance
|
|
948
979
|
|
|
949
980
|
**Skill-Specific Questions**:
|
|
950
981
|
- Review reference documentation in `references/` folder
|
|
@@ -955,6 +986,7 @@ search_linkedin_users(
|
|
|
955
986
|
- Validate search criteria before large batches
|
|
956
987
|
- Test with small `count` values first
|
|
957
988
|
- Review data quality in chat summary before export
|
|
989
|
+
- Use `query_cache()` to filter low-quality results
|
|
958
990
|
|
|
959
991
|
**Integration Problems**:
|
|
960
992
|
- Verify CSV format matches your CRM requirements
|
|
@@ -969,11 +1001,11 @@ search_linkedin_users(
|
|
|
969
1001
|
|
|
970
1002
|
**Process**:
|
|
971
1003
|
1. Define ICP: VP/Director level, Enterprise Software, 500-5000 employees
|
|
972
|
-
2. Search LinkedIn: `title
|
|
973
|
-
3. Filter by company size using `
|
|
1004
|
+
2. Search LinkedIn: `execute("linkedin", "search", "search_users", {"title": "VP Sales", "company_keywords": "Enterprise Software", "count": 100})`
|
|
1005
|
+
3. Filter by company size using `execute("linkedin", "search", "search_companies", {...})`
|
|
974
1006
|
4. Enrich top 30 prospects with full profiles
|
|
975
1007
|
5. Find emails for top 20 prospects
|
|
976
|
-
6. Export CSV for Salesforce import
|
|
1008
|
+
6. Export CSV via `export_data(cache_key, "csv")` for Salesforce import
|
|
977
1009
|
|
|
978
1010
|
**Success Metrics**:
|
|
979
1011
|
- 100 prospects found and qualified
|
|
@@ -986,8 +1018,8 @@ search_linkedin_users(
|
|
|
986
1018
|
**Goal**: Source 50 Python engineers for startup
|
|
987
1019
|
|
|
988
1020
|
**Process**:
|
|
989
|
-
1. Search: `keywords
|
|
990
|
-
2. Filter:
|
|
1021
|
+
1. Search: `execute("linkedin", "search", "search_users", {"keywords": "Python Django AWS", "title": "Software Engineer", "location": "Remote", "count": 100})`
|
|
1022
|
+
2. Filter: Use `query_cache()` to remove <2 years experience
|
|
991
1023
|
3. Enrich: Get skills and education for top 50
|
|
992
1024
|
4. Score: Rank by skills match and experience level
|
|
993
1025
|
5. Contact: Find emails for top 25
|
|
@@ -1004,9 +1036,9 @@ search_linkedin_users(
|
|
|
1004
1036
|
**Goal**: Find potential integration partners in marketing tech
|
|
1005
1037
|
|
|
1006
1038
|
**Process**:
|
|
1007
|
-
1. Search companies: `keywords
|
|
1008
|
-
2. Identify decision-makers: `title
|
|
1009
|
-
3. Research: Get company details and recent LinkedIn posts
|
|
1039
|
+
1. Search companies: `execute("linkedin", "search", "search_companies", {"keywords": "marketing automation", "employee_count": ["51-200"]})`
|
|
1040
|
+
2. Identify decision-makers: `execute("linkedin", "search", "search_users", {"title": "VP Product OR Head of Partnerships", "company_keywords": "<company>"})`
|
|
1041
|
+
3. Research: Get company details and recent LinkedIn posts via `execute("linkedin", "post", "get_user_posts", {"user": ...})`
|
|
1010
1042
|
4. Enrich: Full profiles for all decision-makers
|
|
1011
1043
|
5. Personalize: Reference their product and use cases
|
|
1012
1044
|
6. Multi-channel: LinkedIn + email outreach
|