Hunter · Arazzo Workflow

Hunter Verify Existing Email

Version 1.0.0

Verify a known email and upsert it into Hunter as a lead with its verification status.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub Email FinderEmail VerifierLead GenerationOutreachProspectingEnrichmentSalesMarketingArazzoWorkflows

Provider

hunter-io

Workflows

verify-existing-email
Verify a known email and upsert it as a lead when deliverable.
Verifies a supplied email address and, when the status is deliverable (valid or accept_all), upserts a lead carrying that status by email match.
2 steps inputs: apiKey, email, firstName, lastName outputs: leadId, verificationStatus
1
verifyEmail
emailVerifier
Verify deliverability of the supplied email and branch on whether the status indicates a usable address.
2
upsertLead
upsertLead
Upsert a lead by email match, recording the supplied name and the verification score from the deliverable address.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Hunter Verify Existing Email
  summary: Verify a known email and upsert it into Hunter as a lead with its verification status.
  description: >-
    A re-verification flow for addresses you already hold. The Email Verifier
    checks deliverability of a supplied email, and the flow branches on the
    returned status: valid and accept_all addresses are upserted as leads so the
    record reflects the latest verification, while invalid and other terminal
    statuses end the workflow so undeliverable addresses are not promoted. Using
    upsert means re-running the flow updates the existing lead by email match
    rather than creating duplicates. Every request inlines the api_key query
    parameter.
  version: 1.0.0
sourceDescriptions:
- name: emailVerifierApi
  url: ../openapi/hunter-email-verifier-api-openapi.yml
  type: openapi
- name: leadsApi
  url: ../openapi/hunter-leads-api-openapi.yml
  type: openapi
workflows:
- workflowId: verify-existing-email
  summary: Verify a known email and upsert it as a lead when deliverable.
  description: >-
    Verifies a supplied email address and, when the status is deliverable
    (valid or accept_all), upserts a lead carrying that status by email match.
  inputs:
    type: object
    required:
    - apiKey
    - email
    properties:
      apiKey:
        type: string
        description: Your Hunter API key, passed as the api_key query parameter.
      email:
        type: string
        description: The email address to verify and upsert.
      firstName:
        type: string
        description: Optional first name to store on the upserted lead.
      lastName:
        type: string
        description: Optional last name to store on the upserted lead.
  steps:
  - stepId: verifyEmail
    description: >-
      Verify deliverability of the supplied email and branch on whether the
      status indicates a usable address.
    operationId: emailVerifier
    parameters:
    - name: email
      in: query
      value: $inputs.email
    - name: api_key
      in: query
      value: $inputs.apiKey
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      status: $response.body#/data/status
      score: $response.body#/data/score
    onSuccess:
    - name: deliverable
      type: goto
      stepId: upsertLead
      criteria:
      - context: $response.body
        condition: $.data.status == "valid" || $.data.status == "accept_all"
        type: jsonpath
    - name: undeliverable
      type: end
      criteria:
      - context: $response.body
        condition: $.data.status != "valid" && $.data.status != "accept_all"
        type: jsonpath
  - stepId: upsertLead
    description: >-
      Upsert a lead by email match, recording the supplied name and the
      verification score from the deliverable address.
    operationId: upsertLead
    parameters:
    - name: api_key
      in: query
      value: $inputs.apiKey
    requestBody:
      contentType: application/json
      payload:
        email: $inputs.email
        first_name: $inputs.firstName
        last_name: $inputs.lastName
        confidence_score: $steps.verifyEmail.outputs.score
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      leadId: $response.body#/data/id
  outputs:
    verificationStatus: $steps.verifyEmail.outputs.status
    leadId: $steps.upsertLead.outputs.leadId

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/hunter-io-verify-existing-email-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.