Platform

Your fund's data, structured and durable.

Bring your own agents. We handle storage, math, and the LP-facing surface.

See API docs Generate an API key

How it flows

Five stages. The middle three are ours; the first and last are yours. The arrows are not a metaphor — they're HTTP.

SourcesWhere data lives
Email, web, PDFs, calendar
Your AgentsHow it gets pulled
OpenClaw, n8n, Zapier, custom code
GPAgent API/api/v1/portfolio/*
Bearer-keyed, org-scoped, multi-tenant
Storage + MathWhat we keep
Updates, snapshots, customers, fund stats
Dashboard + LP PortalWhere it shows up
War room, company pages, gated LP view

Live example: Element 14 Capital

data as of 2026-05-08

One organization, two vehicles, real numbers from the Sunday fund-intelligence extraction.

17
Portfolio companies tracked
across 2 vehicles
32
Investor updates structured
durable, idempotent on sourceRef
27
Metric snapshots extracted
append-only time series
44
Customer logos tracked
with churn lifecycle
Fund I
LP-backed fund
fund-i
$224k
portfolio ARR
active customers11
companies tracked11
extraction cadenceweekly
Pre-Fund I
Personal angel book
pre-fund-i
$301k
portfolio ARR
active customers8
F500 customers (Citi, Goldman) in PILOT2
companies tracked6
E
Endorsed
Pre-Fund I · Active
UpdatesMetricsCustomersGaps
ARR (USD)
$301,000
Last 7 monthly snapshots · extracted weekly from raw investor updates
Customers
CitiF500PILOT
Goldman SachsF500PILOT
VISAF500PILOT

Stylized preview of the company-detail page in GPAgent. Real GP customers see their own data here, with the same tabs and structure.

Bring your own agent

Same API. Three paths. Pick the one that fits your stack.

openclaw — email-triage.md
# In OpenClaw, an investor-update email arrives via the gmail watch.
# The triage skill is purely clerical — POST raw email to GPAgent. No parsing.

curl -X POST https://www.gpagent.ai/api/v1/portfolio/companies/$SLUG/investor-updates \
  -H "Authorization: Bearer $GPAGENT_API_KEY" \
  -H "Content-Type: application/json" \
  -d "$(jq -n \
    --arg sourceRef "$GMAIL_THREAD_ID" \
    --arg from "$FROM_ADDRESS" \
    --arg subj "$SUBJECT" \
    --arg body "$EMAIL_BODY" \
    '{source: "email", sourceRef: $sourceRef,
      receivedAt: (now | todateiso8601 | sub("\\+00:00$"; "Z")),
      fromAddress: $from, subject: $subj, rawBody: $body}')"

# Idempotent on sourceRef — re-run safely. The Sunday fund-intelligence cron
# extracts metrics + customers + recomputes fund stats from the raw rows.

Full skill spec at docs.openclaw.ai. Element 14 runs this exact pipeline today — every investor-update email lands in GPAgent within minutes, the Sunday fund-intelligence cron extracts metrics, and the dashboard updates.

What you get

Storage and structure are the unglamorous middle of the pipeline. We do them so your agents don't have to.

Durable raw recordkeeping
Every investor update preserved verbatim. Idempotent on sourceRef so replays are free.
Time-series metric snapshots
ARR, MRR, cash, burn, runway, headcount — extracted weekly into append-only rows.
Customer logo tracking
Tier classification (F100/F500/Enterprise/Mid/SMB) with full churn lifecycle.
Computed fund-level stats
Portfolio ARR growth, F500 logo coverage, marked + implied valuations. Recomputed and cached.
"Help your agents" UI
When extraction hits an unreadable attachment or ambiguous customer, GPAgent surfaces a fillable gap.
Multi-vehicle, multi-tenant data walls
Every row is org-scoped. Cross-org access returns 404. Audit table lives in code.
Public OpenAPI spec + reference
Bearer-keyed v1 API, machine-readable spec, human-readable docs. Stable on each minor.

Onboarding a fund?

Talk to us. We'll set up your vehicle, hand you an API key, and walk through whichever ingest path fits your stack.

Talk to us about onboarding Read the API docs