Skip to content
Notis

Sync training progress from project milestones

Employees develop skills through project work, but Breathe HR training records do not capture that progress. When you post project milestones in Linear, Notis updates training records so skill development becomes visible.

Trigger

Project Update Posted

Fires when a project status update is posted on the Linear project's Updates tab. Covers projects in both public and private teams — polls with the connected user's token.

Action

Update employee training course

Tool to update an existing employee training course record in BreatheHR. Use when you need to modify training details such as status, dates, notes, outcome, or other training attributes.

Why this helps

Your team learns and grows through project work, but Breathe HR training records stay static. Skill development is invisible, progress reports show no learning, and professional growth gets undervalued.

  • Training progress is visible from actual project milestones
  • Employee skill development is measured and trackable
  • Learning becomes part of project outcomes, not separate
  • Development records reflect real progress, not just course enrollment

Setup

Build it in a few focused steps.

  • 1Ensure Linear and Breathe HR are connected to Notis.
  • 2Create a new automation called 'Update training courses from project milestone updates'.
  • 3Write the prompt: 'When a project update is posted in Linear describing a milestone or achievement, find any training courses in Breathe HR for team members on the project and update their progress or add a note about the milestone achievement.'
  • 4Select trigger 'Project Update Posted' and pick your notification channel.
  • 5Test by posting a project milestone update in Linear and verify related training records are updated in Breathe HR.

Questions about this workflow

How does Notis know which training courses to update?

Your prompt can specify criteria, for example, 'update training courses that match the skill mentioned in the milestone' or 'update all training for team members on the project.'

What if no training courses exist for the milestone skill?

Your prompt can specify, for example, 'if no matching training exists, log a note in Breathe HR that this skill milestone was achieved' so nothing is lost.

Can I track which milestones contribute to which skills?

Yes. Include that detail in your prompt, for example, 'map the milestone to the related skill and add it to the training record as evidence of competency.'

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

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

Linear triggers

Breathe HR actions

Recurring trigger

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

TriggerScheduled

Approve Leave Request

Tool to approve a leave request in BreatheHR. Use when an authorized user needs to approve a pending leave request.

ActionInstant

Webhook trigger

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

TriggerInstant

Create Employee

Tool to create a new employee in BreatheHR. Use when you need to add a new employee record with their personal information, contact details, and employment information. Required fields are first_name, last_name, email, and company_join_date.

ActionInstant

Comment Received Trigger

Triggered when a comment is received.

TriggerInstant

Create Employee Change Request

Tool to create a change request for an employee field. Use when you need to update employee information such as job title, department, or salary.

ActionInstant

Issue Created Trigger

Triggered when a new issue is created.

TriggerInstant

Create Employee Expense

Tool to create an employee expense record in BreatheHR. Use when an employee needs to submit a new expense claim for reimbursement or record a company-paid expense.

ActionInstant

Issue Updated Trigger

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

TriggerInstant

Create Employee Expense Claim

Tool to create a new expense claim for an employee. Use when you need to submit expenses for reimbursement by grouping one or more unclaimed expense records into a claim.

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

Create Employee Sickness

Tool to create a sickness record for an employee in BreatheHR. Use when you need to log an employee's sick leave with details like type, dates, and status.

ActionInstant

Private Team Issue Created

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

TriggerPolling

Delete Employee Expense

Tool to delete an employee expense by ID. Use when you need to remove an expense record from the system.

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

Delete Employee Training Course

Tool to delete an employee training course record by its ID. Use when you need to remove a training record from an employee's profile.

ActionInstant

Connect any two apps with Notis in the middle.

Linear and Breathe HR, 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 Breathe HR.