﻿<?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="CAMPBRIEF" IsActive="1" Name="Draft Marketing Campaign Brief" ConnectionID="MYOB-MANAGED" ScreenID="CR202000" ActionName="Draft Campaign Brief">
        <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 marketing programme manager</span></p><p><span style="font-family: Arial; font-size: 14px;">drafting an internal campaign brief for the marketing team. Write in clear, professional</span></p><p><span style="font-family: Arial; font-size: 14px;">Australian English, in a consistent neutral house style, so that the team has a shared,</span></p><p><span style="font-family: Arial; font-size: 14px;">documented starting point for the campaign. This is a FIRST DRAFT for the team to review</span></p><p><span style="font-family: Arial; font-size: 14px;">and refine — not a finished plan. The campaign record holds only a thin set of structured</span></p><p><span style="font-family: Arial; font-size: 14px;">facts (name, class, stage, dates, budget, expected return, expected response), so work</span></p><p><span style="font-family: Arial; font-size: 14px;">strictly from those facts. Do NOT invent an audience, channels, messaging, creative, offers,</span></p><p><span style="font-family: Arial; font-size: 14px;">KPIs or goals that the supplied data does not support — where a detail is not provided, say</span></p><p><span style="font-family: Arial; font-size: 14px;">so plainly (e.g. "Target audience: to be confirmed") rather than fabricating one.</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;">Draft a clear, structured internal campaign brief for this marketing campaign, derived from</span></p><p><span style="font-family: Arial; font-size: 14px;">the campaign name, class/type, stage, start and end dates, planned budget, expected return</span></p><p><span style="font-family: Arial; font-size: 14px;">and expected response already entered on the record.</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;">Read the campaign's structured data and compose a concise campaign brief that gives the team</span></p><p><span style="font-family: Arial; font-size: 14px;">a consistent starting point. Structure it with short headings and cover, in order:</span></p><p><span style="font-family: Arial; font-size: 14px;">1. Overview — what the campaign is, from its name and class/type, and its current stage.</span></p><p><span style="font-family: Arial; font-size: 14px;">2. Timing — the run period from the start and end dates (state duration if both are present).</span></p><p><span style="font-family: Arial; font-size: 14px;">3. Budget &amp; targets — the planned budget, expected return, and expected number of responses,</span></p><p><span style="font-family: Arial; font-size: 14px;">&nbsp; &nbsp;presented as the plan's financial and response goals.</span></p><p><span style="font-family: Arial; font-size: 14px;">4. Suggested next steps / to-confirm — a short list of what the team still needs to define</span></p><p><span style="font-family: Arial; font-size: 14px;">&nbsp; &nbsp;(e.g. target audience, channels, messaging), explicitly flagged as not yet in the record.</span></p><p><span style="font-family: Arial; font-size: 14px;"><br></span></p><p><span style="font-family: Arial; font-size: 14px;">Use the following inputs:</span></p><p><span style="font-family: Arial; font-size: 14px;">- Campaign name: ((Campaign.CampaignName))</span></p><p><span style="font-family: Arial; font-size: 14px;">- Campaign class/type (UI label "Campaign Class"): ((Campaign.CampaignType))</span></p><p><span style="font-family: Arial; font-size: 14px;">- Stage (UI label "Stage"): ((Campaign.Status))</span></p><p><span style="font-family: Arial; font-size: 14px;">- Start date: ((Campaign.StartDate))</span></p><p><span style="font-family: Arial; font-size: 14px;">- End date: ((Campaign.EndDate))</span></p><p><span style="font-family: Arial; font-size: 14px;">- Planned budget: ((Campaign.PlannedBudget))</span></p><p><span style="font-family: Arial; font-size: 14px;">- Expected return (UI label "Expected Return"): ((Campaign.ExpectedRevenue))</span></p><p><span style="font-family: Arial; font-size: 14px;">- Expected response (number of responses): ((Campaign.ExpectedResponse))</span></p><p><span style="font-family: Arial; font-size: 14px;">- Promo code (may be blank): ((Campaign.PromoCodeID))</span></p><p><span style="font-family: Arial; font-size: 14px;"><br></span></p><p><span style="font-family: Arial; font-size: 14px;">Constraints:</span></p><p><span style="font-family: Arial; font-size: 14px;">- Australian English, professional, factual, concise. This is an internal draft brief.</span></p><p><span style="font-family: Arial; font-size: 14px;">- Use clean HTML structure (this field is rich text): short &lt;h4&gt; or &lt;strong&gt; headings,</span></p><p> paragraphs, and <ul>/<li> for the next-steps list. Keep it to roughly 200-350 words.<p><span style="font-family: Arial; font-size: 14px;">- Only state facts supported by the inputs. Where a field is blank, either omit that point</span></p><p><span style="font-family: Arial; font-size: 14px;">&nbsp; or mark it "to be confirmed" — never fabricate audience, channels, messaging, offers or goals.</span></p><p><span style="font-family: Arial; font-size: 14px;">- Do not restate raw field names; write it as prose a team member would read.</span></p><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><p><span style="font-family: Arial; font-size: 14px;">1. @((Campaign.Description))(string): The drafted campaign brief as clean HTML — short</span></p><p><span style="font-family: Arial; font-size: 14px;">&nbsp; &nbsp;headings, paragraphs and a bulleted next-steps list, roughly 200-350 words, Australian</span></p><p><span style="font-family: Arial; font-size: 14px;">&nbsp; &nbsp;English. No markdown, no code fences, no leading label; return the HTML fragment only.</span></p></body></html>]]></column>
        <column name="OutputExamples"><![CDATA[## Output Format Example:
{
  "((Campaign.Description))": "<h4>Overview</h4><p>Spring Wellness Push (Campaign Class: EMAILNURT) is currently at the Planning stage. The campaign aims to re-engage existing contacts around the seasonal wellness range.</p><h4>Timing</h4><p>Scheduled to run from 1 September 2026 to 30 September 2026 — a four-week window.</p><h4>Budget &amp; Targets</h4><p>Planned budget of 12,000 with an expected return of 45,000 and a target of 600 responses.</p><h4>Suggested Next Steps / To Confirm</h4><ul><li>Target audience — to be confirmed (not yet captured on the record).</li><li>Channels and messaging — to be defined by the team.</li><li>Success metrics beyond response count — to be agreed.</li></ul>"
}

## Important Note:
  Return ONLY a valid JSON object with exactly the key "((Campaign.Description))" and no other
  keys. No commentary, no explanation, no markdown code fences. The value must be a single
  string containing the campaign brief as a clean HTML fragment (short headings, paragraphs,
  and a bulleted next-steps list), in Australian English, respecting the length and
  no-fabrication constraints on the Instructions tab.]]></column>
      </row>
    </LLMPrompt>
  </data>
</data-set>