<style>p { margin: 0; }span.fr-emoticon.fr-emoticon-img { background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle; } span.fr-emoticon { font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0; } blockquote { border-left: solid 2px #5e35b1; color: #5e35b1; margin-left:0; padding-left:5px;}blockquote blockquote{ border-color: #00bcd4; color: #00bcd4;}blockquote blockquote blockquote{ border-color: #43a047; color: #43a047;} table.grid{ border-collapse: collapse;} table.grid td, table.grid th { border: 1px solid #ddd;} .fr-fic.fr-dib{ display: block; margin: 5px auto;}.fr-fic.fr-dib.fr-fir{ text-align: right; margin: 5px 0 5px auto;}.fr-fic.fr-dib.fr-fil{ text-align: left; margin: 5px auto 5px 0;}.fr-fic.fr-dii{ float: none; margin: 5px auto;}.fr-fic.fr-dii.fr-fil{ float: left; margin: 5px auto;}.fr-fic.fr-dii.fr-fir{ float: right; margin: 5px auto;}img.fr-dib.fr-fir { margin-right: 0; text-align: right;}img.fr-dib.fr-fil { margin-left: 0; text-align: left;}img.fr-dib { margin: 5px auto; display: block; float: none;}img.fr-bordered { box-sizing: content-box; border: solid 5px #CCC;}img.fr-shadow { box-shadow: 10px 10px 5px 0px #cccccc;}img.fr-rounded { border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;}</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><p><strong>In this guide we will cover:</strong></p><p><strong>- Creating and Selecting Reports</strong></p><p><strong>- Customising SQL with $-Variables</strong></p><p><strong>- Building the Composite Report</strong></p><p><strong>- Appending/Prepending a PDF</strong></p><p><strong>- Appearance Tab</strong></p><p><strong>- Reports Table</strong></p><p><strong>- Formatting the Composite Report</strong></p><p><strong>- End-User Access</strong></p><p><strong>- Scheduled Emails</strong></p><p><br></p><p><br></p><p>Composite reports in Halo allow you to present multiple reports to your clients via a single document, which is particularly handy for QBR's and showing stakeholders multiple Metrics all at once.</p><p><br></p><p>There are two primary components to constructing your Composite Reports:</p><ul><li>Creating/selecting the Reports you want to include on the document - the QBR has to show <em>some </em>metrics, right?</li><li>Formatting the reports to be presented as required on the document - because who doesn't love a pretty graph?</li></ul><p><strong><span style="font-size: 14pt;">Creating and Selecting Reports</span></strong></p><p>For this guide, I'm not going to go into creating reports and will assume all key reporting data can be found via existing reports in Halo's <strong>online repository</strong>.</p><p><br></p><p>Let's say I want to show a pie chart, and a table of Tickets in my composite report.</p><p>First, head into the 'Reporting' module:</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjU4ZTFjYTZmLTBjYWMtNGI1Zi05NzgwLTVmZWJiMWViYzI2NiJ9.gYO7PDgPeDmOESyRYMBC_7awrpWA7_YB8BRCUtphYyU" class="fr-fic fr-fil fr-dib" width="250" height="96"></p><p><span style="font-size: 10pt;"><strong>Fig 1. The Reporting Module</strong></span></p><p><br></p><p>Then to the Online Repository:</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVhNmI3MmQ3LWM4MzYtNDFhYi1iZjk1LWNkYWRjMTcyZmYzMSJ9.TywSEnu48FHSQF7cYhzlaXtGDbQf4NaK3_pf-aOfSTk" class="fr-fic fr-fil fr-dib" width="347" height="277"></p><p><strong><span style="font-size: 10pt;">Fig 2. Halo's Reporting Online Repository</span></strong></p><p><br></p><p>Where you'll find a list of the most common/useful reports requested by Halo's community.</p><p>In here, I'll search for reports to see if I can find what I'm after. Once I've found what I'm looking for, I can download this to my instance</p><p><br></p><p><em><strong>Note: </strong></em><strong><em>For most customers, the "Tickets By Category" report will be in the reporting suite by default, and there is no need to add it through the online repository.</em></strong></p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImViN2JjYmYxLTlhNTktNGRkMC04ZmVjLTY2OTlmMTAyMDdmYSJ9.b82qJ7kh33ClV5ms4vFkjsekt4zS7DIWT6Kil0uXoO8" class="fr-fic fr-fil fr-dib" width="984" style="width: 986px; height: 306.957px;" height="307"></p><p><strong><span style="font-size: 10pt;">Fig 3. Searching the Online Repository and adding my selection to my local library</span></strong></p><p><br></p><p><em><strong>Note: If you can't find the report you are after and are struggling to create it yourself, please reach out to Halo support to create the report and add this to the repository for you. Reports done via Halo Support Staff should not be overly technical. Time consuming reports will be charged consultancy rates.</strong></em></p><p><br></p><p>Now I have the reports I need in my library, I can start creating my Composite Report.</p><p><br></p><p><strong id="isPasted"><span style="font-size: 14pt;">Customising SQL with $-Variables</span></strong></p><p><em><strong>Note: Composite Reports are generated per customer, so you must ensure that the reports you add to the Composite Report contain the '$clientid' variable i.e: if I'm querying the 'f</strong></em><strong><em>aults' (tickets) table, I need to ensure I have added "...from faults where areaint=$clientid...". Without doing so, data for Client A may be visible to Client B. </em></strong></p><p><br></p><p><em><strong>In the 'Tickets by Category' Report, I added the $clientid variable as follows:</strong></em></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNmZWE5NzliLTk3NTEtNDgwZC1iMmYyLTM5NzlhZDk3ODZmYSJ9.B6fBkJh3dLlUfIsA06oiGOPWg5-Y2_fgtRv2s6BX3Uo" class="fr-fic fr-fil fr-dib" width="809" height="283"></p><p><strong><span style="font-size: 10pt;">Fig 4. Adding the $-clientid to get only the metrics for each customer</span></strong></p><p><br></p><p><em><strong>And in the 'Priority 1 Incident Breakdown' again this will likely be found in the default list of reports:</strong></em></p><p><strong><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjQ5NTgwYTlmLTVjZWMtNDk1Zi05MThlLTNkZWI0YjkyZjQxNCJ9.59Ei9S86zy0NYiNqiK6D_PLspN-XKgtQQnWm5B9ku3g" class="fr-fic fr-fil fr-dib" width="1139" height="223"></strong><span style="font-size: 10pt;"><strong>Fig 5. More SQL where $-clientid should be added</strong></span></p><p><br></p><p><em><strong>It is worth mentioning that while using 'areaint' will work when querying the 'faults' table, this will not work when querying </strong></em><strong><em>any table. You will need to use the respective Client ID variable for the table you are querying. Check <a href="https://halopsa.com/sqlschema/">Our Schema</a> to see which field you will need to use for querying respective tables.</em></strong></p><p><br></p><p><strong><span style="font-size: 14pt;">Building the Composite Report</span></strong></p><p>So now you have the reports required to build your Composite Report, the next step is to create the Composite Report itself. Head to the 'Composite Reports' section of the Reporting module (<strong>Fig 2</strong>) and click 'New' (top right hand side).</p><p><br></p><p>The first tab you're presented with is a 'Details' tab:</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImVjZTcwYmJiLTc0NjctNGU3NC05ZTdkLWQzNDEzZjMxOTY1MiJ9.mJb5JVFdaOaSyuyHga7BrcQZT8whq_Q4Uom1ZqF9wTE" class="fr-fic fr-fil fr-dib" width="989" style="width: 991px; height: 571.942px;" height="572"></p><p><strong><span style="font-size: 10pt;">Fig 6. The new Composite Report Details tab</span></strong></p><p><br></p><p>Give the Composite Report a sensible name (remember, this may be across clients so best to keep it fairly general) and description.</p><p><br></p><p><span style="font-size: 14pt;"><strong>Appending/Prepending a PDF</strong></span></p><p>After clicking on save, once you have made the new composite report, you can add a PDF to it, prepend or append the PDF onto the composite report and then click "Generate PDF" to see how it looks</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjBhMTJmYzFjLTU4NDQtNGJkZi04Y2U3LTUwMjZhOGE4NThkZCJ9.JXqtohzgeFL-vLx-PLsfD6syCWnI1Zj5g1Sg1ixICjk" class="fr-fic fr-fil fr-dib" width="989" style="width: 991px; height: 474.421px;" height="474"></p><p><strong><span style="font-size: 10pt;">Fig 7. Adding a PDF to The Composite Report</span></strong></p><p><br></p><p><strong><span style="font-size: 14pt;">Appearance Tab</span></strong></p><p>This tab is for adding in Headers, Footers, Giving a default colour to the i.e. details table and any other out of the box html on the templates.</p><p><br></p><p>Headers and Footers can be added as custom HTML, by checking on "Use HTML Footer" or "Use HTML Header" note, headers must be enabled for this option to show. For a explanations of each option, checkout the <a href="https://usehalo.com/haloitsm/guides/1389/" rel="noopener noreferrer" target="_blank"><strong>Admin Guide for PDF's</strong></a></p><p><br></p><p><strong><span style="font-size: 14pt;">Reports Table</span></strong></p><p>Below these two options, you have a 'reports table'. Click 'Add' to add the reports that you would like to include in this document:</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImUwOWIzODg1LTEyNzktNDE5Ni05Mjg0LTNhMDUwNjJiNjM3ZSJ9.u5IrY_99R8-fXBA7vveKKF3Q9ueZKvPM_GmG5HVtPSE" class="fr-fic fr-fil fr-dib" width="924" height="395"></p><p><strong><span style="font-size: 10pt;">Fig 8. Adding the desired reports to my Composite Report</span></strong></p><p><br></p><p>Once you've added the desired reports into this table, you'll see something similar to the below:</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjkxZDc3MzMyLTE4YTUtNDY2MC1iZTdhLTMxYTgxNmZkN2JjZSJ9.aCkUEXtNMOUJbhZF8CE6rh-wR5jyuxwmSBKu77BzPjU" class="fr-fic fr-fil fr-dib" width="986" style="width: 988px; height: 163.461px;" height="163"></p><p><strong><span style="font-size: 10pt;">Fig 9. The Reports table of a Composite Report, once the desired reports have been added in </span></strong></p><p><br></p><p>There are two important columns to note here: 'Data Variable' and 'Chart Variable'</p><p><br></p><p><strong><span style="font-size: 14pt;">Data Variable</span></strong></p><p>Each report will have a corresponding 'Data Variable' - for my Priority 1 Incidents Breakdown, the respective Data Variable is $Report130Data. This variable will render the report table data, similar to how you see it when viewing the report itself.</p><p><br></p><p><em><strong>Note: This tables presentation can be manipulated via CSS - more on this shortly.</strong></em></p><p><br></p><p><strong><span style="font-size: 14pt;">Chart Variable</span></strong></p><p>Each record will also have a corresponding Chart Variable. If you have configured a chart within your report, this variable will load that chart into the Composite Report as an image.</p><p>Upon clicking 'Save', some of the greyed out tabs in <strong>Fig 6.</strong> will become available, specifically the 'Pages' tab.</p><p><br></p><p><strong><span style="font-size: 14pt;">Formatting the Composite Report</span></strong></p><p>On the Pages tab, you will find a table:</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjdhNjczZDQzLTA2MzEtNGMzZi1hN2VhLTk5M2YwZDk0NGI5MCJ9.ESvkXAjWObrJrhcgrE_5bxkkaK3_OLyoYIa78n0VXUc" class="fr-fic fr-fil fr-dib" width="990" style="width: 992px; height: 228.399px;" height="228"></p><p><strong><span style="font-size: 10pt;">Fig 10. The Pages tab for a Composite Report</span></strong></p><p><br></p><p>Each record in this table corresponds to a specific page that is rendered upon generating the PDF. For this example, we will keep things simple and only work with the main page - but a more comprehensive QBR would likely be composed of multiple pages containing different data sets.</p><p><br></p><p>Hit the pencil against the record to open up a HTML window where you can format the layout of the rendered page - this is also where you will include your Data/Chart variables.</p><p><br></p><p>I've made some minor adjustments to the default HTML to format the page as I need, with the crucial changed underlined below:</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjZiOTNkM2M1LTkzMjQtNGY4Ni1iYWQwLWIxMjViODQ2MTYzNSJ9.eCl5XCXNK4jDQvRAA36GuA8kVe-R4yMve0QztOf-DB4" class="fr-fic fr-fil fr-dib" width="992" style="width: 994px; height: 560.036px;" height="560"></p><p><strong><span style="font-size: 10pt;">Fig 11. Altering the HTML of my Composite Report document</span></strong></p><p><br></p><p>Note that I have included "$Report163Chart" and "$Report130Data" in my HTML. If we look back to <strong>Fig 6</strong>, we will see this should render the Tickets by Category (Pie) chart and the Priority 1 Incident Breakdown table. The default option is to show all of the report data in one section using $-REPORTCHARTS and $-REPORTDATA.</p><p><br></p><p><em><strong>NB: As '$Report130Data' is going to render a table, I can wrap it in a 'table' element and hence can style this table as required (via the "styled-table" class I have created)</strong></em></p><p><br></p><p>Make sure to click 'Save' at the bottom of the HTML edit page (<strong>Fig 11</strong>) then save again (top left hand side of the Composite Report page) to save your changes.</p><p><br></p><p>Now, when I click 'Generate PDF' I can select the Client I would like to generate this Composite Report for (via searching for the client name in the below):</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjIyMDQwNDEwLWE4ZTktNDgyYi05OTg3LWNhYzU3OTkzY2ZjYiJ9.jYCglyHxpEe8BEr9FJLMfD8DL94lMeHBIljiFQabbJ0" class="fr-fic fr-fil fr-dib" width="783" height="261"></p><p><strong><span style="font-size: 10pt;">Fig 12. Selecting which Client to generate my Composite Report for</span></strong></p><p><br></p><p>And my (admittedly pretty vanilla) HTML is rendered, with my chart/data variables replaced where needed:</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImZjOTNmY2M1LTAxMGMtNDVhNS1hNDlkLTJkMGM3N2E2YjZiNSJ9.cUiqHnboy9n6sXrrYzqCwI_Pq4r1YDPrbSPNWH3uM6I" class="fr-fic fr-fil fr-dib" width="882" height="844"></p><p><strong><span style="font-size: 10pt;">Fig 13. The Composite Report PDF</span></strong></p><p><br></p><p><em><strong>Note: </strong></em><strong><em>Instead of using the default $-REPORTTITLE you can use whatever text, i.e. Tickets By Category and High Priority Tickets.</em></strong></p><p><em><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjUwN2Q3YzRlLWFkNDgtNDBiYS1hY2MwLTY4YjA3ZWNmYjk3YyJ9.vsaPKjv052F1mbOgKLbFVuSvXt_kHakBFcO5e5KKHFQ" class="fr-fic fr-fil fr-dib" width="975" style="width: 977px; height: 608.199px;" height="608"></em><span style="font-size: 10pt;"><strong>Fig 14. Changing the Report Title</strong></span></p><p><br></p><p><span style="font-size: 14pt;"><strong>Additional Points</strong></span></p><p><br></p><p><span style="font-size: 12pt;"><strong>Variables</strong></span></p><p>We have discussed the use of two report variables, but there others which can be used. You'll find a full list of variables available for Composite Reports via the 'View $-variables' button:</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Ijk5NGZmMTRjLWQyZDEtNGRiNi04NzFjLTZhOWM2YmU5Y2E4OSJ9.2jTl_87XFUxdmFcV5ijgDkZoCvd2Z3pHIup7qFy4zQo" class="fr-fic fr-fil fr-dib" width="504" height="304"></p><p><span style="font-size: 10pt;"><strong>Fig 15. Viewing $_Variables available in Composite Reports</strong></span></p><p><br></p><p><span style="font-size: 12pt;"><strong>End-User Access/Portal Access</strong></span></p><p>Composite Reports can also be made available for end-users to view via Halo's Self-Service Portal. To make a Composite Report available via Self-Service, simply head to the 'User Access' tab, shown in <strong>F</strong><strong>ig 6</strong> and add a list of end-users who should be able to access this Composite Report. You can give access to all users, this will only show their data or their clients data if configured correctly using $-variables, as explained previously:</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjA3NTUyMjlkLTU0OGYtNDA3YS04NzE5LWJhYzA4OTJiY2NjZSJ9.njZcvx6muVBM64a0j51LgemjfRNsmFenj_3IUWqQik4" class="fr-fic fr-fil fr-dib" width="991" style="width: 993px; height: 294.099px;" height="294"></p><p><strong><span style="font-size: 10pt;">Fig 16. Making Composite Reports available for end-users to view via Self-Service</span></strong></p><p><br></p><p>Provided you have the 'My Reports' (Configuration > Self Service Portal > *Scroll to The Menu Buttons Table*) option available on your Self-Service Portal, the end-users added to view the Composite Report (<strong>Fig 16</strong>) will see this in their list of 'My Reports'.</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImJkNzNjZGViLWFmZWMtNDhmMS1hMGU3LTZmYTUzNTViODM2OSJ9.z8cSlIIrpArR99XUfv-Aqt1sn387lQMk-LpITzetb3o" class="fr-fic fr-fil fr-dib" width="705" style="width: 705px; height: 322.988px;" height="322.988"></p><p><span style="font-size: 10pt;"><strong>Fig 17. Adding The "My Reports" Menu Button to The Self Service Portal</strong></span></p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImU0MTA3NDQ1LWM5OWItNGE0Mi05ZmRmLTNiOWM3Mzk2MzZjZiJ9.-zq3QW87eGyy795SUJHxNeg7-E4J_jGHYb1X03Mct34" class="fr-fic fr-fil fr-dib" width="984" style="width: 986px; height: 292.439px;" height="292"></p><p><span style="font-size: 10pt;"><strong>Fig 18. The Composite Report available on the Self-Service Portal</strong></span></p><p><br></p><p><em><strong>Note: Headers, Footers and Cover pages will not be rendered when viewing Composite Reports via the Self-Service Portal.</strong></em></p><p><br></p><p><strong><span style="font-size: 12pt;">Scheduled Emails</span></strong></p><p>Composite Reports can also be emailed to relevant stakeholders on a scheduled basis. To achieve this, head to the 'Scheduled Emails' Tab & click 'Add':</p><p><strong><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjAzOTNmYWIyLTBkNmYtNGQzOC1hNWY2LTBjNWFhZDk4NjIyYiJ9.0f6MPo9Y7UTbW1KXH9jhgUOaDKrk0xWjBCBTpbk3xOE" class="fr-fic fr-fil fr-dib" width="985" style="width: 987px; height: 486.225px;" height="486"></strong><strong><span style="font-size: 10pt;">Fig 19. The Scheduled Emails window</span></strong></p><p><br></p><p>Creating Scheduled Emails for Composite Reports is composed of 3 sections:</p><p><br></p><ul><li><strong>Report </strong>- Pick the client that you want to generate the Composite Report for.</li><li><strong>Email</strong> - Specify the contents of the email which will be used once sent, namely: who to send the report to & the email subject/body.</li><li><strong>Schedule</strong> - Pick the schedule on which you would like your Composite Report to be generated & sent to the relevant stakeholders. NB: this scheduling sections is configured in a similar fashion to the Schedule for Recurring Invoices, Scheduled Tickets etc.</li></ul><p><br></p>