Abstract API · Arazzo Workflow

Abstract API Email to Company Enrichment

Version 1.0.0

Validate an email address, then enrich the company behind its domain.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub AvatarsCompany EnrichmentContactsCurrenciesEmail ValidationExchange RatesIBAN ValidationImage ProcessingIP GeolocationIP IntelligencePhone ValidationPublic HolidaysScreenshotsTimezonesVAT ValidationWeb ScrapingArazzoWorkflows

Provider

abstract-api

Workflows

email-to-company-enrichment
Validate an email and enrich the company tied to its domain.
Checks email deliverability and, for a valid email, branches to a company enrichment lookup keyed on the email's domain so a verified lead arrives with firmographic context attached.
2 steps inputs: apiKey, email outputs: companyName, deliverability, emailDomain, industry
1
validateEmail
getEmailReputation
Run the email through the Email Reputation API to retrieve deliverability, quality signals, and the parsed domain.
2
enrichCompany
getCompanyEnrichment
Look up company firmographics using the domain parsed from the validated email address.

Source API Descriptions

Arazzo Workflow Specification

abstract-api-email-to-company-enrichment-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Abstract API Email to Company Enrichment
  summary: Validate an email address, then enrich the company behind its domain.
  description: >-
    A lead-qualification flow that first runs an email address through the Email
    Reputation API to confirm it is deliverable and not disposable, and then,
    when the address looks legitimate, uses the domain extracted from the email
    to retrieve full company firmographics from the Company Enrichment API. Each
    step inlines the api_key query parameter and its request so the flow can be
    read and executed without opening the underlying OpenAPI descriptions.
  version: 1.0.0
sourceDescriptions:
- name: emailReputationApi
  url: ../openapi/abstract-api-email-reputation.yaml
  type: openapi
- name: companyEnrichmentApi
  url: ../openapi/abstract-api-company-enrichment.yaml
  type: openapi
workflows:
- workflowId: email-to-company-enrichment
  summary: Validate an email and enrich the company tied to its domain.
  description: >-
    Checks email deliverability and, for a valid email, branches to a company
    enrichment lookup keyed on the email's domain so a verified lead arrives
    with firmographic context attached.
  inputs:
    type: object
    required:
    - apiKey
    - email
    properties:
      apiKey:
        type: string
        description: Abstract API key valid for both the Email Reputation and Company Enrichment APIs.
      email:
        type: string
        description: The email address to validate and use as the enrichment seed.
  steps:
  - stepId: validateEmail
    description: >-
      Run the email through the Email Reputation API to retrieve deliverability,
      quality signals, and the parsed domain.
    operationId: getEmailReputation
    parameters:
    - name: api_key
      in: query
      value: $inputs.apiKey
    - name: email
      in: query
      value: $inputs.email
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      deliverability: $response.body#/deliverability/status
      isDisposable: $response.body#/deliverability/is_disposable
      emailDomain: $response.body#/domain/domain
    onSuccess:
    - name: emailDeliverable
      type: goto
      stepId: enrichCompany
      criteria:
      - context: $response.body
        condition: $.deliverability.status == "deliverable"
        type: jsonpath
    - name: emailUndeliverable
      type: end
      criteria:
      - context: $response.body
        condition: $.deliverability.status != "deliverable"
        type: jsonpath
  - stepId: enrichCompany
    description: >-
      Look up company firmographics using the domain parsed from the validated
      email address.
    operationId: getCompanyEnrichment
    parameters:
    - name: api_key
      in: query
      value: $inputs.apiKey
    - name: domain
      in: query
      value: $steps.validateEmail.outputs.emailDomain
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      companyName: $response.body#/name
      industry: $response.body#/industry
      employeesCount: $response.body#/employees_count
      country: $response.body#/country
  outputs:
    deliverability: $steps.validateEmail.outputs.deliverability
    emailDomain: $steps.validateEmail.outputs.emailDomain
    companyName: $steps.enrichCompany.outputs.companyName
    industry: $steps.enrichCompany.outputs.industry