Turn Typeform bug reports into clean Linear issues, with duplicate detection

Every Typeform bug report becomes a well-structured Linear ticket, or a comment on the existing one, and your team gets a heads-up in Slack.

Agentic Task
TypeformLinearSlack BotEngineeringProductFeedback TriageNotifications & Alerts
PromptCreate

Build me an agent workflow that turns customer bug reports submitted through a Typeform form into engineering-ready Linear issues, with duplicate detection.

Trigger: a Typeform webhook fires when a new submission lands on my bug report form. Pass the full form_response payload (all answers plus any uploaded screenshots) into the agent as input.

On each submission, the agent should:

1. Normalize the raw submission. Read the answers and any attached screenshots, extract the affected feature or product area, and infer a severity level from the wording and visuals. Use these severities: P0 critical (data loss, outage, payment broken, security), P1 high (core flow broken for many users), P2 medium (workaround exists), P3 low (cosmetic or minor). Restructure the free-text description into four sections: Steps to Reproduce, Expected, Actual, and Environment (browser, OS, app version, account or workspace id if present).

2. Look for duplicates in Linear before filing anything. Call Linear's Search Issues with the extracted feature name plus the most distinctive key terms from the report. Only consider non-archived, open issues. Decide whether any match is the same underlying defect by comparing symptom, feature, and reproduction shape; do not match purely on shared keywords. If you are uncertain, treat it as new.

3a. If there is a strong duplicate, call Linear's Add Comment to Issue on that existing issue. The comment should include the new steps to reproduce, any new environment info, the reporter's name and email from the Typeform answers, and a short note that this is an additional report. Do not change the existing issue's priority or state.

3b. If it is genuinely new, call Linear's Create Issue in the team that owns the affected feature. Use a concise title that names the feature and the symptom. Put the structured Steps to Reproduce / Expected / Actual / Environment in the description in markdown. Map severity to Linear priority (P0->1 Urgent, P1->2 High, P2->3 Normal, P3->4 Low). Add labels like 'bug' and the feature area. Include the reporter's contact info at the bottom of the description.

4. After Linear is updated, call Slack Bot's Send a Message to post to #bugs. Include: the Linear issue title and link, the severity, the affected feature, the reporter's name, and a clear note saying whether this was created as a new issue or merged into an existing one (link the existing issue when merged).

Configuration the agent should accept up front: the Typeform form id, a mapping from feature area to Linear team, the default Linear team for unmatched reports, the Slack channel (default #bugs), and the severity-to-priority mapping if I want to override the defaults.

Be conservative on the duplicate check: when in doubt, file a new issue rather than merging into the wrong one.

What does this prompt do?

  • Listens for new submissions on your Typeform bug report form and parses the raw answers into a clean issue.
  • Rewrites the report into the structure engineers expect: Steps to Reproduce, Expected, Actual, and Environment, with severity inferred from the wording.
  • Checks Linear for likely duplicates before filing anything, so the same defect does not stack up under three different titles.
  • Either creates a new Linear issue in the right team with priority and labels, or adds the new repro and reporter info as a comment on the existing one.
  • Posts a short summary to your bug channel in Slack with the Linear link, severity, and whether it was a new ticket or a merge.

What do I need to use this?

  • A Typeform account with a bug report form you can point a webhook at.
  • A Linear workspace with the team or teams you want bugs filed in.
  • A Slack workspace with a channel for bug notifications, like #bugs.

How can I customize it?

  • Change which Linear team gets the issue, or branch by product area so frontend, backend, and mobile bugs go to different teams.
  • Adjust how severity is inferred from the report, or map the severity levels to your own priority and label scheme.
  • Pick a different Slack channel, change the summary format, or only ping Slack for high severity reports.

FAQs

How does it decide whether a report is a duplicate?
Before filing anything, it searches Linear with the key terms from the new report and the feature name it extracted. If a strong match is open, it treats the new submission as another instance of that bug instead of opening a new ticket.
What happens when it finds a duplicate?
It adds a comment on the existing Linear issue with the new steps to reproduce, any extra detail from the form, and the reporter's contact info. Your bug channel in Slack still gets a note so the team knows another customer hit it.
How is severity decided?
The agent reads the wording of the report and any screenshots the reporter attached, then maps that to a severity level. You can tune the rules in plain language, for example treat anything mentioning data loss or payment as the highest severity.
Do reporters need a Linear account?
No. The whole point of this workflow is to let non-technical people file bugs through a friendly Typeform, while engineering only ever sees clean Linear tickets.
Can it route to different Linear teams?
Yes. Tell the agent which feature areas map to which teams, and it will pick the right team based on the extracted feature when it files a new issue.

Related templates

Review desk for portal forms your team still fills in by hand

Stage a batch of filings overnight, then approve each completed form from a screenshot before anything is ever submitted.

Kernel
Google Sheets
Slack Bot
App
Client-by-client cold email pipeline review for agencies

Pick a client and a date range to see sent, replies, meetings booked and the real deal value your cold email produced, campaign by campaign.

Instantly
HubSpot
Slack Bot
App
Find the customers stuck contacting support again and again

A board that ranks the people who opened three or more separate support conversations this month, reads their threads, and files the real fix.

Kustomer
Linear
General Input Database
App
Audit what Intercom's Fin AI actually resolved before you pay

Review every conversation Fin closed as resolved, judge which ones actually stuck, and see what the gap is worth against your bill.

Intercom
Google Sheets
Slack Bot
App
One triage console for every Jira service desk queue

Merge your IT, HR and Facilities queues into one list ranked by SLA time left, then reply, change status and escalate without ever opening Jira.

Jira Service Management
Jira
Slack Bot
App
Run your Webflow site translations from one review desk

See every page's translation status at a glance, edit translations side by side with the English, and publish only what your team has actually approved.

Webflow
JigsawStack
Slack Bot
+1
App

Stop hand-translating bug reports into Linear tickets.

Connect Typeform, Linear, and Slack once, and every new bug report shows up structured, deduplicated, and announced.