Skip to content
Recued
Menu
← Back to recipes

Propose Linear exception work for Sentry issue

by recued-core v1

Scheduled detection half of the Sentry to Linear exception handoff loop. It reads recent matching unresolved Sentry issues, writes one data.shared proposal for the first unhandled issue, and notifies the owner to review whether the issue should become exception Linear work. It never creates Linear issues, updates Sentry issue status, changes Sentry alerts or ownership rules, mutates Linear projects, or calls arbitrary APIs. Sentry alerts, Sentry issue ownership, native Sentry issue-tracker integrations, and Sentry alert ticket creation own their normal paths; this recipe only creates a Recued-visible exception proposal that an owner can approve or dismiss with create-approved-linear-issue-from-sentry.

Complete workflow

Workflow pack that closes the loop between exception-scoped Sentry issues and owner-approved Linear follow-up work. It depends on the Sentry and Linear capability packs, detects one unhandled matching Sentry issue at a time, writes a data.shared proposal, notifies the owner, provides a manual action recipe that either creates the Linear issue and links it back to the Sentry issue or dismisses the proposal, and watches created Linear issues until they reach a terminal state. It does not replace Sentry alerts, Sentry ownership rules, Sentry's native issue-tracker integrations, Sentry alert ticket creation, or Linear triage automation; use it only when the normal native path is unavailable, intentionally bypassed, or missing Recued-visible closure state.

You are viewing one recipe in this workflow. Installing it opens the complete pack so its other recipes and background automations arrive together.

Propose Linear exception work for Sentry issue
This recipe Background automation

Scheduled detection half of the Sentry to Linear exception handoff loop. It reads recent matching unresolved Sentry issues, writes one data.shared proposal for the first unhandled issue, and notifies the owner to review whether the issue should become exception Linear work. It never creates Linear issues, updates Sentry issue status, changes Sentry alerts or ownership rules, mutates Linear projects, or calls arbitrary APIs. Sentry alerts, Sentry issue ownership, native Sentry issue-tracker integrations, and Sentry alert ticket creation own their normal paths; this recipe only creates a Recued-visible exception proposal that an owner can approve or dismiss with create-approved-linear-issue-from-sentry.

sentrylinearissueexception
by recued-core pinned v1

Owner-invoked action half of the Sentry to Linear exception handoff loop. It reads one awaiting_owner_approval proposal written by sentry-linear-issue-proposal, then either creates exactly one Linear issue from deterministic Sentry context or dismisses the proposal as no Linear work needed. Running this recipe is the owner's approval or decline. It re-reads the Sentry issue before creating Linear work and takes no outward-facing action when there is no pending proposal, the live Sentry issue is no longer unresolved, or the required Linear destination is missing. Native Sentry to Linear issue tracking should own the normal create/link/sync path.

sentrylinearissueexception
by recued-core pinned v1

Scheduled feedback half of the Sentry to Linear exception handoff loop. It reads Linear issues created by create-approved-linear-issue-from-sentry, closes the Recued data.shared handoff when the Linear issue reaches a terminal state, and optionally notifies the owner to review the corresponding Sentry issue. It does not update Sentry issue status, update Linear issues, reopen work, create comments, change alerts, or call arbitrary APIs. Native Sentry and Linear synchronization owns normal issue resolution; this watcher only records Recued-visible exception closure.

sentrylinearissueexception
by recued-core pinned v1
View pack details, dependencies, and permissions →
How it works 35 steps

Inspect the data fetches, transforms, gates, and output this recipe runs.

Data fetch
existing_proposals ?
Process (34 steps)
existing_proposals_family filter
Filter by condition
configured_org trim
Trim whitespace from setting organization id or slug
configured_project trim
Trim whitespace from setting project id or slug
configured_query trim
Trim whitespace from setting issue query
now date_add
Add 0 minutes to
issues_raw ?
issues default
Apply default
issue_search_rows slice
Take a subset of
signal_issue_rows filter
Filter by condition
existing_issue_ids map
Extract from each item
unhandled_issue_rows filter
Filter by condition
candidate_rows slice
Take a subset of
candidate_count count
Count items in unhandled issue rows
has_candidate compare
Check if candidate rows has data
issue_id default
Apply default
issue_short_id default
Apply default
issue_title default
Apply default
issue_permalink default
Apply default
issue_status default
Apply default
issue_count default
Apply default
issue_user_count default
Apply default
issue_first_seen default
Apply default
issue_last_seen default
Apply default
has_issue_id compare
Check if issue id has data
has_org compare
Check if configured org has data
skip_proposal any
Check if any of the conditions are true
default_linear_title template
Generate text from a template
skip: step.skip_proposal equal true
default_linear_description template
Generate text from a template
skip: step.skip_proposal equal true
proposal_key template
Generate text from a template
skip: step.skip_proposal equal true
write_proposal ?
skip: step.skip_proposal equal true
notify_enabled compare
Check if setting notify owner equals true
should_notify all
Check if all conditions are true
send_owner_notification ?
skip: step.should_notify not_equal true
summary to_summary
Format results as a summary card
Settings 15 configurable

Configurable at install. Defaults shown — change them anytime in Recued.

sentry setting =
channels setting = in_app
row limit setting = 10
issue query setting = is:unresolved recued_handoff:linear
notify owner setting = true
stats period setting = 24h
linear team id setting =
linear priority setting = 2
linear state id setting =
exception reason setting = needs_recued_closure_state
linear project id setting =
linear assignee id setting =
project id or slug setting =
minimum event count setting = 1
organization id or slug setting =

Trust & control

What installing this recipe would let it do. Recued grants these permissions at install — review them there before approving.

Where it runs

Device + server Runs on your device (browser) or your server.

Permissions it requires

Send notificationsRead your Sentry connection
Declared by the recipe — Recued grants these at install, where you review them before approving.

Data it touches

Warehousedata.shared

About

Tags

sentrylinear sentrylinearissueexceptionproposalincident-responsework-trackingclosed-looppack:sentry-linear-work-handoff

Details

35 steps 15 configurable settings recipe_id: sentry-linear-issue-proposal