skills/integrations/happenstance/happenstance-connect/SKILL.md
Search and research LinkedIn connections via Happenstance API. Use when user says: 'search my network', 'find someone on LinkedIn', 'research a person', 'who do I know that...', 'happenstance search', 'look up a contact'.
npx skillsauth add beam-ai-team/beam-next-skills happenstance-connectInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Search your LinkedIn network and research people using the Happenstance API.
Before starting a search/research job, polling paid results, or saving/exporting people data, show the query, group/account scope, credit impact, result limit, destination path, and personal data fields included. Require explicit user approval in the current turn before spending credits, exporting results, or writing files. Checking usage or listing groups does not require approval.
| Action | Endpoint | Method | Credits |
|--------|----------|--------|---------|
| Search network | /v1/search | POST → poll GET | Yes |
| Research person | /v1/research | POST → poll GET | Yes |
| Find more results | /v1/search/{id}/find-more | POST | Yes |
| List groups | /v1/groups | GET | No |
| Check credits | /v1/usage | GET | No |
Base URL: https://api.happenstance.ai
Auth: Authorization: Bearer $HAPPENSTANCE_API_KEY
API Key Location: 02-projects/Personal/projects/04-personal-crm/.env
Find people matching a description within your LinkedIn connections.
When to use: "Find AI engineers I know", "Who in my network works in VC?", "Find Berlin-based founders"
Step 1: Submit search
curl -X POST https://api.happenstance.ai/v1/search \
-H "Authorization: Bearer $HAPPENSTANCE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "engineers who have worked on AI infrastructure",
"include_my_connections": true
}'
Response: { "id": "search-uuid", "url": "https://happenstance.ai/search/search-uuid" }
Step 2: Poll for results (every 5-10 seconds, typically 30-60 sec)
curl -X GET https://api.happenstance.ai/v1/search/{search_id} \
-H "Authorization: Bearer $HAPPENSTANCE_API_KEY"
Poll until status = COMPLETED. Results include:
{
"results": [
{
"id": "person-uuid",
"name": "Jane Smith",
"current_title": "Staff Engineer",
"current_company": "OpenAI",
"summary": "Led infrastructure team...",
"weighted_traits_score": 2.5,
"socials": {
"happenstance_url": "https://happenstance.ai/u/person-uuid",
"linkedin_url": "https://linkedin.com/in/janesmith"
}
}
],
"has_more": true
}
Step 3: Get more results (if has_more = true)
curl -X POST https://api.happenstance.ai/v1/search/{search_id}/find-more \
-H "Authorization: Bearer $HAPPENSTANCE_API_KEY"
Then poll again. Returns up to 30 results per page.
Parameters:
| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| text | string | required | Natural language search query |
| include_my_connections | boolean | false | Search your own LinkedIn connections |
| include_friends_connections | boolean | false | Search your friends' connections too |
| group_ids | string[] | null | Search within specific groups |
Generate a detailed profile about a specific person.
When to use: "Research Garry Tan", "Get details on this person before a meeting", "What does [name] do?"
Step 1: Submit research request
curl -X POST https://api.happenstance.ai/v1/research \
-H "Authorization: Bearer $HAPPENSTANCE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"description": "Garry Tan Y Combinator CEO"
}'
Tips for better results: Include full name, company, title, location, social handles.
Response: { "id": "research-uuid" }
Step 2: Poll for results (every 5-10 sec, typically 1-3 min)
curl -X GET https://api.happenstance.ai/v1/research/{research_id} \
-H "Authorization: Bearer $HAPPENSTANCE_API_KEY"
Status can be: RUNNING, COMPLETED, FAILED, FAILED_AMBIGUOUS
Completed response includes:
{
"profile": {
"person_metadata": {
"full_name": "Garry Tan",
"alternate_names": [],
"profile_urls": ["linkedin_url", "twitter_url"],
"current_locations": [{ "location": "San Francisco, CA" }],
"tagline": "President and CEO of Y Combinator"
},
"employment": [
{
"company_name": "Y Combinator",
"job_title": "President and CEO",
"start_date": "2022",
"end_date": null,
"description": "Leads YC..."
}
],
"summary": {
"text": "Detailed bio summary...",
"urls": ["source_urls"]
}
}
}
Max concurrent research: 10 requests (429 if exceeded)
curl -X GET https://api.happenstance.ai/v1/usage \
-H "Authorization: Bearer $HAPPENSTANCE_API_KEY"
Returns credit balance, purchase history, and usage.
curl -X GET https://api.happenstance.ai/v1/groups \
-H "Authorization: Bearer $HAPPENSTANCE_API_KEY"
Returns group IDs that can be used in search queries.
When using Happenstance results to populate Attio:
attio-connect skill to:
attio-connect| Status | Meaning | Action | |--------|---------|--------| | 400 | Bad request | Check query format | | 401 | Unauthorized | Check API key | | 402 | Insufficient credits | Check balance, purchase more | | 429 | Too many requests | Wait for existing research to complete (max 10 concurrent) | | 500 | Server error | Retry after 30 seconds |
attio-connect — Create/update contacts in Attio CRM after searchinglead-research — Full lead research workflow (can use Happenstance as a source)tools
Build a Palantir-shape, PDF-native use-case proposal document for a sophisticated enterprise account: research-grounded use cases (each with description, challenge, impact, value), an operating-graph ontology page, a recommended PoC with a week-by-week plan, and a closing page that asks for one decision. Load when a client asks us to 'propose high-impact use cases', requests a use-case presentation/catalog for a function (finance, HR, ops), or when a technical evaluation team will review candidates to pick a PoC. NOT for single-account cold outreach (use prospect-brief), full process diagnostics (use operating-diagnostic), or priced proposals (use proposal-creation).
development
Convert Beam Figma slide designs into high-fidelity, editable HTML presentation decks. Use when Codex is asked to audit Figma slides, extract slide templates, rebuild Beam slides as HTML decks, decide whether Figma imagery should be exported or rebuilt in HTML/CSS, create Beam/Prism-compatible deck templates, or improve fidelity of existing Beam HTML slide rebuilds.
development
Use the Beam AI reusable slide library: individual HTML slide templates extracted from Beam Figma rebuilds, kept separate from deck themes and full deck templates. Load when the user asks for a slide library, specific Beam slide patterns, reusable Figma-inspired slides, Prism slide-library items, or slide-level HTML templates.
development
Use Beam AI deck and report design packs, HTML templates, and curated examples to create sales decks, customer intro decks, RPO decks, and DIN A4 use-case proposal reports. Load when the user asks for Beam-branded presentation templates, Prism-compatible deck templates, Beam report templates, customer intro decks, commercial proposals, or reusable HTML deck/report examples.