Power Automate connector

Validate email addresses in Power Automate, Power Apps and Logic Apps with our custom connector: actions to validate one address, run bulk lists, download their results and read your credit balance. You import it into your own environment from the files below.

Status: setup guide. The connector is not certified by Microsoft yet, so it is not in the connector gallery: import it as a custom connector. Custom connectors need a Power Automate or Power Apps plan that includes premium connectors.

Download the files

  • apiDefinition.swagger.json: the actions and their fields.
  • apiProperties.json: the connection (your key and the API host) and the two policies that send the key as a bearer token and pick the host.
  • icon.png and settings.json (the file names for Microsoft's paconn tool; no environment or account in it).
  • readme.md: the connector's description, operations and known limitations.

Import the connector

With Microsoft's command line tool (keeps both policies and the host choice): install it with pip install paconn, put the four files apiDefinition.swagger.json, apiProperties.json, icon.png and settings.json in one folder, and run from there:

paconn login
paconn create --settings settings.json

paconn asks which environment to create the connector in.

Or in the maker portal:

  1. Custom connectors > New custom connector > Import an OpenAPI file, and choose apiDefinition.swagger.json.
  2. On General, upload icon.png and set the icon background colour to #0A1226. For EU data residency, set Host to api-eu.email-validation.org.
  3. On Definition, click New policy and choose the template Set HTTP header: header name Authorization, header value Bearer @connectionParameters('api_key'), action if header exists override, run policy on Request. Without it the key is sent without Bearer and refused.
  4. Click Create connector.

Connect and try it

  1. Create a key on the API keys page with Validate addresses and Read balance and usage (both on by default; the connection test reads your balance), and Bulk lists for the bulk actions. Give it a daily credit cap.
  2. Create a connection: paste the key alone, without Bearer, and choose the API host: https://api.email-validation.org or https://api-eu.email-validation.org (EU data residency; the same keys and credits).
  3. Add Validate an email address to a flow with accepted@sandbox.email-validation.org: it returns Status valid and costs nothing (every test address is free). Use Status, Reason and Action in a condition.

Actions

ActionWhat it does
Validate an email addressChecks one address: status, reason, recommended action and the other result fields.
Get your credit balanceYour balance and credit lots.
Get credit usage by day or by keyCredits used, per day or per API key.
Create a bulk jobA bulk list from an array of addresses (JSON; up to 100,000 addresses, 4 MB).
Get a bulk jobThe job's status, progress and counts.
Cancel a bulk jobStops a job; unused credits are returned.
Start a bulk jobStarts a job created with Start Automatically set to No.
Download bulk results (CSV)The results file of a completed job.
Get service statusThe status of each part of the service.

Bulk lists without paying twice

The API cannot tell a re-sent "Create a bulk job" from a new list, and flows re-send failed actions by default. On Create a bulk job, open Settings and set Retry policy to None and Asynchronous pattern to Off. If it fails with a server error or a timeout, check the bulk page of the dashboard before running the flow again: the job may exist.

Then wait for the list in a Do until loop around Get a bulk job (with a delay of a minute or more) until the status is completed, failed, cancelled or expired, or the status is ready with an Error Code (a start that was refused, for example for missing credits). Run Download bulk results (CSV) only when the status is completed. Its output is file content: pass it straight to a "Create file" action, or read it as text with base64ToString(body('Download_bulk_results_(CSV)')?['$content']).

Upload CSV files and lists larger than the limit above in the dashboard instead.

Finished lists

The connector has no trigger yet. Poll as above, or add a flow with the trigger When an HTTP request is received, add its URL in the dashboard under Webhooks > Add webhook, and pass that endpoint's id as Webhook Endpoint ID to "Create a bulk job". The flow cannot check our signature, so treat a delivery only as a hint: read the job with "Get a bulk job" and act on that answer.

Updated · Maintained by the email-validation.org team