Skip to main content

Breezy HR Data Source

Breezy HR is a recruiting and applicant tracking platform with REST APIs for managing positions, candidates, pipelines, and hiring workflows. Follow the instructions below to create a new data flow that ingests data from a Breezy HR source in Nexla.
breezy_hr_api.png

Breezy HR

Create a New Data Flow

  1. To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Then, select the desired flow type from the list, and click the Create button.

  2. Select the Breezy HR connector tile from the list of available connectors. Then, select the credential that will be used to connect to the Breezy HR instance, and click Next; or, create a new Breezy HR credential for use in this flow.

  3. In Nexla, Breezy HR data sources can be created using pre-built endpoint templates, which expedite source setup for common Breezy HR endpoints. Each template is designed specifically for the corresponding Breezy HR endpoint, making source configuration easy and efficient.
    • To configure this source using a template, follow the instructions in Configure Using a Template.

    Breezy HR sources can also be configured manually, allowing you to ingest data from Breezy HR endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this source manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Breezy HR endpoints. Each template is designed specifically for the corresponding Breezy HR endpoint, making data source setup easy and efficient.

Endpoint Settings

  • Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

    List Companies

    This endpoint returns all Breezy HR companies the authenticated user account has access to. Use it to discover the available company IDs before configuring company-scoped flows, or to keep a directory of connected Breezy HR companies in sync downstream.

    • This endpoint takes no parameters. Selecting it automatically fetches every company visible to the API key on the credential.
    • Each record in the response contains the Breezy HR company _id, which is the same value used as the Company ID on Breezy HR credentials and in every other company-scoped endpoint.

    Unlike the other source endpoints, List Companies is not scoped to the credential's Company ID — it returns every company the API key can access. It is useful for bootstrapping multi-company integrations.

    Get Company

    This endpoint retrieves the full record for the company on the credential, including branding, settings, and metadata. Use it to sync company-level configuration into a warehouse or to reference the latest company settings in downstream flows.

    • This endpoint takes no parameters. The company is determined by the Company ID configured on the credential.
    • The response is a single company object (not an array). The path to data is set to the response root so the company is treated as the record.

    List Candidate Custom Attributes

    This endpoint returns the company-level custom attribute definitions configured for candidates in Breezy HR. Use it to discover available custom fields before reading or writing candidate records, or to document the candidate schema in a downstream system.

    • This endpoint takes no parameters. The custom attribute definitions returned are scoped to the company on the credential.
    • Each record represents a single custom attribute definition (its name, type, and configuration). Candidate values for these attributes are returned on individual candidate records, not by this endpoint.

    List Pipelines

    This endpoint returns every recruitment pipeline configured on the company. Use it to discover pipeline IDs before fetching pipeline details, or to sync the company's hiring workflow definitions into a warehouse.

    • This endpoint takes no parameters. The pipelines returned are scoped to the company on the credential.
    • Each record contains the pipeline _id and metadata. Use the pipeline _id as the Pipeline Id on the Get Pipeline endpoint to retrieve the full stage configuration for a single pipeline.

    Get Pipeline

    This endpoint retrieves the full configuration of a single pipeline, including its stages. Use it to sync the structure of a specific hiring workflow into a warehouse, or to populate downstream selectors with the valid stage IDs for a position.

    • Enter the pipeline ID in the Pipeline Id field. This field is required. Pipeline IDs can be obtained from the List Pipelines endpoint.
    • The path to data is set to $.stages[*], so each stage within the pipeline is treated as a separate record. This makes it easy to flatten pipeline stages into a stage-level table downstream.

    List Positions

    This endpoint returns every open position in the company. Use it to discover position IDs before fetching candidates, to sync a list of open requisitions into a warehouse, or to feed downstream reporting on hiring pipeline volume.

    • This endpoint takes no parameters. The positions returned are scoped to the company on the credential.
    • Each record contains the position _id. Use this value as the Position Id on the Get Position, List Candidates, Get Position Activity Stream, and other position-scoped endpoints.

    Get Position

    This endpoint retrieves the full record for a single position, including its title, department, state, location, pipeline reference, and any custom attributes. Use it to enrich a list of position IDs with the latest details, or to feed downstream systems that operate on a single requisition.

    • Enter the position ID in the Position Id field. This field is required. Position IDs can be obtained from the List Positions endpoint.
    • The response is a single position object. The path to data is set to the response root so the position is treated as the record.

    Get Position Activity Stream

    This endpoint returns the most recent activity stream events for a single position — stage moves, comments, candidate additions, and other workflow events. Use it to feed an audit log or to trigger downstream alerts when activity occurs on a requisition.

    • Enter the position ID in the Position Id field. This field is required.
    • The endpoint returns the last 30 events for the position. To capture activity over a longer window, schedule this source to run on a cadence that matches your event volume.

    Breezy HR caps the response at the most recent 30 events per position. For high-volume requisitions, run this source on a more frequent cadence to avoid missing events between runs.

    List Candidates

    This endpoint returns every candidate associated with a single position. Use it to sync candidate pipelines into a warehouse, build reporting on candidate volume per requisition, or feed downstream systems (CRM, sourcing tools, analytics) with candidate data.

    • Enter the position ID in the Position ID field. This field is required. Position IDs can be obtained from the List Positions endpoint.
    • Set the Sort field to created to sort candidates by creation date, or to updated to sort by most recent activity. The default is updated.
    • This endpoint is paginated. Breezy HR returns up to 50 candidates per page; Nexla automatically advances pages and stops when an empty page is returned, so every candidate on the position is captured in a single run.

    To sync candidates across every open position, chain a List Positions source into this source via a Nexla lookup-based macro on the Position ID field. See the Lookup-Based Macros section below for details.

    Search Candidates

    This endpoint searches every candidate in the company for a specific email address. Use it to look up an existing candidate (and the positions they have applied to) before creating a new application, or to de-duplicate candidate records sourced from external systems.

    • Enter the email address to search for in the Email Address field. This field is required.
    • The endpoint returns every candidate record that matches the email address across all positions in the company. Each match is returned as a separate record.

    The Breezy HR candidate search is exact-match on email. Email addresses are case-insensitive on the server side; trim whitespace upstream to avoid false-negatives.

    Get Candidate

    This endpoint retrieves the full record for a single candidate on a single position — including profile data, stage, scorecards, custom attributes, and tags. Use it to enrich an existing dataset of candidate IDs with the latest details, or to feed downstream systems that operate on a single application.

    • Enter the position ID in the Position Id field, and the candidate ID in the Candidate Id field. Both fields identify the candidate's application on a specific position; the same person applying to multiple positions has a different candidate ID on each.
    • The response is a single candidate object. The path to data is set to the response root so the candidate is treated as the record.

    Get Candidate Metadata

    This endpoint retrieves the metadata block for a single candidate on a single position — additional fields beyond the core candidate record, including parsed resume content and recruiter-managed metadata. Use it when the core candidate response does not contain all of the fields needed downstream.

    • Enter the position ID in the Position Id field, and the candidate ID in the Candidate Id field.
    • The response is a single metadata object. The path to data is set to the response root so the metadata block is treated as the record.

    Get Candidate Discussion Stream

    This endpoint returns the most recent discussion stream events for a single candidate on a single position — comments, mentions, scorecards, and other recruiter activity. Use it to feed an audit log of candidate-level activity or to trigger downstream notifications when activity occurs.

    • Enter the position ID in the Position Id field, and the candidate ID in the Candidate Id field.
    • The endpoint returns the last 50 events for the candidate. To capture activity over a longer window, schedule this source to run on a cadence that matches your event volume.

    Breezy HR caps the response at the most recent 50 events per candidate. For high-volume candidates, run this source on a more frequent cadence to avoid missing events between runs.

    List Candidate Documents

    This endpoint returns every document attached to a single candidate on a single position — resumes, cover letters, portfolios, and other uploaded files. Use it to build a candidate-documents inventory or to feed downstream systems that need to fetch the underlying files.

    • Enter the position ID in the Position Id field, and the candidate ID in the Candidate Id field.
    • Each record represents one document and includes metadata such as the document type, original filename, and a Breezy HR-hosted URL where the file can be retrieved.

    List Candidate Questionnaires

    This endpoint returns every questionnaire submitted by a single candidate on a single position. Use it to capture screening questionnaire responses for downstream scoring, ranking, or reporting.

    • Enter the position ID in the Position Id field, and the candidate ID in the Candidate Id field.
    • Each record represents one questionnaire submission and includes the question prompts and the candidate's answers.

    List Company Questionnaires

    This endpoint returns every questionnaire configured at the company level (the templates that can be sent to candidates). Use it to sync your questionnaire catalog into a warehouse, or to discover questionnaire IDs before sending a questionnaire to a candidate from the destination side.

    • This endpoint takes no parameters. The questionnaires returned are scoped to the company on the credential.
    • Each record contains the questionnaire _id, which is the value used as the Questionnaire Id on the Send Candidate Questionnaire destination endpoint.

    List Candidate Assessments

    This endpoint returns every third-party assessment result attached to a single candidate on a single position — for example, results from connected technical or psychometric assessment providers. Use it to centralize assessment data alongside candidate records in a warehouse.

    • Enter the position ID in the Position Id field, and the candidate ID in the Candidate Id field.
    • Each record represents one assessment result and includes the assessment provider, score, and result metadata.

Endpoint Testing

Once the selected endpoint template has been configured, Nexla can retrieve a sample of the data that will be fetched according to the current settings. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Configure Manually

Breezy HR data sources can be manually configured to ingest data from any valid Breezy HR API endpoint. Manual configuration provides maximum flexibility for endpoints not covered by pre-built templates or when you need custom URL parameters, response paths, or chained API calls (for example, fanning out from a list of positions to candidates on each position).

API Method

  1. To manually configure this source, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the Breezy HR API from the Method pulldown menu. Breezy HR source endpoints are read-only, so GET is the appropriate choice for every data source configuration.

API Endpoint URL

  1. Enter the URL of the Breezy HR API endpoint from which this source will fetch data in the Set API URL field. All Breezy HR API URLs use the base https://api.breezy.hr/v3/ followed by the resource path. Most endpoints are scoped to a company, in which case the URL also includes the /company/<COMPANY_ID>/... segment.

Nexla automatically substitutes the credential's Company ID into the URL where the path expects it. For example, an endpoint URL like {'https://api.breezy.hr/v3/company/{company_id}/positions'} will be rewritten with the credential's company ID at request time.

Lookup-Based Macros (API URL)

Optional

Column values from existing lookups can also be included as macros in the API URL. Lookup-based macros are especially useful for Breezy HR because most endpoints are scoped to a position ID (or to a position and a candidate ID), so a downstream source can fan out across every position or candidate produced by an upstream source.

A common pattern is to chain a List Positions source into a candidates source: use the position _id from the upstream Nexset as a lookup-based macro for the <POSITION_ID> segment in the candidates URL.

  1. To include a lookup column value macro, select the relevant lookup from the Add Lookups to Supported Macros pulldown menu.

  2. Type { at the appropriate position in the API URL, and select the lookup column-based macro from the dropdown list. Lookup-based macros are automatically populated into the macro list when a lookup is selected in the Add Lookups to Supported Macros pulldown menu.

Path to Data

Optional

If only a subset of the data that will be returned by the API endpoint is needed, you can designate the part(s) of the response that should be included in the Nexset(s) produced from this source by specifying the path to the relevant data within the response.

For Breezy HR, most list endpoints return a top-level array (use a path of $[*] to treat each element as a record), and single-resource endpoints (such as Get Position or Get Candidate) return a single object (use a path of $ to treat the response as the record). The Get Pipeline endpoint is a special case: the response is an object with a stages array, and the path $.stages[*] is used so each stage is treated as a record.

Path to Data is essential when API responses have nested structures. Without specifying the correct path, Nexla might not be able to properly parse and organize your data into usable records.

  • To specify which data should be treated as relevant in responses from this source, enter the path to the relevant data in the Set Path to Data in Response field. Breezy HR responses are always in JSON format, so the path uses JSON dot notation (for example, $.stages[*] for the pipeline stages array).

    Path to Data Example (Breezy HR):

    For the List Candidates endpoint, the response is a top-level array of candidate objects, so the path is entered as $[*]. For the Get Pipeline endpoint, the relevant data is a nested array of stages, so the path is entered as $.stages[*].

Autogenerate Path Suggestions

Nexla can also autogenerate data path suggestions based on the response from the API endpoint. These suggested paths can be used as-is or modified to exactly suit your needs.

  • To use this feature, click the Test button next to the Set API URL field to fetch a sample response from the API endpoint. Suggested data paths generated based on the content & format of the response will be displayed in the Suggestions box below the Set Path to Data in Response field.

  • Click on a suggestion to automatically populate the Set Path to Data in Response field with the corresponding path. The populated path can be modified directly within the field if further customization is needed.

    PathSuggestions.png

Pagination

Several Breezy HR list endpoints (most notably List Candidates) return paged results — Breezy HR returns up to 50 records per page and exposes a page query parameter starting at 1. For manually configured sources that use a paginated endpoint, configure the pagination settings to advance pages automatically.

  • In the iteration settings, select page-based pagination (paging.incrementing), set the Start Page to 1, the Page Size parameter name to page_size and the expected page size to 50. Enable Stop on No Data so Nexla stops advancing pages once Breezy HR returns an empty page.

Source endpoints that return single objects (such as Get Position or Get Candidate) and small-fixed-cap streams (such as Get Position Activity Stream and Get Candidate Discussion Stream) are not paginated and should be configured with the static.url iteration type.

Metadata

If metadata is included in the response but is located outside of the defined path to relevant data, you can configure Nexla to include this data as common metadata in each record. This is useful when you want to preserve important contextual information that applies to all records but isn't part of the main data array.

  • To specify the location of metadata that should be included with each record, enter the path to the relevant metadata in the Path to Metadata in Response field.

    • For Breezy HR (JSON-only) responses, enter the JSON path to the object or array that contains the metadata.

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this source, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (for example, header1:value1,header2:value2).

    You do not need to include any headers already present in the credentials. The Authorization header carrying the Breezy HR API key is added automatically based on your credential, and Content-Type: application/json is added based on the response format.

Endpoint Testing

After configuring all settings for the selected endpoint, Nexla can retrieve a sample of the data that will be fetched according to the current configuration. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Save & Activate the Source

  1. Once all of the relevant steps in the above sections have been completed, click the Create button in the upper right corner of the screen to save and create the new Breezy HR data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.