Coresignal · Arazzo Workflow

Coresignal Company Search and Collect

Version 1.0.0

Search the Multi-source Company API by filters, then collect the full top-matching company record.

1 workflow 1 source API 1 provider
View Spec View on GitHub Agentic SearchB2B DataCompaniesCompany DataData as a ServiceElasticsearchEmployee DataEmployeesEnrichmentFirmographicsJob PostingsJobsLead GenerationPeople DataSales IntelligenceTalent IntelligenceWeb DataArazzoWorkflows

Provider

coresignal

Workflows

company-search-collect
Filter companies and collect the full record for the best match.
Posts a company filter to the search endpoint and collects the full company record for the first returned ID.
2 steps inputs: apikey, country, employees_count_from, employees_count_to, industry, size outputs: companyIds, companyName, website
1
searchCompanies
searchCompaniesByFilter
Search company records using a structured filter object. Returns an array of matching Coresignal company IDs.
2
collectCompany
collectCompany
Retrieve the full enriched company record for the first matching ID returned by the search.

Source API Descriptions

Arazzo Workflow Specification

coresignal-company-search-collect-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Coresignal Company Search and Collect
  summary: Search the Multi-source Company API by filters, then collect the full top-matching company record.
  description: >-
    The canonical Coresignal company pattern. The workflow submits a structured
    company filter to the Multi-source Company API search endpoint, which returns
    an array of matching company IDs, and then collects the full enriched company
    record for the first matching ID. Every step spells out its request inline,
    including the apikey authentication header and the search filter body, so the
    flow can be read and executed without opening the underlying OpenAPI
    description.
  version: 1.0.0
sourceDescriptions:
- name: companyApi
  url: ../openapi/coresignal-multi-source-company-api-openapi.yml
  type: openapi
workflows:
- workflowId: company-search-collect
  summary: Filter companies and collect the full record for the best match.
  description: >-
    Posts a company filter to the search endpoint and collects the full company
    record for the first returned ID.
  inputs:
    type: object
    required:
    - apikey
    properties:
      apikey:
        type: string
        description: Coresignal API key sent in the apikey header.
      industry:
        type: string
        description: Industry to filter companies on (e.g. "Software Development").
      country:
        type: string
        description: Country to filter companies on.
      size:
        type: string
        description: Company size band to filter on (e.g. "51-200").
      employees_count_from:
        type: integer
        description: Minimum current employee count.
      employees_count_to:
        type: integer
        description: Maximum current employee count.
  steps:
  - stepId: searchCompanies
    description: >-
      Search company records using a structured filter object. Returns an array
      of matching Coresignal company IDs.
    operationId: searchCompaniesByFilter
    parameters:
    - name: apikey
      in: header
      value: $inputs.apikey
    requestBody:
      contentType: application/json
      payload:
        industry: $inputs.industry
        country: $inputs.country
        size: $inputs.size
        employees_count_from: $inputs.employees_count_from
        employees_count_to: $inputs.employees_count_to
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      companyIds: $response.body
      topCompanyId: $response.body#/0
  - stepId: collectCompany
    description: >-
      Retrieve the full enriched company record for the first matching ID
      returned by the search.
    operationId: collectCompany
    parameters:
    - name: apikey
      in: header
      value: $inputs.apikey
    - name: id
      in: path
      value: $steps.searchCompanies.outputs.topCompanyId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      companyId: $response.body#/id
      companyName: $response.body#/name
      website: $response.body#/website
      employeesCount: $response.body#/employees_count
  outputs:
    companyIds: $steps.searchCompanies.outputs.companyIds
    companyName: $steps.collectCompany.outputs.companyName
    website: $steps.collectCompany.outputs.website