Skip to content
Notis

Auto-remove duplicate expenses via Linear comments

Duplicate expenses slip into Breathe HR, creating reconciliation headaches. When you comment 'this is a duplicate' on an expense issue in Linear, Notis instantly removes it from Breathe HR.

Trigger

Comment Received Trigger

Triggered when a comment is received.

Action

Delete Employee Expense

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

Why this helps

Expenses get logged twice by accident, and you spend time hunting and deleting duplicates manually. Cleanup is tedious and error-prone, and expenses remain in the system longer than they should.

  • Duplicate expenses are removed instantly from Breathe HR
  • Reduces reconciliation errors and cleanup workload
  • You catch duplicates once and remove them at scale
  • Expense records stay clean without manual intervention

Setup

Build it in a few focused steps.

  • 1Connect Linear and Breathe HR to Notis.
  • 2Create a new automation called 'Delete duplicate expense records from Linear comments'.
  • 3Write the prompt: 'When someone comments "duplicate" on an issue in Linear that is related to an expense, find the matching expense record in Breathe HR and delete it.'
  • 4Select trigger 'Comment Received' and choose your notification channel.
  • 5Test by commenting 'duplicate' on an expense-related issue in Linear and verify the expense is deleted from Breathe HR.

Questions about this workflow

How does Notis know which expense to delete if there are multiple?

Your prompt can specify matching criteria, for example, 'delete the most recent matching expense' or 'ask for confirmation before deleting if multiple matches exist.'

Can this be undone if I accidentally flag something as duplicate?

Notis can be configured to log deletions and provide a recovery option, or to ask for confirmation before deleting. Adjust your prompt to include a confirmation step if accidental deletions are a concern.

What if the comment says 'duplicate' but means something else?

You can refine your prompt to be more specific, like 'only if the full comment is exactly this is a duplicate expense' or 'only on issues with an expense tag and the word duplicate.'

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.