Automation
n8n + Kawaa
Verify emails inside your n8n workflows
n8n is a workflow automation tool you can host yourself. Call the Kawaa API from an HTTP Request node to verify addresses inside any workflow, then branch on the result.
What you can build
- Verify an address with an HTTP Request node in any workflow
- Branch on the result with IF or Switch nodes
- Work through large lists in batches, and back off when the API answers 429
- Keep n8n on your own servers; the verification itself runs in Kawaa's cloud
Setup
How to set up
Add HTTP Request node
In your n8n workflow, add an HTTP Request node with method POST and URL https://api.kawaa.com/v1/verify, and send a JSON body with an email field mapped to the address from your trigger node.
Configure authentication
Send your Kawaa API key in an X-Api-Key header. A Header Auth credential keeps it out of the workflow itself.
Make a retry safe
A verification is charged when Kawaa accepts the request, so a request the node repeats with Retry On Fail, after a timeout or a 5xx error, could be charged twice. Add an Idempotency-Key header that identifies this one verification: the same every time the node is retried, different for any other record, address, or later run, and 1 to 255 printable ASCII characters with no spaces or commas. For example, hash the trigger event ID (or a run ID created before the HTTP Request node), the record ID and the address with SHA-256, keeping the event or run ID stable on retries and using a new one for the next run, so the run is not answered with the earlier run's result. That run is a new request and is charged again, 0.5 credits when Kawaa reuses a result from the last 24 hours. A retry of a request Kawaa already accepted is not charged again, and a key reused for a different address is refused with a 409 before anything is charged.
Process the response
If data.status is pending, wait, then GET https://api.kawaa.com/v1/jobs/ followed by its job_id with the same X-Api-Key header, and repeat while the job's data.status is pending or processing. Branch on the email verdict with IF or Switch nodes: data.status of the verify answer, or data.results[0].status of a completed job. Send a failed job, or a completed one with no result, to an error branch, and never treat the job's own status as the email verdict.
Use cases
What teams do with n8n and Kawaa
Privacy-compliant email verification
On-premise workflow automation
Custom integration scenarios
Development and testing workflows
FAQ
Frequently asked questions
- Is there a native n8n node for Kawaa?
- Not yet. Use the HTTP Request node to call Kawaa's API; it works in any workflow today.
- Can I run this completely on-premise?
- n8n runs on-premise, but verification requests still go to Kawaa's cloud API for processing.
- How do I handle rate limits?
- Use n8n's SplitInBatches node to throttle requests. Authenticated API calls are limited per key and per plan; use Retry-After and X-RateLimit-* headers to back off when you receive a 429.
Verify emails in your n8n workflows
Get started with 100 free verifications. No credit card required.