Pre-Black Friday: 20% off, for as long as you stayEARLYBFon Solo and AgencyEnds Nov 28Start free

Integration recipe

LeadOcean + Typeform: score submissions and personalize the follow up

A Typeform webhook sends the respondent's email. LeadOcean returns role and company context. Your code scores it and drafts the opener.

Get your free API key →Free to start. No credit card. 1,000 records to spend whenever you like.

Every Typeform submission that includes a work email becomes a scored lead with a first line your rep can send. Typeform posts the answers to your endpoint. Your endpoint calls POST /v1/people/enrich, scores the result and writes the follow up. LeadOcean has no sequencer, so the output goes to the CRM or inbox you already use.

How it works

  1. Trigger. Add a webhook to the form that points at an https URL you control. Typeform sends each new response to it as it is submitted, and retries on failure (Typeform docs, October 2026).
  2. Pull the email. Read the email answer from the payload. Skip the row if it is a personal address. Typeform keeps the response either way.
  3. Enrich. Call POST /v1/people/enrich with email and reveal_email set to false. A person we hold nothing for is a 404 and costs nothing.
  4. Score. Add points for seniority, company size and a verified email_status. Keep the rules in one small function so sales can edit them.
  5. Personalize. Build the opener from the current role and the form answer. Write the lead, score and opener to your CRM or a Slack channel.

Configuration

Run this from your webhook handler. It uses only the documented base URL and x-api-key header.

bash
curl -s -X POST https://api.leadocean.io/v1/people/enrich \
  -H "x-api-key: $LEADOCEAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email": "jane.doe@acme.com", "reveal_email": false}'

The reply carries contact_data.has_email, contact_data.email_status and contact_data.contact_current_experiences[]. Each experience object holds job_title, job_seniority, job_functions[], company_name, company_domain, company_industry and company_employees (LeadOcean docs, October 2026). Example score rule:

text
+40  job_seniority is VP or above
+25  company_employees.number_of_employees is 200 or more
+20  email_status is verified
+15  form answer says "this quarter"
send to sales at 60 or more

Typeform expects a reply within 30 seconds. Answer 200 first, then enrich in the background. Keep the score out of the form itself: it lives in your handler, so you can change a rule without editing the form or republishing it.

To size a list before you run it, use leadocean_count_leads over MCP. It is free.

Field mapping

LeadOcean fieldTarget fieldNote
contact_data.email_statusLead score inputRead it before you send. No credit back for bounces.
contact_data.has_emailLead record flagAnswered even when you do not reveal.
contact_data.contact_current_experiences[]Title, companyjob_title, company_name and company_employees feed the score.
resume_data.experiences[]Opener linePast roles, when held. Past employers carry no company_id yet.
Typeform answer textOpener lineQuote the buyer's own words.

Cost at 10,000 rows

LeadOcean Free covers 1,000 records for life, so a 10,000 row run needs a paid plan. Solo is $97 a month with 10k enrichments every 5 hours, which fits 10,000 submissions. Paid plans have a fair-use pace, not credits. Misses cost nothing.

ItemCostSource
LeadOcean Solo$97 a monthleadocean.io/pricing
Typeform Business, 10,000 responses a month$129 a month billed monthly, $91 billed yearlyTypeform pricing, October 2026

The pricing page shows Business at $91 a month billed yearly and a $456 yearly saving, which puts monthly billing at $129. Webhooks are listed from the Basic plan up (Typeform pricing, October 2026). You also pay for wherever your handler runs.

Troubleshooting

SymptomCauseFix
Webhook stops firingYour endpoint returned 404 or 410Typeform disables the webhook at once (Typeform docs, October 2026). Fix the URL and re-enable it.
Repeat deliveriesHandler took over 30 secondsReturn 200 first, enrich after.
404 from enrichNo match for that emailTreat as score 0. It costs nothing.
429 from enrichOver your plan's request rateHonor Retry-After. Free is 5 requests a second, Solo 50.
402 from enrichFree records spentMove to a paid plan.

FAQ

Do I need Zapier or Make?

No. Typeform's webhook posts to any https URL, so a small handler is enough. Check your automation tool's HTTP module before you swap it in.

Can I enrich with a name and company instead of an email?

No. Enrich takes exactly one of linkedin_url, email, phone or person_id. Ask for a work email in the form.

Should I reveal the email?

Not usually. The respondent gave you the address. Set reveal_email to false and use the role data.

Is the opener written by LeadOcean?

No. LeadOcean returns the data. You or your model write the line. See personalize outbound sales emails and AI outreach tools.

More recipes: personalize outbound with a prospect's main challenges. Back to all integrations. Plans are on pricing.

Score your next Typeform lead with a free API key

Free to start. No credit card. 1,000 records to spend whenever you like.

Get your free API key →