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