ZoomInfo · Arazzo Workflow

ZoomInfo Search and Enrich a Company

Version 1.0.0

Authenticate, find a company by metro/industry/tech, then enrich the top match.

1 workflow 1 source API 1 provider
View Spec View on GitHub B2BB2B DataCompany DataContact DatabaseContactsDataLead GenerationMarketing IntelligenceSales IntelligenceArazzoWorkflows

Provider

zoominfo

Workflows

search-and-enrich-company
Search ZoomInfo for a company and enrich the top-ranked match.
Authenticates, searches companies by metro region, industry codes, and technology attributes, then enriches the first returned company by its ZoomInfo company id, requesting the supplied output fields.
3 steps inputs: industryCodes, metroRegion, outputFields, password, techAttributeTagList, username outputs: enrichedCompany, topCompanyId, topCompanyName
1
authenticate
Authenticate
Exchange the ZoomInfo username and password for a JWT access token that is valid for 60 minutes.
2
searchCompanies
CompanySearch
Search ZoomInfo for companies matching the supplied metro region, industry codes, and technology attributes, authenticating with the JWT.
3
enrichCompany
CompanyEnrich
Enrich the top company from the search result by its ZoomInfo company id, requesting the supplied output fields.

Source API Descriptions

Arazzo Workflow Specification

zoominfo-company-search-enrich-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: ZoomInfo Search and Enrich a Company
  summary: Authenticate, find a company by metro/industry/tech, then enrich the top match.
  description: >-
    A full company discovery-to-detail flow against ZoomInfo's B2B data. It
    authenticates for a JWT, runs a Company Search scoped by metro region,
    industry codes, and technology tags, and then feeds the ZoomInfo company id
    of the top search result into the Company Enrich endpoint to pull a rich set
    of firmographic fields. Every step spells out its request inline so the flow
    can be read and executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: zoominfoApi
  url: ../openapi/zoominfo-openapi.yml
  type: openapi
workflows:
- workflowId: search-and-enrich-company
  summary: Search ZoomInfo for a company and enrich the top-ranked match.
  description: >-
    Authenticates, searches companies by metro region, industry codes, and
    technology attributes, then enriches the first returned company by its
    ZoomInfo company id, requesting the supplied output fields.
  inputs:
    type: object
    required:
    - username
    - password
    - metroRegion
    - industryCodes
    - techAttributeTagList
    - outputFields
    properties:
      username:
        type: string
        description: The ZoomInfo API username.
      password:
        type: string
        description: The ZoomInfo API password.
      metroRegion:
        type: string
        description: Company metro area (e.g. "usa.california.sanfrancisco").
      industryCodes:
        type: string
        description: Top-level industry codes to search (e.g. "education.university").
      techAttributeTagList:
        type: string
        description: Technology product tags in dot notation (e.g. "333.202.*").
      outputFields:
        type: array
        description: The list of company output fields to return from enrichment.
        items:
          type: string
  steps:
  - stepId: authenticate
    description: >-
      Exchange the ZoomInfo username and password for a JWT access token that is
      valid for 60 minutes.
    operationId: Authenticate
    requestBody:
      contentType: application/json
      payload:
        username: $inputs.username
        password: $inputs.password
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      jwt: $response.body#/jwt
  - stepId: searchCompanies
    description: >-
      Search ZoomInfo for companies matching the supplied metro region, industry
      codes, and technology attributes, authenticating with the JWT.
    operationId: CompanySearch
    parameters:
    - name: Authorization
      in: header
      value: Bearer $steps.authenticate.outputs.jwt
    requestBody:
      contentType: application/json
      payload:
        metroRegion: $inputs.metroRegion
        industryCodes: $inputs.industryCodes
        techAttributeTagList: $inputs.techAttributeTagList
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      totalResults: $response.body#/totalResults
      topCompanyId: $response.body#/data/0/id
      topCompanyName: $response.body#/data/0/name
  - stepId: enrichCompany
    description: >-
      Enrich the top company from the search result by its ZoomInfo company id,
      requesting the supplied output fields.
    operationId: CompanyEnrich
    parameters:
    - name: Authorization
      in: header
      value: Bearer $steps.authenticate.outputs.jwt
    requestBody:
      contentType: application/json
      payload:
        matchCompanyInput:
        - companyId: $steps.searchCompanies.outputs.topCompanyId
        outputFields: $inputs.outputFields
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      success: $response.body#/success
      enrichedCompany: $response.body#/data
  outputs:
    topCompanyId: $steps.searchCompanies.outputs.topCompanyId
    topCompanyName: $steps.searchCompanies.outputs.topCompanyName
    enrichedCompany: $steps.enrichCompany.outputs.enrichedCompany