﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<data-set>
  <relations format-version="4" relations-version="20160101" main-table="LLMPrompt" stable-sharing="True">
    <link from="LLMPrompt (PromptID)" to="LLMPrompt (PromptID)" type="FromMaster" updateable="False" />
  </relations>
  <layout>
    <table name="LLMPrompt" recursion="(PromptID) = (PromptID)" />
  </layout>
  <data>
    <LLMPrompt>
      <row PromptID="ACCTBRIEF" IsActive="1" Name="CRM - Account Pre-Engagement Briefing (CUST)" ConnectionID="MYOB-MANAGED" ScreenID="CR303000" ActionName="AI Account Briefing">
        <column name="PromptInstruction"><![CDATA[<html><head><style type="text/css">/* RTE style begin */
body.rich {
    margin: 0px;
    padding: 0px;
    font-family: Arial;
    font-size: 14px;
}

.rich ol, .rich ul { margin-top: 0px; margin-bottom: 0px;}
.rich .imgbrdr {
    border: solid 1px;
}
.richIcon {
    display: inline-block;
    background-image: url(Images/sprite_main5.png);
    background-repeat: no-repeat;
    width: 15px;
}
.richAttach {
    background-position: -2px -122px;
}
.richImg {
    background-position: -2px -1120px;
}
.richScreen {
    background-position: -24px -1032px;
}
.richArticle {
    background-position: -24px -1054px;
}

/* Correct box */
.rich .GrayBox {
    border: solid 1px #CCCCCC;
    background-color: #F9F9F9;
    padding: 4px;
    /*margin: 4px;*/
    width: 98%;
}
.rich .hintcell
{
    height: 36px;
    width: 32px;
    vertical-align: middle;
}

.rich .warncell
{
    height: 36px;
    width: 32px;
    vertical-align: middle;
}

.rich .boxcontent{ width: 100% }
.rich pre { font-size:1.3em }

.rich iframe{
    border: none;
}
.rich iframe.iframeBorder, .rich img.iframeBorder {
    border: solid black 1px;
}

.rtetable > tbody > tr > td, .rtetable > tr > td { white-space: nowrap }
.rtetable:not(.header-no-style) > tbody > tr:first-child > td, .rtetable:not(.header-no-style) > tr:first-child > td { background-color: #f4f5f7 }


.rich pre.source-highlighted {background-color: #F0F0FF;}
.rich pre.source-highlighted .nu, .rich .sourcetable .nu { color: brown; }
.rich pre.source-highlighted .kw, .rich .sourcetable .kw { color: blue; }
.rich pre.source-highlighted .cmt, .rich .sourcetable .cmt { color: green; }
.rich pre.source-highlighted .sl, .rich .sourcetable .sl { color: brown; }
.rich pre.source-highlighted .br, .rich .sourcetable .br {color: darkgreen; }

.rich pre.source-highlighted .add, .rich .sourcetable .add { background: palegreen; }
.rich pre.source-highlighted .del, .rich .sourcetable .del { background: pink; }

.rich table, .rich tr, .rich td, .rich img, .rich iframe {
    cursor: default;
}
.layout .rtecell {
    vertical-align: top;
    font-size: small;
}
.rtetable > tbody > tr > td, .rtetable > tr > td { vertical-align: top; }

.rich p{
    margin:0px 5px 0px 0px;
}
.rich .align-center{
    text-align: center;
}
.rich .align-right{
    text-align: right;
}
.rich .align-left{
    text-align: left;
}
.rich li[style*='text-align: center'], .rich li[style*='text-align: right'] {
list-style-position: inside;
}

.rtetable { empty-cells: show; border: solid 1px black; border-collapse:collapse; }
.rtetable > tbody > tr > td, .rtetable > tr > td {
    border: solid 1px black;
    height: calc(1.5em + 14px);
    min-width: 20px;
    padding: 0px 5px;
    line-height: 1.428em;
}

.rich table.rtetable {
    font-family: arial;
    font-size: small;
    margin: 10px 0;
}

.rich .rtetable > tbody > tr > td, .rich tbody > tr > th {
    border-width: 1px;
    border-style: solid;
    border-color: #c1c7d0;
    padding: 7px 10px;
    vertical-align: top;
    text-align: left;
    min-width: 8px;
}

.rich .rtetable > tbody > tr > th {
    background-color: #f4f5f7;
}

.rich blockquote.shift {
    margin-right: 0px;margin-top: 0px; margin-bottom: 0px;
}
.rich img[data-expand] {
    display: block;
}
.rich p, .rich p.richp  {font-family: arial; font-size: small}
.rich blockquote.shift h1, .rich blockquote.shift h2, .rich blockquote.shift h3, .rich blockquote.shift h4, .rich blockquote.shift h5, .rich blockquote.shift h6 {
    margin-top: 0px;
}
.rich, .rich * {
    word-wrap: break-word;
}
.sourcetable {background-color: #F0F0FF; font-family: monospace; width: 100%}
.sourcetable tr {
    margin: 0px;
    padding: 0px;
}
.sourcetable td {
    margin: 0px;
    padding: 0px;
    white-space: nowrap;
}
.sourcetable > tbody > tr > td:first-child, .sourcetable > tr > td:first-child
{
    width:1px;
}

.filelist {
    /*display:inline-block;*/ padding: 5px;
}

.rich .toc {
    /*display:inline-block;*/ padding: 5px;
}
.rich .toc .header,.rich  .wikilist .header,.rich  .filelist .header {
    font-size: 1.7em;
}
.rich .toc li,.rich  .filelist li {
    margin: 5px 0px;
}
.rich .wikilist div {
    margin: 10px;
}

.rich .layout {min-height: 2.5em; display:table; width:100%; border-spacing:5px; table-layout:fixed; empty-cells: show;}
.rich .layout .rtecell {display:table-cell; height: 2.5em}
.rich .layout .rteside {width: 25%}

/*
.rtetable {
    border-collapse:collapse;
}
.rtetable > tbody > tr > td, .rtetable > tr > td {
    border: 1px solid #ddd;
    padding: 7px 10px;
    vertical-align: top;
    text-align: left;
}*/
.rich blockquote.realbq {
    border-left-color: lightblue;
    border-left-width: 1px;
    border-left-style: solid;
    margin-top: 0px;
    margin-bottom: 0px;
    padding-left: 5px;
}
.rich body {font-family: arial; font-size: small}

.rich .GrayBox {
    margin-left: 8px;
}

.rich .sourcetable { font-size:1.3em;}
/* RTE style end */</style></head><body class="rich"><p><span style="font-family: Arial; font-size: 14px;">## Context Instructions</span></p><p><span style="font-family: Arial; font-size: 14px;">You are an AI assistant working in Acumatica ERP. Act as a sales/account-management coordinator preparing a concise pre-engagement briefing for an account manager about to have a call, QBR or renewal conversation. Write in professional Australian English. Be factual and neutral: report only what the supplied data shows. Never invent activities, opportunities, cases, figures, dates or commitments, and never state an account balance — balance data is not provided to you. If a section has no data, say so briefly rather than guessing.</span></p><p><span style="font-family: Arial; font-size: 14px;"><br></span></p><p><span style="font-family: Arial; font-size: 14px;">## Task Description</span></p><p><span style="font-family: Arial; font-size: 14px;">Produce a short, at-a-glance briefing of a single business account — who they are, what has happened recently, what deals are in play and what issues are open — written for an account manager who has not yet opened the account and needs to get up to speed in seconds.</span></p><p><span style="font-family: Arial; font-size: 14px;"><br></span></p><p><span style="font-family: Arial; font-size: 14px;">## Instructions with Input Data</span></p><p><span style="font-family: Arial; font-size: 14px;">Summarise the current state of this one account using only the data below. Do not compare it to other accounts and do not reference any account balance (none is provided).</span></p><p><span style="font-family: Arial; font-size: 14px;"><br></span></p><p><span style="font-family: Arial; font-size: 14px;">Account header:</span></p><p><span style="font-family: Arial; font-size: 14px;">- Account name: ((BAccount.AcctName))</span></p><p><span style="font-family: Arial; font-size: 14px;">- Business account class: ((BAccount.ClassID))</span></p><p><span style="font-family: Arial; font-size: 14px;"><br></span></p><p><span style="font-family: Arial; font-size: 14px;">Recent activities:</span></p><div data-foreach-view="Activities">- ((Activities.Date)) — ((Activities.Type)) — ((Activities.Subject)) — Status ((Activities.UIStatus))</div><p><span style="font-family: Arial; font-size: 14px;"><br></span></p><p><span style="font-family: Arial; font-size: 14px;">Opportunities:</span></p><div data-foreach-view="Opportunities">- ((Opportunities.OpportunityID)) — ((Opportunities.Subject)) — Stage ((Opportunities.StageID)) — Status ((Opportunities.Status)) — Value ((Opportunities.CuryAmount))</div><p><span style="font-family: Arial; font-size: 14px;"><br></span></p><p><span style="font-family: Arial; font-size: 14px;">Cases:</span></p><div data-foreach-view="Cases">- ((Cases.CaseCD)) — ((Cases.Subject)) — Status ((Cases.Status)) — Severity ((Cases.Severity)) — Priority ((Cases.Priority))</div><p><span style="font-family: Arial; font-size: 14px;"><br></span></p>Write the briefing so it covers, in this order: (1) one opening line naming the account and its class; (2) a brief read on recent activity (how many recent items and the most notable/most recent one); (3) the open opportunities — how many, their combined value where amounts are given, and the most significant deal by value or stage; (4) outstanding cases — how many, and any high-severity or high-priority ones to be aware of. Keep it to roughly 90–140 words as well-formed HTML: a short opening <p>, then a <ul> with one <li> each for activity, opportunities and cases (or short <p> paragraphs if you prefer). Use only <p>, <ul>, <li>, <strong>; no markdown. If a section has no records, state that in one short clause (e.g. "No open cases.") and move on. Do not state or estimate an account balance.<p><span style="font-family: Arial; font-size: 14px;"><br></span></p><p><span style="font-family: Arial; font-size: 14px;">## Output Data Field</span></p><p><span style="font-family: Arial; font-size: 14px;">Generate the following and return it in the output field:</span></p>1. @((BAccount.UsrMYDEAccountBriefing))(string): The finished account briefing as well-formed HTML — a short opening <p>, then a <ul> covering activity, opportunities and cases (or short <p> paragraphs); clean HTML only (<p>, <ul>, <li>, <strong>), no <html>/<body>/wrapper, script or style tags, no markdown.</body></html>]]></column>
        <column name="OutputExamples"><![CDATA[## Output Format Example:
{
  "((BAccount.UsrMYDEAccountBriefing))": "<p>Northwind Traders is a Customer-class account.</p><ul><li><strong>Activity:</strong> steady — five interactions in recent weeks, most recently a 12 Jun phone call (Completed) following a product demo.</li><li><strong>Opportunities:</strong> two open, worth roughly $84,000 combined — the largest OPP000123 (annual renewal) at $60,000, in the Negotiation stage.</li><li><strong>Cases:</strong> one outstanding — CASE000456, a High-severity billing query, still Open; worth raising before the call.</li></ul>"
}

## Important Note:
  Return only valid JSON containing exactly the one output key from the Instructions tab —
  "((BAccount.UsrMYDEAccountBriefing))" — and no other keys. The key must be the wrapped placeholder
  exactly as shown (double parentheses); a bare "BAccount.UsrMYDEAccountBriefing" will not be matched
  and the run will fail. Do not wrap the JSON in markdown fences, and do not add any commentary
  before or after it. The value must be a well-formed HTML string (an opening <p> then a <ul>, or
  short <p> paragraphs), with no wrapper/script/style tags and no markdown; no balance stated.]]></column>
      </row>
    </LLMPrompt>
  </data>
</data-set>