Ashby delivers an applicant tracking system for modern teams, offering features like job postings, candidate management, and data-driven hiring insights to streamline the recruitment process
Ashby delivers an applicant tracking system for modern teams, offering features like job postings, candidate management, and data-driven hiring insights to streamline the recruitment process On Nagent, Ashby is exposed as a fully-configurable hr talent & recruitment integration that any agent can call — 125 actions, and API key authentication. No code is required to wire Ashby into your workflow — connect it once via the External Integrations panel and reuse it across every agent you build.
Agent builders use Ashby to automate the kinds of tasks hr talent & recruitment teams previously handled manually. Concrete examples — each one is a single agent step in Nagent — include:
Every action and trigger is paired with a structured input/output schema (visible in the sections below), so when you wire Ashby into Helix — our agentic agent builder — the editor knows exactly what each step expects and produces. Configure once, deploy anywhere across your Nagent agents.
Every operation an agent can call against Ashby, with input parameters and output schema. Drop these into any step of an agent built in Helix.
ASHBY_ADD_CANDIDATE_PROJECTAdd a candidate to a project in Ashby. Projects are sourcing initiatives or recruiting campaigns used to organize and track candidate pipelines. Use this to associate candidates with specific sourcing efforts. Common use cases: - Adding sourced candidates to recruiting campaigns - Organizing candidates by sourcing channel or initiative - Tracking candidates in specific hiring projects Requires candidatesWrite permission. Returns the updated candidate object on success, or error details if the candidate or project is not found.
Input parameters
UUID of the project to associate the candidate with. Use LIST_PROJECTS or SEARCH_PROJECTS to find project IDs. Projects are sourcing initiatives or recruiting campaigns.
UUID of the candidate to add to the project. Use LIST_CANDIDATES or SEARCH_CANDIDATES to find candidate IDs.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_ADD_CANDIDATE_TAGAdd a tag to a candidate in Ashby. Use this to categorize and organize candidates with existing tags from the system. This action allows you to apply labels/tags to candidates for filtering, searching, and organizational purposes. Tags must already exist in the system - use LIST_CANDIDATE_TAGS to view available tags or CREATE_CANDIDATE_TAG to create new ones. The response includes the full updated candidate object when successful, showing the newly added tag in the candidate's tags array. If a candidate already has the tag, the operation will still succeed idempotently.
Input parameters
The ID of the tag to add to the candidate. Use LIST_CANDIDATE_TAGS to get available tag IDs, or CREATE_CANDIDATE_TAG to create a new tag.
The unique identifier of the candidate. Use LIST_CANDIDATES or GET_CANDIDATE_INFO to obtain valid candidate IDs.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_ADD_HIRING_TEAM_MEMBERAdd an Ashby user to a hiring team at the application, job, or opening level. Use this when you need to assign a team member to participate in the hiring process with a specific role. Requires the organizationWrite permission.
Input parameters
ID of the job to add team member to. Either applicationId, jobId, or openingId must be provided, but not multiple.
ID of the hiring team role to assign to the user. This must be a valid UUID from your organization's hiring team roles.
ID of the opening to add team member to. Either applicationId, jobId, or openingId must be provided, but not multiple.
ID of the Ashby user to add to the hiring team.
ID of the application to add team member to. Either applicationId, jobId, or openingId must be provided, but not multiple.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_ADD_INTERVIEWER_POOL_USERAdd a user to an interviewer pool. Use this to assign interviewers to interview pools for scheduling and coordination. Requires the hiringProcessMetadataWrite permission.
Input parameters
UUID of the user to add to the interviewer pool
UUID of the interviewer pool to add the user to
Optional UUID of the training path stage to assign the user to within the interviewer pool. If provided, the user will be added as a trainee at this stage.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_ADD_OPENING_JOBAdds a job to an opening (job requisition) in Ashby ATS. An opening represents a position to be filled, while a job defines the role details. This action associates an existing job with an existing opening, allowing multiple jobs to be linked to a single opening. Use this when you need to add job definitions to an opening or when creating multi-role requisitions. Requires the jobsWrite permission. On success, returns the updated opening with the job added to its jobIds array. On failure, returns error details with specific error codes.
Input parameters
The unique identifier of the job to be added to the opening
The unique identifier of the opening to add the job to
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_ADD_OPENING_LOCATIONTool to add a location to an opening (job requisition). Use when you need to associate a location with an existing opening. Requires the jobsWrite permission.
Input parameters
The UUID of the opening to add the location to
The UUID of the location to add to the opening
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_ANONYMIZE_CANDIDATEAnonymize a candidate by removing personally identifiable information. Use this when you need to permanently anonymize a candidate's data. This action cannot be reversed and requires all of the candidate's applications to be in the archived or hired state.
Input parameters
The unique identifier of the candidate to anonymize. All of the candidate's applications must be in the archived or hired state.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_APPROVE_OFFERApprove an offer or a specific approval step within an offer's approval process. This action supports two modes: - Complete offer approval: Provide only offerId to approve the entire offer - Step-specific approval: Provide offerId, approvalStepId, and userId to approve a specific step When approving a specific step, both approvalStepId and userId are required together. Requires the 'offersWrite' permission.
Input parameters
Unique identifier (UUID) of the user performing the step-specific approval. Required when approving a specific step (must be used with approvalStepId).
Unique identifier (UUID) for the offer to approve. Required for all approval operations.
Unique identifier (UUID) for a particular approval step. Required when approving a specific step (must be used with userId).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_ARCHIVE_DEPARTMENTArchive a department by its unique identifier. Archiving a department marks it as inactive while preserving all its data and historical records. Archived departments are excluded from active department lists by default but can be restored later using the restore department action. This action is idempotent - archiving an already archived department will succeed and return the same result. Required permission: organizationWrite
Input parameters
The unique identifier of the department to archive
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_ARCHIVE_INTERVIEWER_POOLArchive an interviewer pool in Ashby. This marks the pool as archived, making it unavailable for new interview assignments while preserving historical data. Use this when an interviewer pool is no longer needed (e.g., for deprecated roles or outdated interview formats). The operation is idempotent - archiving an already archived pool will succeed without errors. Requires the hiringProcessMetadataWrite permission. To restore an archived pool, use the ASHBY_RESTORE_INTERVIEWER_POOL action.
Input parameters
The unique identifier (UUID) of the interviewer pool to archive. You can get this ID from LIST_INTERVIEWER_POOLS or GET_INTERVIEWER_POOL_INFO actions.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_ARCHIVE_LOCATIONArchives a location or location hierarchy in Ashby. When archived, the location is marked as inactive (isArchived=true) and typically becomes unavailable for new job postings or assignments. The operation is idempotent - archiving an already archived location succeeds without error. Requires the organizationWrite permission. Common use cases: - Decommissioning office locations that are no longer in use - Removing obsolete location entries from active use - Managing location lifecycle when restructuring office locations Note: Use restore_location to unarchive a location if needed.
Input parameters
The unique identifier (UUID) of the location to archive. Can be obtained from list_locations or other location endpoints.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_CHANGE_APPLICATION_SOURCEChange the source attribution of an application. Use this to update which source and user should be credited for bringing in the candidate.
Input parameters
The ID of the source to assign to the application
The unique identifier of the application to update
The ID of the user to credit for sourcing this application
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_CHANGE_APPLICATION_STAGEMove an application to a different interview stage in the hiring pipeline. Use this to: - Advance candidates to the next interview stage (e.g., from "Application Review" to "First Round") - Move candidates to any stage within their job's interview plan (forward or backward) - Archive applications by moving to an Archived stage (requires archiveReasonId) - Move to Offer or Hired stages when progressing candidates Important: The interview stage must belong to the same interview plan as the application's job. Use LIST_INTERVIEW_STAGES with the application's job interview plan ID to get valid stage options.
Input parameters
The unique UUID of the application to update (obtain from LIST_APPLICATIONS or GET_APPLICATION_INFO)
Archive reason UUID - REQUIRED when moving to an Archived interview stage type. Optional for all other stage types. Obtain from LIST_ARCHIVE_REASONS.
The UUID of the target interview stage to move the application to (obtain from LIST_INTERVIEW_STAGES for the application's job interview plan)
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_CREATE_APPLICATIONCreate a new job application by associating a candidate with a job opening in Ashby ATS. Use this action to: - Add a candidate to a job's hiring pipeline and interview process - Track the source of the application (referral, job board, etc.) - Credit a user (recruiter/referrer) for bringing in the candidate - Place the candidate directly into a specific interview stage (optional) The created application will automatically be assigned to the job's hiring team and start tracking the candidate's progress through the interview stages. Required: candidateId and jobId must reference existing entities in Ashby.
Input parameters
UUID of the job position to apply the candidate to. Must be an existing job ID obtained from job listing endpoints.
UUID of the source that referred or brought in this candidate (e.g., LinkedIn, Referral, Job Board). Optional - if not provided, the application will have no associated source.
UUID of the candidate to create an application for. Must be an existing candidate ID obtained from candidate creation or listing endpoints.
UUID of the user who should receive credit for this application (e.g., recruiter or referrer). Optional - if not provided, no user will be credited.
UUID of the interview stage to initially place the application in. Must be a valid stage from the job's interview plan. Optional - if not provided, the candidate will be placed in the default first stage (typically 'New Lead').
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_CREATE_CANDIDATECreate a new candidate in the system. Use this to add candidates with their contact information and social profiles before applying them to jobs.
Input parameters
Full name of the candidate
Primary email address of the candidate
GitHub profile URL of the candidate
Personal website URL of the candidate
LinkedIn profile URL of the candidate
Phone number of the candidate
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_CREATE_CANDIDATE_NOTECreate a note on a candidate profile. Use this to add comments, observations, or feedback about a candidate during the recruitment process.
Input parameters
The note content. Can be a plain text string or an object with 'value' and 'type' properties. For HTML notes (type='text/html'), supported elements include: <b>, <i>, <u>, <a>, <ul>, <ol>, <li>, <code>, <pre>. Unsupported elements will be stripped.
The unique identifier of the candidate to add the note to
Whether to send notifications about this note to relevant team members. If not specified, follows the default notification settings.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_CREATE_CANDIDATE_TAGCreate a new candidate tag in Ashby for categorizing and organizing candidates. Tags are labels that help you filter, search, and group candidates for better organization and workflow management. Use this action to create custom tags based on skills, experience levels, departments, or any other criteria relevant to your hiring process. Returns the newly created tag with its unique ID, title, and archived status. Tags are created in an active (non-archived) state by default.
Input parameters
The title/name of the tag. Must be a non-empty string. Examples: 'Engineering', 'Senior Leadership', 'Remote-First'
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_CREATE_CUSTOM_FIELDCreate a new custom field in Ashby. Custom fields allow you to track additional structured data on Ashby objects like candidates, applications, and jobs. This action creates the field definition that can then be populated with values using the set custom field value actions. Supported field types: - String: Free text input - Number: Numeric values - Boolean: True/false values - Date: Date values (optionally date-only without time) - ValueSelect: Single selection from predefined options - MultiValueSelect: Multiple selections from predefined options - Employee: Reference to an Ashby employee (limited object type support) Note: ValueSelect and MultiValueSelect field types require the selectableValues parameter. Requires the hiringProcessMetadataWrite permission.
Input parameters
The name/title of the custom field
The type of custom field. Valid values: String, Number, Boolean, Date, ValueSelect, MultiValueSelect, Employee
The type of object this custom field applies to. Common values include: Candidate, Application, Job. Note: Not all field types are supported on all object types.
Optional description of the custom field
Whether the field is date-only (no time). Only applicable when fieldType is Date.
Array of selectable values with 'label' and 'value' keys. Required for ValueSelect and MultiValueSelect field types. Each item must have 'label' and 'value' keys.
Whether the field can be exposed to candidates
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_CREATE_DEPARTMENTCreate a new department. Use this to add organizational departments or teams for structuring jobs and hierarchy.
Input parameters
The name of the department
The ID of the parent department (for nested departments)
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_CREATE_INTERVIEWER_POOLCreate a new interviewer pool. Use this to organize interviewers into groups by expertise or interview type. Requires the hiringProcessMetadataWrite permission.
Input parameters
The title/name of the interviewer pool
Indicates whether the pool requires training before members can participate
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_CREATE_JOBCreate a new job opening in Ashby ATS. Use this action to: - Add a new role to your organization with a title, department, location, and brand - Set up the job structure before publishing or opening it to candidates - Optionally assign a default interview plan to define the hiring process Important notes: - Newly created jobs start in 'Draft' status and cannot accept applications yet - To open the job for applications, you must set a defaultInterviewPlanId either during creation or update it later - Use LIST_DEPARTMENTS, LIST_LOCATIONS, LIST_BRAND, and LIST_INTERVIEW_PLANS actions to get valid IDs - The job creator is automatically set as the author
Input parameters
The job title (e.g., 'Senior Software Engineer', 'Product Manager')
The department/team ID from LIST_DEPARTMENTS action. Jobs are organized under departments in the org hierarchy
The brand ID from LIST_BRAND action. Brand defines employer branding for job postings
The location ID from LIST_LOCATIONS action where this job is based (office location or remote)
The job template ID to pre-populate job details. Only active templates are allowed
The interview plan ID from LIST_INTERVIEW_PLANS action. Required to open/publish the job. Defines the interview process and stages
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_CREATE_LOCATIONCreate a new location or location hierarchy. Use this to add office locations, remote work settings, or nested location structures for organizational management.
Input parameters
The name of the location
The type of location. Must be 'Location'
Location address.
Boolean indicating if this is a remote location
Workplace type. Valid values: 'Hybrid' or 'OnSite'
ID of parent location for creating hierarchies. Note: parent location must support hierarchy to be used as a parent
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_CREATE_OFFERCreate a new offer for a candidate in Ashby ATS. Use this to generate formal job offers with all required field values after starting an offer process and obtaining the form definition. Prerequisites: Must first call offerProcess.start to get offerProcessId, then offer.start to get offerFormId and field definitions. Date fields must use YYYY-MM-DD format (not ISO timestamp).
Input parameters
The offer form data containing all field submissions. Each field submission includes a path (field UUID) and value based on the field type (date, currency, number, string, boolean, or select).
The UUID of the form associated with the offer. This value is the id included in the response of the offer.start API. The form defines which fields need to be filled for the offer.
The UUID of the offer process associated with the offer you're creating. This value is the id included in the response of the offerProcess.start API. Each offer must be associated with an active offer process.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_CREATE_OPENINGCreate a new opening (job requisition) in Ashby ATS. An opening represents a job requisition - a request to hire for a specific position. All parameters are optional, but typically you'll want to provide at least a title, job IDs, and location IDs for a meaningful opening. Use this action to: - Create a new job opening with specific requirements - Associate openings with existing jobs, locations, and teams - Set hiring targets, employment type, and opening state - Track backfill positions vs new roles Required permission: openingsWrite Note: To get valid IDs for teamId, locationIds, and jobIds, use the corresponding List Departments, List Locations, and List Jobs actions.
Input parameters
Title of the opening
Array of job IDs (UUIDs) to associate with the opening. Use List Jobs action to get valid job IDs.
Department/team ID (UUID) to associate with the opening. Use List Departments action to get valid team IDs.
Opening identifier (custom reference code)
Boolean indicating if this is a backfill position
Description of the opening
Array of location IDs (UUIDs) for the opening. Use List Locations action to get valid location IDs.
State of the opening. Valid values: Draft, Open, Closed, Approved, Filled
Type of employment. Valid values: FullTime, PartTime, Intern, Contract, Temporary
Target date for hiring (ISO 8601 date format)
Target start date for the hire (ISO 8601 date format)
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_CREATE_REFERRALCreate a referral in Ashby ATS by submitting a referral form with candidate information. Use this action to formally submit employee referrals for job openings, which creates both a candidate record (if new) and an application linked to the specified job.
Input parameters
The referral form ID. Use the get_referral_form action to retrieve the default form ID.
Optional timestamp for when the referral was created (ISO 8601 format)
The ID of the user submitting the referral. Use the list_users action to get valid user IDs.
Array of field submissions. Required fields depend on the form definition but typically include: '_systemfield.job' (job ID from list_jobs), '_systemfield_name' (candidate name), '_systemfield_email' (candidate email), and any custom fields from the form definition. Each item has 'path' (the field identifier) and 'value' (the submitted value).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_CREATE_SURVEY_REQUESTGenerate a survey request and receive a survey URL to send to a candidate. Use this when you need to collect feedback or information from candidates via a survey. Requires candidatesWrite permission. Note that calling this endpoint does not automatically email the survey to the candidate.
Input parameters
The unique identifier (UUID) for the candidate
The unique identifier (UUID) for the application
The unique identifier (UUID) for the survey form definition to be used
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_CREATE_SURVEY_SUBMISSIONCreate a new survey submission for a candidate's application. Use this to submit candidate survey responses programmatically, such as candidate experience ratings or feedback forms. Requires the candidatesWrite permission.
Input parameters
The UUID of the candidate for whom the survey submission is being created
The UUID of the application associated with the survey submission
An object containing the survey responses as key-value pairs. Keys are field identifiers (e.g., '_systemfield_overall_candexp_rating') and values are the submitted responses. MultiValueSelect fields accept lists of strings, while single-value fields accept scalar values (str, int, float, bool, or null)
The UUID of the survey form definition to use for this submission
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_GET_API_KEY_INFORetrieve information about the current API key, including associated organization, user details, and permissions. Use this to verify API key validity and check what access level the key has. Useful as a prerequisite check before write operations (e.g., ASHBY_UPDATE_CANDIDATE) or list operations (e.g., ASHBY_LIST_APPLICATIONS) to confirm the key has required scopes.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_GET_APPLICATION_INFORetrieve detailed information about a specific application by its ID. Returns complete details including candidate info, interview stages, and hiring team nested under data.results. To find a recruiting coordinator, match hiringTeam entries where role == "Recruiting Coordinator" (exact string). Optional fields such as primaryEmailAddress may be null; handle accordingly.
Input parameters
The unique identifier of the application A single candidate may have multiple application IDs; only call for relevant IDs rather than every ID from a bulk list.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_GET_CANDIDATE_INFORetrieve detailed information about a specific candidate by their ID. This action returns comprehensive candidate data including: - Basic information (name, position, company, school) - Contact details (email addresses, phone numbers) - Social profiles (LinkedIn, etc.) - Associated applications and tags - Custom field values - Source and credited user information - Location and timezone - Profile URL Use this when you need complete details about a specific candidate. To find candidate IDs, use the list_candidates or search_candidates actions first.
Input parameters
The unique identifier (UUID) of the candidate to retrieve. Can be obtained from list_candidates or search_candidates actions.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_GET_CUSTOM_FIELD_INFORetrieve detailed information about a specific custom field by its ID. Use this to get custom field details including title, object type, field type, and selectable values. Requires the hiringProcessMetadataRead permission.
Input parameters
The UUID of the custom field to retrieve information about
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_GET_DEPARTMENT_INFORetrieve detailed information about a specific department by its ID. Returns comprehensive department details including: - Department name (internal and external) - Parent department relationship (parentId for hierarchical structure) - Archive status (isArchived) - Creation and last update timestamps Use this action when you need information about a specific department (e.g., to verify a department exists, check its archive status, or understand organizational hierarchy). For listing all departments or finding department IDs, use the List Departments action instead. Requires 'organizationRead' permission.
Input parameters
The unique identifier (UUID) of the department to retrieve. Get valid department IDs using the List Departments action.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_GET_FEEDBACK_FORM_DEFINITIONRetrieve detailed information about a specific feedback form definition by its ID. Use this action to: - Get the complete structure of a feedback form including all sections and fields - View field types (ValueSelect, MultiValueSelect, Boolean, RichText) and their configurations - Check if a form is the default form or a custom scorecard - See which interview the form is linked to (if any) - Access selectable values and field metadata for form rendering To find available feedback form IDs, use the List Feedback Form Definitions action first. Requires the hiringProcessMetadataRead permission.
Input parameters
The unique identifier of the feedback form definition. Use the List Feedback Form Definitions action to discover available form IDs.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_GET_FILE_INFORetrieve the URL of a file associated with a candidate. Use this to get a pre-signed S3 URL for accessing candidate files like resumes. Requires the candidatesRead permission.
Input parameters
A file handle string retrieved from the public API. This is typically found in the 'fileHandles' array or 'resumeFileHandle' field in candidate.list or candidate.info responses. The handle is a base64-encoded string containing file metadata and signature.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_GET_INTERVIEWER_POOL_INFORetrieve detailed information about a specific interviewer pool by its ID. Returns comprehensive pool information including: - Basic details (ID, title, archived status) - Qualified members who can conduct interviews - Trainees currently in training - Training path configuration with stages and requirements Use this to view interviewer pool composition, training programs, and member status for scheduling interviews or managing interviewer assignments.
Input parameters
The unique identifier (UUID) of the interviewer pool to retrieve
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_GET_INTERVIEWER_USER_SETTINGSGet interviewer settings for a specific user by their ID. Use this to retrieve daily and weekly interview limits configured for the user. Requires the organizationRead permission.
Input parameters
The unique identifier of the user to get interviewer settings for
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_GET_INTERVIEW_INFORetrieve detailed information about a specific interview type by its ID. Use this to get interview details including title, instructions, and feedback form configuration.
Input parameters
The unique identifier (UUID) of the interview type to retrieve. Use the 'List Interviews' action to get available interview IDs.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_GET_INTERVIEW_STAGE_INFOTool to fetch interview stage details by ID. Use when you need specific information about an interview stage including its title, type, order, and parent interview plan. Requires the interviewsRead permission.
Input parameters
The unique identifier (UUID) of the interview stage
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_GET_JOB_INFORetrieve detailed information about a specific job by its ID. Use this to get complete details about a job including title, status, hiring team, interview plans, and more. Job offer payloads omit full job details; combine with ASHBY_LIST_APPLICATIONS and ASHBY_GET_APPLICATION_INFO for complete reporting data.
Input parameters
The unique identifier of the job
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_GET_JOB_INTERVIEW_PLAN_INFORetrieve the interview plan information for a specific job. Use this to get details about the interview stages and process configured for a job.
Input parameters
The unique identifier of the job to get the interview plan for
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_GET_JOB_POSTING_INFORetrieve detailed information about a specific job posting by its ID. Use this to get complete job posting details including full description, application form fields, compensation, and publish settings.
Input parameters
The unique identifier of the job posting
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_GET_LOCATION_INFORetrieve detailed information about a specific location by its ID. Use this to get complete location details including address, remote status, and workplace type.
Input parameters
The unique identifier of the location
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_GET_OFFER_INFORetrieve detailed information about a specific offer by its ID. This action returns comprehensive offer data including application ID, status, version, timestamps, candidate ID, job ID, start date, and custom fields. Use this when you need complete details about a specific offer. To find offer IDs, use the list_offers action first. Requires the 'offersRead' permission.
Input parameters
The unique identifier (UUID) of the offer to retrieve. Can be obtained from list_offers action.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_GET_OPENING_INFORetrieve detailed information about a specific opening (job requisition) by its ID. An opening represents a headcount position that needs to be filled. Each opening belongs to a job and tracks hiring progress including state (Open/Closed), hiring team members, employment type, and target dates. Use this action to: - Get complete details about a specific opening including its current state - View the hiring team assigned to the opening - Check employment type, target hire date, and target start date - Access custom fields associated with the opening Returns opening details on success, or error information if the opening ID is invalid.
Input parameters
The unique identifier (UUID) of the opening to retrieve. Obtain this from the list_openings action or from job details.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_GET_REFERRAL_FORMFetches the default referral form or creates a default referral form if none exists. Requires the hiringProcessMetadataRead permission.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_GET_SURVEY_FORM_DEFINITIONRetrieve detailed information about a specific survey form definition by its ID. This action returns comprehensive details about a survey form including: - Survey title and type (e.g., Diversity, EEOC, QualityOfHire) - Form definition with sections and fields - Field types (ValueSelect, MultiValueSelect, RichText, LinearRating, etc.) - Selectable values for choice fields - Required field indicators - Archive status Use the LIST_SURVEY_FORM_DEFINITIONS action first to discover available survey form IDs. Common survey types include candidate experience surveys, hiring manager assessments, quality of hire evaluations, and EEOC compliance forms. Requires the hiringProcessMetadataRead permission.
Input parameters
The unique identifier (UUID) of the survey form definition to retrieve. Use the LIST_SURVEY_FORM_DEFINITIONS action to discover available survey form IDs.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_GET_USER_INFORetrieve detailed information about a specific user by their ID. Use this to get user details including name, email, role, and permissions.
Input parameters
The unique identifier (UUID) of the user to retrieve
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_APPLICATION_CRITERIA_EVALUATIONSRetrieve AI-generated criteria evaluations for an application. Use this to get the AI assessment of how well a candidate meets specific job requirements, including evaluation outcomes and reasoning.
Input parameters
Maximum number of results per page. Default: 100.
Cursor for pagination. Use nextCursor from previous response.
The unique identifier of the application
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_APPLICATION_FEEDBACKRetrieve all feedback submissions for an application. Use this to view interviewer feedback, evaluations, and notes collected throughout the hiring process.
Input parameters
Cursor for pagination to fetch the next set of results. Use the returned nextCursor value until moreDataAvailable is false.
Sync token to fetch only feedback that has changed since last sync.
The unique identifier of the application
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_APPLICATION_HIRING_TEAM_ROLERetrieve all available hiring team roles for applications in the organization. These roles can be assigned to hiring team members at the application level (e.g., Recruiter, Hiring Manager, Recruiting Coordinator, Sourcer). Use this endpoint to get the complete list of role IDs and titles that are available for assignment. Requires candidatesRead permission. Note: This differs from the general hiring team roles list - this specifically returns roles used at the application level in the hiring workflow.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_APPLICATION_HISTORYRetrieve the complete history of stage transitions for an application. Use this to get detailed information about when and how a candidate moved through different interview stages.
Input parameters
Maximum number of history items to return per page. Default and maximum is 100.
Pagination cursor token for retrieving subsequent pages of history entries. Use the nextCursor value from a previous response.
The unique identifier (UUID) of the application to retrieve history for. Obtain this from list_applications or create_application actions.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_APPLICATIONSRetrieve a list of applications with optional pagination and sync-token filtering for incremental updates. No server-side recruiter filter exists; attribute applications to team members client-side.
Input parameters
Filter applications by job UUID.
Maximum number of items to return per page (1-100). Defaults to 100 if not specified.
Cursor for pagination to fetch the next set of results. Loop until `nextCursor` is null or `moreDataAvailable` is false to avoid missing records; each page returns up to ~100 results.
List of related object fields to expand and include in the response.
Filter applications by status. Allowed values: Hired, Archived, Active, Lead.
Sync token to fetch only applications that have changed since last sync.
Unix timestamp in milliseconds. Only returns applications created after this date.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_APPROVALRetrieve a list of approvals (offer approvals, job approvals, etc.). Use this to track approval workflows and pending approvals.
Input parameters
Cursor for pagination to fetch the next set of results
Number of results to return per page
Sync token to fetch only approvals that have changed since last sync
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_ARCHIVE_REASONSRetrieve a list of all archive reasons. Use this to see available reasons for archiving candidates or applications, such as rejection categories.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_BRANDRetrieve a list of all brands for the organization. Use this to get available brands for job postings and employer branding. Requires organizationRead permission.
Input parameters
Maximum number of results per page. Default: 100.
Cursor for pagination. Use nextCursor from previous response.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_CANDIDATE_CLIENT_INFORetrieve all client info records for a specific candidate with pagination support. Client info records contain additional client-specific information associated with candidates in your Ashby account. This endpoint supports pagination and incremental synchronization for efficient data retrieval. Use the cursor and limit parameters to paginate through large result sets. For incremental syncing, use the syncToken to fetch only changes since your last sync. Requires candidatesRead permission.
Input parameters
Maximum number of records to return per request. Default and maximum is 100
Opaque cursor for fetching the next page of results. Use the nextCursor from the previous response
Token representing the last successful sync for incremental synchronization. Use this to fetch only changes since last sync
The unique identifier (UUID) of the candidate to retrieve client info for
Timestamp in milliseconds since Unix epoch. Only return records created after this time
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_CANDIDATE_NOTESRetrieve all notes for a specific candidate in Ashby. Use this action to view comments, observations, and internal notes added by recruiters and hiring team members during the hiring process. Common use cases: - Review feedback and observations from interviewers - Check historical communication and decisions about a candidate - Audit the hiring process for a specific candidate Prerequisites: - You need a valid candidateId. Get this from list_candidates or search_candidates. - Requires 'candidatesRead' permission in Ashby. Returns an empty list if the candidate has no notes.
Input parameters
Maximum number of notes to return per page. If not specified, the API will use its default limit.
Pagination cursor for fetching the next page of results. Use the nextCursor value from a previous response to get more notes.
Sync token for incremental updates. Use this to fetch only notes that have changed since your last sync.
The unique identifier (UUID) of the candidate whose notes you want to retrieve. Get this ID from list_candidates or search_candidates actions.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_CANDIDATE_PROJECTSRetrieve all projects associated with a candidate. Use this to see which sourcing projects or recruiting initiatives a candidate is part of.
Input parameters
Maximum number of results per page. Default: 100.
Cursor for pagination. Use nextCursor from previous response.
The unique identifier (UUID) of the candidate whose project associations to retrieve
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_CANDIDATESRetrieve a list of candidates. Use this to fetch all candidates with optional pagination and filtering by sync token for incremental updates.
Input parameters
Cursor for pagination to fetch the next set of results Loop using the returned `nextCursor` value until it is null or `moreDataAvailable` is false to avoid missing records.
Number of results to return per page
Sync token to fetch only candidates that have changed since last sync
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_CANDIDATE_TAGSRetrieve a list of all candidate tags in your Ashby account. Tags are labels used to categorize and organize candidates for filtering and search purposes. Use this action to: - Get all available tags for tagging candidates - Implement incremental sync using the syncToken parameter - Paginate through large sets of tags using cursor Returns tag id, title, and archived status for each tag.
Input parameters
Cursor for pagination to fetch the next set of results
Number of results to return per page (1-100)
Sync token to fetch only tags that have changed since last sync. Use the syncToken from a previous response to get incremental updates.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_CLOSE_REASONSLists all close reasons for jobs or openings. Close reasons categorize why a job or opening was closed (e.g., rejected by candidate, rejected by organization, or other reasons). Requires hiringProcessMetadataRead permission.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_COMMUNICATION_TEMPLATESRetrieve a list of all communication templates. Use this to see available email and message templates for candidate outreach.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_CUSTOM_FIELDSRetrieve a list of all custom field definitions configured in Ashby. Use this action to discover what custom fields are available for candidates, applications, jobs, offers, and openings. This is useful when you need to: - Know what custom fields exist before setting values on resources - Understand the data types and available options for each field - Identify the IDs of custom fields needed for other API operations Returns fields with their types (String, Number, Boolean, Date, ValueSelect, MultiValueSelect, Currency, CompensationRange) and selectable values for dropdown fields.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_DEPARTMENTSRetrieve a list of all departments in the organization. Use this action to: - Get all departments for organizing jobs and candidates by team structure - Find department IDs needed for creating or filtering jobs - Understand the organizational hierarchy via parentId relationships - Perform incremental syncs to detect newly created or updated departments Supports pagination for large organizations. When moreDataAvailable is true, use the nextCursor value in subsequent requests to fetch more results.
Input parameters
Maximum number of departments to return per page. Must be between 1 and 100. Defaults to API maximum if not specified.
Pagination cursor from a previous response's nextCursor field. Omit for the first page of results.
Token from a previous sync to fetch only departments updated since then. Use for incremental synchronization workflows.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_FEEDBACK_FORM_DEFINITIONSRetrieve all feedback form definitions from your Ashby organization. Use this action to: - Discover available interview feedback templates - Get form IDs for use with other feedback-related actions - Understand the structure of feedback forms including fields and sections - Identify the default feedback form vs custom scorecards Returns a list of feedback forms with their complete structure, including field types (ValueSelect, MultiValueSelect, Boolean, RichText) and selectable values.
Input parameters
Maximum number of results per page. Default: 100.
Cursor for pagination. Use nextCursor from previous response.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_HIRING_TEAM_ROLERetrieve a list of possible hiring team roles in the organization. Use this to get available roles that can be assigned to members of a hiring team (e.g., Hiring Manager, Recruiter, Recruiting Coordinator, Sourcer). Requires the organizationRead permission.
Input parameters
If true (default), returns an array of role titles. If false, returns an array of objects with each role's id and title.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_INTERVIEWER_POOLSRetrieve a list of all interviewer pools. Interviewer pools are groups of interviewers organized by expertise, role, or interview type (e.g., "Backend Engineer", "Bar Raiser"). Use this to see available interviewer pools for scheduling interviews or managing interview assignments. Supports pagination via cursor and incremental sync via syncToken.
Input parameters
Cursor for pagination to fetch the next set of results
Number of results to return per page
Sync token to fetch only interviewer pools that have changed since last sync
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_INTERVIEW_EVENTSRetrieves all interview events for a specific interview schedule. Each interview event represents a scheduled time slot with assigned interviewers for conducting interviews. Use this action to: - Get details about scheduled interviews including start/end times, locations, and meeting links - View which interviewers are assigned to each interview event - Check feedback submission status for interviews - Access feedback submission links for interviewers Key information returned: - Event timing (start/end times in ISO 8601 format) - Interviewer details (names, emails, roles) - Meeting logistics (physical location or virtual meeting link) - Feedback status and submission links Supports pagination via cursor and incremental synchronization via syncToken. Requires interviewsRead permission.
Input parameters
Optional. Maximum number of interview events to return per page (1-100). Defaults to API's default page size if not specified.
Optional. Pagination cursor from a previous response's nextCursor field. Use this to fetch subsequent pages of results when moreDataAvailable is true.
Optional. Sync token from a previous response. When provided, returns only events that have been created or updated since that token was issued. Useful for incremental data synchronization.
Required. The unique identifier (UUID) of the interview schedule to retrieve events for. Obtain this from LIST_INTERVIEW_SCHEDULES action.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_INTERVIEW_PLANSRetrieve a list of interview plans. Use this to get the structured interview processes and stages configured for different roles.
Input parameters
Cursor for pagination to fetch the next set of results
Number of results to return per page
Sync token to fetch only interview plans that have changed since last sync
Whether to include archived interview plans in the results
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_INTERVIEWSList all interview types defined in Ashby. Returns interview templates/definitions (e.g., 'Technical Phone Screen', 'Debrief', 'Intro Call with CEO') rather than scheduled interview instances. Use this to discover available interview types for building interview plans or to sync interview type data. Supports pagination via cursor and incremental sync via syncToken.
Input parameters
Pagination cursor from a previous response's nextCursor field. Use this to fetch subsequent pages of results.
Number of interview records to return per page. Defaults to server default if not specified.
Sync token from a previous response. When provided, only returns interviews that have been created or updated since the token was issued. Useful for incremental syncing.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_INTERVIEW_SCHEDULESRetrieve a list of interview schedules. Use this to fetch all scheduled interviews with candidates, including timing, interviewers, and interview details.
Input parameters
Cursor for pagination to fetch the next set of results
Number of results to return per page
Sync token to fetch only interview schedules that have changed since last sync
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_INTERVIEW_STAGE_GROUPSRetrieve a list of interview stage groups. Use this to see how interview stages are organized into logical groups within interview plans.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_INTERVIEW_STAGESRetrieve all interview stages for an interview plan in order. Use this to get the structured sequence of stages a candidate progresses through during the interview process for a specific role. Requires interviewsRead permission.
Input parameters
UUID of the interview plan to list stages for
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_JOB_BOARDSRetrieve a list of job boards. Use this to see where job postings can be published (e.g., LinkedIn, Indeed, company career page).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_JOB_POSTINGSRetrieve a list of job postings. Use this to fetch all public job postings with optional pagination and filtering. May return zero results even when open jobs exist; if so, use ASHBY_LIST_JOBS as a fallback.
Input parameters
Cursor for pagination to fetch the next set of results Check the moreDataAvailable flag in each response; if true, pass the returned cursor into the next call. Stopping early silently omits remaining job postings.
Number of results to return per page
Sync token to fetch only job postings that have changed since last sync
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_JOBSRetrieve a list of all jobs from Ashby ATS (Applicant Tracking System). Use this action to: - Fetch all open, closed, or draft jobs in your organization - Get job details including title, status, employment type, department, and hiring team - Paginate through large result sets using cursor-based pagination - Perform incremental syncs using syncToken to only fetch changed jobs Each job includes comprehensive information such as hiring team members, interview plan IDs, job posting IDs, custom fields, and timestamps. When ASHBY_LIST_JOB_POSTINGS returns zero results, use this action as the authoritative source for open job data. Job payloads exclude application details; follow up with ASHBY_LIST_APPLICATIONS or ASHBY_GET_APPLICATION_INFO for complete data.
Input parameters
Cursor for pagination to fetch the next set of results
Number of results to return per page
Sync token to fetch only jobs that have changed since last sync
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_JOB_TEMPLATESRetrieve a list of all job templates from Ashby ATS. Use this action to: - Discover available job templates for creating standardized job postings - View both active and inactive templates in your organization - Get template details including title, department, location, and employment type - Paginate through results using cursor-based pagination - Perform incremental syncs using syncToken to only fetch changed templates Job templates provide reusable configurations that help maintain consistency when creating new jobs in your organization.
Input parameters
Maximum number of job templates to return per page. Default and maximum is 100.
Opaque cursor for pagination. Pass the 'nextCursor' value from a previous response to fetch the next page of results.
Token for incremental sync. Pass a syncToken from a previous response to only fetch job templates that have changed since then.
Unix epoch timestamp in milliseconds. Only return job templates created after this time.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_LOCATIONSRetrieve a list of all locations. Use this to get available office locations and remote work settings for jobs.
Input parameters
Maximum number of results per page. Default: 100.
Cursor for pagination. Use nextCursor from previous response.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_OFFERSRetrieve a list of job offers with their latest versions. This action fetches all offers made to candidates in your Ashby account. Use pagination (cursor/perPage) to handle large result sets efficiently. Use syncToken for incremental updates to fetch only changed offers since last sync. Use createdAfter to filter offers by creation time. Requires the 'offersRead' permission.
Input parameters
Pagination cursor to fetch the next page of results. Use the nextCursor value from a previous response. Stop paginating when moreDataAvailable is false or nextCursor is null.
Number of offers to return per page (1-100). Defaults to 100 if not specified.
Sync token for incremental updates. Fetches only offers that changed since the last sync. Use the syncToken from a previous response.
Unix timestamp in milliseconds. Returns only offers created after this time. Filters on offer creation time; response also includes decidedAt for decision timestamps.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_OPENINGSRetrieve a list of openings (job requisitions). Use this to fetch all openings with optional pagination and filtering. Each opening may represent multiple hires; inspect headcount fields rather than assuming one opening equals one hire.
Input parameters
Cursor for pagination to fetch the next set of results Check the `moreDataAvailable` flag in each response; if true, pass the returned `cursor` into the next call to retrieve additional pages.
Number of results to return per page
Sync token to fetch only openings that have changed since last sync
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_PROJECTSRetrieve a list of all projects. Use this to see candidate sourcing projects and recruiting initiatives.
Input parameters
Cursor for pagination to fetch the next set of results
Number of results to return per page
Sync token to fetch only projects that have changed since last sync
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_SOURCESRetrieve a list of all candidate sources. Use this to get available sources for categorizing how candidates were sourced (e.g., LinkedIn, referrals, job boards).
Input parameters
Cursor for pagination to fetch the next set of results. Use the returned nextCursor value until moreDataAvailable is false.
Sync token to fetch only sources that have changed since last sync.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_SOURCE_TRACKING_LINKSRetrieve all source tracking links configured in Ashby. Source tracking links are UTM-tagged URLs used to track where candidates are coming from (e.g., LinkedIn, job boards, referral campaigns). Use this action to: - View all active and inactive tracking links - Get tracking codes for analytics and reporting - Find the sourceId associated with each tracking link This is a read-only operation that requires no parameters.
Input parameters
Cursor for pagination to fetch the next set of results. Use the returned nextCursor value until moreDataAvailable is false.
Sync token to fetch only tracking links that have changed since last sync.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_SURVEY_FORM_DEFINITIONSRetrieve a list of all survey form definitions from Ashby. Use this action to discover available candidate survey templates including: - Candidate Experience Surveys (NPS ratings for candidate feedback) - Hiring Manager Experience Surveys (feedback on recruiting process) - Quality of Hire Assessments (post-hire performance ratings) - EEOC Surveys (equal employment opportunity information collection) Each survey form contains sections with fields defining the questions and response types. This is a read-only operation that does not require any parameters.
Input parameters
Maximum number of results per page. Default: 100.
Cursor for pagination. Use nextCursor from previous response.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_SURVEY_SUBMISSIONSLists all survey submissions of a given survey type from Ashby. Survey submissions contain candidate responses to surveys sent during the hiring process. Use this action to: - Retrieve candidate experience survey responses - Access submitted survey data including answers and metadata - Paginate through large sets of submissions using cursor - Sync only new/updated submissions using syncToken - Filter submissions by creation date using createdAfter The most common survey type is 'CandidateExperience'. This action returns empty results if no submissions exist for the specified type. Requires candidatesRead permission.
Input parameters
Maximum number of results to return (1-100)
Pagination cursor for fetching the next page of results
Token for data synchronization to fetch only submissions that have changed since last sync
The type of survey submissions to fetch. Use 'CandidateExperience' for candidate experience surveys. Note: The valid survey types for this endpoint may differ from the surveyType field returned by surveyFormDefinition.list.
Unix timestamp in milliseconds to filter submissions created after this date
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_LIST_USERSRetrieve a list of all users in the organization. Use this to get information about team members, their roles, and permissions.
Input parameters
Cursor for pagination to fetch the next set of results. Loop using the returned `nextCursor` value until it is null or `moreDataAvailable` is false to avoid missing records.
Number of results to return per page
Sync token to fetch only users that have changed since last sync
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_MOVE_DEPARTMENTTool to move a department to another parent in the organizational hierarchy. Use when reorganizing department structure or changing parent-child relationships. Requires the organizationWrite permission.
Input parameters
UUID of the new parent department. Set to null to make it a top-level department with no parent
UUID of the department to be moved
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_MOVE_LOCATIONTool to move a location to a different parent in the location hierarchy. Use when reorganizing location structure or changing parent-child relationships. Requires the organizationWrite permission.
Input parameters
UUID of the location to be moved
UUID of the parent location hierarchy where the location will be moved. Must be a LocationHierarchy type, not a Location type
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_REMOVE_HIRING_TEAM_MEMBERRemove an Ashby user from a hiring team at the application, job, or opening level. Use this when you need to unassign a team member from participating in the hiring process. Requires the jobsWrite permission.
Input parameters
ID of the job to remove team member from. Either applicationId, jobId, or openingId must be provided, but not multiple.
ID of the hiring team role from which to remove the user. This must be a valid UUID from your organization's hiring team roles.
ID of the opening to remove team member from. Either applicationId, jobId, or openingId must be provided, but not multiple.
ID of the Ashby user to remove from the hiring team.
ID of the application to remove team member from. Either applicationId, jobId, or openingId must be provided, but not multiple.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_REMOVE_INTERVIEWER_POOL_USERRemove a user from an interviewer pool. Use this to unassign interviewers from specific interview pools when they should no longer be part of that pool's roster. This removes the user from either the qualified members list or trainees list, depending on their current status in the pool. Requires the hiringProcessMetadataWrite permission.
Input parameters
UUID of the user to remove from the interviewer pool
UUID of the interviewer pool from which to remove the user
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_REMOVE_OPENING_JOBRemove a job from an opening (job requisition) in Ashby ATS. Use this action to disassociate a job from a specific opening. This is useful when: - A job was added to the wrong opening - You need to reorganize job-opening associations - An opening should no longer be associated with a particular job The action removes the job from the opening's jobIds list and returns the updated opening object. Both the opening and job must exist and be valid. Requires jobsWrite permission.
Input parameters
The unique identifier of the job to be removed from the opening
The unique identifier of the opening from which to remove the job
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_REMOVE_OPENING_LOCATIONTool to remove a location from an opening (job requisition). Use when you need to disassociate a location from an existing opening. Requires the jobsWrite permission.
Input parameters
The UUID of the opening to remove the location from
The UUID of the location to be removed from the opening
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_RESTORE_DEPARTMENTRestore an archived department by its unique identifier. Restoring a department marks it as active again, making it available in active department lists and allowing it to be used for new jobs and organizational structures. All historical data and relationships are preserved. This action is idempotent - restoring an already active department will succeed and return the same result. Use cases: - Reactivate a previously archived department that is needed again - Undo an accidental archive operation - Restore departments as part of organizational restructuring Required permission: organizationWrite
Input parameters
The unique identifier of the archived department to restore
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_RESTORE_INTERVIEWER_POOLRestore an archived interviewer pool in Ashby. This unarchives the pool, making it available again for new interview assignments. Use this when you need to reactivate an interviewer pool that was previously archived (e.g., reviving a pool for a role that's hiring again or correcting an accidental archive). The operation is idempotent - restoring an already active pool will succeed without errors. Requires the hiringProcessMetadataWrite permission. To archive a pool, use the ASHBY_ARCHIVE_INTERVIEWER_POOL action.
Input parameters
The unique identifier (UUID) of the interviewer pool to restore. You can get this ID from LIST_INTERVIEWER_POOLS or GET_INTERVIEWER_POOL_INFO actions.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_RESTORE_LOCATIONRestores an archived location or location hierarchy in Ashby. When restored, the location is marked as active (isArchived=false) and becomes available again for job postings, assignments, and other location-based operations. The operation is idempotent - restoring an already active location succeeds without error. Requires the organizationWrite permission. Common use cases: - Reactivating previously closed office locations - Undoing accidental location archives - Bringing back seasonal or temporary office locations - Restoring location availability during organizational restructuring Note: Use archive_location to archive a location if needed.
Input parameters
The UUID of the archived location to restore
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_SEARCH_CANDIDATESSearch for candidates by email or name. Use this for quick lookups to find specific candidates without pagination. Supports exact email match or partial name match.
Input parameters
Name to search for (partial match)
Email address to search for (exact match)
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_SEARCH_JOBSSearch for jobs by title in Ashby ATS (Applicant Tracking System). Use this action to: - Quickly find jobs by title without pagination - Perform partial match searches (e.g., "engineer" matches "Backend Engineer") - Look up specific job openings by name Returns matching jobs with full details including hiring team, department, location, interview plans, and job postings. Note: For listing all jobs or paginated results, use the List Jobs action instead.
Input parameters
Job title to search for (required). Performs a partial match search - e.g., 'engineer' will match 'Backend Engineer', 'Frontend Engineer', etc.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_SEARCH_OPENINGSearch for openings by identifier. Use this for quick lookups to find specific openings without pagination. Returns empty results if no match found.
Input parameters
The opening identifier to search for (e.g., '1', '2', '3'). Returns empty results array if no match found.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_SEARCH_PROJECTSSearch for projects by title in Ashby. Projects in Ashby are used to track sourcing initiatives, recruiting campaigns, or candidate portfolios. Use this action to: - Quickly find projects by title without pagination - Perform partial match searches (e.g., "recruiting" matches "Engineering Recruiting 2024") - Look up specific sourcing projects or initiatives by name - Build project autocomplete features Returns matching projects with details including id, title, archive status, confidentiality settings, author, and creation timestamp. Note: Results are limited to 100 matches. If you need to browse all projects or expect more results, use the List Projects action instead for paginated access.
Input parameters
Project title to search for (required). Performs a partial match search - e.g., 'recruiting' will match 'Engineering Recruiting 2024', 'Sales Recruiting', etc. Use keywords from the project name you're looking for.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_SEARCH_USERSSearch for an Ashby user by email address. Use this to find specific team members in the organization when you know their email. Returns matching user details including their ID, name, role, and status. Requires organizationRead permission.
Input parameters
Email address of the user to search for. Must be a valid email format. The API performs case-insensitive exact matching on the email address.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_SET_CUSTOM_FIELD_VALUESet the value of a custom field for a given object (candidate, application, job, etc.). Use when you need to update a single custom field value. Important: When updating multiple custom fields on the same object, use customField.setValues instead to avoid race conditions.
Input parameters
The ID of the custom field to set. Use the List Custom Fields action to get available field IDs
The ID of the object to update (e.g., candidate ID, application ID, job ID)
The value to set. Type depends on the field: Boolean for boolean fields, ISO date string for Date fields, string for text fields (String, Email, Phone, LongText), number for Number fields, array of strings for MultiValueSelect, NumberRangeValue object for NumberRange, CompensationRangeValue object for CompensationRange
The type of object being updated. Valid values: Candidate, Application, Job, Offer, Opening, CandidateAvailability, InterviewSchedule, Location, User
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_SET_CUSTOM_FIELD_VALUESSet the values of multiple custom fields for a given object in a single call. Use when you need to update multiple custom fields on the same object (candidate, application, job, or opening). This is the recommended approach to avoid race conditions that can occur with concurrent customField.setValue calls.
Input parameters
Array of custom field updates to apply. Must contain at least one item
The ID of the object to update (e.g., candidate ID, application ID, job ID, opening ID)
The type of object being updated
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_SET_JOB_STATUSSet the status of a job in Ashby ATS (Applicant Tracking System). Use this action to change the workflow state of a job: - Set to 'Open' to make a job actively accept applications - Set to 'Closed' to stop accepting applications for a job - Set to 'Draft' to put a job back into preparation mode Common use cases: - Close a job after filling the position - Open a draft job to start accepting applications - Transition a job through the hiring workflow Important limitations: - Cannot transition from Open to Draft (must close first) - Cannot transition from Closed to Open (create a new job instead) Returns the updated job details on success, or error information if the status transition is not allowed.
Input parameters
The unique identifier (UUID) of the job to update. You can obtain this from the list_jobs or search_jobs actions.
The new status to set for the job. Valid values are: 'Open' (job is actively accepting applications), 'Closed' (job is no longer accepting applications), 'Draft' (job is in preparation). Note: Some transitions may not be allowed (e.g., Closed to Open).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_SET_OPENING_ARCHIVEDSets the archived state of an opening. Requires the jobsWrite permission. Use this to archive or unarchive job openings.
Input parameters
Boolean indicating the desired archived state (true to archive, false to unarchive)
The unique identifier of the opening
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_SET_OPENING_OPENING_STATESet the workflow state of an opening (job requisition). Use this to transition an opening between states: Draft, Approved, Open, or Closed. Important notes: - When setting state to 'Closed', you must provide a closeReasonId (use LIST_CLOSE_REASONS to get valid IDs) - Not all state transitions are allowed by Ashby's workflow rules; the API will return an error for invalid transitions - Common valid transitions: Open ↔ Closed, Approved → Open - Returns the updated opening details including the new state, timestamps, and close reason if applicable
Input parameters
The unique identifier of the opening to update
The new state for the opening. Valid values: 'Draft', 'Approved', 'Open', 'Closed'. Note: Not all state transitions are allowed; the API enforces valid workflow transitions (e.g., you can transition from Open to Closed, or Closed to Open, but not from Open to Draft)
The ID of the close reason. Required when setting openingState to 'Closed', otherwise optional
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_START_OFFERCreate a new offer version instance for an in-progress offer process. The returned offer version can be filled out and submitted using the Create Offer action. Use this action before creating a finalized offer to initialize the offer version that will hold the offer details. After starting the offer, use the Create Offer endpoint to populate and submit the offer form. Requires the 'offersWrite' permission.
Input parameters
ID of the offer process to start. This identifies the candidate's in-progress offer process for which a new version will be created.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_START_OFFER_PROCESSStart an offer process for a candidate's application in Ashby ATS. Use this action when you need to initiate the formal offer workflow for a candidate who has progressed through interviews and is ready to receive an offer. The application must be in the Offer stage before starting an offer process. Once started, the offer process will have a status (typically 'WaitingOnOfferCreation') and a unique identifier that can be used to track and manage the offer through completion. Requires the 'offersWrite' permission.
Input parameters
UUID of the application to start the offer process for. The application must be in the Offer stage to start an offer process.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_SUBMIT_APPLICATION_FEEDBACKSubmit structured feedback for an application using a feedback form. Use this for formal interview feedback and scorecards, not for informal notes or comments.
Input parameters
The ID of the user the feedback will be credited to. The user must be an interviewer on the interview event that feedback is being submitted for. This is REQUIRED for proper feedback attribution.
The ID of the application to submit feedback for
Array of field submissions. Each item has 'path' (the field identifier) and 'value' (the submitted value). Value format depends on field type: Boolean (boolean), Date (YYYY-MM-DD string), Email (string), Number (integer), RichText ({type: 'PlainText', value: 'text'}), Score ({score: 1-4}), Phone/String (string), ValueSelect (string matching option), MultiValueSelect (array of strings)
The ID of the feedback form definition to use for this submission
The ID of the interview event you're submitting feedback for. This is REQUIRED for proper feedback attribution.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_TRANSFER_APPLICATIONTransfer an application to a different job position in Ashby ATS. Use this action to move a candidate's application from one job opening to another while optionally preserving their application history and context. This is useful when: - A candidate is better suited for a different open position - Job requirements change and the candidate should be considered for an alternative role - Internal mobility scenarios where employees are being considered for different positions The transfer will update the application's associated job, interview plan, and current interview stage. You can optionally trigger automatic activities (emails, tasks) configured for the target stage.
Input parameters
UUID of the destination job to transfer the application to. Must be an existing job ID obtained from job listing endpoints.
UUID of the application to transfer. Must be an existing application ID obtained from application listing endpoints.
UUID of the interview plan to use for the transferred application. Must be a valid interview plan associated with the destination job.
UUID of the interview stage to place the application in after transfer. Must be a valid stage from the specified interview plan.
Whether to automatically start activities configured for the target interview stage. Set to true to trigger automatic email sequences, tasks, or other activities. Defaults to false.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_UPDATE_APPLICATIONUpdate an application's properties in Ashby. Use this action to modify application metadata such as: - Source attribution (how the candidate found or was found for the job) - Credited user (who should get credit for sourcing the candidate) - Creation date (useful for backdating imported applications) - Notification settings for the update Note: To update custom fields on applications, use the customFields.setValue endpoint instead. To change the application's interview stage, use change_application_stage. To archive/unarchive, use the archive actions. Returns the full updated application object with all current field values.
Input parameters
The unique identifier (UUID) of the source to assign to this application. Get available sources from the list_sources action. Use this to update how the candidate was sourced (e.g., 'Referral', 'LinkedIn', 'Applied').
ISO 8601 timestamp to set as the application's creation date (e.g., '2025-01-15T10:30:00.000Z'). Use this to backdate applications that were imported or created retroactively.
The unique identifier (UUID) of the application to update. You can get this from the list_applications action or application.list endpoint.
The unique identifier (UUID) of the user who should be credited for this application. Get available users from the list_users action. This is typically the recruiter or sourcer who brought in the candidate.
Whether to send notifications when updating the application. Set to false to make silent updates without triggering email notifications.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_UPDATE_APPLICATION_HISTORYUpdate the complete history of an application's stage transitions. Use this to modify stage entry times, delete history events, or update existing history records. CRITICAL: This endpoint requires sending the COMPLETE application history array - use ASHBY_GET_APPLICATION_INFO first to retrieve all existing entries, then modify and send back the full array. Requires the 'candidatesWrite' permission and the 'Allow updating application history?' setting enabled in your admin API key configuration.
Input parameters
The unique identifier of the application whose history is being updated
IMPORTANT: Must include the COMPLETE application history array, not just the entries being modified. Partial history will cause errors. Each entry represents a stage transition in chronological order.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_UPDATE_CANDIDATEUpdate an existing candidate's profile information in Ashby ATS. Use this action to modify candidate details like name, email, phone number, job title, company, school, and social profiles (LinkedIn, GitHub, website). Requires a valid candidateId which can be obtained from list_candidates or search_candidates actions. Note: To update custom fields, use the customFields.setValue endpoint separately.
Input parameters
The candidate's full name (e.g., 'John Doe')
Primary email address for the candidate (e.g., 'john.doe@example.com')
The candidate's educational institution (e.g., 'Stanford University')
The candidate's current or most recent company name (e.g., 'Google')
The candidate's current job title or position (e.g., 'Senior Software Engineer')
The ID of the source to associate with this candidate (from list_sources action)
GitHub profile URL (e.g., 'https://github.com/johndoe')
Personal website or portfolio URL
The unique identifier (UUID) of the candidate to update. Can be obtained from list_candidates or search_candidates actions.
LinkedIn profile URL (e.g., 'https://linkedin.com/in/johndoe')
Primary phone number for the candidate (e.g., '+1 555-123-4567')
Secondary/alternate email address for the candidate
The ID of the user to credit for this candidate (from list_users action)
Whether to send notifications about this update (default: true)
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_UPDATE_COMPENSATION_JOBUpdate a job's compensation tiers in Ashby ATS. Use this action to define or modify the compensation structure for a job posting. You can specify multiple tiers (e.g., 'Junior', 'Senior', 'Staff') and each tier can include multiple compensation components like: - Salary (with min/max range, currency, and payment interval) - Equity (as percentage or cash value) - Bonus compensation - Commission structures Example use cases: - Setting salary ranges for a new job posting - Adding equity compensation to existing jobs - Updating compensation to reflect market changes - Creating tiered compensation for different experience levels Prerequisites: - You need a valid jobId from list_jobs or search_jobs - Compensation amounts should be appropriate for the currency and interval - At least one compensation tier with one component is required
Input parameters
The unique identifier (UUID) of the job to update compensation for. Get this from list_jobs or search_jobs actions.
Array of compensation tiers for the job. Each tier can contain multiple compensation components (salary, equity, bonus, commission). At least one tier with one component is required.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_UPDATE_DEPARTMENTUpdate an existing department's information such as its name. Use this action to: - Rename a department to reflect organizational changes - Update department names with Unicode/international characters - Modify department details as your organization evolves Prerequisites: - You need a valid departmentId (obtain from list_departments action) - The department must not be archived - At least one field (e.g., name) must be provided for the update Note: The externalName is automatically updated to match the name.
Input parameters
The new name for the department. Supports Unicode characters for international department names. At least one field must be provided to update.
The unique identifier (UUID) of the department to update. Obtain this from the list_departments action or department.info response.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_UPDATE_INTERVIEWER_POOLUpdate an existing interviewer pool's title or training requirements. Interviewer pools are groups of interviewers organized by expertise or role (e.g., "Backend Engineers", "Bar Raiser Interviews"). Use this action to: - Rename an interviewer pool by updating its title - Enable or disable training requirements for the pool - Update both title and training settings simultaneously At least one of title or requiresTraining must be provided. Use LIST_INTERVIEWER_POOLS to get valid pool IDs. Requires hiringProcessMetadataWrite permission.
Input parameters
New title/name for the interviewer pool (e.g., 'Senior Backend Engineers', 'Technical Interview Panel'). Supports Unicode characters including emojis.
Whether training is required for interviewers in this pool. When set to true, creates a training path with Shadow and ReverseShadow stages.
The UUID of the interviewer pool to update. Use LIST_INTERVIEWER_POOLS to get valid pool IDs.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_UPDATE_JOBUpdate an existing job's properties in Ashby ATS. Use this action to modify job details such as: - Job title (e.g., change "Engineer" to "Senior Engineer") - Department/team assignment - Office location - Default interview plan - Confidentiality settings - Custom requisition ID Prerequisites: - You need a valid jobId from list_jobs or search_jobs - For teamId, get valid IDs from list_departments - For locationId, get valid IDs from list_locations - For defaultInterviewPlanId, get valid IDs from list_interview_plans Note: To update custom fields, use the customFields.setValue endpoint instead. To change job status (open/close/archive), use the set_job_status action.
Input parameters
The unique identifier (UUID) of the job to update. Get this from list_jobs or search_jobs actions.
The new title for the job position (e.g., 'Senior Software Engineer', 'Product Manager - Growth')
The ID of the department/team to assign the job to. Get this from list_departments action.
The ID of the office location for the job. Get this from list_locations action.
Whether the job should be confidential (hidden from most users). Set to true for sensitive executive searches.
A custom requisition ID/number for the job (e.g., 'REQ-2024-001'). Used for internal tracking.
The ID of the default interview plan to use for this job. Get this from list_interview_plans action.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_UPDATE_JOB_POSTINGUpdate an existing job posting's details including title, description, and visibility status. This action allows you to modify public job postings properties such as: - Title: Change the job posting title - Description: Update the job description (HTML format, certain tags supported) - Listing Status: Control whether the posting is publicly visible on job boards - Description Customization: Suppress opening/closing sections for full API control Use this to keep job postings current, control visibility, or customize descriptions. Requires the jobsWrite permission.
Input parameters
The new title for the job posting
Whether the job posting should be publicly listed/visible on job boards. Set to true to publish, false to unpublish.
The new description for the job posting in HTML format. Only certain HTML tags are supported. Note: When suppressDescriptionOpening and suppressDescriptionClosing are false, some content may not be modifiable via API.
The unique identifier of the job posting to update
If true, suppresses the description closing section. Set to true along with suppressDescriptionOpening to fully customize the description via API.
If true, suppresses the description opening section. Set to true along with suppressDescriptionClosing to fully customize the description via API.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_UPDATE_LOCATION_ADDRESSUpdate the address of a location or location hierarchy. Use this when you need to modify location address details such as city, region, country, or postal code. Requires the organizationWrite permission.
Input parameters
Address object containing postalAddress with optional fields: addressLocality (city), addressRegion (state/province), addressCountry (country), postalCode (ZIP/postal code), and streetAddress (street details). All postalAddress fields are optional, allowing partial address updates.
The unique identifier (UUID) of the location to update. Use list_locations to find valid location IDs.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_UPDATE_LOCATION_EXTERNAL_NAMEUpdate a location's external (candidate-facing) name. Use this to set or clear an alternate name for a location that is displayed on job boards and used in the API.
Input parameters
The unique identifier of the location to update
An alternate candidate-facing name for this location used on job boards and in the API. Pass null to clear the external name.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_UPDATE_LOCATION_NAMEUpdate a location's name. Use this to rename an existing location. Requires the organizationWrite permission.
Input parameters
The new name for the location
The unique identifier of the location to update
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_UPDATE_LOCATION_REMOTE_STATUSTool to update a location's remote status. Use when you need to mark a location as remote or non-remote. Requires organizationWrite permission.
Input parameters
Whether the location is remote. Set to true for remote locations, false otherwise.
The unique identifier (UUID) of the location to update. Use LIST_LOCATIONS to find valid location IDs.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_UPDATE_LOCATION_WORKPLACE_TYPETool to update a location's workplace type (OnSite, Remote, or Hybrid). Use when you need to modify the workplace setting for an office location. Requires organizationWrite permission.
Input parameters
The unique identifier of the location to update
The workplace type for the location. OnSite: employees work from the office location; Remote: employees work remotely; Hybrid: combination of on-site and remote work
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_UPDATE_OPENINGUpdate properties of an existing opening (job requisition). Use this to modify opening details such as description, team, hire dates, and employment type. Requires jobsWrite permission.
Input parameters
The team associated with the opening
The unique identifier of the opening to update
Custom identifier for the opening
Boolean indicating if this is a backfill position
Description of the opening
Type of employment (e.g., FullTime, PartTime, Contract)
Target date for hiring (ISO 8601 format)
Target start date for the hire (ISO 8601 format)
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_UPDATE_SELECTABLE_VALUES_CUSTOM_FIELDUpdate the selectable values for a ValueSelect or MultiValueSelect custom field. Use this to add new options, modify existing option labels, or archive outdated options. Values are merged with existing options - matching values are updated, new values are added.
Input parameters
The UUID of the custom field to update. Must be a ValueSelect or MultiValueSelect field type.
Array of selectable values to merge with existing values. Values with matching 'value' fields will be updated; new values will be added. To archive a value, include it with isArchived=true.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
ASHBY_UPDATE_USER_INTERVIEWER_SETTINGSUpdate interviewer settings for a user, including daily and weekly interview limits. Use this when you need to set or modify interview scheduling constraints for a user. Either limit can be provided individually or both together; unprovided limits remain unchanged.
Input parameters
The unique identifier of the user whose interviewer settings to update
Daily interview limit for the user. Set to null to unset. If only weeklyLimit is provided, dailyLimit remains unchanged.
Weekly interview limit for the user. Set to null to unset. If only dailyLimit is provided, weeklyLimit remains unchanged.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
No publicly available marketplace agent is found using this tool yet. There are 65 agents privately built on Nagent that already use Ashby.
Build on Nagent
Connect Ashby to any Nagent agent in minutes — no API key management, no boilerplate. Just configure and deploy.
The five questions agent builders ask before adopting a new integration.
Open the External Integrations panel inside Nagent (app.nagent.ai/externalIntegration), find Ashby, and click "Connect Now." You'll authenticate with an API key — Nagent handles credential storage and refresh automatically. Once connected, Ashby is available to any agent in your workspace.
No. Nagent provides no-code integration for every tool. Once Ashby is connected, you configure its 125 actions directly in the agent builder UI — no API calls, no boilerplate, no schema management.
Helix — Nagent's agentic agent builder — lets you drop Ashby steps into any workflow visually. Pick an action (e.g., one of those listed above), fill in the inputs (Helix knows the required vs. optional schema for each parameter), and connect it to upstream/downstream steps. Triggers run as the entry point of an agent, so when a Ashby event fires, the agent kicks off automatically.
Every Ashby action and trigger ships with a fully-typed schema — input parameters with name, type, required flag, and description, plus the output payload shape. The schemas are documented in the sections above. Helix uses these schemas to validate your configuration at build time and to type-check the data flowing between steps.
Yes. While Ashby ships with 125 pre-built hr talent & recruitment actions, you can layer custom logic around them inside Helix — pre/post-processing steps, conditional branches, retries, or stitching Ashby together with other connected tools. For deeper customization, talk to our team about Nagent's Agentic AI Lab — forward-deployed engineers who build Ashby-based workflows tailored to your business.