[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: Colin B. (customer)
TIME: 2 days ago 09:15
MESSAGE: "my analytics report is missing from the delivery — a migration cutover is coming up, can you help?"
USER CONTEXT: support engineer, B2B SaaS (shared inbox product)

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "high", "severity_rationale": "A customer has a defective or missing analytics report with a hard event date approaching.", "tier": "P2", "owner": "me", "why_it_matters": "Colin B. cannot make a migration cutover unless the analytics report is corrected in time.", "next_step": "Confirm replacement analytics report and expedited shipping to Colin B.", "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_escalation_tag
CONVERSATION #3397 | TAGGED: Escalation by Dev | ACCOUNT: Northgate Supply
REASON: customer CEO emailed directly about the unresolved exam voucher issue
TIME: today 08:10
USER CONTEXT: support agent, online course provider

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "critical", "severity_rationale": "A teammate has formally tagged the conversation as an escalation with customer impact.", "tier": "P1", "owner": "me", "why_it_matters": "Northgate Supply's escalation is live and visible; delay compounds the damage.", "next_step": "Own conversation #3397 and respond to the escalation now", "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: Tanvi (dev)
TIME: today 10:15
USER CONTEXT: senior developer, AI team
MESSAGE: "still need your call on the recipe editor error-handling approach before I continue"

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "high", "severity_rationale": "A teammate is explicitly blocked waiting on this developer's input.", "tier": "P2", "owner": "me", "why_it_matters": "Tanvi's work is idle until I answer the recipe editor question.", "next_step": "Answer Tanvi's recipe editor question so their branch can move", "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: shipping@ | FROM: Omar S. (customer)
TIME: today 11:05
MESSAGE: "the return pickup arrived wrong and I need the corrected one before a trade show next week"
USER CONTEXT: support agent, logistics & shipping

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "high", "severity_rationale": "A customer has a defective or missing return pickup with a hard event date approaching.", "tier": "P2", "owner": "me", "why_it_matters": "Omar S. cannot make a trade show unless the return pickup is corrected in time.", "next_step": "Confirm replacement return pickup and expedited shipping to Omar S.", "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: support_ticket
TICKET #1710 | ACCOUNT: Helios Labs | PRIORITY: urgent | SLA: first response due in 40 minutes | ASSIGNEE: me | STATUS: new
SUBJECT: "the eval-runs page stopped syncing and our team is blocked"
USER CONTEXT: support engineer, B2B SaaS

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "critical", "severity_rationale": "An urgent ticket is 40 minutes from an SLA breach with no first response sent.", "tier": "P1", "owner": "me", "why_it_matters": "An SLA breach on Helios Labs is a contractual failure, not just a slow reply.", "next_step": "Send Helios Labs a first response on ticket #1710 before the SLA expires", "deadline_suggestion": "today", "escalation_flag": true}


[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] schedule an hour tomorrow for the CART fix

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 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 on my plate today

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: clickup_task
TASK: "QA: CSV export verification" | STATUS: blocked | ASSIGNEE: me | DUE: none | TAGS: none
COMMENTS:
[3 days ago] me: "blocked: staging build for this is broken, waiting on Nikhil"
(no update since)
USER CONTEXT: sole QA, AI team

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_them", "severity": "medium", "severity_rationale": "The task has been blocked for three days with no date and no movement from the blocker.", "tier": "P3", "owner": "Nikhil", "why_it_matters": "My CSV export verification cannot start until Nikhil unblocks it, and no ETA exists.", "next_step": "Ping Nikhil for an ETA on unblocking the CSV export verification", "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 #1975 | CUSTOMER: Omar S. | SUBJECT: ribbon rack replacement
STATUS: pending — waiting on supplier confirmation, no ETA on their side
USER CONTEXT: support agent, medals & ribbons e-commerce store

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_them", "severity": "medium", "severity_rationale": "The case is blocked on a third party that has given no timeline at all.", "tier": "P3", "owner": "supplier", "why_it_matters": "Omar S.'s ribbon rack replacement is open-ended until the supplier commits to a date.", "next_step": "Chase the supplier for an ETA on Omar S.'s ribbon rack", "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: claims@ | FROM: Emily A. (customer)
TIME: yesterday 15:20
MESSAGE: "whenever you get a chance: can I change my coverage letter after ordering?"
USER CONTEXT: claims support agent, insurance agency

[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 Emily A. moving; nothing depends on it today.", "next_step": "Send Emily A. a short how-to reply on the coverage letter", "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_assignment
CONVERSATION #4776 | CUSTOMER: Raj V. | SUBJECT: analytics report replacement
STATUS: pending — waiting on supplier confirmation, no ETA on their side
USER CONTEXT: support engineer, B2B SaaS (shared inbox product)

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_them", "severity": "medium", "severity_rationale": "The case is blocked on a third party that has given no timeline at all.", "tier": "P3", "owner": "supplier", "why_it_matters": "Raj V.'s analytics report replacement is open-ended until the supplier commits to a date.", "next_step": "Chase the supplier for an ETA on Raj V.'s analytics report", "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: claims@ | FROM: Colin B. (customer)
TIME: today 11:05
MESSAGE: "no rush, but could you explain how the proof of insurance works?"
USER CONTEXT: claims support agent, insurance agency

[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 Colin B. moving; nothing depends on it today.", "next_step": "Send Colin B. a short how-to reply on the proof of insurance", "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 #2711 | FROM: Tara (teammate) | TIME: yesterday 15:20
NOTE: "@me can you take this one? Helen C. is asking about the user seat and you handled their last case"
USER CONTEXT: support engineer, B2B SaaS (shared inbox product)

[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": "Helen C.'s user seat question sits unowned until the handover is accepted.", "next_step": "Accept conversation #2711 and reply to Helen C.", "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_channel_message
CHANNEL: #general
FROM: Ira (teammate)
TIME: today 09:20
USER CONTEXT: HR business partner
MESSAGE: "urgent-ish: laptop refresh forms due Friday, admin keeps pinging me"

[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_assignment
CONVERSATION #7631 | CUSTOMER: Priyanka R. | SUBJECT: engraved nameplate replacement
STATUS: pending — waiting on supplier confirmation, no ETA on their side
USER CONTEXT: support agent, medals & ribbons e-commerce store

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_them", "severity": "medium", "severity_rationale": "The case is blocked on a third party that has given no timeline at all.", "tier": "P3", "owner": "supplier", "why_it_matters": "Priyanka R.'s engraved nameplate replacement is open-ended until the supplier commits to a date.", "next_step": "Chase the supplier for an ETA on Priyanka R.'s engraved nameplate", "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: crm_alert
ACCOUNT: Northwind | RENEWAL: in 30 days | ARR: significant
OPEN ESCALATION: sev-2 on the prompt playground, 8 days old
OWNER: me
USER CONTEXT: customer success manager

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "critical", "severity_rationale": "A renewal-window account is carrying an open week-old escalation \u2014 churn risk is compounding.", "tier": "P1", "owner": "me", "why_it_matters": "Northwind decides on renewal soon and the unresolved prompt playground escalation is the story they'll remember.", "next_step": "Call Northwind's champion today and align on an escalation resolution plan", "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_channel_message
CHANNEL: #general
FROM: Divya (teammate)
TIME: today 09:20
USER CONTEXT: product manager, AI team
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 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] morning — anything I should look at first?

[Tool] {"items": [{"id": "cu004", "tier": "P1", "severity": "Critical", "title": "Escalation: data export failing for Acme", "owner": "priya", "next": "Assign an owner and post a status update", "by": "today", "link": "https://app.clickup.com/t/cu004", "source": "clickup"}, {"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 active triage items with list_items — 2 need you:
• [P1/Critical] Escalation: data export failing for Acme — owner priya, next: Assign an owner and post a status update (due today)
• [P4/Low] Refactor billing page components — owner me, next: Review the refactor PR when free (due this week)
Start with Escalation: data export failing for Acme: assign an owner and post a status update.

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 #1966 | MY NOTE 2 days ago: "@Tara can you check the course extension logs for Sofia P.?"
STATUS: no response from teammate yet
USER CONTEXT: support agent, online course provider

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_them", "severity": "medium", "severity_rationale": "An internal ask has sat unanswered for 2 days with no committed date.", "tier": "P3", "owner": "Tara", "why_it_matters": "Sofia P.'s case cannot progress until Tara checks the course extension logs.", "next_step": "Nudge Tara on the course extension logs for conversation #1966", "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: #ai-team
FROM: Ishaan
TIME: 12:00 today
USER CONTEXT: sole QA, AI team
MESSAGE: "sharing the recording of yesterday's design review for anyone who missed it"

[Assistant] {"is_actionable": false, "action_direction": "info_only", "severity": "low", "severity_rationale": "General FYI with no question, request, or risk directed at the user.", "tier": "P4", "owner": "none", "why_it_matters": "Informational chatter; no action exists.", "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: clickup_task
TASK: "QA: CSV export verification" | STATUS: blocked | ASSIGNEE: me | DUE: none | TAGS: none
COMMENTS:
[3 days ago] me: "can't start — Vikram hasn't merged the dependency PR yet"
(no update since)
USER CONTEXT: sole QA, AI team

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_them", "severity": "medium", "severity_rationale": "The task has been blocked for three days with no date and no movement from the blocker.", "tier": "P3", "owner": "Vikram", "why_it_matters": "My CSV export verification cannot start until Vikram unblocks it, and no ETA exists.", "next_step": "Ping Vikram for an ETA on unblocking the CSV export verification", "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: slack_channel_message
CHANNEL: #general
FROM: Divya (teammate)
TIME: today 09:20
USER CONTEXT: product manager, AI team
MESSAGE: "asap: badge photos retaken today at reception if you missed the last round"

[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_shared_inbox_email
INBOX: support@ | FROM: Miguel T. (customer)
TIME: yesterday 16:45
MESSAGE: "third email about my shared inbox sync and still no reply. If I don't hear back today I'm disputing the charge"
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 shared inbox sync complaint is at the point of churn and public complaint.", "next_step": "Reply to Miguel T. 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: support@ | FROM: Kevin D. (customer)
TIME: today 08:10
MESSAGE: "third email about my CSV export and still no reply. If I don't hear back today I'm disputing the charge"
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 CSV export complaint is at the point of churn and public complaint.", "next_step": "Reply to Kevin D. 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: "QA: regression pass on dataset upload" | STATUS: open | ASSIGNEE: me | DUE: 3 days ago | TAGS: none
COMMENTS: (none)
USER CONTEXT: sole QA, AI team

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "high", "severity_rationale": "An assigned task is 3 days past its due date with no progress recorded.", "tier": "P2", "owner": "me", "why_it_matters": "Overdue QA work delays the feature and erodes the due dates others plan around.", "next_step": "Start the dataset upload regression pass or re-negotiate its due date today", "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: claims@ | FROM: Marcus J. (customer) | STATUS: open, awaiting agent reply
TIME: customer replied 5 hours ago
MESSAGE: "details attached as requested — any update?"
USER CONTEXT: claims support agent, insurance agency

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "high", "severity_rationale": "The customer supplied everything requested 5 hours ago; the ball is back with us.", "tier": "P1", "owner": "me", "why_it_matters": "Marcus J.'s policy document case is stalled on our reply and response time is compounding.", "next_step": "Read Marcus J.'s reply and send the next-step answer", "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_sla_alert
CONVERSATION #8350 | CUSTOMER: Marcus J. | SUBJECT: ribbon rack issue
ALERT: first-response SLA breached 1 hour ago | ASSIGNEE: me
USER CONTEXT: support agent, medals & ribbons e-commerce store

[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": "Marcus J.'s conversation is past its first-response commitment and counting.", "next_step": "Answer conversation #8350 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: shipping@ | FROM: Dana W. (customer)
TIME: today 08:10
MESSAGE: "my return pickup is missing from the delivery — a customs deadline is coming up, can you help?"
USER CONTEXT: support agent, logistics & shipping

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "high", "severity_rationale": "A customer has a defective or missing return pickup with a hard event date approaching.", "tier": "P2", "owner": "me", "why_it_matters": "Dana W. cannot make a customs deadline unless the return pickup is corrected in time.", "next_step": "Confirm replacement return pickup 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_csat_rating
RATING: 1/5 from Dana W. | AGENT: Arjun
COMMENT: "worst support experience — switching providers unless someone senior calls me"
USER CONTEXT: support agent, logistics & shipping

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "critical", "severity_rationale": "A 1-star rating paired with an explicit threat to switch providers is active churn risk.", "tier": "P1", "owner": "me", "why_it_matters": "Dana W. is one unreturned call away from leaving.", "next_step": "Call Dana W. personally today about the poor experience", "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: Priyanka R. (customer)
TIME: today 08:10
MESSAGE: "my CSV export is missing from the delivery — a quarterly review is coming up, can you help?"
USER CONTEXT: support engineer, B2B SaaS (shared inbox product)

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "high", "severity_rationale": "A customer has a defective or missing CSV export with a hard event date approaching.", "tier": "P2", "owner": "me", "why_it_matters": "Priyanka R. cannot make a quarterly review unless the CSV export is corrected in time.", "next_step": "Confirm replacement CSV export and expedited shipping to Priyanka R.", "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: claims@ | FROM: Miguel T. (customer) | STATUS: open, awaiting agent reply
TIME: customer replied 6 hours ago
MESSAGE: "sent the photos you wanted — any update?"
USER CONTEXT: claims support agent, insurance agency

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "high", "severity_rationale": "The customer supplied everything requested 6 hours ago; the ball is back with us.", "tier": "P1", "owner": "me", "why_it_matters": "Miguel T.'s claim form case is stalled on our reply and response time is compounding.", "next_step": "Read Miguel T.'s reply and send the next-step answer", "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 #5213 | FROM: Arjun (teammate) | TIME: yesterday 17:55
NOTE: "@me can you take this one? Marcus J. is asking about the custom ribbon bar and you handled their last case"
USER CONTEXT: support agent, medals & ribbons e-commerce store

[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": "Marcus J.'s custom ribbon bar question sits unowned until the handover is accepted.", "next_step": "Accept conversation #5213 and reply to Marcus J.", "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: Omar S. (customer) | STATUS: open, awaiting agent reply
TIME: customer replied 6 hours ago
MESSAGE: "sent the photos you wanted — any update?"
USER CONTEXT: support agent, medals & ribbons e-commerce store

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "high", "severity_rationale": "The customer supplied everything requested 6 hours ago; the ball is back with us.", "tier": "P1", "owner": "me", "why_it_matters": "Omar S.'s shadow box frame case is stalled on our reply and response time is compounding.", "next_step": "Read Omar S.'s reply and send the next-step answer", "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: Priyanka R. (customer) | STATUS: open, awaiting agent reply
TIME: customer replied 4 hours ago
MESSAGE: "sent the photos you wanted — any update?"
USER CONTEXT: claims support agent, insurance agency

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "high", "severity_rationale": "The customer supplied everything requested 4 hours ago; the ball is back with us.", "tier": "P1", "owner": "me", "why_it_matters": "Priyanka R.'s claim form case is stalled on our reply and response time is compounding.", "next_step": "Read Priyanka R.'s reply and send the next-step answer", "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: Anand (EM)
TIME: today 10:15
USER CONTEXT: product manager, AI team
MESSAGE: "release train leaves tomorrow morning — go or no-go on the model comparison table?"

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "high", "severity_rationale": "A release decision is pending on the PM with an explicit same-day deadline.", "tier": "P2", "owner": "me", "why_it_matters": "Without a go/no-go the model comparison table misses the release train by default.", "next_step": "Review the model comparison table readiness and send the go/no-go decision 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] what fires are burning, please?

[Tool] {"items": [{"id": "slk-8f2a", "tier": "P1", "severity": "Critical", "title": "Acme production checkout returning 500s", "owner": "priya", "next": "Join the escalation call and commit to a fix", "by": "today", "link": "https://app.clickup.com/t/slk-8f2a", "source": "slack"}, {"id": "cu004", "tier": "P1", "severity": "Critical", "title": "Escalation: data export failing for Acme", "owner": "priya", "next": "Assign an owner and post a status update", "by": "today", "link": "https://app.clickup.com/t/cu004", "source": "clickup"}, {"id": "cu003", "tier": "P1", "severity": "High", "title": "Fix CART checkout total mismatch", "owner": "priya", "next": "Update the task or set a new due date", "by": "overdue", "link": "https://app.clickup.com/t/cu003", "source": "clickup"}]}

[Assistant]
I pulled your P1 triage items with list_items — 3 need you:
• [P1/Critical] Acme production checkout returning 500s — owner priya, next: Join the escalation call and commit to a fix (due today)
• [P1/Critical] Escalation: data export failing for Acme — owner priya, next: Assign an owner and post a status update (due today)
• [P1/High] Fix CART checkout total mismatch — owner priya, next: Update the task or set a new due date (due overdue)
Start with Acme production checkout returning 500s: join the escalation call and commit to a fix.

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: slack_channel_message
CHANNEL: #general
FROM: Rohit (teammate)
TIME: today 09:20
USER CONTEXT: product manager, AI team
MESSAGE: "URGENT reminder — submit your lunch order by 11 or you get the default"

[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: slack_thread
CHANNEL: #ai-team-bugs
THREAD HISTORY:
[4 days ago] me: "Flagging: model comparison table silently fails on large inputs. @Nikhil"
[4 days ago] Nikhil (dev): "will pick it up after the current feature, can't say when"
(no messages since)
TIME NOW: today 08:30
USER CONTEXT: sole QA, AI team

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_them", "severity": "medium", "severity_rationale": "Acknowledged bug with no committed date and four days of silence \u2014 silent delivery risk.", "tier": "P3", "owner": "Nikhil", "why_it_matters": "No ETA exists, so this bug can drift indefinitely without anyone noticing.", "next_step": "Ask Nikhil for an ETA on the model comparison table fix", "deadline_suggestion": "this_week", "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] can you check slk-77b0 for me

[Tool] {"id": "slk-77b0", "tier": "P3", "severity": "Medium", "title": "Waiting on QA repro for recipe editor bug", "owner": "vikram", "next": "Nudge QA on the repro request", "by": "this week", "link": "https://app.clickup.com/t/slk-77b0", "source": "slack"}

[Assistant] I fetched slk-77b0 with get_item. "Waiting on QA repro for recipe editor bug" is P3/Medium, owned by vikram, due this week. Next step on record: nudge qa on the repro request. Link: https://app.clickup.com/t/slk-77b0

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 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 stuck with no ETA, please?

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 #6417 | CUSTOMER: Marcus J. | SUBJECT: course login issue
ALERT: first-response SLA breached 1 hour 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": "Marcus J.'s conversation is past its first-response commitment and counting.", "next_step": "Answer conversation #6417 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_mention
CONVERSATION #9251 | FROM: Dev (teammate) | TIME: today 11:05
NOTE: "@me can you take this one? Linda M. is asking about the CE credit record and you handled their last case"
USER CONTEXT: support agent, online course provider

[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": "Linda M.'s CE credit record question sits unowned until the handover is accepted.", "next_step": "Accept conversation #9251 and reply to Linda M.", "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_escalation_tag
CONVERSATION #6795 | TAGGED: Escalation by Dev | ACCOUNT: Summit Insurance Group
REASON: repeat outage reports on policy document from Summit Insurance Group, third conversation this week
TIME: 2 days ago 09:15
USER CONTEXT: claims support agent, insurance agency

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "critical", "severity_rationale": "A teammate has formally tagged the conversation as an escalation with customer impact.", "tier": "P1", "owner": "me", "why_it_matters": "Summit Insurance Group's escalation is live and visible; delay compounds the damage.", "next_step": "Own conversation #6795 and respond to the escalation now", "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: Priya (Support Engineer)
TIME: 11:40 today
USER CONTEXT: sole QA, AI team
MESSAGE: "P0 from support: customer completely stuck on the eval-runs page. 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 Priya now to reproduce the eval-runs page 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: slack_dm
FROM: Kavya (EM)
TIME: today 10:15
USER CONTEXT: product manager, AI team
MESSAGE: "need your ship decision on the SSO login today, the changelog is being written now"

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "high", "severity_rationale": "A release decision is pending on the PM with an explicit same-day deadline.", "tier": "P2", "owner": "me", "why_it_matters": "Without a go/no-go the SSO login misses the release train by default.", "next_step": "Review the SSO login readiness and send the go/no-go decision today", "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: claims@ | FROM: Aisha K. (customer)
TIME: today 13:30
MESSAGE: "third email about my coverage letter and still no reply. If I don't hear back today I'm disputing the charge"
USER CONTEXT: claims support agent, insurance agency

[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 coverage letter complaint is at the point of churn and public complaint.", "next_step": "Reply to Aisha K. now with a concrete fix and timeline", "deadline_suggestion": "today", "escalation_flag": true}


[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 needs me right now, please?

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 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 on my plate today

[Tool] {"items": [{"id": "slk-8f2a", "tier": "P1", "severity": "Critical", "title": "Acme production checkout returning 500s", "owner": "priya", "next": "Join the escalation call and commit to a fix", "by": "today", "link": "https://app.clickup.com/t/slk-8f2a", "source": "slack"}, {"id": "cu004", "tier": "P1", "severity": "Critical", "title": "Escalation: data export failing for Acme", "owner": "priya", "next": "Assign an owner and post a status update", "by": "today", "link": "https://app.clickup.com/t/cu004", "source": "clickup"}, {"id": "slk-3c91", "tier": "P2", "severity": "High", "title": "Pricing page copy decision", "owner": "meera", "next": "Make the go/no-go call and post it", "by": "today", "link": "https://app.clickup.com/t/slk-3c91", "source": "slack"}]}

[Assistant]
I pulled your active triage items with list_items — 3 need you:
• [P1/Critical] Acme production checkout returning 500s — owner priya, next: Join the escalation call and commit to a fix (due today)
• [P1/Critical] Escalation: data export failing for Acme — owner priya, next: Assign an owner and post a status update (due today)
• [P2/High] Pricing page copy decision — owner meera, next: Make the go/no-go call and post it (due today)
Start with Acme production checkout returning 500s: join the escalation call and commit to a fix.

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 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] can you check cu011 for me

[Tool] {"id": "cu011", "tier": "P2", "severity": "Medium", "title": "Finalize pricing experiment plan", "owner": "meera", "next": "Get the analytics baseline", "by": "tomorrow", "link": "https://app.clickup.com/t/cu011", "source": "clickup"}

[Assistant] I fetched cu011 with get_item. "Finalize pricing experiment plan" is P2/Medium, owned by meera, due tomorrow. Next step on record: get the analytics baseline. Link: https://app.clickup.com/t/cu011

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: slack_thread
CHANNEL: #ai-team
THREAD HISTORY:
[Yesterday 15:02] Rohit (dev): "@qa did you get a chance to test the new onboarding flow?"
[Yesterday 15:40] me: "tested this morning, two minor notes added to the task"
[Yesterday 15:41] Rohit: "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 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] give me the details on cu017

[Tool] {"id": "cu017", "tier": "P3", "severity": "Medium", "title": "Vendor security questionnaire", "owner": "dev", "next": "Chase the vendor for an ETA", "by": "this week", "link": "https://app.clickup.com/t/cu017", "source": "clickup"}

[Assistant] I fetched cu017 with get_item. "Vendor security questionnaire" is P3/Medium, owned by dev, due this week. Next step on record: chase the vendor for an eta. Link: https://app.clickup.com/t/cu017

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_assignment
CONVERSATION #7113 | CUSTOMER: Emily A. | SUBJECT: delivery slot problem
STATUS: open, assigned to me 2 days ago, no reply sent yet
USER CONTEXT: support agent, logistics & shipping

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "high", "severity_rationale": "An assigned conversation has waited 2 days without a single reply.", "tier": "P2", "owner": "me", "why_it_matters": "Emily A. has had silence for 2 days on an open delivery slot problem.", "next_step": "Send Emily A. a first reply on the delivery slot 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_assignment
CONVERSATION #2669 | CUSTOMER: Helen C. | SUBJECT: proctored exam slot replacement
STATUS: pending — waiting on supplier confirmation, no ETA on their side
USER CONTEXT: support agent, online course provider

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_them", "severity": "medium", "severity_rationale": "The case is blocked on a third party that has given no timeline at all.", "tier": "P3", "owner": "supplier", "why_it_matters": "Helen C.'s proctored exam slot replacement is open-ended until the supplier commits to a date.", "next_step": "Chase the supplier for an ETA on Helen C.'s proctored exam slot", "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_escalation_tag
CONVERSATION #9374 | TAGGED: Escalation by Neha | ACCOUNT: ClearWater Labs
REASON: ClearWater Labs says the module 4 quiz failure is blocking payroll for their staff
TIME: yesterday 15:20
USER CONTEXT: support agent, online course provider

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "critical", "severity_rationale": "A teammate has formally tagged the conversation as an escalation with customer impact.", "tier": "P1", "owner": "me", "why_it_matters": "ClearWater Labs's escalation is live and visible; delay compounds the damage.", "next_step": "Own conversation #9374 and respond to the escalation now", "deadline_suggestion": "today", "escalation_flag": true}


[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 are my tasks for today, please?

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: slack_channel_message
CHANNEL: #ai-team (no escalation keywords configured)
FROM: Priya (Solutions)
TIME: 10:05 today
USER CONTEXT: sole QA, AI team
MESSAGE: "@qa customer demo in 2 hours and the dataset upload is broken on their instance — can someone look?"

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "critical", "severity_rationale": "Customer-facing breakage with near-term business impact, even though no escalation keyword appears.", "tier": "P1", "owner": "me", "why_it_matters": "A customer-visible failure damages the account directly if not confirmed and routed fast.", "next_step": "Reproduce the dataset upload failure on the customer instance and report findings to Priya", "deadline_suggestion": "today", "escalation_flag": true}


[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] are the support queues okay?

[Tool] {"breached": [{"conversation": 4006, "customer": "Dana W.", "over_by": "35m"}], "at_risk": [{"conversation": 5006, "customer": "Grace N.", "due_in": "25m"}]}

[Assistant] I ran get_sla_status — 1 conversation(s) already breached (Dana W. over by 35m) and 1 at risk. Answer the breached ones first.

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: slack_dm
FROM: Neha (CSM)
TIME: today 10:15
USER CONTEXT: product manager, AI team
MESSAGE: "can you help me handle Kite Systems? they say the fine-tune dashboard behavior is a dealbreaker for renewal"

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "critical", "severity_rationale": "A named account is escalating with churn or launch risk attached \u2014 direct customer impact.", "tier": "P1", "owner": "me", "why_it_matters": "Kite Systems is at risk and needs a product commitment, not just a support reply.", "next_step": "Join the Kite Systems escalation call and commit to a fine-tune dashboard plan", "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_sla_alert
CONVERSATION #9453 | CUSTOMER: Kevin D. | SUBJECT: custom ribbon bar issue
ALERT: resolution SLA breached 3 hours ago | ASSIGNEE: me
USER CONTEXT: support agent, medals & ribbons e-commerce store

[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": "Kevin D.'s conversation is past its resolution commitment and counting.", "next_step": "Answer conversation #9453 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: slack_channel_message
CHANNEL: #ai-team
FROM: Nikhil (dev)
TIME: today 11:30
USER CONTEXT: product manager, AI team
MESSAGE: "the PRD doesn't say what happens when the chat memory gets empty input — which behavior is intended?"

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "medium", "severity_rationale": "Repeated clarifying questions mean the spec is ambiguous and developers are building on guesses.", "tier": "P2", "owner": "me", "why_it_matters": "An ambiguous chat memory spec turns into rework and delivery slip if not resolved now.", "next_step": "Answer the chat memory question in thread and update the PRD section", "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_csat_rating
RATING: 5/5 from Dana W. | AGENT: Meera
COMMENT: "really appreciated the quick turnaround"
USER CONTEXT: claims support agent, insurance agency

[Assistant] {"is_actionable": false, "action_direction": "info_only", "severity": "low", "severity_rationale": "A positive rating with praise; no request or follow-up implied.", "tier": "P4", "owner": "none", "why_it_matters": "Nice signal for the team; 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: #ai-team
FROM: Divya
TIME: 12:00 today
USER CONTEXT: sole QA, AI team
MESSAGE: "reminder that sprint demo notes live in the shared doc"

[Assistant] {"is_actionable": false, "action_direction": "info_only", "severity": "low", "severity_rationale": "General FYI with no question, request, or risk directed at the user.", "tier": "P4", "owner": "none", "why_it_matters": "Informational chatter; no action exists.", "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_dm
FROM: Neha (CSM)
TIME: today 10:15
USER CONTEXT: product manager, AI team
MESSAGE: "heads up, Kite Systems raised the eval-runs page issue to their leadership; we need a plan today"

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_me", "severity": "critical", "severity_rationale": "A named account is escalating with churn or launch risk attached \u2014 direct customer impact.", "tier": "P1", "owner": "me", "why_it_matters": "Kite Systems is at risk and needs a product commitment, not just a support reply.", "next_step": "Join the Kite Systems escalation call and commit to a eval-runs page plan", "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: linked_ticket
ENG TASK: "SSO login bug for Orbita" | STATUS: open | ASSIGNEE: Rohit (eng) | LAST ENG UPDATE: 3 days ago
CUSTOMER: Orbita has chased twice since
USER CONTEXT: support engineer, B2B SaaS

[Assistant] {"is_actionable": true, "action_direction": "waiting_on_them", "severity": "high", "severity_rationale": "A customer-impacting bug has no engineering update in three days while the customer chases.", "tier": "P1", "owner": "Rohit", "why_it_matters": "Orbita is waiting on a fix and silence from us reads as neglect.", "next_step": "Push Rohit for an ETA and send Orbita an honest status update", "deadline_suggestion": "today", "escalation_flag": true}