Skip to content
Notis

Automatically Advance Candidates as Hiring Progresses

As your hiring issue moves through stages (screening to interview to offer decision), Notis automatically advances the candidate's application stage in Ashby, keeping both systems in sync.

Trigger

Private Team Issue Properties Updated

Fires when properties on an issue change in a private Linear team (polled with the connected user's token).

Action

Change Application Stage

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

Why this helps

Hiring progress is tracked in Linear issues, but interview stage in Ashby doesn't update, creating a duplicate tracking system and single-source-of-truth confusion.

  • Interview stages auto-advance with issue progress
  • Single source of truth between Linear and Ashby
  • No manual stage updates needed

Setup

Build it in a few focused steps.

  • 1Connect Linear and Ashby to Notis.
  • 2Create an automation named 'Issue Progress to Application Stage'.
  • 3Write your prompt: 'When a private team issue about a candidate is updated with a status change (e.g., "screening" to "interview", or "interview" to "decision"), map that status to the corresponding interview stage in Ashby and move the candidate's application to that stage.'
  • 4Select 'Private Team Issue Properties Updated' as your trigger and set your notification channel.
  • 5Test by changing an issue status and verify the application stage updates in Ashby.

Questions about this workflow

How does it map issue statuses to interview stages?

Your prompt can define the mapping: 'When issue status is "In Progress", move application to "First Round Interview".' You control the mapping.

What if stages don't match?

Tell Notis your interview plan structure (e.g., 'My stages are Screening, Phone, Panel, Offer, Hired'), and it will match issue statuses to the closest stage.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

Notis builds workflows that link Linear to Ashby. A trigger fires from one place; an action lands in another.

Linear triggers

Ashby actions

Recurring trigger

Notis starts this workflow on a schedule, such as daily, weekly, or during business hours.

TriggerScheduled

Add Candidate to Project

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

ActionInstant

Webhook trigger

Notis starts this workflow when an external tool or custom backend sends an HTTP request.

TriggerInstant

Add Candidate Tag

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

ActionInstant

Comment Received Trigger

Triggered when a comment is received.

TriggerInstant

Add Hiring Team Member

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

ActionInstant

Issue Created Trigger

Triggered when a new issue is created.

TriggerInstant

Add User to Interviewer Pool

Add a user to an interviewer pool. Use this to assign interviewers to interview pools for scheduling and coordination. Requires the hiringProcessMetadataWrite permission.

ActionInstant

Issue Updated Trigger

Triggered when an issue is updated. For example labels are changed, issue status is changed, etc.

TriggerInstant

Add Opening Job

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

ActionInstant

Private Team Comment Created

Fires when a new comment is posted on an issue in a private Linear team (polled with the connected user's token).

TriggerPolling

Add Opening Location

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

ActionInstant

Private Team Issue Created

Fires when a new issue appears in a private Linear team (polled with the connected user's token).

TriggerPolling

Anonymize Candidate

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

ActionInstant

Private Team Issue Properties Updated

Fires when properties on an issue change in a private Linear team (polled with the connected user's token).

TriggerPolling

Approve Offer

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

ActionInstant

Connect any two apps with Notis in the middle.

Linear and Ashby, or any other combination from 1,000+ integrations.

When this happens · Trigger

Do this · Action

Save your first hour today.

7-day trial of any paid plan, with 20$ of usage included.
No card. Works with personal or business Ashby.