Skip to main content

Ashby Data Source

Ashby is an all-in-one recruiting platform that combines applicant tracking, sourcing, analytics, scheduling, and CRM capabilities for high-growth talent teams. Follow the instructions below to create a new data flow that ingests data from an Ashby source in Nexla.
ashby_api.png

Ashby

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 Ashby connector tile from the list of available connectors. Then, select the credential that will be used to connect to the Ashby instance, and click Next; or, create a new Ashby credential for use in this flow.

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

    Ashby sources can also be configured manually, allowing you to ingest data from Ashby 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 Ashby endpoints. Each template is designed specifically for the corresponding Ashby endpoint, making data source setup easy and efficient.

All Ashby read endpoints are accessed via POST against https://api.ashbyhq.com/{resource}.{action} (for example, POST /candidate.list, POST /application.info). Filters and pagination cursors are passed in the request body. Each template handles this convention automatically.

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 Applications

    This endpoint retrieves a paginated list of applications in the Ashby account, with optional filters for status, job, and creation date. Use it to sync the application pipeline into a warehouse, build hiring funnel reports, or feed downstream CRMs.

    • All filter parameters on this endpoint are optional. Leave them blank to return all applications, or set specific values to narrow the result set.
    • Enter an ISO 8601 timestamp in the Created After field to return only applications created at or after that time — useful for incremental syncs on a schedule.
    • Enter the Sync Token returned by a previous request to fetch only the records that changed since that token was issued. This is the recommended approach for ongoing incremental syncs.
    • Enter a value in the Status field (for example, Active, Hired, Archived) to restrict results to applications in that state.
    • Enter a job ID in the Job ID field to scope results to a single job. Job IDs can be obtained from the List Jobs endpoint.
    • Enter a comma-separated list of related fields in the Expand field (for example, candidate,job) to inline related objects in the response and reduce subsequent lookup calls.

    Pagination uses Ashby's cursor scheme — Nexla advances the cursor token automatically using the nextCursor field returned by each response. For incremental syncs, persist the Sync Token from the last response and pass it back on the next run.

    Get Application

    This endpoint returns full details for a single application by ID. Use it to enrich an existing dataset of application IDs with current status, candidate, job, and form data.

    • Enter the application ID in the Application ID field. This field is required. Application IDs can be obtained from the List Applications endpoint or from upstream Nexla data flows.

    List Application Feedback

    This endpoint returns all interview scorecards and feedback submissions associated with applications. Use it to power interviewer performance dashboards, calibration reports, or candidate quality analytics.

    • The Cursor field is optional and is managed by Nexla's pagination — leave it blank for normal usage.
    • Enter the maximum number of feedback records to return per page in the Limit field. The default value is 100.

    List Application Criteria Evaluations

    This endpoint returns evaluations of applications against configured hiring criteria. Use it for structured-interview reporting or to feed downstream analytics that compare candidates against role-specific rubrics.

    • No configuration is required for this endpoint beyond selecting it. Pagination is managed automatically by Nexla.

    List Candidates

    This endpoint retrieves a paginated list of candidates in the organization. Use it to sync the candidate database into a warehouse, marketing platform, or sourcing CRM.

    • Enter an ISO 8601 timestamp in the Created After field to return only candidates created at or after that time.
    • Enter the Sync Token returned by a previous request to fetch only the records that changed since that token was issued.

    For incremental syncs, prefer Sync Token over Created After — Ashby's sync token captures updates to existing records, not just newly created ones.

    Get Candidate

    This endpoint returns full details for a single candidate by ID, including contact information and metadata.

    • Enter the candidate ID in the Candidate ID field. This field is required. Candidate IDs can be obtained from the List Candidates endpoint.

    Search Candidates

    This endpoint searches candidates by name or email. Results are capped at 100 per request. Use it to find candidates ad-hoc from upstream data — for example, to check whether an inbound lead already exists as a candidate.

    • Enter an email address in the Email field to search for candidates with that email.
    • Enter a full or partial name in the Name field to search for candidates by name.
    • At least one of the two search fields should be populated. Leaving both blank returns no results.

    List Candidate Tags

    This endpoint returns the full catalog of candidate tags configured in Ashby. Use it as a reference dataset for downstream systems that need to display or filter on tag values.

    • No configuration is required for this endpoint beyond selecting it. All tags are returned automatically.

    List Jobs

    This endpoint returns a paginated list of jobs with optional filters for status, open/close dates, and other criteria. Use it to sync the job catalog into a warehouse or feed downstream career-site or analytics tools.

    • Enter an ISO 8601 timestamp in the Created After field to limit results to jobs created at or after that time.
    • Enter the Sync Token returned by a previous request for incremental syncs.
    • Enter a value in the Status field (for example, Open, Draft, Closed, Archived) to filter by current status.
    • Use the Opened After / Opened Before fields to filter by job opening date, and Closed After / Closed Before to filter by closing date. Dates use the format YYYY-MM-DD.
    • Enter a comma-separated list of related fields in the Expand field to inline related objects in the response.

    Get Job

    This endpoint returns full details for a single job by ID, including title, team, location, and interview-plan metadata. Use it to enrich a dataset of job IDs with current job state.

    • The job ID must be supplied in the request body when the call is made. When this template is driven by an upstream Nexla source (such as List Jobs), use the manual configuration to substitute the upstream record's id field into the body template.

    Search Jobs

    This endpoint searches jobs by title. Use it to look up specific roles by name from upstream systems — for example, mapping requisition titles from an HRIS into Ashby job IDs.

    • Enter the job title (or partial title) to search for in the Title field.

    List Job Postings

    This endpoint returns job postings (the publishable, candidate-facing description of a job) with optional filters for location, department, board, and visibility. Use it to power career-site mirrors or feed downstream job boards.

    • Enter a value in the Location field to restrict postings to a specific location name.
    • Enter a value in the Department field to restrict postings to a specific department.
    • Set the Listed Only field to true to return only publicly-listed postings, or false to include unlisted/internal postings.
    • Enter a job board ID in the Job Board ID field to restrict results to postings published to a specific board.

    Get Job Posting

    This endpoint returns full details for a single job posting by ID, including the application-form definition. Use it to render or mirror posting content (description, locations, application form fields) in a downstream system.

    • Enter the job posting ID in the Job Posting ID field. This field is required. Job posting IDs can be obtained from the List Job Postings endpoint.

    List Openings

    This endpoint returns a paginated list of job openings (individual headcount slots beneath a job) with optional filtering by creation date.

    • Enter an ISO 8601 timestamp in the Created After field to limit results to openings created at or after that time.
    • Enter the Sync Token returned by a previous request for incremental syncs.

    Search Openings

    This endpoint searches for a specific opening by identifier (the external opening identifier configured in Ashby).

    • Enter the opening identifier in the Identifier field. This field is required.

    List Offers

    This endpoint returns a paginated list of offers with optional filters for offer status, acceptance status, approval status, and application. Use it to power offer dashboards, compensation reports, or downstream HRIS handoff.

    • Enter an ISO 8601 timestamp in the Created After field to limit results to offers created at or after that time.
    • Enter the Sync Token returned by a previous request for incremental syncs.
    • Use the Offer Status, Acceptance Status, and Approval Status fields to filter on those workflow states.
    • Enter an application ID in the Application ID field to scope results to offers for a single application.

    List Projects

    This endpoint returns a paginated list of sourcing projects, optionally filtered by creation date. Use it to sync sourcing pipeline data into downstream tools.

    • Enter an ISO 8601 timestamp in the Created After field for incremental ingestion.
    • Enter the Sync Token returned by a previous request for incremental syncs.

    Search Projects

    This endpoint searches sourcing projects by title.

    • Enter the project title (or partial title) to search for in the Title field.

    List Interviews

    This endpoint returns a paginated list of all interviews configured in Ashby. Use it to feed interview-load dashboards or to sync interview metadata into a warehouse.

    • No configuration is required for this endpoint beyond selecting it. Pagination is managed automatically by Nexla.

    List Interview Stages

    This endpoint returns all interview stages configured in Ashby. Use it as a reference dataset for funnel analytics or stage-based reporting.

    • No configuration is required for this endpoint beyond selecting it. All interview stages are returned automatically with cursor pagination managed by Nexla.

    List Interview Schedules

    This endpoint returns a paginated list of interview schedules, optionally filtered by application or interview stage. Use it to power scheduling dashboards, sync interview calendars into BI, or feed downstream calendar tools.

    • Enter an ISO 8601 timestamp in the Created After field for incremental ingestion.
    • Enter an application ID in the Application ID field to scope results to a single application.
    • Enter an interview stage ID in the Interview Stage ID field to scope results to a single stage.

    List Feedback Form Definitions

    This endpoint returns all feedback form definitions configured in Ashby (the scorecard structures used during interviews). Use it as a reference dataset for analyzing feedback submitted via List Application Feedback.

    • No configuration is required for this endpoint beyond selecting it. All feedback form definitions are returned automatically.

    List Communication Templates

    This endpoint returns all communication templates configured in the Ashby account — for example, candidate-facing email templates used during outreach and stage transitions.

    • No configuration is required for this endpoint beyond selecting it. All templates are returned automatically.

    List Custom Fields

    This endpoint returns all custom fields configured in the Ashby account, across all object types. Use it as a schema-discovery dataset when downstream systems need to render or map custom field values.

    • No configuration is required for this endpoint beyond selecting it. Pagination is managed automatically by Nexla.

    List Archive Reasons

    This endpoint returns all archive reasons available in the Ashby account. Archive reasons are used when applications are archived (for example, Position Filled, Withdrew, Not a Fit). Use it as a reference dataset for pipeline analytics.

    • No configuration is required for this endpoint beyond selecting it. All archive reasons are returned automatically.

    List Close Reasons

    This endpoint returns the list of reasons a job can be closed (for example, Filled, Cancelled), optionally including archived reasons. Use it as a reference dataset for job-status analytics.

    • Set the Include Archived field to true to include archived close reasons in the results, or leave it blank to return only active reasons.

    List Brands

    This endpoint returns a paginated list of brands configured in the organization. Brands are used in Ashby to support multi-brand recruiting (for example, a parent company with multiple consumer brands).

    • Enter the maximum number of brands to return per page in the Limit field. Leave blank to use the Ashby default.

    List Departments

    This endpoint returns all departments configured in the Ashby account. Use it as a reference dataset when grouping jobs or applications by org structure.

    • No configuration is required for this endpoint beyond selecting it. All departments are returned automatically.

    List Locations

    This endpoint returns the office locations configured in the Ashby account, with options to include archived locations and the parent/child location hierarchy.

    • Set the Include Archived field to true to include archived locations in the results.
    • Set the Include Location Hierarchy field to true to return parent-child relationships between locations.

    List Sources

    This endpoint returns all candidate sources configured in the Ashby account (for example, LinkedIn, Employee Referral, Company Site). Use it as a reference dataset for source attribution analytics.

    • No configuration is required for this endpoint beyond selecting it. All sources are returned automatically.

    List Users

    This endpoint returns a paginated list of users in the Ashby account (the internal recruiters, hiring managers, and interviewers), with optional inclusion of deactivated users.

    • Set the Include Deactivated field to true to include deactivated users in the results, or leave it blank to return only active users.

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

Ashby data sources can be manually configured to ingest data from any valid Ashby API endpoint. Manual configuration provides maximum flexibility for accessing endpoints not covered by pre-built templates or when you need custom request bodies, pagination cursors, or response parsing.

With manual configuration, you can also create more complex Ashby sources, such as sources that chain calls to multiple endpoints — for example, listing applications and then fetching the feedback for each.

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 Ashby API from the Method pulldown menu. All Ashby read endpoints use POST — filters and pagination cursors are passed in the request body rather than as URL parameters.

    • POST: For all standard Ashby reads (list, info, search actions)
    • GET: Rarely used by Ashby; reserve for non-standard endpoints

API Endpoint URL

  1. Enter the URL of the Ashby API endpoint from which this source will fetch data in the Set API URL field. All Ashby API URLs use the base https://api.ashbyhq.com/ followed by the resource and action (for example, https://api.ashbyhq.com/candidate.list, https://api.ashbyhq.com/application.info).

Ensure the API endpoint URL is correct and accessible with your current credentials. You can test the endpoint using the Test button after configuring the URL.

Date/Time Macros (Request Body)

Optional

Optionally, the request body can be customized using macros—all macros added to the body will be converted into values when Nexla executes the API call. Macros are dynamic placeholders that allow you to create flexible filters that adapt across runs. They are particularly useful for Ashby filters such as createdAfter, openedAfter, closedBefore, and similar ISO 8601 timestamp parameters.

Macros are particularly useful for endpoints that require date ranges that change between data ingestion runs. For example, you can use {now-1} with a Day time unit to always fetch records created in the last day.

  1. To add a macro, type { at the appropriate position in the request body (within the body template field), and select the desired macro from the dropdown list.

    • {now} – The current datetime

    • {now-1} – The datetime one time unit before the current datetime

    • {now+1} – The datetime one time unit after the current datetime

    • custom – Datetime macros can reference any number of time units before or after the current datetime—for example, enter (now-7) to indicate the datetime seven time units before the current datetime

  2. Select the format that will be applied to datetime macros from the Date Format for Date/Time Macro pulldown menu. Ashby filters expect ISO 8601 timestamps (for example, 2026-05-01T00:00:00Z).

  3. Select the datetime unit that will be used to perform mathematical operations in the included macro(s) from the Time Unit for Operations pulldown menu—for example, for the macro {now-1}, when Day is selected, {now-1} will be converted to the datetime one day before the current datetime.

Lookup-Based Macros

Optional

Column values from existing lookups can also be included as macros in the request body. Lookup-based macros allow you to reference data from previously configured data sources or lookups, enabling dynamic Ashby calls that adapt based on existing data. For Ashby, this is useful when you have a Nexla dataset of application IDs, candidate IDs, or job IDs and want to fetch the related record for each.

Lookup-based macros are useful when you need to drive Ashby info endpoints from a Nexla dataset — for example, calling application.info once per application ID returned by a List Applications source.

  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 body template, 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 returned by an Ashby endpoint is needed, you can designate the part(s) of the response that should be included in the Nexset(s) by specifying the path to the relevant data within the response.

Ashby list and search endpoints return data under a top-level results array, so the path to data is $.results[*]. Ashby info endpoints return a single object under results, so the path to data is $.results.

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.

    • For responses in JSON format enter the JSON path that points to the object or array that should be treated as relevant data. JSON paths use dot notation (for example, $.results[*] to access every element of a results array).
    Path to Data Example:

    For an Ashby list endpoint (for example, POST /candidate.list), enter $.results[*]. For an Ashby info endpoint (for example, POST /candidate.info), enter $.results.

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

Ashby's paginated endpoints use a cursor scheme: each response includes a nextCursor token in the response body, which is passed back as the cursor field on the next request. The default page size parameter is limit. Pre-built templates configure this automatically — for manual configuration, set the pagination type to Next Token, the page-size parameter to limit, the cursor parameter to cursor, and the next-token path to $.nextCursor.

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.

For Ashby, the most useful metadata to capture is the top-level syncToken returned by list endpoints — preserve it on each record so downstream runs can resume from the same checkpoint.

  • 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 responses in JSON format, 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 for HTTP Basic Auth is added automatically based on your Ashby credential, and Content-Type: application/json is added automatically for POST requests.

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 Ashby 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.