ZoomInfo · Arazzo Workflow

ZoomInfo Search a Company and Pull Its Intent

Version 1.0.0

Authenticate, find a company, then pull that account's intent signals when a match is found.

1 workflow 3 source APIs 1 provider
View Spec View on GitHub B2BB2B DataCompany DataContact DatabaseContactsDataLead GenerationMarketing IntelligenceSales IntelligenceIntent DataGo-To-MarketData EnrichmentAI AgentsMCPArazzoWorkflows

Provider

zoominfo

Workflows

company-search-then-intent
Search a company and pull its account-level intent when a match exists.
Authenticates, searches companies, and branches: when a company matches it enriches that account's intent signals by company id, otherwise it ends.
3 steps inputs: audienceStrengthMax, audienceStrengthMin, companyName, companyWebsite, industryCodes, metroRegion, password, signalEndDate, signalScoreMax, signalScoreMin, signalStartDate, sortBy, sortOrder, techAttributeTagList, topics, username outputs: intentData, topCompanyId, topCompanyName
1
authenticate
Exchange the ZoomInfo username and password for a JWT access token that is valid for 60 minutes.
2
searchCompanies
Search ZoomInfo for companies matching the supplied criteria. Branch on whether at least one company was returned.
3
enrichIntent
Pull intent signals for the matched company by its ZoomInfo company id, scoped by the supplied topics and signal date window.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: ZoomInfo Search a Company and Pull Its Intent
  summary: Authenticate, find a company, then pull that account's intent signals when a match is found.
  description: >-
    An account-based intent flow against ZoomInfo's B2B data. It authenticates
    for a JWT and runs a Company Search; when the search returns a match it
    branches into the Intent Enrich endpoint using the matched company id to pull
    that specific account's intent signals, and when no company matches it ends
    without an intent call. 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: authenticationApi
  url: ../openapi/zoominfo-authentication-api-openapi.yml
  type: openapi
- name: companySearchApi
  url: ../openapi/zoominfo-company-search-api-openapi.yml
  type: openapi
- name: intentEnrichApi
  url: ../openapi/zoominfo-intent-enrich-api-openapi.yml
  type: openapi
workflows:
- workflowId: company-search-then-intent
  summary: Search a company and pull its account-level intent when a match exists.
  description: >-
    Authenticates, searches companies, and branches: when a company matches it
    enriches that account's intent signals by company id, otherwise it ends.
  inputs:
    type: object
    required:
    - username
    - password
    - metroRegion
    - industryCodes
    - techAttributeTagList
    - companyName
    - companyWebsite
    - topics
    - signalStartDate
    - signalEndDate
    - signalScoreMin
    - signalScoreMax
    - audienceStrengthMin
    - audienceStrengthMax
    - sortBy
    - sortOrder
    properties:
      username:
        type: string
        description: The ZoomInfo API username.
      password:
        type: string
        description: The ZoomInfo API password.
      metroRegion:
        type: string
        description: Company metro area to search (e.g. "usa.california.sanfrancisco").
      industryCodes:
        type: string
        description: Top-level industry codes to search.
      techAttributeTagList:
        type: string
        description: Technology product tags in dot notation (e.g. "333.202.*").
      companyName:
        type: string
        description: Company name to scope the intent enrichment.
      companyWebsite:
        type: string
        description: Company website to scope the intent enrichment.
      topics:
        type: array
        description: The list of intent topics to pull.
        items:
          type: string
      signalStartDate:
        type: string
        description: Start of the intent signal date window (ISO 8601).
      signalEndDate:
        type: string
        description: End of the intent signal date window (ISO 8601).
      signalScoreMin:
        type: integer
        description: Minimum signal score for results.
      signalScoreMax:
        type: integer
        description: Maximum signal score for results.
      audienceStrengthMin:
        type: string
        description: Minimum audience strength (e.g. "C").
      audienceStrengthMax:
        type: string
        description: Maximum audience strength (e.g. "A").
      sortBy:
        type: string
        description: Field to sort intent results by.
      sortOrder:
        type: string
        description: Sort order for the results (e.g. "asc").
  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 criteria. Branch on
      whether at least one company was returned.
    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
    onSuccess:
    - name: companyFound
      type: goto
      stepId: enrichIntent
      criteria:
      - context: $response.body
        condition: $.totalResults > 0
        type: jsonpath
    - name: noCompany
      type: end
      criteria:
      - context: $response.body
        condition: $.totalResults == 0
        type: jsonpath
  - stepId: enrichIntent
    description: >-
      Pull intent signals for the matched company by its ZoomInfo company id,
      scoped by the supplied topics and signal date window.
    operationId: IntentEnrich
    parameters:
    - name: Authorization
      in: header
      value: Bearer $steps.authenticate.outputs.jwt
    requestBody:
      contentType: application/json
      payload:
        companyName: $inputs.companyName
        companyWebsite: $inputs.companyWebsite
        companyId: $steps.searchCompanies.outputs.topCompanyId
        topics: $inputs.topics
        signalStartDate: $inputs.signalStartDate
        signalEndDate: $inputs.signalEndDate
        signalScoreMin: $inputs.signalScoreMin
        signalScoreMax: $inputs.signalScoreMax
        audienceStrengthMin: $inputs.audienceStrengthMin
        audienceStrengthMax: $inputs.audienceStrengthMax
        sortBy: $inputs.sortBy
        sortOrder: $inputs.sortOrder
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      intentData: $response.body#/data
  outputs:
    topCompanyId: $steps.searchCompanies.outputs.topCompanyId
    topCompanyName: $steps.searchCompanies.outputs.topCompanyName
    intentData: $steps.enrichIntent.outputs.intentData

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/zoominfo-company-search-intent-enrich-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.