# Verify emails from Typeform with Spaw

Verify the email answer of every Typeform response through Zapier or Make before it reaches your CRM or sheet, and recover typos with the suggested correction.

Updated: 2026-09-03

Typeform checks that an email answer looks like an address, and nothing more. A response with `mia@gmail.con` passes and lands in your CRM as a lead nobody can reach. Because Typeform hosts the form and does not run your scripts, the Spaw form helper cannot watch the field the way it does on your own pages; verification happens right after submission instead, in the Zap or Make scenario that already carries the response onward.

## Verify each response

1. Create a secret API key on the API keys page of your Spaw dashboard.
2. In Zapier or Make, start with the Typeform trigger for a new response and pick the form.
3. Add the verification step: a Webhooks by Zapier POST or a Make HTTP request to `https://spaw.co/api/v1/email` with the header `Authorization: Bearer sk_live_…` and this body, mapping the email question's answer:

```json
{
  "email": "mia@acme.com"
}
```

The [Zapier page](/integrations/zapier) and the [Make page](/integrations/make) show the step in detail. When the Spaw apps for those platforms are listed, it becomes a Verify Email action with a saved connection.

4. Add a filter or router on `data.deliverable` from the response.
5. Send `deliverable` and `risky` responses on to their destination as before, for example a CRM contact or a sheet row, and map `data.deliverable`, `data.reason` and `data.did_you_mean` into extra fields there.
6. Route `undeliverable` responses to a review sheet or a notification instead of the CRM.
7. Test by submitting the form with `deliverable@spaw.test`, a free test address that answers a fixed result and is never logged.

The response also contains the 27 fields of the [single-address result](/docs/api/verify-email), including whether the domain is a free provider, whether the address is a role inbox, and the risk score, so the destination can hold as much or as little as you need.

## Forms on your own site

If the form is a page you control rather than a hosted Typeform, the [form helper](/integrations/website-forms) checks the address while the visitor is still typing and offers the correction before they submit, which is the better moment. The two approaches combine well: the helper on your own pages, the Zap for hosted forms.

## What to do with the verdict

The most valuable field here is `data.did_you_mean`. A form typo is usually a real person who wants to hear from you, so when the suggestion is filled, for example `mia@gmail.com` for `mia@gmail.con`, create the record with the corrected address and note the original. For `risky` responses, look at `data.reason`: `disposable` addresses were entered to get past the form and can be dropped, `role` inboxes and `catch_all` domains are usually worth keeping with lower priority. For a single threshold, `data.risk_score` is 0 to 100 with published weights, as the [regex guide](/guides/email-validation-regex-is-not-enough) explains.

## Cost

Each response that answers deliverable or risky spends 1 credit; undeliverable answers, the test addresses, and repeats of the same address within seven days are free. Zapier and Make bill their own tasks. A form with a few hundred responses a month stays well inside a small credit pack.

Reference: https://spaw.co/integrations/typeform
