[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: slack_thread
CHANNEL: #ai-team-bugs
THREAD HISTORY:
[Mon 14:30] me: "Flagging: prompt playground shows stale data after a re-run. Repro steps in the task. cc @Meera"
[Tue 11:20] Meera (dev): "pushed to staging, should work now"
TIME NOW: Wed 08:30
USER CONTEXT: sole QA, AI team; I have not replied since Meera's message

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "medium", "severity_rationale": "The fix is claimed but unverified; the bug stays possibly-live until QA confirms it.", "tier": "P2", "owner": "me", "why_it_matters": "An unverified fix can ship broken; verification is the open action and it is mine.", "next_step": "Verify Meera's fix for the prompt playground bug and reply on the thread", "deadline_suggestion": "today", "escalation_flag": false}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: slack_dm
FROM: Meera (dev)
TIME: today 10:15
USER CONTEXT: senior developer, AI team
MESSAGE: "please prioritize my PR — it's the CART-1734 customer fix and the window closes at 2"

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "high", "severity_rationale": "A customer-impact fix is blocked solely on this reviewer's approval.", "tier": "P1", "owner": "me", "why_it_matters": "Every hour of review delay extends Kite Systems's outage exposure.", "next_step": "Review and approve the CART-1734 fix PR this morning", "deadline_suggestion": "today", "escalation_flag": true}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: hiver_shared_inbox_email
INBOX: admissions@ | FROM: Emily A. (customer)
TIME: 2 days ago 09:15
MESSAGE: "the module 4 quiz arrived wrong and I need the corrected one before an exam sitting next week"
USER CONTEXT: support agent, online course provider

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "high", "severity_rationale": "A customer has a defective or missing module 4 quiz with a hard event date approaching.", "tier": "P2", "owner": "me", "why_it_matters": "Emily A. cannot make an exam sitting unless the module 4 quiz is corrected in time.", "next_step": "Confirm replacement module 4 quiz and expedited shipping to Emily A.", "deadline_suggestion": "today", "escalation_flag": false}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: hiver_shared_inbox_email
INBOX: admissions@ | FROM: Emily A. (customer)
TIME: 2 days ago 09:15
MESSAGE: "third email about my course login and still no reply. If I don't hear back today I'm disputing the charge"
USER CONTEXT: support agent, online course provider

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "critical", "severity_rationale": "A repeat-contact customer is threatening a chargeback or cancellation over an unresolved issue.", "tier": "P1", "owner": "me", "why_it_matters": "An escalating course login complaint is at the point of churn and public complaint.", "next_step": "Reply to Emily A. now with a concrete fix and timeline", "deadline_suggestion": "today", "escalation_flag": true}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: hiver_shared_inbox_email
INBOX: claims@ | FROM: Raj V. (customer)
TIME: today 10:40
MESSAGE: "just confirming I received the claim form — no action needed"
USER CONTEXT: claims support agent, insurance agency

[Assistant] {"is_actionable": false, "action_direction": "info_only", "severity": "low", "severity_rationale": "A courtesy confirmation with explicit no-action language and no open request.", "tier": "P4", "owner": "none", "why_it_matters": "Positive close-out note; nothing to act on.", "next_step": "No action needed", "deadline_suggestion": "this_week", "escalation_flag": false}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: slack_channel_message
CHANNEL: #general
FROM: Ayaan (teammate)
TIME: today 09:20
USER CONTEXT: support engineer, B2B SaaS
MESSAGE: "urgent: standup moved to 10:30 today, conference room double-booked"

[Assistant] {"is_actionable": false, "action_direction": "info_only", "severity": "low", "severity_rationale": "Urgent-sounding wording, but it is internal logistics with no impact and no action owed.", "tier": "P4", "owner": "none", "why_it_matters": "Logistics notice to note; nothing to act on.", "next_step": "No action needed", "deadline_suggestion": "today", "escalation_flag": false}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: hiver_mention
CONVERSATION #8054 | FROM: Neha (teammate) | TIME: today, 20 minutes ago
NOTE: "@me urgent — Helen C. says the beneficiary update failure is blocking their whole team, can you jump in?"
USER CONTEXT: claims support agent, insurance agency

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "critical", "severity_rationale": "A teammate flags a customer-blocking failure and asks for immediate help.", "tier": "P1", "owner": "me", "why_it_matters": "Helen C.'s team is blocked on the beneficiary update failure right now.", "next_step": "Join conversation #8054 and triage the beneficiary update failure", "deadline_suggestion": "today", "escalation_flag": true}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: hiver_shared_inbox_email
INBOX: admissions@ | FROM: Dana W. (customer)
TIME: today 10:40
MESSAGE: "received a damaged certificate download; I need a replacement in time for a license renewal deadline"
USER CONTEXT: support agent, online course provider

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "high", "severity_rationale": "A customer has a defective or missing certificate download with a hard event date approaching.", "tier": "P2", "owner": "me", "why_it_matters": "Dana W. cannot make a license renewal deadline unless the certificate download is corrected in time.", "next_step": "Confirm replacement certificate download and expedited shipping to Dana W.", "deadline_suggestion": "today", "escalation_flag": false}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: hiver_shared_inbox_email
INBOX: orders@ | FROM: Jenny F. (customer)
TIME: today 08:10
MESSAGE: "my shadow box frame is missing from the delivery — a memorial service is coming up, can you help?"
USER CONTEXT: support agent, medals & ribbons e-commerce store

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "high", "severity_rationale": "A customer has a defective or missing shadow box frame with a hard event date approaching.", "tier": "P2", "owner": "me", "why_it_matters": "Jenny F. cannot make a memorial service unless the shadow box frame is corrected in time.", "next_step": "Confirm replacement shadow box frame and expedited shipping to Jenny F.", "deadline_suggestion": "today", "escalation_flag": false}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: clickup_task
TASK: "chat memory regression" | STATUS: in-progress | ASSIGNEE: Sana (dev) | DUE: none | TAGS: none
COMMENTS:
[yesterday 16:10] Sana: "@qa was this on staging or prod data? and which browser?"
(no reply from me)
USER CONTEXT: sole QA, AI team

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "medium", "severity_rationale": "The assigned dev is blocked on details only I can provide about the repro.", "tier": "P2", "owner": "me", "why_it_matters": "Sana cannot progress the chat memory fix until I share the repro details.", "next_step": "Comment the requested repro details on Sana's task", "deadline_suggestion": "today", "escalation_flag": false}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: clickup_task
TASK: "QA: fine-tune dashboard test pass" | STATUS: in-progress | ASSIGNEE: me | DUE: yesterday | TAGS: none
COMMENTS:
[2 days ago] me: "completed the full run, no regressions found"
USER CONTEXT: sole QA, AI team; standup at 10:00; the work is done but the status was never updated

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "low", "severity_rationale": "Work is done; only the status update is missing, but it misleads the board before standup.", "tier": "P4", "owner": "me", "why_it_matters": "A stale in-progress status makes finished work look late at standup.", "next_step": "Mark the fine-tune dashboard test task complete in ClickUp before standup", "deadline_suggestion": "today", "escalation_flag": false}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: slack_thread
CHANNEL: #ai-team
THREAD HISTORY:
[Yesterday 15:02] Nikhil (dev): "@qa any blockers from QA side for tomorrow's release?"
[Yesterday 15:40] me: "no blockers, everything on the list is verified"
[Yesterday 15:41] Nikhil: "perfect, thanks!"
TIME NOW: today 08:30
USER CONTEXT: sole QA, AI team

[Assistant] {"is_actionable": false, "action_direction": "info_only", "severity": "low", "severity_rationale": "The question was asked and fully answered yesterday; nothing remains open.", "tier": "P4", "owner": "none", "why_it_matters": "The thread is closed; surfacing it would be noise.", "next_step": "No action needed", "deadline_suggestion": "this_week", "escalation_flag": false}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: hiver_shared_inbox_email
INBOX: admissions@ | FROM: Robert L. (customer)
TIME: yesterday 17:55
MESSAGE: "my proctored exam slot is missing from the delivery — a course expiry date is coming up, can you help?"
USER CONTEXT: support agent, online course provider

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "high", "severity_rationale": "A customer has a defective or missing proctored exam slot with a hard event date approaching.", "tier": "P2", "owner": "me", "why_it_matters": "Robert L. cannot make a course expiry date unless the proctored exam slot is corrected in time.", "next_step": "Confirm replacement proctored exam slot and expedited shipping to Robert L.", "deadline_suggestion": "today", "escalation_flag": false}


[System] You are UnchaosLM, the conversational assistant of Triage Copilot. You help the user act on their triaged work: tasks, escalations, priorities, people, inboxes, and calendar. When a request needs live data or an action, call the matching tool — extract the arguments from the user's message itself, even when phrased casually. After a tool returns, answer grounded strictly in its result and say plainly what you did (which tool you used and what it found). If a required argument is genuinely absent, ask one short question instead of guessing. Greetings and questions about your abilities need no tool. Never invent items, ids, owners, or links.

[User] what fires are burning

List the user's active triage items, optionally filtered by tier (P1-P4) or severity. Returns id, tier, severity, title, owner, next step, deadline, and link.

Fetch one active triage item by its id (fingerprint).

The item id / fingerprint.

Resolve a person's name or handle to a Slack user id. Returns resolved, ambiguous (with candidates), or not_found.

Person name, @handle, or email.

Propose a calendar time block for the user to approve. Nothing is written without approval.

e.g. today afternoon, tomorrow 10:00

Optional linked triage item id.

List the user's calendar events for a day part.

e.g. today, today afternoon, tomorrow

Summarize SLA state across the user's shared inboxes: breached and at-risk conversations.


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: slack_dm
FROM: Rahul (Support Engineer)
TIME: 11:40 today
USER CONTEXT: sole QA, AI team
MESSAGE: "P0 from support: customer completely stuck on the dataset upload. free for 15 min?"

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "critical", "severity_rationale": "Support engineer reports a customer actively blocked and needs immediate repro help.", "tier": "P1", "owner": "me", "why_it_matters": "A customer is blocked right now; the repro is the gate to the fix.", "next_step": "Huddle with Rahul now to reproduce the dataset upload issue", "deadline_suggestion": "today", "escalation_flag": true}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: hiver_shared_inbox_email
INBOX: claims@ | FROM: Jenny F. (customer)
TIME: today 09:25
MESSAGE: "received a damaged claim status; I need a replacement in time for a claim deadline"
USER CONTEXT: claims support agent, insurance agency

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "high", "severity_rationale": "A customer has a defective or missing claim status with a hard event date approaching.", "tier": "P2", "owner": "me", "why_it_matters": "Jenny F. cannot make a claim deadline unless the claim status is corrected in time.", "next_step": "Confirm replacement claim status and expedited shipping to Jenny F.", "deadline_suggestion": "today", "escalation_flag": false}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: health_score_alert
ACCOUNT: Northwind | SCORE: dropped 82 -> 61 this month
DRIVER: logins down 40%, CSV export usage near zero
OWNER: me
USER CONTEXT: customer success manager

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "high", "severity_rationale": "A sharp health-score drop with collapsing usage is an early churn signal.", "tier": "P1", "owner": "me", "why_it_matters": "Northwind's disengagement is measurable now; waiting turns a dip into a cancellation.", "next_step": "Investigate Northwind's usage drop and schedule a check-in call", "deadline_suggestion": "tomorrow", "escalation_flag": true}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: slack_thread
CHANNEL: #ai-team-bugs
THREAD HISTORY:
[Mon 14:30] me: "Flagging: webhook alerts shows stale data after a re-run. Repro steps in the task. cc @Tanvi"
[Tue 11:20] Tanvi (dev): "should be good now"
TIME NOW: Wed 08:30
USER CONTEXT: sole QA, AI team; I have not replied since Tanvi's message

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "medium", "severity_rationale": "The fix is claimed but unverified; the bug stays possibly-live until QA confirms it.", "tier": "P2", "owner": "me", "why_it_matters": "An unverified fix can ship broken; verification is the open action and it is mine.", "next_step": "Verify Tanvi's fix for the webhook alerts bug and reply on the thread", "deadline_suggestion": "today", "escalation_flag": false}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: hiver_sla_alert
CONVERSATION #1431 | CUSTOMER: Helen C. | SUBJECT: automation rule issue
ALERT: first-response SLA due in 45 minutes | ASSIGNEE: me
USER CONTEXT: support engineer, B2B SaaS (shared inbox product)

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "high", "severity_rationale": "The first-response SLA window closes in 45 minutes; a breach is avoidable but imminent.", "tier": "P2", "owner": "me", "why_it_matters": "Responding to Helen C. within 45 minutes keeps the SLA record clean.", "next_step": "Send a first response on conversation #1431 within 45 minutes", "deadline_suggestion": "today", "escalation_flag": false}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: slack_dm
FROM: Suresh (hiring manager)
TIME: yesterday 15:10
USER CONTEXT: talent acquisition recruiter
MESSAGE: "please schedule S. Iyer's final round soon, we don't want to lose momentum"

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "medium", "severity_rationale": "A hiring manager has asked for an interview loop to be scheduled this week.", "tier": "P2", "owner": "me", "why_it_matters": "Scheduling lag is the most common self-inflicted pipeline delay.", "next_step": "Send S. Iyer's panel invites and confirm the loop this week", "deadline_suggestion": "this_week", "escalation_flag": false}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: hiver_mention
CONVERSATION #5712 | FROM: Kavya (teammate) | TIME: today 13:30
NOTE: "@me can you take this one? Tom H. is asking about the claim status and you handled their last case"
USER CONTEXT: claims support agent, insurance agency

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "medium", "severity_rationale": "A teammate has handed over a customer conversation and is waiting for pickup.", "tier": "P2", "owner": "me", "why_it_matters": "Tom H.'s claim status question sits unowned until the handover is accepted.", "next_step": "Accept conversation #5712 and reply to Tom H.", "deadline_suggestion": "today", "escalation_flag": false}


[System] You are UnchaosLM, the conversational assistant of Triage Copilot. You help the user act on their triaged work: tasks, escalations, priorities, people, inboxes, and calendar. When a request needs live data or an action, call the matching tool — extract the arguments from the user's message itself, even when phrased casually. After a tool returns, answer grounded strictly in its result and say plainly what you did (which tool you used and what it found). If a required argument is genuinely absent, ask one short question instead of guessing. Greetings and questions about your abilities need no tool. Never invent items, ids, owners, or links.

[User] what's zubin's handle?

[Tool] {"status": "not_found"}

[Assistant] I checked with resolve_person — no Slack user matching "zubin". Could you give the full name or email?

The item id / fingerprint.

Person name, @handle, or email.

e.g. today afternoon, tomorrow 10:00

Optional linked triage item id.

e.g. today, today afternoon, tomorrow


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: hiver_sla_alert
CONVERSATION #7026 | CUSTOMER: Colin B. | SUBJECT: freight quote issue
ALERT: resolution SLA breached 3 hours ago | ASSIGNEE: me
USER CONTEXT: support agent, logistics & shipping

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "critical", "severity_rationale": "A resolution SLA has already been breached; every additional minute deepens the miss.", "tier": "P1", "owner": "me", "why_it_matters": "Colin B.'s conversation is past its resolution commitment and counting.", "next_step": "Answer conversation #7026 immediately and apologize for the delay", "deadline_suggestion": "today", "escalation_flag": true}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: hiver_csat_rating
RATING: 2/5 from Marcus J. | AGENT: Nikhil
COMMENT: "took too long and the course extension answer didn't solve my problem"
USER CONTEXT: support agent, online course provider

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "medium", "severity_rationale": "A low rating with a concrete complaint is recoverable if followed up quickly.", "tier": "P2", "owner": "me", "why_it_matters": "Marcus J.'s course extension problem is still unsolved despite a closed conversation.", "next_step": "Reopen Marcus J.'s conversation and resolve the course extension problem properly", "deadline_suggestion": "tomorrow", "escalation_flag": false}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: hiver_assignment
CONVERSATION #3545 | CUSTOMER: Miguel T. | SUBJECT: lapel pin order problem
STATUS: open, assigned to me 5 days ago, no reply sent yet
USER CONTEXT: support agent, medals & ribbons e-commerce store

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "high", "severity_rationale": "An assigned conversation has waited 5 days without a single reply.", "tier": "P2", "owner": "me", "why_it_matters": "Miguel T. has had silence for 5 days on an open lapel pin order problem.", "next_step": "Send Miguel T. a first reply on the lapel pin order problem", "deadline_suggestion": "today", "escalation_flag": false}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: hiver_sla_alert
CONVERSATION #9056 | CUSTOMER: Omar S. | SUBJECT: CE credit record issue
ALERT: first-response SLA breached 3 hours ago | ASSIGNEE: me
USER CONTEXT: support agent, online course provider

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "critical", "severity_rationale": "A first-response SLA has already been breached; every additional minute deepens the miss.", "tier": "P1", "owner": "me", "why_it_matters": "Omar S.'s conversation is past its first-response commitment and counting.", "next_step": "Answer conversation #9056 immediately and apologize for the delay", "deadline_suggestion": "today", "escalation_flag": true}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: hiver_shared_inbox_email
INBOX: support@ | FROM: Robert L. (customer)
TIME: today 13:30
MESSAGE: "this is unacceptable — the user seat issue has been open for a week. I want a manager and a refund"
USER CONTEXT: support engineer, B2B SaaS (shared inbox product)

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "critical", "severity_rationale": "A repeat-contact customer is threatening a chargeback or cancellation over an unresolved issue.", "tier": "P1", "owner": "me", "why_it_matters": "An escalating user seat complaint is at the point of churn and public complaint.", "next_step": "Reply to Robert L. now with a concrete fix and timeline", "deadline_suggestion": "today", "escalation_flag": true}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: clickup_task
TASK: "Verify fix: chat memory (CART-1473)" | STATUS: qa-ready | ASSIGNEE: me | DUE: today | TAGS: CART, customer-impact
COMMENTS:
[yesterday 18:05] Sana (dev): "deployed to staging, ready for QA — customer is waiting on this in tomorrow's release"
USER CONTEXT: sole QA, AI team; deployment window closes early afternoon

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "high", "severity_rationale": "CART-tagged customer-impact fix must be verified before the deployment window to make the release.", "tier": "P1", "owner": "me", "why_it_matters": "A waiting customer misses the release if verification slips past the deployment window.", "next_step": "Verify the chat memory fix on staging before the deployment window closes", "deadline_suggestion": "today", "escalation_flag": true}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: slack_dm
FROM: Suresh (hiring manager)
TIME: yesterday 15:10
USER CONTEXT: talent acquisition recruiter
MESSAGE: "M. Kulkarni passed the screen — over to you for panel scheduling"

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "medium", "severity_rationale": "A hiring manager has asked for an interview loop to be scheduled this week.", "tier": "P2", "owner": "me", "why_it_matters": "Scheduling lag is the most common self-inflicted pipeline delay.", "next_step": "Send M. Kulkarni's panel invites and confirm the loop this week", "deadline_suggestion": "this_week", "escalation_flag": false}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: offboarding_checklist
EMPLOYEE: Ritika | LAST DAY: last Friday
STATUS: 2 of 6 access revocations UNCONFIRMED (VPN, admin console)
USER CONTEXT: IT administrator

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "high", "severity_rationale": "A departed employee still has unconfirmed access to two systems \u2014 an open security hole.", "tier": "P1", "owner": "me", "why_it_matters": "Lingering access after departure is a textbook breach vector and audit finding.", "next_step": "Confirm and close all access revocations for Ritika today", "deadline_suggestion": "today", "escalation_flag": true}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: hiver_mention
CONVERSATION #6225 | MY NOTE 4 days ago: "@Tara can you check the ribbon rack logs for Dana W.?"
STATUS: no response from teammate yet
USER CONTEXT: support agent, medals & ribbons e-commerce store

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_them", "severity": "medium", "severity_rationale": "An internal ask has sat unanswered for 4 days with no committed date.", "tier": "P3", "owner": "Tara", "why_it_matters": "Dana W.'s case cannot progress until Tara checks the ribbon rack logs.", "next_step": "Nudge Tara on the ribbon rack logs for conversation #6225", "deadline_suggestion": "this_week", "escalation_flag": false}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: hiver_shared_inbox_email
INBOX: admissions@ | FROM: Tom H. (customer)
TIME: today 09:25
MESSAGE: "whenever you get a chance: can I change my enrollment confirmation after ordering?"
USER CONTEXT: support agent, online course provider

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "low", "severity_rationale": "A routine how-to question with no urgency signals or deadline pressure.", "tier": "P4", "owner": "me", "why_it_matters": "A simple answer keeps Tom H. moving; nothing depends on it today.", "next_step": "Send Tom H. a short how-to reply on the enrollment confirmation", "deadline_suggestion": "this_week", "escalation_flag": false}


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: slack_dm
FROM: Vikram (dev)
TIME: today 10:15
USER CONTEXT: product manager, AI team
MESSAGE: "whichever you pick is fine, but we need the webhook alerts decision today to stay on track"

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "high", "severity_rationale": "The team is explicitly blocked on a decision only the PM can make, with near-term deadlines.", "tier": "P2", "owner": "me", "why_it_matters": "Every day the webhook alerts decision waits, the whole team idles or builds the wrong thing.", "next_step": "Make the webhook alerts decision and post it to the team today", "deadline_suggestion": "today", "escalation_flag": false}


[System] You are UnchaosLM, the conversational assistant of Triage Copilot. You help the user act on their triaged work: tasks, escalations, priorities, people, inboxes, and calendar. When a request needs live data or an action, call the matching tool — extract the arguments from the user's message itself, even when phrased casually. After a tool returns, answer grounded strictly in its result and say plainly what you did (which tool you used and what it found). If a required argument is genuinely absent, ask one short question instead of guessing. Greetings and questions about your abilities need no tool. Never invent items, ids, owners, or links.

[User] anything low priority I can batch later, please?

[Tool] {"items": [{"id": "cu021", "tier": "P4", "severity": "Low", "title": "Refactor billing page components", "owner": "me", "next": "Review the refactor PR when free", "by": "this week", "link": "https://app.clickup.com/t/cu021", "source": "clickup"}]}

[Assistant]
I pulled your P4 triage items with list_items — 1 need you:
• [P4/Low] Refactor billing page components — owner me, next: Review the refactor PR when free (due this week)
Start with Refactor billing page components: review the refactor pr when free.

The item id / fingerprint.

Person name, @handle, or email.

e.g. today afternoon, tomorrow 10:00

Optional linked triage item id.

e.g. today, today afternoon, tomorrow


[System] You are the extraction layer of Triage Copilot. Input: one candidate work signal (chat message/thread, task, ticket, or system alert) plus user context. Output: strict JSON only, matching this schema: {"is_actionable": bool, "action_direction": "waiting_on_me|waiting_on_them|info_only", "severity": "critical|high|medium|low", "severity_rationale": str, "tier": "P1|P2|P3|P4", "owner": str, "why_it_matters": str, "next_step": str (max 18 words, an action not a summary), "deadline_suggestion": "today|tomorrow|this_week", "escalation_flag": bool}. Rules: high-stakes escalations — customer impact, SLA breach, security incident, employee-critical issue, or offer-at-risk — are P1 with escalation_flag true; when unsure, flag it (recall over precision). No date and no stated timeline contributes to P3 no-ETA. Never invent links, owners, or tasks not present in the input.

[User]
SIGNAL TYPE: hiver_mention
CONVERSATION #6703 | FROM: Sameer (teammate) | TIME: today, 20 minutes ago
NOTE: "@me urgent — Frank O. says the lapel pin order failure is blocking their whole team, can you jump in?"
USER CONTEXT: support agent, medals & ribbons e-commerce store

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "critical", "severity_rationale": "A teammate flags a customer-blocking failure and asks for immediate help.", "tier": "P1", "owner": "me", "why_it_matters": "Frank O.'s team is blocked on the lapel pin order failure right now.", "next_step": "Join conversation #6703 and triage the lapel pin order failure", "deadline_suggestion": "today", "escalation_flag": true}