OpenClaw Skillv1.0.0

Happenstance

Dylan Gossby Dylan Goss
Deploy on EasyClawdfrom $14.9/mo

Search your professional network and research people using the Happenstance API.

How to use this skill

OpenClaw skills run inside an OpenClaw container. EasyClawd deploys and manages yours — no server setup needed.

  1. Sign up on EasyClawd (2 minutes)
  2. Connect your Telegram bot
  3. Install Happenstance from the skills panel
Get started — from $14.9/mo
8stars
410downloads
0comments
1versions

Latest Changelog

Initial release — Happenstance API skill

- Search your professional network and research people using the Happenstance API.
- Start asynchronous network searches, research profiles, and page through results.
- List available groups to search, and check credit/usage balances.
- Includes detailed instructions for authentication, error handling, and tips for better results.
- Requires HAPPENSTANCE_API_KEY environment variable and curl.

Tags

latest: 1.0.0

Skill Documentation

---
name: happenstance
description: Search your professional network and research people using the Happenstance API.
metadata:
  openclaw:
    requires:
      env:
        - HAPPENSTANCE_API_KEY
      bins:
        - curl
    primaryEnv: HAPPENSTANCE_API_KEY
---

# Happenstance

Search your network and get detailed research profiles on people using the Happenstance API.

Documentation: https://developer.happenstance.ai

## Authentication

All requests require the `HAPPENSTANCE_API_KEY` environment variable. Pass it as a Bearer token:

```
Authorization: Bearer $HAPPENSTANCE_API_KEY
```

Base URL: `https://api.happenstance.ai`

## Billing

- **Search**: 2 credits per search (including find-more)
- **Research**: 1 credit per completed research
- Check balance with `GET /v1/usage`
- Purchase credits at https://happenstance.ai/settings/api

## Available Operations

### 1. Search Your Network

Search for people across groups and connections. Searches run asynchronously.

**Start a search:**

```bash
curl -s -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,
    "include_friends_connections": true
  }'
```

You can also search within specific groups by adding `"group_ids": ["uuid1", "uuid2"]`. Get group IDs from `GET /v1/groups`.

At least one search source is required: `group_ids`, `include_my_connections: true`, or `include_friends_connections: true`.

**Response:**

```json
{"id": "search-uuid", "url": "https://happenstance.ai/search/search-uuid"}
```

**Poll for results** (every 5-10 seconds until status is `COMPLETED` or `FAILED`):

```bash
curl -s https://api.happenstance.ai/v1/search/SEARCH_ID \
  -H "Authorization: Bearer $HAPPENSTANCE_API_KEY"
```

**Completed response includes:**

- `status`: `RUNNING`, `COMPLETED`, or `FAILED`
- `results`: array of people, each with `id`, `name`, `current_title`, `current_company`, `summary`, `weighted_traits_score`, `socials` (with `happenstance_url`, `linkedin_url`, `twitter_url`), `mutuals`, and `traits`
- `has_more`: boolean indicating if more results are available
- `mutuals`: top-level array of mutual connections (results reference these by index)
- `traits`: top-level array of trait definitions (results reference these by index)

### 2. Find More Results

When `has_more` is `true` on a completed search, get additional results that exclude all previously returned people. Costs 2 credits.

```bash
curl -s -X POST https://api.happenstance.ai/v1/search/SEARCH_ID/find-more \
  -H "Authorization: Bearer $HAPPENSTANCE_API_KEY"
```

**Response:**

```json
{"page_id": "page-uuid", "parent_search_id": "search-uuid"}
```

Then poll with the page_id:

```bash
curl -s "https://api.happenstance.ai/v1/search/SEARCH_ID?page_id=PAGE_ID" \
  -H "Authorization: Bearer $HAPPENSTANCE_API_KEY"
```

### 3. Research a Person

Get a detailed professional profile for a specific person. Runs asynchronously.

**Start research:**

```bash
curl -s -X POST https://api.happenstance.ai/v1/research \
  -H "Authorization: Bearer $HAPPENSTANCE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"description": "Garry Tan, CEO of Y Combinator, @garrytan on Twitter"}'
```

Include as many details as possible (full name, company, title, location, social handles) for best results.

**Response:**

```json
{"id": "research-uuid"}
```

**Poll for results** (every 5-10 seconds until status is `COMPLETED`, `FAILED`, or `FAILED_AMBIGUOUS`):

```bash
curl -s https://api.happenstance.ai/v1/research/RESEARCH_ID \
  -H "Authorization: Bearer $HAPPENSTANCE_API_KEY"
```

**Completed response includes a `profile` object with:**

- `person_metadata`: `full_name`, `alternate_names`, `profile_urls`, `current_locations`, `tagline`
- `employment`: array of jobs with `company_name`, `job_title`, `start_date`, `end_date`, `description`
- `education`: array with `university_name`, `degree`, `start_date`, `end_date`
- `projects`: array with `title`, `description`, `urls`
- `writings`: array of publications with `title`, `description`, `date`, `urls`
- `hobbies`: array with `description`
- `summary`: overall `text` summary with supporting `urls`

### 4. List Groups

Get the groups you can search within:

```bash
curl -s https://api.happenstance.ai/v1/groups \
  -H "Authorization: Bearer $HAPPENSTANCE_API_KEY"
```

Returns `{"groups": [{"id": "uuid", "name": "Group Name"}, ...]}`.

### 5. Check Credits and Usage

```bash
curl -s https://api.happenstance.ai/v1/usage \
  -H "Authorization: Bearer $HAPPENSTANCE_API_KEY"
```

Returns `balance_credits`, `has_credits`, `purchases`, `usage` history, and `auto_reload` settings.

## Error Handling

Errors use RFC 7807 format:

```json
{"type": "about:blank", "title": "Bad Request", "status": 400, "detail": "Description must not be empty", "instance": "/v1/research"}
```

Key status codes:
- `401`: Invalid or missing API key
- `402`: Insufficient credits
- `429`: Too many concurrent requests (max 10 running searches or research requests)
- `500`/`503`: Server error, retry with backoff

## Tips

- Always check credits before starting multiple searches or research requests.
- Search typically completes in 30-60 seconds. Research takes 1-3 minutes.
- Each search returns up to 30 results. Use find-more for additional pages.
- When presenting search results, include the person's name, title, company, summary, and Happenstance profile link.
- When presenting research, summarize the profile and link to sources.
- The more data sources the user connects, the better the search results.
Security scan, version history, and community comments: view on ClawHub