Hunter · Arazzo Workflow

Hunter Add Verified Lead To List

Version 1.0.0

Verify an email, upsert it as a lead, then assign the lead to a target leads list.

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

Provider

hunter-io

Workflows

add-verified-lead-to-list
Verify an email, upsert a lead, and assign it to a leads list.
Verifies a supplied email, upserts a lead when deliverable, then assigns that lead to the target leads list via its leads_list_id.
3 steps inputs: apiKey, email, firstName, lastName, leadsListId outputs: leadId, leadsListName, verificationStatus
1
verifyEmail
Verify deliverability of the supplied email and branch so only deliverable addresses are upserted and listed.
2
upsertLead
Upsert the deliverable email as a lead by email match, recording the verification score.
3
assignToList
Patch the lead to assign it to the target leads list via its leads_list_id so it is ready for campaign enrollment.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Hunter Add Verified Lead To List
  summary: Verify an email, upsert it as a lead, then assign the lead to a target leads list.
  description: >-
    Hunter has no standalone leads-list resource in these specs, so the
    "lead list" theme is adapted through the leads_list_id attribute that every
    lead carries. The flow verifies a supplied email, branches on deliverability,
    upserts the deliverable address as a lead, and then patches that lead to
    assign it to the supplied target list so it is ready to be enrolled in a
    campaign. Re-running upserts by email match so the same contact is not
    duplicated. Each request inlines the api_key query parameter.
  version: 1.0.0
sourceDescriptions:
- name: emailVerifierApi
  url: ../openapi/hunter-io-email-verifier-api-openapi.yml
  type: openapi
- name: leadsApi
  url: ../openapi/hunter-io-leads-api-openapi.yml
  type: openapi
workflows:
- workflowId: add-verified-lead-to-list
  summary: Verify an email, upsert a lead, and assign it to a leads list.
  description: >-
    Verifies a supplied email, upserts a lead when deliverable, then assigns
    that lead to the target leads list via its leads_list_id.
  inputs:
    type: object
    required:
    - apiKey
    - email
    - leadsListId
    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 add to the list.
      leadsListId:
        type: integer
        description: The id of the leads list to assign the lead to.
      firstName:
        type: string
        description: Optional first name for the lead.
      lastName:
        type: string
        description: Optional last name for the lead.
  steps:
  - stepId: verifyEmail
    description: >-
      Verify deliverability of the supplied email and branch so only deliverable
      addresses are upserted and listed.
    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 the deliverable email as a lead by email match, recording the
      verification score.
    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
  - stepId: assignToList
    description: >-
      Patch the lead to assign it to the target leads list via its
      leads_list_id so it is ready for campaign enrollment.
    operationId: updateLead
    parameters:
    - name: id
      in: path
      value: $steps.upsertLead.outputs.leadId
    - name: api_key
      in: query
      value: $inputs.apiKey
    requestBody:
      contentType: application/json
      payload:
        email: $inputs.email
        leads_list_id: $inputs.leadsListId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      leadId: $response.body#/data/id
      leadsListName: $response.body#/data/leads_list/name
  outputs:
    leadId: $steps.upsertLead.outputs.leadId
    verificationStatus: $steps.verifyEmail.outputs.status
    leadsListName: $steps.assignToList.outputs.leadsListName

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-add-verified-lead-to-list-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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