New260+ blocks and 240+ tools are now fully documented
DocumentationReferenceTool IntegrationsProject & Task Management
Tool

Ashby

Manage candidates and job applications in Ashby ATS

Integrate Ashby applicant tracking into your workflows to list, create, and update candidates, query job postings, and filter applications. Use it to automate hiring pipelines — from sourcing candidates to tracking offer stages.

Overview

PropertyValue
Typeashby
CategoryTool — CRM / ATS
AuthBasic Auth (API Key as username, empty password)

Operations

OperationTool IDDescription
List Candidatesashby_list_candidatesLists all candidates in the organization with cursor-based pagination and optional date filter
Get Candidateashby_get_candidateRetrieves full details about a single candidate by their UUID
Create Candidateashby_create_candidateCreates a new candidate record in Ashby
Update Candidateashby_update_candidateUpdates an existing candidate record; only provided fields are changed
List Applicationsashby_list_applicationsLists all applications with pagination and optional filters for status, job, candidate, and creation date
Get Job Postingsashby_get_job_postingsRetrieves full details about a single job posting by its UUID

Configuration

SettingTypeRequiredDescription
apiKeystring (secret)YesAshby API key. Sent as Basic Auth username with an empty password. Store as {{ASHBY_API_KEY}}.
candidateIdstringConditionalUUID of the candidate to fetch or update. Required for ashby_get_candidate and ashby_update_candidate.
namestringConditionalCandidate full name. Required for ashby_create_candidate; optional for ashby_update_candidate.
emailstringNoPrimary email address for the candidate. Used by ashby_create_candidate and ashby_update_candidate.
phoneNumberstringNoPrimary phone number for the candidate. Used by ashby_create_candidate and ashby_update_candidate.
linkedInUrlstringNoLinkedIn profile URL. Used by ashby_create_candidate and ashby_update_candidate.
githubUrlstringNoGitHub profile URL. Used by ashby_create_candidate and ashby_update_candidate.
websitestringNoPersonal website URL (ashby_create_candidate only).
websiteUrlstringNoPersonal website URL (ashby_update_candidate only).
sourceIdstringNoUUID of the attribution source. Used by create and update candidate operations.
creditedToUserIdstringNoUUID of the Ashby user to credit with sourcing. Used by create and update candidate operations.
createdAtstringNoBackdated creation timestamp in ISO 8601 format (e.g. 2024-01-01T00:00:00Z). Used by create and update operations.
alternateEmailAddressesjsonNoArray of additional email address strings (e.g. ["alias@example.com"]). Used by ashby_create_candidate.
alternateEmailstringNoSingle additional email address to add. Used by ashby_update_candidate.
sendNotificationsbooleanNoWhether to send a notification when the source is updated. Defaults to true. Used by ashby_update_candidate.
socialLinksjsonNoArray of social link objects to set (e.g. [{"type":"LinkedIn","url":"https://..."}]). Used by ashby_update_candidate.
cursorstringNoOpaque pagination cursor from a previous response nextCursor value. Used by list operations.
perPagenumberNoNumber of results per page; defaults to 100. Used by list operations.
createdAfterstringNoISO 8601 timestamp — only return records created after this date. Used by ashby_list_candidates and ashby_list_applications.
statusstringNoFilter applications by status: Active, Hired, Archived, or Lead. Used by ashby_list_applications.
jobIdstringNoFilter applications by a specific job UUID. Used by ashby_list_applications.
jobPostingIdstringConditionalUUID of the job posting to fetch. Required for ashby_get_job_postings.
jobBoardIdstringNoOptional job board UUID. Defaults to the external job board if omitted. Used by ashby_get_job_postings.
expandJobbooleanNoWhether to expand and include the related job object in the job posting response.

Outputs

Candidate outputs (ashby_get_candidate, ashby_create_candidate, ashby_update_candidate)

FieldTypeDescription
idstringCandidate UUID
namestringFull name
primaryEmailAddressobjectPrimary email contact info (value, type, isPrimary)
primaryPhoneNumberobjectPrimary phone contact info (value, type, isPrimary)
emailAddressesarrayAll email addresses (each with value, type, isPrimary)
phoneNumbersarrayAll phone numbers (each with value, type, isPrimary)
socialLinksarraySocial network links (each with type and url)
linkedInUrlstringLinkedIn profile URL (optional)
githubUrlstringGitHub profile URL (optional)
profileUrlstringURL to the Ashby candidate profile (optional)
positionstringCurrent position or title (optional)
companystringCurrent company (optional)
schoolstringMost recent school (optional)
timezonestringCandidate timezone (optional)
locationobjectCandidate location with id, locationSummary, and locationComponents array (optional)
tagsarrayTags applied to the candidate (each with id, title, isArchived)
applicationIdsarrayUUIDs of associated applications
customFieldsarrayCustom field values (each with id, title, isPrivate, valueLabel, value)
resumeFileHandleobjectResume file reference with id, name, handle (optional)
fileHandlesarrayAll uploaded file references (each with id, name, handle)
sourceobjectAttribution source with id, title, isArchived, and nested sourceType (optional)
creditedToUserobjectUser credited with sourcing (id, firstName, lastName, email, globalRole, isEnabled, updatedAt, managerId) (optional)
fraudStatusstringFraud detection status (optional)
createdAtstringISO 8601 creation timestamp
updatedAtstringISO 8601 last update timestamp

List candidates outputs (ashby_list_candidates)

FieldTypeDescription
candidatesarrayList of candidate objects (same shape as single candidate above)
moreDataAvailablebooleanWhether more pages of results exist
nextCursorstringOpaque cursor for fetching the next page (optional)

List applications outputs (ashby_list_applications)

FieldTypeDescription
applicationsarrayList of application objects (see below)
moreDataAvailablebooleanWhether more pages of results exist
nextCursorstringOpaque cursor for fetching the next page (optional)

Application object fields:

FieldTypeDescription
idstringApplication UUID
statusstringStatus: Active, Hired, Archived, or Lead
customFieldsarrayCustom field values on the application
candidateobjectCandidate summary (id, name, primaryEmailAddress, primaryPhoneNumber)
currentInterviewStageobjectCurrent interview stage with id, title, type, orderInInterviewPlan, interviewStageGroupId, interviewPlanId (optional)
sourceobjectAttribution source summary (optional)
archiveReasonobjectReason for archival with id, text, reasonType, isArchived, customFields (optional)
archivedAtstringISO 8601 archive timestamp (optional)
jobobjectAssociated job summary (id, title, locationId, departmentId)
creditedToUserobjectUser credited with the application (optional)
hiringTeamarrayHiring team members (each with userId, firstName, lastName, email, role)
appliedViaJobPostingIdstringJob posting UUID the candidate applied through (optional)
submitterClientIpstringSubmitter IP address (optional)
submitterUserAgentstringSubmitter browser user agent (optional)
createdAtstringISO 8601 creation timestamp
updatedAtstringISO 8601 last update timestamp
applicationHistoryarrayStage history (each with id, stageId, stageNumber, title, enteredStageAt, actorId)

Job posting outputs (ashby_get_job_postings)

FieldTypeDescription
idstringJob posting UUID
titlestringJob posting title
descriptionPlainstringFull description in plain text (optional)
descriptionHtmlstringFull description in HTML (optional)
descriptionSocialstringShortened description for social sharing (optional)
departmentNamestringDepartment name (optional)
teamNamestringTeam name (optional)
teamNameHierarchyarrayHierarchy of team names from root to team
jobIdstringAssociated job UUID (optional)
locationNamestringPrimary location name (optional)
isRemotebooleanWhether the posting is remote
workplaceTypestringWorkplace type: OnSite, Remote, or Hybrid (optional)
employmentTypestringEmployment type (optional)
isListedbooleanWhether publicly listed on the job board
publishedDatestringISO 8601 published date (optional)
applicationDeadlinestringISO 8601 application deadline (optional)
externalLinkstringExternal link to the job posting (optional)
applyLinkstringDirect apply link (optional)
updatedAtstringISO 8601 last update timestamp (optional)
jobobjectExpanded job object when expandJob is true (optional)

Example

[Starter] → [Ashby: List Candidates] → [Agent: summarize new hires] → [Slack: post digest]

Connect an API key stored as {{ASHBY_API_KEY}} and set createdAfter to {{starter.since}} to pull only candidates added since a given date. The Agent block receives {{ashby.candidates}} and produces a summary, which a Slack block then posts to a recruiting channel.

Tips

  • API key auth — Ashby uses HTTP Basic Auth with your API key as the username and an empty password. The integration encodes this automatically; you only need to supply the raw key value.
  • Pagination — Both list operations return moreDataAvailable and nextCursor. Chain a second Ashby block with cursor set to {{ashby.nextCursor}} to fetch the next page inside a loop block.
  • Status filters — When listing applications, the status param accepts exactly Active, Hired, Archived, or Lead. Any other value is silently ignored by the Ashby API.
  • Expand job details — Set expandJob to true on ashby_get_job_postings to receive the full nested job object alongside the posting, saving a separate lookup call.
  • Backdating records — Both create and update candidate support createdAt for importing historical data. The update operation can only change createdAt if the record was originally created with a backdated timestamp.