Dun & Bradstreet · Arazzo Workflow

D&B Criteria Search And Get Company

Version 1.0.0

Browse companies by free-form criteria, then enrich the first candidate's Data Blocks.

1 workflow 1 source API 1 provider
View Spec View on GitHub Business DataCompany DataD-U-N-S NumberCreditRiskMaster DataData EnrichmentIdentity ResolutionComplianceSupply ChainSales IntelligenceMonitoringArazzoWorkflows

Provider

dun-and-bradstreet

Workflows

criteria-search-and-get-company
Search companies by criteria and enrich the first candidate.
Runs searchCompaniesByCriteria with the supplied search term and country, takes the first candidate's D-U-N-S Number, and retrieves Data Blocks for that D-U-N-S Number.
2 steps inputs: accessToken, blockIDs, countryISOAlpha2Code, pageSize, searchTerm outputs: matchedQuantity, primaryName, selectedDuns
1
searchCompanies
searchCompaniesByCriteria
Find companies matching the supplied criteria, returning a paginated candidate list.
2
getCompany
getDataBlocksByDuns
Retrieve the requested Data Blocks for the first search candidate's D-U-N-S Number.

Source API Descriptions

Arazzo Workflow Specification

dun-and-bradstreet-criteria-search-and-get-company-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: D&B Criteria Search And Get Company
  summary: Browse companies by free-form criteria, then enrich the first candidate's Data Blocks.
  description: >-
    A browse-and-pick discovery flow. The workflow searches the D&B Data Cloud
    by free-form criteria such as name and country, captures the D-U-N-S Number
    of the first returned candidate, and retrieves the requested Data Blocks
    for that company. Each 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: dnbDirectPlusApi
  url: ../openapi/dnb-direct-plus-openapi-original.yml
  type: openapi
workflows:
- workflowId: criteria-search-and-get-company
  summary: Search companies by criteria and enrich the first candidate.
  description: >-
    Runs searchCompaniesByCriteria with the supplied search term and country,
    takes the first candidate's D-U-N-S Number, and retrieves Data Blocks for
    that D-U-N-S Number.
  inputs:
    type: object
    required:
    - accessToken
    - searchTerm
    properties:
      accessToken:
        type: string
        description: A valid Direct+ OAuth 2.0 bearer access token.
      searchTerm:
        type: string
        description: Free-form search term (name, registration number, etc).
      countryISOAlpha2Code:
        type: string
        description: ISO 3166-1 alpha-2 country code to scope the search.
      pageSize:
        type: integer
        description: Maximum number of candidates to return per page.
        default: 10
      blockIDs:
        type: string
        description: Comma-separated Data Block IDs to retrieve for the chosen candidate.
        default: companyinfo_L2_v1
  steps:
  - stepId: searchCompanies
    description: >-
      Find companies matching the supplied criteria, returning a paginated
      candidate list.
    operationId: searchCompaniesByCriteria
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: searchTerm
      in: query
      value: $inputs.searchTerm
    - name: countryISOAlpha2Code
      in: query
      value: $inputs.countryISOAlpha2Code
    - name: pageSize
      in: query
      value: $inputs.pageSize
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      firstDuns: $response.body#/searchCandidates/0/organization/duns
      matchedQuantity: $response.body#/candidatesMatchedQuantity
  - stepId: getCompany
    description: >-
      Retrieve the requested Data Blocks for the first search candidate's
      D-U-N-S Number.
    operationId: getDataBlocksByDuns
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: duns
      in: path
      value: $steps.searchCompanies.outputs.firstDuns
    - name: blockIDs
      in: query
      value: $inputs.blockIDs
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      duns: $response.body#/organization/duns
      primaryName: $response.body#/organization/primaryName
  outputs:
    matchedQuantity: $steps.searchCompanies.outputs.matchedQuantity
    selectedDuns: $steps.searchCompanies.outputs.firstDuns
    primaryName: $steps.getCompany.outputs.primaryName