Convert Job Specs from Issues into Job Definitions
When you create an issue describing a new role (responsibilities, requirements, seniority level), Notis reads it and creates the job definition in Ashby automatically--no retyping required.
Trigger
Public Team Issue Created
Fires when a new issue is created in a Linear *public* team. For private teams (lock icon in Linear's sidebar) use `LINEAR_PRIVATE_TEAM_ISSUE_CREATED`.
Action
Create Job
Create 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
Why this helps
Job specifications live as Linear issues initially, then must be manually transcribed into Ashby job definitions, creating duplication and delays.
- Job specs in issues become Ashby jobs instantly
- Single source of truth for role details
- Zero manual transcription work
Setup
Build it in a few focused steps.
- 1Connect Linear and Ashby integrations to Notis.
- 2Create an automation named 'Issue Spec to Job Definition'.
- 3Write your prompt: 'When a new issue is created in a public team and has a label or title containing "job spec" or "role definition", extract the role title, department, seniority level, key responsibilities, and requirements from the issue description, then create a job in Ashby with that information.'
- 4Select 'Public Team Issue Created' as your trigger and set your notification channel.
- 5Test by creating an issue titled 'Job Spec: Senior Product Manager' with details, then verify the job appears in Ashby.
Questions about this workflow
What if the issue format varies?
Notis is flexible. Your prompt can specify 'look for headers like ### Responsibilities, ### Requirements' or adapt to whatever format your team uses.
Can it set department, location, and other fields?
Yes, if those details are in the issue. If not, Notis can prompt you to fill them in, or you can set defaults in your prompt.
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.
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.
Webhook trigger
Notis starts this workflow when an external tool or custom backend sends an HTTP request.
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.
Comment Received Trigger
Triggered when a comment is received.
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.
Issue Created Trigger
Triggered when a new issue is created.
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.
Issue Updated Trigger
Triggered when an issue is updated. For example labels are changed, issue status is changed, etc.
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.
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).
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.
Private Team Issue Created
Fires when a new issue appears in a private Linear team (polled with the connected user's token).
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.
Private Team Issue Properties Updated
Fires when properties on an issue change in a private Linear team (polled with the connected user's token).
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.
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.