Install
openclaw skills install @upkuajing/linkedin-person-colleagueFind internal colleagues through company‑ID and personnel‑ID on LinkedIn. Map organizational structures and gather contacts for sales outreach and account intelligence. Trigger: LinkedIn colleague lookup, map organizational relationships, internal team discovery, account intelligence research, B2B contact expansion
openclaw skills install @upkuajing/linkedin-person-colleagueQuery colleague data from LinkedIn using the UpKuaJing Open Platform API.
This skill provides access to colleague information from UpKuaJing's LinkedIn data. Given a company ID (pid) and a person ID (hid), it returns the list of colleagues with their person IDs and job titles.
Prerequisite: Both the company ID (pid) and person ID (hid) are required as input. If the user does not already have them, use the linkedin-person-search skill first to search for the target person and obtain their pid and hid, then proceed with this skill.
python --versionpip install -r requirements.txtScript directory: scripts/*.py
Run example: python scripts/*.py
Important: Always use direct script invocation like python scripts/linkedin_person_colleague_list.py. Do NOT use shell compound commands like cd scripts && python linkedin_person_colleague_list.py
linkedin_person_colleague_list.py)This skill requires an API key. The API key is stored in the ~/.upkuajing/.env file:
cat ~/.upkuajing/.env
Example file content:
UPKUAJING_API_KEY=your_api_key_here
First check if the ~/.upkuajing/.env file has UPKUAJING_API_KEY;
If UPKUAJING_API_KEY is not set, prompt the user to choose:
auth.py --new_key), the new key will be automatically saved to ~/.upkuajing/.env
Wait for user selection;When API response indicates insufficient balance, explain and guide user to top up:
auth.py --new_rec_order)Use this script to get account information for UPKUAJING_API_KEY: auth.py --account_info
When an API call fails or returns abnormal data (server error, timeout, malformed response, etc.), explain the anomaly to the user in natural language and ask whether to report it to the platform for troubleshooting. Only run the report after user confirmation:
python scripts/error_report.py --params '{"requestPath":"/agent/search/linkedin/person/colleague/list","requestId":"f47ac10b58cc4372a5670e02b2c3d479","context":"LinkedIn colleague list query failed with a server error"}'
All API calls incur fees, different interfaces have different billing methods.
Latest pricing: Users can visit Detailed Price Description
Or use: python scripts/auth.py --price_info (returns complete pricing for all interfaces)
Billed by number of calls, each call returns one page of colleague records:
--cursor to get additional pages (each page is a separate call)Any operation that incurs fees must first inform and wait for explicit user confirmation. Do not execute in the same message as the notification.
| User Intent | Use API |
|---|---|
| "Find colleagues of person H_67890 at company US_12345" | Colleague List Query |
| User has a person/company name but no pid/hid | linkedin-person-search (find the person and get pid/hid, then use this skill) |
User request: "Find colleagues of person H_67890 at company US_12345"
python scripts/linkedin_person_colleague_list.py --pid US_12345 --hid H_67890
Get next page (use cursor returned from previous response):
python scripts/linkedin_person_colleague_list.py --pid US_12345 --hid H_67890 --cursor 'cursor_string_from_previous_response'
UPKUAJING_API_KEY in ~/.upkuajing/.env filepython scripts/error_report.py (see Report Skill Call Errors)Check API documentation:
Query parameters:
Pagination:
cursor, more data is availablecursor value to get the next pagecursor means there is no more datahid as the person unique identifier; pid is the company identifiertitleNames is a list of job title strings for each colleaguepython scripts/auth.py --price_info to get accurate pricing informationOther UpKuaJing skills you might find useful: