The moment it happens
Triage customer feedback into Jira and email critical issues
Each piece of customer feedback becomes a Jira issue with a type and severity, and critical problems are emailed to you straight away.
- Runs
- The moment it happens
- Apps
- Gmail, Jira
- AI
- Yes, uses the built-in AI allowance
- Access
- Jira create issues; gmail.send
Send this to your assistant
Create a ClickRuntime automation: when feedback arrives at the trigger link from our in-app form, have AI decide if it's a bug, idea or praise and how severe, create a Jira issue in FB, and email me if it's critical.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A product team gets feedback from an in-app form, and it all lands in a spreadsheet that the product manager reads once a week. A serious bug reported on Monday is only seen on Friday, and good ideas get lost among praise and noise.
Sorting each piece of feedback as it arrives, filing it in Jira and emailing the critical ones means serious problems are seen within minutes. Ideas and bugs land in the same place the team plans its work.
What you get out of it
Critical problems are seen fast
An email for critical feedback means a serious bug reaches you in minutes, not days.
Feedback lands where work is planned
Every piece becomes a Jira issue with a type. Ideas and bugs sit alongside the rest of the roadmap.
Consistent sorting
Each item is classified the same way. Trends in bugs or requests are easy to count.
The customer's words are kept
The full feedback is in the issue description. Nothing is lost in summarising.
How it works
What happens, step by step
When a customer submits feedback, your form sends it to your automation's trigger link.
AI reads it and decides whether it is a bug, an idea or praise, and how severe it is.
A Jira issue is created with the type, severity and the customer's full message.
If it is critical, you get an email with the details and a link to the issue.
Before it runs live
- Connect Google through your own Google app (a one-time, 10-minute setup), so it works with your own Gmail
- Connect Jira
- Paste your automation's link into the other app's webhook settings
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Act only on the items that match your own rules, and skip the rest
- Change what the AI looks for, or how it writes the result
- Add another app, for example also send it to Slack
- Combine it with other Gmail and Jira steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, credentials, http, notify, ai
JIRA, SITE = "https://api.atlassian.com/ex/jira/your-cloud-id", "https://acme.atlassian.net/browse/"
adf = lambda text: {"type": "doc", "version": 1, "content": [{"type": "paragraph", "content": [{"type": "text", "text": text}]}]}
def jira(method, path, **kw):
resp = http.request(method, JIRA + path, headers={"Authorization": f"Bearer {credentials.connection('jira', 'work')}", "Accept": "application/json"}, **kw)
return resp.raise_for_status() or (resp.json() if resp.content else None)
SCHEMA = {"type": "object", "properties": {"type": {"type": "string", "enum": ["bug", "idea", "praise", "other"]},
"severity": {"type": "string", "enum": ["critical", "high", "normal", "low"]}, "title": {"type": "string"}}}
@on_event
def handle(event):
fb = event.json or {}
t = ai.generate(fb.get("message", "")[:4000], json_schema=SCHEMA, max_output_tokens=80,
system="Classify this customer feedback. Critical means data loss, payments failing, security or unusable product.").json
issue = jira("POST", "/rest/api/3/issue", json={"fields": {"project": {"key": "FB"}, "issuetype": {"name": "Bug" if t["type"] == "bug" else "Task"},
"summary": t["title"][:250], "labels": [t["type"], f"severity-{t['severity']}"],
"description": adf(f"From {fb.get('email', 'anonymous')} ({fb.get('plan', '-')})\n\n{fb.get('message', '')}")}})
if t["severity"] == "critical":
notify.email_me(f"Critical feedback: {t['title']}"[:200], f"{fb.get('message', '')}\n\nFrom {fb.get('email')}\n{SITE}{issue['key']}")
return {"issue": issue["key"], **t}FAQ
Common questions
What sources can send feedback?
What makes feedback critical?
Does praise go into Jira too?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Create Jira onboarding tasks and send a welcome email
When a new hire is confirmed, an onboarding epic with tasks appears in Jira and the new hire gets a welcome email from you, with their manager copied.
See how it worksTurn support emails into categorised Jira tickets
Every email to your support address becomes a Jira ticket with a category, priority and summary, and the sender gets an acknowledgement with the ticket number.
See how it worksTurn vendor security advisories into Jira tickets
New security advisories from the vendors you rely on become Jira tickets, and you get an email for each one.
See how it worksKeep exploring
Set up “Triage customer feedback into Jira and email critical issues” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.