Skip to content
Notis

Auto-log billable time as expenses

Your team logs billable work in Linear comments, but no expense is created. Notis watches for billable time mentions and creates expense records in Breathe HR instantly so nothing slips through.

Trigger

Comment Received Trigger

Triggered when a comment is received.

Action

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.

Why this helps

Billable work gets discussed and tracked in Linear comments, but creating expenses is forgotten. Revenue tracking is incomplete, billing is delayed, and you lose visibility into what work is billable.

  • Billable time is captured automatically as expenses in Breathe HR
  • No billable work slips through because it was only in a comment
  • Revenue tracking becomes complete and timely
  • Billing and expense reporting are easier with real-time data

Setup

Build it in a few focused steps.

  • 1Connect Linear and Breathe HR to Notis.
  • 2Create a new automation called 'Create expenses from billable time comments'.
  • 3Write the prompt: 'When someone comments on a Linear issue with the word billable or mentions time spent in hours, create an expense record in Breathe HR for the assigned person with the hours or time mentioned.'
  • 4Select trigger 'Comment Received' and choose your notification channel.
  • 5Test by commenting 'billable 3 hours' on a Linear issue and verify an expense is created in Breathe HR.

Questions about this workflow

How does Notis calculate the expense amount if only hours are mentioned?

Your prompt can specify, for example, 'use the employee hourly rate from Breathe HR to calculate the amount' or 'set a default daily rate and multiply by hours mentioned.'

What if 'billable' is mentioned casually?

Refine your prompt to be more specific, like 'only if the comment explicitly says this work is billable and includes time spent' or 'only if the comment format is billable hours.'

Should this create an expense or an expense claim?

Your prompt determines this. An expense is a single entry, while a claim groups expenses. Use 'create an expense' for individual entries or 'batch them into a claim' for grouped billing.

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.