Ashby
Bring new starters, changes and leavers from Ashby into every system that needs them, with HR approving each change.
51 ways to read, 22 ways to write, each write switched on by you.
Quality checks
Built and tested with example responses.
- Ready to connect: doneEvery listed action is built in.
- Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Connected, approved, proven.
The things teams do most with Ashby, an example flow with a person in the loop, and what Nexra keeps as proof.
Top actions
- Add candidate to jobApproval by rule
- Add candidate noteApproval by rule
- List interview feedbackRead
Example flow
- Ashby · List interview feedbackDone
- Ashby · Add candidate to jobNeeds approval
- Nexra · Record the decision and result in the evidence chainProven
Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches Ashby.
What gets logged
- Whether it ran on its own or who approved it, and under which rule
- A fingerprint of the exact request sent to Ashby
- Ashby's reply: what it created or changed
- One entry in the evidence chain, linked to the one before
Try this in the sandbox
Run the whole flow with test data in your sandbox, then connect your own account when you are ready to go live.
For developers
Technical detail
Read and write Ashby candidates, notes, tags, projects, applications, hiring teams, jobs, postings, openings, departments and locations; read interviews, feedback, offers and approvals.
Ashby API docs- Source actions
- 51
- Destination actions
- 22
- Data types
- 40
What you can map
Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.
Application feedback1
- List interview feedbackSourceIncremental
Submitted interview feedback (scorecards) with answers keyed by form field.
Application history1
- List application stage historySource
Stage history of one application: each stage entered and left, in order.
Application source1
- Change application sourceDestinationProvider duplicate protectionApproval before production
Sets the source on an application.
Application stage1
- Change application stageDestinationProvider duplicate protectionApproval before production
Moves an application to an interview stage; an archive reason is required when the target is an archived stage. No email is sent.
Applications4
- Add candidate to jobDestinationNot retried automaticallyApproval before production
Considers an existing candidate for a job, optionally in a given stage.
- Get applicationSource
One application by ID.
- List applicationsSourceIncremental
Applications with stage, status, job and hiring team, or only those changed since a sync token.
- Update applicationDestinationProvider duplicate protectionApproval before production
Sets an application's source or credited user without notifying subscribers.
Approvals1
- List approvalsSourceIncremental
Approvals for jobs, offers and openings with status and timing.
Archive reasons1
- List archive reasonsSource
Archive reasons for archiving applications.
Brands1
- List brandsSource
Employer brands used on jobs and job boards.
Candidate notes2
- Add candidate noteDestinationNot retried automaticallyApproval before production
Adds a plain-text or HTML note to a candidate without notifying users.
- List candidate notesSource
Notes on a candidate, newest first.
Candidate projects2
- Add candidate to projectDestinationProvider duplicate protectionApproval before production
Adds a candidate to a sourcing project.
- List candidate projectsSource
Sourcing projects a candidate belongs to.
Candidate tags1
- Tag candidateDestinationProvider duplicate protectionApproval before production
Adds an existing tag to a candidate.
Candidates5
- Create candidateDestinationNot retried automaticallyApproval before production
Creates a candidate with contact details, source and location.
- Get candidateSource
One candidate by ID.
- List candidatesSourceIncremental
All candidates, or only those changed since the last sync token.
- Search candidatesSource
Finds candidates by email and/or name.
- Update candidateDestinationProvider duplicate protectionApproval before production
Updates candidate contact details, source or location without notifying users.
Close reasons1
- List close reasonsSource
Reasons used when closing jobs and openings.
Custom field values1
- Set custom field valueDestinationProvider duplicate protectionApproval before production
Sets one custom field on an application, candidate, job or opening.
Custom fields2
- Get custom fieldSource
One custom field definition with its selectable values.
- List custom fieldsSourceIncremental
Custom field definitions with object type, field type and selectable values.
Departments3
- Create departmentDestinationNot retried automaticallyApproval before production
Creates a department or team, optionally under a parent.
- Get departmentSource
One department or team by ID.
- List departmentsSourceIncremental
Departments with parent hierarchy.
Feedback forms1
- List feedback formsSourceIncremental
Feedback form definitions with their sections and field titles.
Hiring team members1
- Add hiring team memberDestinationNot retried automaticallyApproval before production
Assigns a user a hiring team role on one application, job or opening.
Hiring team roles1
- List hiring team rolesSource
Hiring team roles (for example Recruiter, Hiring Manager) used when adding team members.
Interview events1
- List interview eventsSourceIncremental
Events of one interview schedule with times, interviewers and feedback state.
Interview plans1
- List interview plansSourceIncremental
Interview plans; list their stages with interview_stages.list.
Interview schedules1
- List interview schedulesSourceIncremental
Interview schedules with their events, interviewers and times.
Interview stage groups1
- List interview stage groupsSource
Stage groups that categorise interview stages.
Interview stages2
- Get interview stageSource
One interview stage with its plan, order and stage group.
- List interview stagesSource
Stages of one interview plan in order; use their IDs for stage changes.
Interviewer pools1
- List interviewer poolsSourceIncremental
Interviewer pools with their training path state.
Interviews2
- Get interviewSource
One interview definition by ID.
- List interviewsSourceIncremental
Interview definitions (interview types, take-homes and debriefs).
Job boards1
- List job boardsSource
Ashby-hosted job boards, internal and external.
Job postings3
- Get job postingSource
One job posting with description, locations and job boards (pay ranges are not returned).
- List job postingsSource
Published job postings with location, department and apply link.
- Update job postingDestinationProvider duplicate protectionApproval before production
Updates a posting's title, HTML description, workplace type or locations. Pay ranges are not changed.
Job status1
- Set job statusDestinationProvider duplicate protectionApproval before production
Moves a job to Draft, Open, Closed or Archived; a close reason applies to Closed.
Job templates1
- List job templatesSourceIncremental
Job templates with default department, location and interview plan.
Jobs5
- Create jobDestinationNot retried automaticallyApproval before production
Creates a draft job in a department and location, optionally from a job template.
- Get jobSource
One job by ID.
- List jobsSourceIncremental
Jobs with status, department, location, hiring team and custom fields.
- Search jobsSource
Finds jobs by title or requisition ID substring (up to 100 matches).
- Update jobDestinationProvider duplicate protectionApproval before production
Updates a job's title, department, location, interview plan, type or requisition ID.
Locations3
- Create locationDestinationNot retried automaticallyApproval before production
Creates an office location or location hierarchy.
- Get locationSource
One location or location hierarchy by ID.
- List locationsSourceIncremental
Office locations with address and workplace type.
Offers2
- Get offerSource
One offer's status and decision (salary and offer form values are not returned).
- List offersSourceIncremental
Offers with status and decision (read-only; salary is not returned).
Opening state1
- Set opening stateDestinationProvider duplicate protectionApproval before production
Moves an opening to Draft, Approved, Open or Closed; a close reason applies to Closed.
Openings5
- Create openingDestinationNot retried automaticallyApproval before production
Creates a headcount opening linked to jobs and locations (Draft by default).
- Get openingSource
One opening by ID.
- List openingsSourceIncremental
Headcount openings with state, linked jobs and target dates.
- Search openingsSource
Finds openings by their human-readable identifier.
- Update openingDestinationProvider duplicate protectionApproval before production
Updates an opening's identifier, description, team, dates, backfill flag or type.
Projects4
- Create projectDestinationNot retried automaticallyApproval before production
Creates a sourcing project.
- Get projectSource
One sourcing project by ID.
- List projectsSourceIncremental
Sourcing projects.
- Search projectsSource
Finds sourcing projects by title.
Source tracking links1
- List source tracking linksSourceIncremental
Candidate-facing tracking links per source.
Sources1
- List sourcesSource
Candidate sources with their source type.
Tags2
- Create candidate tagDestinationProvider duplicate protectionApproval before production
Creates a candidate tag, or returns the existing tag with the same title.
- List candidate tagsSourceIncremental
Candidate tag definitions; use their IDs to tag candidates.
Users3
- Get userSource
One Ashby user by ID.
- List usersSourceIncremental
Ashby users with role and status.
- Find user by emailSource
Finds an Ashby user by email address (sent in the request body).
Access and limits
- Authentication
- Ashby API key (HTTP Basic, empty password)
- Plans and access
- API keys are available to Ashby customers; an Ashby admin creates them. Each key has module permissions (for example candidatesRead, candidatesWrite, jobsRead, hiringProcessMetadataRead); confidential jobs need explicit access.
- Test environment
- Ashby provides demo data and sandbox organisations to customers and partners on request.
- Rate limits
- Ashby rate limits per API key and returns HTTP 429 when exceeded; the limit values are not published in the API reference.
- Pagination
- Cursor pagination with nextCursor while moreDataAvailable is true (limit up to 100); the last page returns a syncToken for incremental sync.
- Provider events
- Webhooks for application, candidate, interview, offer and job events. Flows run on demand, on a schedule, or when a scheduled check finds new or changed records.
Before you build a flow
- Ashby returns HTTP 200 with success false for many errors; Nexra converts these to validation, permission or not-found errors.
- Offers are read-only and salary values are not returned. Offer creates, approvals, starts, status changes and rejections are excluded because they send or decide offers.
- Compensation is never returned or written: job and posting pay ranges, compensation updates, and currency or number-range custom field values are omitted, as are custom fields whose titles name pay, tax, bank, identity or health data.
- Archiving through a stage change never sends an archive email: Nexra never passes archiveEmail. Candidate, application and note updates send sendNotifications false.
- Surveys (which can carry EEOC and demographic answers), candidate anonymisation, fraud status, email messages, sequences, interview scheduling writes, assessments, referrals, reports, audit logs and push-to-HRIS are not implemented.
- Deletes and removals (application.delete, referral.delete, candidate.removeTag, hiring team removals, project archive) are excluded. Application transfers are excluded because they can start automatic stage activities.
- Candidate, application, note, job, opening, department, location, project and hiring team creates have no idempotency key; uncertain writes are not repeated automatically.
- Feedback answers are returned as submitted, keyed by form field path; answers whose field path names pay, tax, bank, identity or health data are omitted.
- Hiring team roles, interview stage groups, job boards, close reasons and job search return a single unpaginated page, as documented.
Developer reference
- Create the Ashby credentials described above with the narrowest permissions your flows need.
- In Nexra, open Connect, then Connections, then New connection, choose Ashby, enter its settings and credentials, and tick only the write actions you need. Connection guide
- Test the connection, then use its actions as flow sources and destinations. Flow guide
Machine-readable detail: GET /api/public/connect/connectors/ashby and the Connections API.
