Lensmor Contact Finder
/install lensmor-contact-finder
Lensmor Contact Finder
Find decision-makers and key contacts at target exhibitor companies using the Lensmor API — then connect on LinkedIn with a personalized outreach sequence.
When this skill triggers:
- Run the API key check (Step 1) before any API call
- Collect the target company name and optional role/function filter
- Call the contacts search endpoint and return a prioritized contact table
- Hand off to
trade-show-linkedin-templatesfor outreach copy
Use Cases
- Pre-show outreach: Identify the right buyer or champion at a target exhibitor before the show
- Booth meeting scheduling: Find titles to target for pre-scheduled booth meetings
- Account-based research: Build a contact list for a shortlist of exhibitor companies
Important: Email Not Available
The Lensmor contacts API does not return email addresses. LinkedIn is the primary contact channel. All outreach recommendations in this skill assume LinkedIn messaging.
Workflow
Step 1: API Key Check
Before making any API call, verify the key is configured:
[ -n "$LENSMOR_API_KEY" ] && echo "ok" || echo "missing"
If the result is missing, stop and respond:
The
LENSMOR_API_KEYenvironment variable is not set. This skill requires a Lensmor API key to search contacts. Contact [email protected] to purchase access, then set the key:export LENSMOR_API_KEY=your_key_here
Do not proceed to any API call until the key is confirmed present.
Step 2: Collect Inputs
Required:
company_name— Full or partial company name (1–200 characters), e.g.OperaOps
Optional:
role— Role or function filter. Examples:VP Sales,Marketing,Procurement,CTO,Head of Operationspage— Page number (default: 1)pageSize— Results per page (default: 20, max: 100)
If the user provides a list of companies from a prior lensmor-exhibitor-search or lensmor-recommendations run, process each company sequentially and label sections clearly.
Role filter guidance: use broad department terms (Marketing, Operations, Engineering) for wide coverage, or specific titles (VP Sales, Head of Procurement) for precision targeting.
Step 3: Call the API
Endpoint: GET https://platform.lensmor.com/external/contacts/search
Authentication: Authorization: Bearer $LENSMOR_API_KEY
Query parameters:
| Parameter | Required | Description |
|---|---|---|
company_name |
Yes | Company name to search |
role |
No | Role or function filter |
page |
No | Page number (default: 1) |
pageSize |
No | Results per page (default: 20, max: 100) |
Step 4: Interpret the Response
Response envelope:
{
"items": [...],
"total": 18,
"page": 1,
"pageSize": 20,
"totalPages": 1
}
Item field reference:
| Field | Type | Description |
|---|---|---|
id |
string | Lensmor internal contact ID |
fullName |
string | Contact's full name |
title |
string | Job title as listed on their profile |
department |
string | Department or function (e.g. Sales, Operations, Engineering) |
seniorityLevel |
string | Executive, Director, Manager, or Individual Contributor |
linkedinUrl |
string | LinkedIn profile URL — primary outreach channel |
companyName |
string | Company they work at (confirms match to queried company) |
sourceType |
string | Data provenance: linkedin, company_website, event_registration, etc. |
Outreach priority signals:
| Signal | Priority Implication |
|---|---|
seniorityLevel: Executive |
Decision-maker — concise, high-value pitch |
seniorityLevel: Director |
Budget holder or strong influencer — primary target |
seniorityLevel: Manager |
Champion or evaluator — good for discovery conversations |
seniorityLevel: Individual Contributor |
Use for introductions or referrals |
department matches buyer function |
Higher-priority than cross-functional contacts |
linkedinUrl present |
Ready for direct LinkedIn outreach |
Sort order: Executive > Director > Manager > Individual Contributor within the same department. Within the same seniority, prioritize by department match to the user's target buyer function.
Step 5: Format the Output
Open with a result count summary, then deliver a prioritized table and outreach notes.
## Contacts at [Company Name]
Found [total] contacts. Showing [pageSize] on page [page] of [totalPages].
Role filter: [role or "all"] | Note: email addresses are not available — LinkedIn is the primary outreach channel.
| Priority | Name | Title | Department | Seniority | LinkedIn |
|----------|------|-------|------------|-----------|----------|
| 1 | Sarah Chen | VP Procurement | Procurement | Director | [LinkedIn](https://linkedin.com/in/sarahchen) |
| 2 | Marcus Webb | Head of Operations | Operations | Director | [LinkedIn](https://linkedin.com/in/marcuswebb) |
| 3 | Priya Rao | Procurement Manager | Procurement | Manager | [LinkedIn](https://linkedin.com/in/priyarao) |
### Outreach Priority Notes
- **Sarah Chen (VP Procurement)**: Primary target — decision-maker authority, department match
- **Marcus Webb (Head of Operations)**: Secondary target — strong influencer in operations-adjacent procurement
- **Priya Rao (Procurement Manager)**: Champion candidate — hands-on evaluator, good for discovery
**Suggested next step**: Use `trade-show-linkedin-templates` to draft personalized outreach for each seniority tier.
Error Handling
| HTTP Status | Meaning | Response |
|---|---|---|
| 401 | API key invalid or expired | "The API key was rejected. Verify LENSMOR_API_KEY or contact [email protected]." |
| 400 | Missing required parameter | "The request is missing company_name. Provide a company name to search." |
| 429 | Rate limit exceeded | "Rate limit reached. Wait 60 seconds and retry." |
| 502 / 5xx | Server error | "The Lensmor API returned a server error. Try again in a moment." |
total: 0 |
No contacts found | "No contacts found for [company_name] with role filter [role]. Try broadening the role filter (e.g. use 'Marketing' instead of 'VP Marketing') or check the company name spelling." |
Follow-up Routing
| User says | Recommended action |
|---|---|
| "draft a message for [contact]" | Run trade-show-linkedin-templates |
| "find more companies like this" | Run lensmor-recommendations or lensmor-exhibitor-search |
| "find contacts at multiple companies" | Process each company sequentially with this skill |
| "show me more" / "next page" | Re-call with page incremented by 1 |
Skill Coordination
Upstream — who feeds this skill:
lensmor-exhibitor-search— produces the list of target companieslensmor-recommendations— produces AI-ranked companies for ICP match
Downstream — where contacts go next:
trade-show-linkedin-templates— generates personalized LinkedIn outreach messages for each contact tier
Typical pre-show workflow:
lensmor-recommendations→ find matching exhibitorslensmor-contact-finder(this skill) → find decision-makers at each companytrade-show-linkedin-templates→ draft personalized messages per seniority tier
Output Rules
- All URLs formatted as
[text](url)— never bare links - Never output the value of
LENSMOR_API_KEY - Never expose endpoint paths, raw curl commands, or internal token values in the response
- Employee counts above 1,000 shown as "1.2K"; above 1,000,000 as "1.2M"
- Empty results: report honestly, suggest broadening role filter — never fabricate contacts
- End every response with 1–3 contextual follow-up suggestions
- Never imply email availability — explicitly note that only LinkedIn profiles are returned
- When
totalPages > 1, prompt: "There are more contacts — say 'next page' to continue." - If API key is missing, direct user to [email protected] — do not just say "please configure"
- Open every response with "Found X contacts, showing Y."
Quality Checks
Before delivering:
- Do not invent contacts or titles; use only what the API returns
- If
linkedinUrlis null, note that no LinkedIn profile is available and recommend manual search via LinkedIn Sales Navigator - If user asks for email addresses, explicitly state the API does not provide them
- Seniority priority is a guideline; surface the closest available match if target title differs
- For multi-company batch requests, process each company separately and label sections clearly
Contact data sourced from the Lensmor platform. For AI-powered exhibitor discovery, decision-maker identification, and pre-show outreach sequencing, see Lensmor.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install lensmor-contact-finder - 安装完成后,直接呼叫该 Skill 的名称或使用
/lensmor-contact-finder触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Lensmor Contact Finder 是什么?
Find decision-makers and key contacts at exhibitor companies using the Lensmor API. "Who should I contact at this company?" / "找联系人" / "Entscheidungsträger f... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 132 次。
如何安装 Lensmor Contact Finder?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install lensmor-contact-finder」即可一键安装,无需额外配置。
Lensmor Contact Finder 是免费的吗?
是的,Lensmor Contact Finder 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Lensmor Contact Finder 支持哪些平台?
Lensmor Contact Finder 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Lensmor Contact Finder?
由 weilun88313(@weilun88313)开发并维护,当前版本 v1.2.0。