1. Home
  2. Integrations
  3. Sign-up form widget
  4. Tally

Email validation for Tally forms

The sign-up widget cannot run in Tally: Tally has no place to add your own script to a form, and an embedded Tally form is an iframe on your page. Send each response to a webhook, Zapier or Make and check the address with the SimpleVerifier API after it is submitted.

Before you start

Integrations such as webhooks are in Tally's form settings; check which are open to your Tally plan.

What to do instead

  1. In Tally open your form, then Integrations, and connect Webhooks (or Zapier or Make).
  2. On your server, receive the response and find the email answer (the example below finds the first email address in the payload).
  3. Call the SimpleVerifier verify endpoint with your key from the server, never from the form.
  4. Act on the status: valid, risky or invalid. For example, tag invalid leads or skip sending them a welcome email.
webhook.js
// Receives the form platform's webhook, then checks the address with your key.
// SIMPLEVERIFIER_KEY stays on your server.
app.post("/webhooks/form", express.json(), async (req, res) => {
  res.sendStatus(200); // answer the webhook first; the check runs after
  const email = JSON.stringify(req.body).match(/[^\s"@\\]+@[^\s"@\\]+\.[^\s"@\\]+/)?.[0];
  if (!email) return;
  try {
    const r = await fetch(
      "https://simpleverifier.com/api/v1/verify?email=" + encodeURIComponent(email),
      { headers: { Authorization: `Bearer ${process.env.SIMPLEVERIFIER_KEY}` },
        signal: AbortSignal.timeout(10000) }
    );
    const { status } = await r.json(); // valid | risky | invalid
    if (status === "invalid") {
      // e.g. tag the lead, skip the welcome email, or ask the person for another address
    }
  } catch {
    // Timeout or network error: treat the address as unchecked, not as bad.
  }
});

Limits on Tally

  • This runs after the response is sent, so it cannot stop a bad address being typed in.
  • Tally's email field checks that the value looks like an address; it does not tell you whether the mailbox exists.
  • Mailbox checks need a plan with API access.

Check that the mailbox exists

The check runs on your server or in a no-code tool, so your API key stays private. See the API docs, the full form widget page with Node, PHP and Python examples, and pricing.

Related: Zapier, Make.

Common questions

Can I add a script to a Tally form?
No. Tally has no setting for custom scripts on a form, and when you embed a Tally form it runs in an iframe your page's scripts cannot reach.
What is the no-code route?
Use Tally's Zapier or Make connection, add a step that calls the SimpleVerifier verify endpoint, then route on the status.
Does the check hold up the respondent?
No. The webhook runs after the form is submitted, so the person never waits for it.
Is the form widget free?
Yes. The widget runs in the visitor's browser, needs no account or API key and has no usage limit. Checks that confirm the mailbox exists use the SimpleVerifier API from a server, which comes with Pro, Business and Agency, from $39/month.

All form platforms · All integrations

Clean your next list before it bounces

100 free email checks when you sign in with Google, no card. Then monthly plans from $9, or one flat price with fair use, never cut off.

100 free checks, no card Cancel anytime Secure payment by Stripe