Coresignal · Arazzo Workflow

Coresignal Company to Employees Enrichment

Version 1.0.0

Find a company, then find and collect a key employee currently working at that company.

1 workflow 2 source APIs 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-to-employees
Resolve a company and collect a key employee working there.
Searches and collects a company, then searches employees by that company name and collects the top matching employee profile.
4 steps inputs: apikey, country, employee_title, name outputs: companyName, employeeFullName, employeeTitle
1
searchCompanies
searchCompaniesByFilter
Search company records by name and country. Returns an array of matching Coresignal company IDs.
2
collectCompany
collectCompany
Retrieve the full company record to obtain the canonical company name used to filter employees.
3
searchEmployees
searchEmployeesByFilter
Search employee records whose active employer matches the resolved company name and whose current title matches the requested title.
4
collectEmployee
collectEmployee
Retrieve the full enriched profile for the first employee matching the resolved company and title.

Source API Descriptions

Arazzo Workflow Specification

coresignal-company-to-employees-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Coresignal Company to Employees Enrichment
  summary: Find a company, then find and collect a key employee currently working at that company.
  description: >-
    A multi-source pattern that bridges the Company and Employee APIs. The
    workflow filters the Multi-source Company API to resolve a target company,
    collects that company's full record to obtain its canonical name, then uses
    that name as the active-employer filter against the Multi-source Employee API
    and collects the full profile of the first matching employee. Every step
    spells out its request inline, including the apikey authentication header and
    the search filter bodies, so the flow can be read and executed without
    opening the underlying OpenAPI descriptions.
  version: 1.0.0
sourceDescriptions:
- name: companyApi
  url: ../openapi/coresignal-multi-source-company-api-openapi.yml
  type: openapi
- name: employeeApi
  url: ../openapi/coresignal-multi-source-employee-api-openapi.yml
  type: openapi
workflows:
- workflowId: company-to-employees
  summary: Resolve a company and collect a key employee working there.
  description: >-
    Searches and collects a company, then searches employees by that company
    name and collects the top matching employee profile.
  inputs:
    type: object
    required:
    - apikey
    properties:
      apikey:
        type: string
        description: Coresignal API key sent in the apikey header.
      name:
        type: string
        description: Company name to resolve against the Company API.
      country:
        type: string
        description: Country to filter the company search on.
      employee_title:
        type: string
        description: Title to filter employees on within the resolved company.
  steps:
  - stepId: searchCompanies
    description: >-
      Search company records by name and country. Returns an array of matching
      Coresignal company IDs.
    operationId: searchCompaniesByFilter
    parameters:
    - name: apikey
      in: header
      value: $inputs.apikey
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.name
        country: $inputs.country
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      topCompanyId: $response.body#/0
  - stepId: collectCompany
    description: >-
      Retrieve the full company record to obtain the canonical company name used
      to filter employees.
    operationId: collectCompany
    parameters:
    - name: apikey
      in: header
      value: $inputs.apikey
    - name: id
      in: path
      value: $steps.searchCompanies.outputs.topCompanyId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      companyName: $response.body#/name
      employeesCount: $response.body#/employees_count
  - stepId: searchEmployees
    description: >-
      Search employee records whose active employer matches the resolved company
      name and whose current title matches the requested title.
    operationId: searchEmployeesByFilter
    parameters:
    - name: apikey
      in: header
      value: $inputs.apikey
    requestBody:
      contentType: application/json
      payload:
        active_experience_company_name: $steps.collectCompany.outputs.companyName
        active_experience_title: $inputs.employee_title
        country: $inputs.country
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      topEmployeeId: $response.body#/0
  - stepId: collectEmployee
    description: >-
      Retrieve the full enriched profile for the first employee matching the
      resolved company and title.
    operationId: collectEmployee
    parameters:
    - name: apikey
      in: header
      value: $inputs.apikey
    - name: id
      in: path
      value: $steps.searchEmployees.outputs.topEmployeeId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      employeeId: $response.body#/id
      fullName: $response.body#/full_name
      title: $response.body#/title
  outputs:
    companyName: $steps.collectCompany.outputs.companyName
    employeeFullName: $steps.collectEmployee.outputs.fullName
    employeeTitle: $steps.collectEmployee.outputs.title