| title: | How we used Clay as an API for enrichments (and you can too) |
|---|---|
| description: | User enrichments for startups |
| pubDate: | 2025-08-07T00:00:00.000Z |
| author: | Charmaine Lee |
I used to think user enrichment was reserved for big companies.
Then we set a goal: we wanted to find 10 pre‑sales customers before launching Val Town for Teams.
My day turned into database queries, scrolling endless dashboards and tons of manual Google/GitHub/LinkedIn searches.
We even piped new users into Discord and did the “scroll a long feed of emails and hope you spot someone important” routine. It didn’t scale. Great users were joining, but finding the right ones felt like digging for treasure.
Clearbit used to be the obvious answer for data enrichment, but after the Twilio acquisition it wasn’t really an option for net‑new customers.
Clay was great, but we wanted to use it like an API so anyone on our team can make calls to it directly and programmatically do custom things on top. Unfortunately, this isn't something they offer.
We tweeted about it and Kareem, CEO of Clay, responded with a way to do it!
We turned Clay into an API in Val Town: https://www.val.town/x/charmaine/clay-proxy/branch/main/code/README.md.
This is for our fellow engineers doing sales!
Your val calls clay() with an email or GitHub username. We verify who you are, generate a request id, and forward the payload to Clay with that id. Clay enriches and POSTs the result back using the same id. While your request is open, we poll for it. When it returns, we give you the JSON back as if it's a normal request/response.
Enriching emails with Clay is as simple as
import { clay } from "https://esm.town/v/charmaine/clay-proxy/sdk.ts";
const result = await clay({
email: "charmainekmlee@gmail.com",
source: "user_signup"
});
If you want to read how we built it, and get usage instructions: https://www.val.town/x/charmaine/clay-proxy.
We then started piping this new enriched data directly into our Discord / Slack channel (we use both).
We were no longer wasting time combing through dashboards. We were able to invest time into interacting with our ICP (Ideal Customer Profile) users.
This is a big part of how we found our first 10 pre-sales customers because:
- We see who joined today and whether they look like ICP
- Anyone can start a thread, tag the right person, or notify everyone else that they've already reached out
- Warm intros surface naturally
- The basic questions get answered without dashboards: how many joined, are we attracting our ICP, who owns follow‑ups
Once you have this data, there's lots you can do. Here are some examples:
- For users at devtool companies, we could reach out with autogenerated vals with their SDK to show how quick it was to get their SDK example up and running in Val Town
- Get Townie to build people custom demos etc. based on their profile - Patrick has a great post about this