Subscribe our webhook → send Customer.io events → trigger the exact right message the hour a prospect or customer raises. No engineering, no stale data, no missed moment.
Subscribe to our /v1/webhooks with filters. Our POST → tiny middleware → Customer.io `track` event. Triggers campaigns within minutes of public announcement.
Map `fundingRound`, `fundingAmount`, `investors[]`, `hiringSignal` into Customer.io person attributes. Segmentation rules like 'people who raised Seed in last 7 days AND are hiring' work out of the box.
Opt into our batch mode with `filters.batch = true` — one POST with up to N matches. Your middleware Loops through and calls Customer.io's identify endpoint efficiently within their rate limits.
Customer.io's `visual builder` → 'when person's funding_round changes to Seed → send email A' — fires the hour they raise. Subject line: 'Saw your Seed — 15 min about [your product]?'
Customer.io fires email + in-app + SMS from the same trigger. Our webhook is the single source of truth; Customer.io handles orchestration.
Free FundedAPI + Customer.io's generous event allowances = zero-dollar lifecycle stack for early-stage marketing teams.
POST /v1/search/ai
{ "query": "When a prospect's company raises Seed in AI → send 'Fresh Funding' email, add to 'Warm Seed Leads' segment, flip account to 'Active Expansion' lifecycle stage" }# One-time setup — register our webhook
curl -X POST "https://fundedapi.com/v1/webhooks" \
-H "Authorization: Bearer $FUNDED_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-middleware.fly.dev/hook",
"filters": {
"niche": "AI",
"round": "Seed",
"batch": true
}
}'
# Your middleware (~20 lines, any runtime) — Cloudflare Worker example:
export default {
async fetch(req, env) {
// 1. Verify HMAC (use @getfundedapi/client helper)
const { verifyWebhookSignature } = await import("@getfundedapi/client");
const body = await req.text();
const ok = await verifyWebhookSignature({
secret: env.FUNDED_WEBHOOK_SECRET,
payload: body,
signature: req.headers.get("X-FundedAPI-Signature"),
});
if (!ok) return new Response("bad sig", { status: 401 });
// 2. Forward to Customer.io track API
const evt = JSON.parse(body);
const rows = evt.event === "startup.batch" ? evt.data : [evt.data];
await Promise.all(rows.map((s) => fetch(
"https://track.customer.io/api/v1/events",
{
method: "POST",
headers: {
"Authorization": "Basic " + btoa(env.CIO_SITE + ":" + env.CIO_API),
"Content-Type": "application/json",
},
body: JSON.stringify({
name: "funded_round",
data: {
company: s.name,
round: s.fundingRound,
amount: s.fundingAmount,
hiring: s.hiringSignal,
investors: s.investors,
},
}),
},
)));
return new Response("ok");
},
};Customer.io's ingress expects its own event shape; you need a tiny middleware (Cloudflare Worker / AWS Lambda / Fly.io function — 20 lines of JS). The middleware verifies our HMAC, then calls Customer.io's `track` or `identify` endpoint. We publish the full template in /recipes.
Customer.io's `identify` endpoint is idempotent on `id` or `email`. If your funding webhook's `contacts[0].email` matches an existing person, Customer.io merges the attributes — lifecycle triggers fire immediately on the updated record.
Yes — after identify, use Customer.io's segment builder: `funding_round = Seed AND hiring = true AND funded_at > {30 days ago}`. Drives email cadence, in-app modals, push notifications, even Slack alerts via their webhook action.
Yes. Triggers → 'Event matches' or 'Attribute changed' → branch based on any of our fields. Our data is plain JSON in Customer.io's model after the middleware translates — same ergonomics as any other event source.
Clearbit's Customer.io integration starts around $1-2/enrichment at scale; we're $0 up to 100/day and $49/mo for 10K/day. Clearbit provides broader firmographics; we cover the fresh-funding trigger point their data misses.
Customer.io's track API tolerates ~100 req/s per workspace. Our batch delivery means your middleware gets one POST with N matches — Promise.all those into Customer.io with a 10ms stagger, you'll never hit their limit.
Customer.io handles consent tracking at the person level. Our data is public-sourced; adding someone to your Customer.io workspace should respect whatever consent basis you're operating under (legitimate interest for B2B outbound, typically).
Fresh funding rounds + key hiring signals in your inbox every Monday.
Free forever. No card. No tricks.