Automation
Zapier + Kawaa
Verify emails from the apps you already connect in Zapier
A dedicated Kawaa app for Zapier is coming soon. It is not yet published in the Zapier directory. In the meantime, you can build Zaps that verify emails today by calling our REST API with the built-in "Webhooks by Zapier" step whenever new contacts are added to your CRM, form submissions come in, or spreadsheets are updated.
Kawaa app for Zapier coming soon
Until it is published, you can verify emails in any Zap with a Webhooks by Zapier step that calls our REST API. The steps are below.
What you can build today
- Verify an address from any app that can trigger a Zap, with a Webhooks by Zapier step
- Route each result by its status with Filter or Paths
- Keep invalid addresses out of your CRM, sheets and email tools
- Verify several addresses from one trigger with Zapier's looping
Setup
How to set up
Get your Kawaa API key
The Kawaa Zapier app is not yet published. Until it is, copy your API key from the Kawaa dashboard to use with the built-in "Webhooks by Zapier" step.
Choose a trigger app
Select the app where new emails come from (e.g., Typeform, Google Sheets, HubSpot).
Create a stable key before the request
Add a Code by Zapier step before Webhooks. Hash the trigger event ID (or a schedule-run ID created before the HTTP step), record ID, and address with SHA-256. Keep the event or run ID stable on retries, but use a new one for the next scheduled run. This produces an Idempotency-Key that identifies one verification: the same on replay, different for another record, address, or future run.
Add a Webhooks by Zapier step
Add a "Webhooks by Zapier" POST action calling https://api.kawaa.com/v1/verify. Set Payload Type to JSON, add a Data field named email mapped to the address from your trigger, and add your key as an X-Api-Key header. Map the preceding Code step's hash into an Idempotency-Key header (1 to 255 printable ASCII characters, no spaces or commas). A replay of an accepted request is not charged again; using its key for another address returns 409. The default form payload is refused with a 400 ("Request body must be valid JSON").
Route based on results
The POST answer's data.status is the email verdict (such as valid, invalid or risky): use it in Filter or Paths. Only when it is pending, use a GET step to https://api.kawaa.com/v1/jobs/ followed by its job_id with the same X-Api-Key header, and repeat the GET after a delay while the job's data.status is pending or processing. When the job's data.status is completed, the verdict is data.results[0].status. If the job fails, or completes with no result, handle it as an error; never treat a job status as an email verdict.
Use cases
What teams do with Zapier and Kawaa
Verify form submissions before adding to your CRM
Clean email lists imported from spreadsheets
Validate leads from Facebook Lead Ads
Screen new webinar registrations
FAQ
Frequently asked questions
- How many verifications can I do through Zapier?
- Your Zapier integration uses your Kawaa account credits. Each verification costs the same as anywhere else: one credit, or 0.5 credits when the result is served from the 24-hour cache.
- Is there a delay when verifying through Zapier?
- Kawaa response time depends on cache state, DNS response time, and optional analysis. Total Zap execution time also depends on other steps in your workflow.
- Can I verify multiple emails in one Zap?
- Yes, you can use Zapier's looping feature to verify multiple emails from a single trigger.
Verify emails in your Zaps
Get started with 100 free verifications. No credit card required.