Skip to main content

Breezy HR Destination

Nexla's bi-directional connectors allow data to flow both to and from any location, making it simple to create a FlexFlow data flow that sends data to a Breezy HR location.
breezy_hr_api.png

Breezy HR

Create a Breezy HR Destination

  1. Click the + icon on the Nexset that will be sent to the Breezy HR destination, and select the Send to Destination option from the menu.

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

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

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

Configure Using a Template

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

  • To configure this destination using a template, select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

    Create Position

    This endpoint creates a new position (requisition) within the company on the credential. Use it to programmatically open new requisitions from an HRIS, an internal headcount planning tool, or any upstream system that drives hiring needs.

    • Each record in the upstream Nexset is sent as the JSON body of the POST call. At minimum, include the position name (the job title) and the pipeline _id (obtainable from the List Pipelines source endpoint). Optional fields include department, location, type, experience, education, description, and requisition_id.
    • Use the Nexla transform layer to shape upstream attributes into the field names expected by Breezy HR.

    Enable the Response Webhook option (in the Configure Manually section below) to capture the new position _id returned in the response. The _id is required for any subsequent calls that operate on the new position (such as creating candidates or moving candidates between stages).

    Update Position

    This endpoint updates an existing position — useful for syncing title, department, state, location, or requisition status changes back to Breezy HR from a downstream system of record.

    • Enter the position ID in the Position Id field. This identifies which position to update.
    • The body of each PUT call is the upstream record (as JSON). Include only the fields that should be changed; Breezy HR leaves omitted fields untouched.

    Create Candidate

    This endpoint adds a new candidate to a specific position. Use it to programmatically apply candidates sourced from external systems (job board feeds, employee referrals, sourcing tools, ATS migrations) to an open Breezy HR position.

    • Enter the position ID in the Position Id field. This identifies the position the candidate is being applied to.
    • Each record in the upstream Nexset is sent as the JSON body of the POST call. At minimum, include the candidate's name and email_address. Optional fields include phone_number, address, summary, cover_letter, source, origin, work_history, education, social_profiles, and a target stage_id.
    • Optionally include an execute_actions boolean in the body to indicate whether Breezy HR should run any stage-entry actions (auto-emails, questionnaires, assessments) that are configured on the candidate's initial stage.

    The same person applying to multiple positions has a different candidate _id on each position. Use the Search Candidates source endpoint to detect duplicates by email before applying.

    Update Candidate

    This endpoint updates candidate information for a single candidate on a single position. Use it to sync corrected contact details, updated resumes, or recruiter-managed metadata back into Breezy HR from a downstream system of record.

    • Enter the position ID in the Position Id field, and the candidate ID in the Candidate Id field.
    • The body of each PUT call is the upstream record (as JSON). Include only the fields that should be changed; Breezy HR leaves omitted fields untouched.

    Move Candidate to Stage

    This endpoint moves a candidate to a specific pipeline stage within their current position. Use it to advance candidates through the hiring pipeline from automation rules, scoring systems, or interview-feedback workflows.

    • Enter the position ID in the Position Id field, and the candidate ID in the Candidate Id field.
    • Each record in the upstream Nexset must include a stage_id in the JSON body indicating the target stage. Stage IDs can be obtained from the Get Pipeline source endpoint (where each stage is returned as its own record with its _id).

    Moving a candidate to a stage fires any auto-actions (emails, questionnaires, assessments) configured on the target stage in Breezy HR. Validate target stage IDs against the pipeline attached to the candidate's position before activating this destination.

    Move Candidate to Another Position

    This endpoint moves a candidate from their current position to a different position within the same company. Use it to re-route candidates who are a better fit for a different requisition without re-creating the candidate record from scratch.

    • Enter the current position ID in the Position Id field, and the candidate ID in the Candidate Id field.
    • Each record in the upstream Nexset must include the target position _id in the JSON body. The candidate is moved to the destination position; their stage on the new position depends on the destination pipeline configuration.

    Add Candidate Conversation

    This endpoint appends a new conversation message or recruiter note to a candidate's activity stream. Use it to programmatically log outbound communications, automated touchpoints, or recruiter observations into the candidate timeline.

    • Enter the position ID in the Position Id field, and the candidate ID in the Candidate Id field.
    • Each record in the upstream Nexset is sent as the JSON body of the POST call. Include the message body and the conversation type (for example, a recruiter note vs. an outbound email). Refer to the Breezy HR conversation reference for the supported types and field names.

    Send Candidate Questionnaire

    This endpoint sends a company-level questionnaire to a single candidate. Use it to automate screening, intake, or post-interview surveys based on upstream signals (stage change, interview outcome, requisition state).

    • Enter the position ID in the Position Id field, and the candidate ID in the Candidate Id field.
    • Enter the questionnaire ID in the Questionnaire Id field. This field is required. Questionnaire IDs can be obtained from the List Company Questionnaires source endpoint.

    Breezy HR delivers the questionnaire to the candidate using the email address on the candidate record. Confirm the candidate's email is correct (via Get Candidate) before sending.

    Update Candidate Custom Attribute

    This endpoint adds or updates a custom attribute value on a single candidate. Use it to sync values from external systems (scoring engines, enrichment providers, internal CRMs) into Breezy HR's candidate custom fields.

    • Enter the position ID in the Position Id field, and the candidate ID in the Candidate Id field.
    • Each record in the upstream Nexset must include the custom attribute _id (obtainable from the List Candidate Custom Attributes source endpoint) and the desired value in the JSON body.

    Update Candidate Education

    This endpoint adds or updates an education entry on a candidate's profile. Use it to populate education history from parsed resume data or from an external candidate enrichment provider.

    • Enter the position ID in the Position Id field, and the candidate ID in the Candidate Id field.
    • Each record in the upstream Nexset is sent as the JSON body of the PUT call. Include the education fields (for example, school, field_of_study, start_year, and end_year) expected by Breezy HR.

    Update Candidate Work History

    This endpoint adds or updates a work-history entry on a candidate's profile. Use it to populate employment history from parsed resume data or from an external candidate enrichment provider.

    • Enter the position ID in the Position Id field, and the candidate ID in the Candidate Id field.
    • Each record in the upstream Nexset is sent as the JSON body of the PUT call. Include the work-history fields (for example, company, title, summary, start_date, and end_date) expected by Breezy HR.

Configure Manually

Breezy HR destinations can be manually configured to send data to any valid Breezy HR API endpoint.

Using manual configuration, you can also configure Nexla to automatically send the response received from the Breezy HR API after each call to a new Nexla webhook data source. This is particularly useful for capturing the new resource IDs returned by Create Position and Create Candidate, which are needed for any follow-up calls that operate on those resources.

API Method

  1. To manually configure this destination, 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. Common methods for Breezy HR write endpoints include:

    • POST: For creating resources (for example, POST /company/{'{company_id}'}/positions to create a position, POST /company/{'{company_id}'}/position/{'{position_id}'}/candidates to create a candidate)
    • PUT: For updating resources or triggering state changes (for example, PUT /company/{'{company_id}'}/position/{'{position_id}'}/candidate/{'{candidate_id}'}/stage to move a candidate to a new stage)

Data Format

  1. Select the format in which the Nexset data will be sent to the Breezy HR API from the Content Format pulldown menu. The Breezy HR API expects application/json for all write endpoints, so JSON is the appropriate choice for every Breezy HR destination.

API Endpoint URL

  1. Enter the URL of the Breezy HR API endpoint to which you want to send the Nexset data in the 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, and many include a /position/<POSITION_ID>/... and/or /candidate/<CANDIDATE_ID>/... segment. For update or state-change operations, include the relevant IDs in the URL — Nexla macros can substitute IDs from each upstream record (for example, {'https://api.breezy.hr/v3/company/{company_id}/position/{position_id}/candidate/{id}'}).

Nexla automatically substitutes the credential's Company ID into the URL wherever the path expects it, so the {'{company_id}'} segment does not need to be filled in manually.

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this destination, 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 Breezy HR credential, and Content-Type: application/json is added based on the selected Content Format.

Exclude Attributes from the Call

Optional
  • If any record attributes in the Nexset should be omitted when sending data to this Breezy HR destination, select the attributes from the Exclude Attributes pulldown menu. This is useful for stripping internal Nexla bookkeeping fields, or for omitting upstream IDs (for example, an external system's record ID) that Breezy HR does not expect.

  • Any number of attributes can be selected for exclusion, and all excluded attributes will be shown in the field. To remove an attribute from the list, click the X icon next to the attribute name.

Record Batching

Optional

The Breezy HR API does not support batched create or update calls — each position, candidate, stage move, or questionnaire send is performed with its own request. Record batching in Nexla is therefore best left disabled for Breezy HR destinations.

  1. To override the default and group records into a single batched payload anyway, check the box next to Would you like to batch your records together?.

  2. Enter the maximum number of records that should be batched together in a single API call in the Batch Size field. By default, this value is set to 100.

  3. Select the algorithm that will be used to group records into batches from the Grouping Algorithm pulldown menu. The sample request shown in the panel on the right will be updated to reflect the current batching settings.

Response Webhook

Optional

Nexla can automatically send the response received from the Breezy HR API after each call to a new Nexla webhook data source. This option allows you to keep track of the status of each API call and downstream-process resource IDs returned by Breezy HR.

  • To enable this option, check the box next to Would you like to process the API response as a Nexla Webhook source?.

    Enabling the response webhook is particularly useful for Create Position and Create Candidate (to capture the new resource _id) and for any destination whose downstream flow needs to react to the Breezy HR response (for example, branching on success vs. validation error).

Sample Request Payload

Sample request payloads containing a portion of the Nexset data that will be sent to the Breezy HR API endpoint based on the current settings are shown in the Sample Payload panel on the right. These samples can be referenced to ensure that the destination and request settings are correctly configured.

  • Click on a sample request payload to expand it and view the complete payload content.

  • Sample payloads are automatically updated with each setting change, making it easy to verify that changes achieve the desired effect.

Endpoint Testing (Manual Configuration)

After all endpoint settings have been configured, Nexla can send a test payload to the Breezy HR API to ensure that the destination is configured correctly.

  1. To send a test payload, select the Test button at the top of the Sample Payload panel, and click on a listed sample payload to expand it.

  2. If any modifications to the sample payload are needed, make the necessary changes directly within the sample window.

  3. Click the Send Test Data button at the top of a sample payload to send the test payload to the Breezy HR API using the current settings.

Important

Test payloads sent to write endpoints (such as Create Position, Create Candidate, Move Candidate to Stage, or Send Candidate Questionnaire) will make real, persistent changes in your Breezy HR company — and some (such as questionnaire sends) will trigger outbound emails to candidates. Use a Breezy HR test or sandbox company before sending test data against a production company.

Save & Activate the Destination

  • Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To begin sending data to Breezy HR, open the destination resource menu, and select Activate.

    The Nexset data will not be sent to Breezy HR until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.