Skip to content
All connectors
Ashby logo

Ashby

HR, recruitment & payroll

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.

  1. Ready to connect: doneEvery listed action is built in.
  2. 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.
Ashby with Nexra

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

  1. Ashby · List interview feedbackDone
  2. Ashby · Add candidate to jobNeeds approval
  3. 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

  1. Create the Ashby credentials described above with the narrowest permissions your flows need.
  2. 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
  3. 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.