<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Stroom – report</title>
    <link>/tags/report/</link>
    <description>Recent content in report on Stroom</description>
    <generator>Hugo -- gohugo.io</generator>
    <lastBuildDate>Wed, 02 Sep 2026 00:00:00 +0000</lastBuildDate>
    
	  <atom:link href="/tags/report/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Docs: Report Settings</title>
      <link>/docs/user-guide/search/reports/settings/</link>
      <pubDate>Wed, 02 Sep 2026 00:00:00 +0000</pubDate>
      
      <guid>/docs/user-guide/search/reports/settings/</guid>
      <description>
        
        
        &lt;p&gt;The &lt;em&gt;Settings&lt;/em&gt; tab controls what kind of file the report produces and what goes in it, and holds the feed that execution errors are written to.&lt;/p&gt;
&lt;p&gt;An &lt;a href=&#34;../../docs/user-guide/search/analytics/&#34;&gt;Analytic Rule&lt;/a&gt; &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Analytic rule&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__orange)&#34; d=&#34;M1333 566q18 20 7 44l-540 1157q-13 25-42 25-4 0-14-2-17-5-25.5-19t-4.5-30l197-808-406 101q-4 1-12 1-18 0-31-11-18-15-13-39l201-825q4-14 16-23t28-9h328q19 0 32 12.5t13 29.5q0 8-5 18l-171 463 396-98q8-2 12-2 19 0 34 15z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; has a &lt;em&gt;Settings&lt;/em&gt; tab of its own, holding what the rule declares about itself.
A report has none of those settings, because it delivers a file rather than detections.&lt;/p&gt;
&lt;h2 id=&#34;file-type&#34;&gt;File Type&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;File Type&lt;/td&gt;
&lt;td&gt;The format of the file the report produces.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Four formats are available.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Format&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span class=&#34;glossary-link link-with-hover-tooltip&#34;&gt;
    &lt;a href=&#34;../../docs/glossary/c/glossary-csv&#34;&gt;
      &lt;span&gt;CSV&lt;/span&gt;
      &lt;i class=&#34;glossary-link-icon fas fa-book fa-sm text-primary&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;&lt;template class=&#34;hover-tooltip-content&#34;&gt;
        &lt;span class=&#34;hover-tooltip-title&#34;&gt;CSV&lt;/span&gt;
        &lt;div class=&#34;hover-tooltip-summary&#34;&gt;&lt;strong&gt;C&lt;/strong&gt;omma &lt;strong&gt;S&lt;/strong&gt;eparated &lt;strong&gt;V&lt;/strong&gt;alues is a file format with typically one record per line and fields delimited by a &lt;code&gt;,&lt;/code&gt;. Fields may be optionally enclosed with double quotes, though there is no fixed standard for CSV data, particularly when it comes to escaping of double quotes and/or commas.&lt;/div&gt;&lt;span class=&#34;hover-tooltip-more-details&#34;&gt;Click to see more details...&lt;/span&gt;&lt;/template&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;Comma delimited. For something else to read.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TSV&lt;/td&gt;
&lt;td&gt;Tab delimited. For something else to read.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Excel&lt;/td&gt;
&lt;td&gt;Includes an additional &lt;em&gt;Info&lt;/em&gt; sheet recording the report name, description, and execution times.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span class=&#34;glossary-link link-with-hover-tooltip&#34;&gt;
    &lt;a href=&#34;../../docs/glossary/m/glossary-markdown&#34;&gt;
      &lt;span&gt;Markdown&lt;/span&gt;
      &lt;i class=&#34;glossary-link-icon fas fa-book fa-sm text-primary&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;&lt;template class=&#34;hover-tooltip-content&#34;&gt;
        &lt;span class=&#34;hover-tooltip-title&#34;&gt;Markdown&lt;/span&gt;
        &lt;div class=&#34;hover-tooltip-summary&#34;&gt;&lt;em&gt;Markdown&lt;/em&gt; is a simple &lt;em&gt;markup&lt;/em&gt; language for creating rich formatted text using a text editor. Due to the simplicity of the Markdown it is still very readable in its raw form that contains the markup. Markdown is used in Stroom on the &lt;em&gt;Documentation&lt;/em&gt; tab of each &lt;em&gt;Document&lt;/em&gt; type and in the &lt;em&gt;Documentation&lt;/em&gt; &lt;em&gt;Document&lt;/em&gt; type.&lt;/div&gt;&lt;span class=&#34;hover-tooltip-more-details&#34;&gt;Click to see more details...&lt;/span&gt;&lt;/template&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;For a person to read.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Choose Excel or Markdown where a person will read the report, and CSV or TSV where something else will consume it.
The Excel &lt;em&gt;Info&lt;/em&gt; sheet is worth knowing about, because it is where the recipient can see which period the report actually covers.&lt;/p&gt;
&lt;h2 id=&#34;send-empty-reports&#34;&gt;Send Empty Reports&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Send Empty Reports&lt;/td&gt;
&lt;td&gt;Whether a report whose query returned no rows is still delivered.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;There is a real choice here.
Delivering empty reports means the recipient knows the report ran and there was nothing to say, rather than being left to wonder whether it failed.
Suppressing them avoids a stream of empty files for a report that is usually quiet.&lt;/p&gt;
&lt;p&gt;Only emptiness suppresses delivery.
A report that returned rows is always delivered however this is set, and a report that is suppressed is still recorded in the &lt;a href=&#34;../../docs/user-guide/search/analytics/execution/#execution-history&#34;&gt;execution history&lt;/a&gt; as having run.&lt;/p&gt;



&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;
  &lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;
  &lt;div class=&#34;alert-content&#34;&gt;




The default is to deliver empty reports.


  &lt;/div&gt;
&lt;/div&gt;

&lt;h2 id=&#34;ai-summary&#34;&gt;AI Summary&lt;/h2&gt;
&lt;p&gt;A report can ask a model to summarise the data it produced and deliver that summary with the report.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;AI Summary&lt;/td&gt;
&lt;td&gt;Whether to ask a model to summarise the report&amp;rsquo;s data.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI Summary Model&lt;/td&gt;
&lt;td&gt;The model to ask. Where this is not set, the model configured for Ask Stroom AI is used.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI Summary Prompt&lt;/td&gt;
&lt;td&gt;What to ask about the data. Where this is not set, a default prompt asks for a short summary of what the data shows and anything worth attention.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Where the summary ends up depends on the file type, since CSV and TSV cannot carry prose without breaking them for whatever reads them.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;File Type&lt;/th&gt;
&lt;th&gt;Where the summary goes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Excel&lt;/td&gt;
&lt;td&gt;An &lt;em&gt;AI Summary&lt;/em&gt; sheet.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Markdown&lt;/td&gt;
&lt;td&gt;An &lt;em&gt;AI Summary&lt;/em&gt; section after the table.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CSV, TSV&lt;/td&gt;
&lt;td&gt;A separate Markdown file delivered alongside the report.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The summary is also available to email templates as &lt;code&gt;aiSummary&lt;/code&gt; and is recorded as a &lt;code&gt;ReportAiSummary&lt;/code&gt; entry in the stream meta where the report is delivered to a feed.&lt;/p&gt;



&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;
  &lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;
  &lt;div class=&#34;alert-content&#34;&gt;




The report is what the recipient is waiting for, so a model that is unavailable, slow or misconfigured costs the summary and nothing else.
The failure is logged and the report is delivered without a summary.


  &lt;/div&gt;
&lt;/div&gt;




&lt;div class=&#34;alert alert-warning&#34; role=&#34;alert&#34;&gt;
  &lt;h4 class=&#34;alert-heading&#34;&gt;Warning&lt;/h4&gt;
  &lt;div class=&#34;alert-content&#34;&gt;




AI summaries are a preview feature and are subject to breaking changes in future releases.
Using a model requires the &lt;code&gt;Use&lt;/code&gt; permission on the model document rather than the ability to read it.


  &lt;/div&gt;
&lt;/div&gt;




&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;
  &lt;h4 class=&#34;alert-heading&#34;&gt;See Also&lt;/h4&gt;
  &lt;div class=&#34;alert-content&#34;&gt;




&lt;a href=&#34;../../releases/v07.14/preview-features/#ai-summaries-on-reports&#34;&gt;AI Summaries on Reports&lt;/a&gt;


  &lt;/div&gt;
&lt;/div&gt;

&lt;h2 id=&#34;feed-for-errors&#34;&gt;Feed for Errors&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Feed For Errors&lt;/td&gt;
&lt;td&gt;The &lt;span class=&#34;glossary-link link-with-hover-tooltip&#34;&gt;
    &lt;a href=&#34;../../docs/glossary/f/glossary-feed&#34;&gt;
      &lt;span&gt;Feed&lt;/span&gt;
      &lt;i class=&#34;glossary-link-icon fas fa-book fa-sm text-primary&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;&lt;template class=&#34;hover-tooltip-content&#34;&gt;
        &lt;span class=&#34;hover-tooltip-title&#34;&gt;Feed&lt;/span&gt;
        &lt;div class=&#34;hover-tooltip-summary&#34;&gt;A Feed is a means of organising and categorising data in Stroom. A Feed contains multiple &lt;em&gt;Streams&lt;/em&gt; of data that have been ingested into Stroom or output by a &lt;em&gt;Pipeline&lt;/em&gt;. Typically a Feed will contain &lt;em&gt;Streams&lt;/em&gt; of data that are all from one system and have a common data format.&lt;/div&gt;&lt;span class=&#34;hover-tooltip-more-details&#34;&gt;Click to see more details...&lt;/span&gt;&lt;/template&gt;&lt;/span&gt; that errors occurring during execution are written to. Use &lt;em&gt;Set Default&lt;/em&gt; to use the feed configured for the system.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;



&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;
  &lt;h4 class=&#34;alert-heading&#34;&gt;See Also&lt;/h4&gt;
  &lt;div class=&#34;alert-content&#34;&gt;




&lt;a href=&#34;../../docs/user-guide/search/analytics/execution/#error-feed&#34;&gt;Error Feed&lt;/a&gt;


  &lt;/div&gt;
&lt;/div&gt;


      </description>
    </item>
    
    <item>
      <title>Docs: Report Delivery</title>
      <link>/docs/user-guide/search/reports/delivery/</link>
      <pubDate>Wed, 02 Sep 2026 00:00:00 +0000</pubDate>
      
      <guid>/docs/user-guide/search/reports/delivery/</guid>
      <description>
        
        
        &lt;p&gt;The &lt;em&gt;Notifications&lt;/em&gt; tab of a Report works in the same way as it does for an &lt;a href=&#34;../../docs/user-guide/search/analytics/notifications/&#34;&gt;Analytic Rule&lt;/a&gt;, with the same two destination types and the same limit settings.
The difference is what gets delivered.
A rule delivers a detection, whereas a report delivers the file it produced.&lt;/p&gt;
&lt;p&gt;A report can have several notifications, so the same report can be emailed to a distribution list and written to a feed for retention at the same time.&lt;/p&gt;
&lt;h2 id=&#34;email-delivery&#34;&gt;Email Delivery&lt;/h2&gt;
&lt;p&gt;The report is sent as an &lt;strong&gt;attachment&lt;/strong&gt;, with the subject and body rendered from the notification&amp;rsquo;s templates.&lt;/p&gt;
&lt;p&gt;Where the report is a CSV or TSV and an &lt;a href=&#34;../../docs/user-guide/search/reports/settings/#ai-summary&#34;&gt;AI summary&lt;/a&gt; was produced, the summary is attached as a second file rather than being packed into an archive, so the recipient does not have to unpack anything.&lt;/p&gt;
&lt;p&gt;The file name is derived from the report name and the effective execution time, so a recipient who keeps several editions can tell them apart.&lt;/p&gt;
&lt;h3 id=&#34;template-context&#34;&gt;Template Context&lt;/h3&gt;
&lt;p&gt;Report email templates use the same &lt;em&gt;Jinja&lt;/em&gt; syntax as rule detection templates but have a completely different set of variables available, because a report is not a detection.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Variable&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;reportName&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The name of the Report &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Report&#34;&gt;&lt;svg id=&#34;svg5453&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; height=&#34;1792&#34; width=&#34;1792&#34; version=&#34;1.1&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path id=&#34;path5455&#34; fill=&#34;var(--icon-colour__blue)&#34; d=&#34;m602.28 1395.3v-176.23q0-12.85-8.2608-21.111-8.2608-8.2607-21.111-8.2607h-293.72q-12.85 0-21.111 8.2607-8.2608 8.2608-8.2608 21.111v176.23q0 12.85 8.2608 21.111 8.2608 8.2608 21.111 8.2608h293.72q12.85 0 21.111-8.2608 8.2608-8.2607 8.2608-21.111zm0-352.46v-176.23q0-12.85-8.2608-21.111-8.2608-8.2608-21.111-8.2608h-293.72q-12.85 0-21.111 8.2608-8.2608 8.2608-8.2608 21.111v176.23q0 12.85 8.2608 21.111 8.2608 8.2608 21.111 8.2608h293.72q12.85 0 21.111-8.2608 8.2608-8.2607 8.2608-21.111zm469.95 352.46v-176.23q0-12.85-8.2608-21.111-8.2608-8.2607-21.111-8.2607h-293.72q-12.85 0-21.111 8.2607-8.2608 8.2608-8.2608 21.111v176.23q0 12.85 8.2608 21.111 8.2608 8.2608 21.111 8.2608h293.72q12.85 0 21.111-8.2608 8.2608-8.2607 8.2608-21.111zm-469.95-704.92v-176.23q0-12.85-8.2608-21.111-8.2608-8.2608-21.111-8.2608h-293.72q-12.85 0-21.111 8.2608-8.2608 8.2608-8.2608 21.111v176.23q0 12.85 8.2608 21.111 8.2608 8.2608 21.111 8.2608h293.72q12.85 0 21.111-8.2608 8.2608-8.2608 8.2608-21.111zm469.95 352.46v-176.23q0-12.85-8.2608-21.111-8.2608-8.2608-21.111-8.2608h-293.72q-12.85 0-21.111 8.2608-8.2608 8.2608-8.2608 21.111v176.23q0 12.85 8.2608 21.111 8.2608 8.2608 21.111 8.2608h293.72q12.85 0 21.111-8.2608 8.2608-8.2607 8.2608-21.111zm469.95 352.46v-176.23q0-12.85-8.2607-21.111-8.2608-8.2607-21.111-8.2607h-293.72q-12.85 0-21.111 8.2607-8.2607 8.2608-8.2607 21.111v176.23q0 12.85 8.2607 21.111 8.2608 8.2608 21.111 8.2608h293.72q12.85 0 21.111-8.2608 8.2607-8.2607 8.2607-21.111zm-469.95-704.92v-176.23q0-12.85-8.2608-21.111-8.2608-8.2608-21.111-8.2608h-293.72q-12.85 0-21.111 8.2608-8.2608 8.2608-8.2608 21.111v176.23q0 12.85 8.2608 21.111 8.2608 8.2608 21.111 8.2608h293.72q12.85 0 21.111-8.2608 8.2608-8.2608 8.2608-21.111zm469.95 352.46v-176.23q0-12.85-8.2607-21.111-8.2608-8.2608-21.111-8.2608h-293.72q-12.85 0-21.111 8.2608-8.2607 8.2608-8.2607 21.111v176.23q0 12.85 8.2607 21.111 8.2608 8.2608 21.111 8.2608h293.72q12.85 0 21.111-8.2608 8.2607-8.2607 8.2607-21.111zm0-352.46v-176.23q0-12.85-8.2607-21.111-8.2608-8.2608-21.111-8.2608h-293.72q-12.85 0-21.111 8.2608-8.2607 8.2608-8.2607 21.111v176.23q0 12.85 8.2607 21.111 8.2608 8.2608 21.111 8.2608h293.72q12.85 0 21.111-8.2608 8.2607-8.2608 8.2607-21.111zm117.49-293.72v998.63q0 60.579-43.14 103.72-43.14 43.14-103.72 43.14h-1233.6q-60.579 0-103.72-43.14-43.14-43.14-43.14-103.72v-998.63q0-60.579 43.14-103.72 43.14-43.14 103.72-43.14h1233.6q60.579 0 103.72 43.14 43.14 43.14 43.14 103.72z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;description&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The content of the report&amp;rsquo;s &lt;em&gt;Documentation&lt;/em&gt; tab.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;executionTime&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The wall clock time at which the report ran.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;effectiveExecutionTime&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The point in time the report covers.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;rowCount&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The number of rows in the report.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;fileType&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The format of the attached file.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;fileName&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The name of the attached file.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;aiSummary&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The AI summary, or an empty string where there is none.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;code&gt;aiSummary&lt;/code&gt; is always present so that a template using it renders whether or not a summary was produced.&lt;/p&gt;



&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;
  &lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;
  &lt;div class=&#34;alert-content&#34;&gt;




None of the detection variables, such as &lt;code&gt;detectTime&lt;/code&gt;, &lt;code&gt;headline&lt;/code&gt; or &lt;code&gt;values&lt;/code&gt;, are available to a report template.
A template written for an Analytic Rule will not work on a Report.


  &lt;/div&gt;
&lt;/div&gt;




&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;
  &lt;h4 class=&#34;alert-heading&#34;&gt;See Also&lt;/h4&gt;
  &lt;div class=&#34;alert-content&#34;&gt;




&lt;a href=&#34;../../docs/reference-section/templating/&#34;&gt;Templating&lt;/a&gt;
&lt;a href=&#34;../../docs/reference-section/templating/#report-context&#34;&gt;Report Context&lt;/a&gt;


  &lt;/div&gt;
&lt;/div&gt;

&lt;h2 id=&#34;feed-delivery&#34;&gt;Feed Delivery&lt;/h2&gt;
&lt;p&gt;A &lt;em&gt;Stream&lt;/em&gt; notification writes the report into a &lt;span class=&#34;glossary-link link-with-hover-tooltip&#34;&gt;
    &lt;a href=&#34;../../docs/glossary/f/glossary-feed&#34;&gt;
      &lt;span&gt;Feed&lt;/span&gt;
      &lt;i class=&#34;glossary-link-icon fas fa-book fa-sm text-primary&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;&lt;template class=&#34;hover-tooltip-content&#34;&gt;
        &lt;span class=&#34;hover-tooltip-title&#34;&gt;Feed&lt;/span&gt;
        &lt;div class=&#34;hover-tooltip-summary&#34;&gt;A Feed is a means of organising and categorising data in Stroom. A Feed contains multiple &lt;em&gt;Streams&lt;/em&gt; of data that have been ingested into Stroom or output by a &lt;em&gt;Pipeline&lt;/em&gt;. Typically a Feed will contain &lt;em&gt;Streams&lt;/em&gt; of data that are all from one system and have a common data format.&lt;/div&gt;&lt;span class=&#34;hover-tooltip-more-details&#34;&gt;Click to see more details...&lt;/span&gt;&lt;/template&gt;&lt;/span&gt; as a stream of type &lt;code&gt;Report&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The stream carries the report file itself, unchanged, so anything already reading those streams is unaffected by settings such as the AI summary.
The following entries are written to the stream &lt;span class=&#34;glossary-link link-with-hover-tooltip&#34;&gt;
    &lt;a href=&#34;../../docs/glossary/m/glossary-metadata&#34;&gt;
      &lt;span&gt;Metadata&lt;/span&gt;
      &lt;i class=&#34;glossary-link-icon fas fa-book fa-sm text-primary&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;&lt;template class=&#34;hover-tooltip-content&#34;&gt;
        &lt;span class=&#34;hover-tooltip-title&#34;&gt;Metadata&lt;/span&gt;
        &lt;div class=&#34;hover-tooltip-summary&#34;&gt;&lt;em&gt;Metadata&lt;/em&gt; refers to the data that describes the &lt;em&gt;Stream&lt;/em&gt; data. It is sometimes referred to as just &lt;em&gt;Meta&lt;/em&gt;.&lt;/div&gt;&lt;span class=&#34;hover-tooltip-more-details&#34;&gt;Click to see more details...&lt;/span&gt;&lt;/template&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Meta Key&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ReportName&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The name of the report.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ReportDescription&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The content of the report&amp;rsquo;s &lt;em&gt;Documentation&lt;/em&gt; tab.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ExecutionTime&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The wall clock time at which the report ran.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;EffectiveExecutionTime&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The point in time the report covers.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ReportAiSummary&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The AI summary, where one was produced.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Writing reports to a feed is how you retain a record of what was reported and when, independently of whoever received the email.&lt;/p&gt;



&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;
  &lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;
  &lt;div class=&#34;alert-content&#34;&gt;




&lt;em&gt;Use Source Feed If Possible&lt;/em&gt; has no effect on a Report, as it only applies to streaming Analytic Rules.
Reports are always written to the &lt;em&gt;Destination Feed&lt;/em&gt;.


  &lt;/div&gt;
&lt;/div&gt;

&lt;h2 id=&#34;limiting&#34;&gt;Limiting&lt;/h2&gt;
&lt;p&gt;The &lt;em&gt;Limit Notifications&lt;/em&gt;, &lt;em&gt;Maximum Notifications&lt;/em&gt; and &lt;em&gt;Resume Notifications After&lt;/em&gt; settings behave exactly as they do for an Analytic Rule.&lt;/p&gt;
&lt;p&gt;They are far less likely to matter for a report, because a report produces one file per run rather than one notification per matching row.&lt;/p&gt;



&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;
  &lt;h4 class=&#34;alert-heading&#34;&gt;See Also&lt;/h4&gt;
  &lt;div class=&#34;alert-content&#34;&gt;




&lt;a href=&#34;../../docs/user-guide/search/analytics/notifications/#limiting-notifications&#34;&gt;Limiting Notifications&lt;/a&gt;


  &lt;/div&gt;
&lt;/div&gt;


      </description>
    </item>
    
    <item>
      <title>Docs: Reports</title>
      <link>/docs/user-guide/search/reports/</link>
      <pubDate>Wed, 02 Sep 2026 00:00:00 +0000</pubDate>
      
      <guid>/docs/user-guide/search/reports/</guid>
      <description>
        
        
        &lt;p&gt;A Report &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Report&#34;&gt;&lt;svg id=&#34;svg5453&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; height=&#34;1792&#34; width=&#34;1792&#34; version=&#34;1.1&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path id=&#34;path5455&#34; fill=&#34;var(--icon-colour__blue)&#34; d=&#34;m602.28 1395.3v-176.23q0-12.85-8.2608-21.111-8.2608-8.2607-21.111-8.2607h-293.72q-12.85 0-21.111 8.2607-8.2608 8.2608-8.2608 21.111v176.23q0 12.85 8.2608 21.111 8.2608 8.2608 21.111 8.2608h293.72q12.85 0 21.111-8.2608 8.2608-8.2607 8.2608-21.111zm0-352.46v-176.23q0-12.85-8.2608-21.111-8.2608-8.2608-21.111-8.2608h-293.72q-12.85 0-21.111 8.2608-8.2608 8.2608-8.2608 21.111v176.23q0 12.85 8.2608 21.111 8.2608 8.2608 21.111 8.2608h293.72q12.85 0 21.111-8.2608 8.2608-8.2607 8.2608-21.111zm469.95 352.46v-176.23q0-12.85-8.2608-21.111-8.2608-8.2607-21.111-8.2607h-293.72q-12.85 0-21.111 8.2607-8.2608 8.2608-8.2608 21.111v176.23q0 12.85 8.2608 21.111 8.2608 8.2608 21.111 8.2608h293.72q12.85 0 21.111-8.2608 8.2608-8.2607 8.2608-21.111zm-469.95-704.92v-176.23q0-12.85-8.2608-21.111-8.2608-8.2608-21.111-8.2608h-293.72q-12.85 0-21.111 8.2608-8.2608 8.2608-8.2608 21.111v176.23q0 12.85 8.2608 21.111 8.2608 8.2608 21.111 8.2608h293.72q12.85 0 21.111-8.2608 8.2608-8.2608 8.2608-21.111zm469.95 352.46v-176.23q0-12.85-8.2608-21.111-8.2608-8.2608-21.111-8.2608h-293.72q-12.85 0-21.111 8.2608-8.2608 8.2608-8.2608 21.111v176.23q0 12.85 8.2608 21.111 8.2608 8.2608 21.111 8.2608h293.72q12.85 0 21.111-8.2608 8.2608-8.2607 8.2608-21.111zm469.95 352.46v-176.23q0-12.85-8.2607-21.111-8.2608-8.2607-21.111-8.2607h-293.72q-12.85 0-21.111 8.2607-8.2607 8.2608-8.2607 21.111v176.23q0 12.85 8.2607 21.111 8.2608 8.2608 21.111 8.2608h293.72q12.85 0 21.111-8.2608 8.2607-8.2607 8.2607-21.111zm-469.95-704.92v-176.23q0-12.85-8.2608-21.111-8.2608-8.2608-21.111-8.2608h-293.72q-12.85 0-21.111 8.2608-8.2608 8.2608-8.2608 21.111v176.23q0 12.85 8.2608 21.111 8.2608 8.2608 21.111 8.2608h293.72q12.85 0 21.111-8.2608 8.2608-8.2608 8.2608-21.111zm469.95 352.46v-176.23q0-12.85-8.2607-21.111-8.2608-8.2608-21.111-8.2608h-293.72q-12.85 0-21.111 8.2608-8.2607 8.2608-8.2607 21.111v176.23q0 12.85 8.2607 21.111 8.2608 8.2608 21.111 8.2608h293.72q12.85 0 21.111-8.2608 8.2607-8.2607 8.2607-21.111zm0-352.46v-176.23q0-12.85-8.2607-21.111-8.2608-8.2608-21.111-8.2608h-293.72q-12.85 0-21.111 8.2608-8.2607 8.2608-8.2607 21.111v176.23q0 12.85 8.2607 21.111 8.2608 8.2608 21.111 8.2608h293.72q12.85 0 21.111-8.2608 8.2607-8.2608 8.2607-21.111zm117.49-293.72v998.63q0 60.579-43.14 103.72-43.14 43.14-103.72 43.14h-1233.6q-60.579 0-103.72-43.14-43.14-43.14-43.14-103.72v-998.63q0-60.579 43.14-103.72 43.14-43.14 103.72-43.14h1233.6q60.579 0 103.72 43.14 43.14 43.14 43.14 103.72z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; runs a query on a schedule and turns the results into a file, which is then delivered to the people or the &lt;span class=&#34;glossary-link link-with-hover-tooltip&#34;&gt;
    &lt;a href=&#34;../../docs/glossary/f/glossary-feed&#34;&gt;
      &lt;span&gt;Feed&lt;/span&gt;
      &lt;i class=&#34;glossary-link-icon fas fa-book fa-sm text-primary&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;&lt;template class=&#34;hover-tooltip-content&#34;&gt;
        &lt;span class=&#34;hover-tooltip-title&#34;&gt;Feed&lt;/span&gt;
        &lt;div class=&#34;hover-tooltip-summary&#34;&gt;A Feed is a means of organising and categorising data in Stroom. A Feed contains multiple &lt;em&gt;Streams&lt;/em&gt; of data that have been ingested into Stroom or output by a &lt;em&gt;Pipeline&lt;/em&gt;. Typically a Feed will contain &lt;em&gt;Streams&lt;/em&gt; of data that are all from one system and have a common data format.&lt;/div&gt;&lt;span class=&#34;hover-tooltip-more-details&#34;&gt;Click to see more details...&lt;/span&gt;&lt;/template&gt;&lt;/span&gt; you nominate.&lt;/p&gt;
&lt;p&gt;Where an &lt;a href=&#34;../../docs/user-guide/search/analytics/&#34;&gt;Analytic Rule&lt;/a&gt; &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Analytic rule&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__orange)&#34; d=&#34;M1333 566q18 20 7 44l-540 1157q-13 25-42 25-4 0-14-2-17-5-25.5-19t-4.5-30l197-808-406 101q-4 1-12 1-18 0-31-11-18-15-13-39l201-825q4-14 16-23t28-9h328q19 0 32 12.5t13 29.5q0 8-5 18l-171 463 396-98q8-2 12-2 19 0 34 15z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; turns each row of its query into a separate detection, a Report turns the whole result table into a single document.
Use a Report when somebody wants a periodic summary of what the data shows, and an Analytic Rule when somebody needs telling about individual things as they are found.&lt;/p&gt;
&lt;h2 id=&#34;how-a-report-relates-to-an-analytic-rule&#34;&gt;How a Report Relates to an Analytic Rule&lt;/h2&gt;
&lt;p&gt;Reports and Analytic Rules are built on the same machinery and share most of their configuration.
Anything documented for Analytic Rules applies to Reports unless stated otherwise here.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tab&lt;/th&gt;
&lt;th&gt;Difference from an Analytic Rule&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Query&lt;/td&gt;
&lt;td&gt;The same, except that the table preferences you set also shape the file produced, see &lt;a href=&#34;#the-query&#34;&gt;Query&lt;/a&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Settings&lt;/td&gt;
&lt;td&gt;Reports only, see &lt;a href=&#34;../../docs/user-guide/search/reports/settings/&#34;&gt;Report Settings&lt;/a&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Notifications&lt;/td&gt;
&lt;td&gt;The same destinations, but they deliver a file rather than a detection, see &lt;a href=&#34;../../docs/user-guide/search/reports/delivery/&#34;&gt;Delivery&lt;/a&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Execution&lt;/td&gt;
&lt;td&gt;Identical, see &lt;a href=&#34;../../docs/user-guide/search/analytics/execution/&#34;&gt;Execution&lt;/a&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Documentation&lt;/td&gt;
&lt;td&gt;Included in the report&amp;rsquo;s Excel info sheet and available to email templates.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The &lt;em&gt;Processing Type&lt;/em&gt; on a Report&amp;rsquo;s &lt;em&gt;Execution&lt;/em&gt; tab offers only &lt;em&gt;Scheduled Query&lt;/em&gt;.
Reports are always run on a schedule, so there is no streaming or table builder equivalent.
They also have no &lt;em&gt;Duplicate Management&lt;/em&gt; tab, because a report is a periodic summary and is expected to repeat.&lt;/p&gt;
&lt;h2 id=&#34;the-query&#34;&gt;The Query&lt;/h2&gt;
&lt;p&gt;The &lt;em&gt;Query&lt;/em&gt; tab works as it does on an Analytic Rule, with one important difference.&lt;/p&gt;
&lt;p&gt;The table preferences you set by interacting with the results, such as hidden columns, value formats and sort order, are stored on the report and applied when the report is generated.
What you see in the results table while developing the query is therefore what the recipient will get.&lt;/p&gt;
&lt;p&gt;Relative date expressions resolve against the report&amp;rsquo;s effective execution time rather than the current clock time, which is what allows a report for last month to be produced correctly today.&lt;/p&gt;



&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;
  &lt;h4 class=&#34;alert-heading&#34;&gt;See Also&lt;/h4&gt;
  &lt;div class=&#34;alert-content&#34;&gt;




&lt;a href=&#34;../../docs/user-guide/search/analytics/query/&#34;&gt;Rule Queries&lt;/a&gt;


  &lt;/div&gt;
&lt;/div&gt;

&lt;h2 id=&#34;jobs&#34;&gt;Jobs&lt;/h2&gt;
&lt;p&gt;Reports are run by the &lt;em&gt;Reports&lt;/em&gt; job, which is &lt;strong&gt;disabled by default&lt;/strong&gt;.
A report will not run until that job has been enabled in 





  &lt;div class=&#34;stroom-theme-dark stroom-menu&#34;&gt;
    
    

      

      
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 0px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item &#34; &gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;Monitoring
      &lt;/div&gt;
        &lt;div class=&#34;stroom-menu-item-arrow&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Arrow right&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1427.7665&#34; height=&#34;1427.7665&#34; viewBox=&#34;0 0 1427.7665 1427.7665&#34;&gt;&lt;g style=&#34;stroke:currentColor;stroke-width:167.567&#34;&gt;&lt;path d=&#34;m 415.05387,83.70929 c -39.92654,0.4303 -75.41463,48.3887 -40.0468,81.9121 C 567.552,348.69899 760.75555,531.15431 953.73208,713.82391 760.75555,896.49341 567.552,1078.9486 375.00707,1262.0262 c -46.19471,43.7855 28.48812,112.1966 76.0571,67.1681 195.93558,-185.823 392.95261,-370.82479 587.98693,-557.52749 5.6117,-4.8034 10.4633,-10.2473 14.4855,-16.1231 9.643,-12.4844 13.9638,-27.0796 13.6909,-41.7198 0.2729,-14.6402 -4.0479,-29.2354 -13.6909,-41.7198 -4.0222,-5.8758 -8.8738,-11.3198 -14.4855,-16.1231 C 844.01678,469.27821 646.99975,284.27629 451.06417,98.45319 439.91519,87.89979 427.27628,83.57749 415.05387,83.70929 Z&#34;/&gt;&lt;/g&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

      

      
      
        
      


      

  
  
  &lt;div class=&#34;stroom-menu-item-background&#34; style=&#34;margin-top: 7px;&#34;&gt;
    
    &lt;div class=&#34;stroom-menu-item stroom-menu-item-leaf&#34; &gt;
        &lt;div class=&#34;stroom-menu-item-icon&#34;&gt;
          &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Jobs&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:currentColor&#34; d=&#34;M1024 1408h640v-128h-640v128zm-384-512h1024v-128h-1024v128zm640-512h384v-128h-384v128zm512 832v256q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-256q0-26 19-45t45-19h1664q26 0 45 19t19 45zm0-512v256q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-256q0-26 19-45t45-19h1664q26 0 45 19t19 45zm0-512v256q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-256q0-26 19-45t45-19h1664q26 0 45 19t19 45z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;
        &lt;/div&gt;

      &lt;div class=&#34;stroom-menu-item-text&#34;&gt;Jobs
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;/div&gt;


.&lt;/p&gt;
&lt;p&gt;The job controls how often Stroom looks for report schedules that are due, not how often a report is produced.&lt;/p&gt;



&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;
  &lt;h4 class=&#34;alert-heading&#34;&gt;See Also&lt;/h4&gt;
  &lt;div class=&#34;alert-content&#34;&gt;




&lt;a href=&#34;../../docs/user-guide/jobs/&#34;&gt;Jobs&lt;/a&gt;


  &lt;/div&gt;
&lt;/div&gt;

&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;p&gt;Reports use the same &lt;code&gt;stroom.analytics&lt;/code&gt; configuration as Analytic Rules, including the SMTP settings that email delivery depends on, see &lt;a href=&#34;../../docs/install-guide/setup/email-setup/&#34;&gt;Email Setup&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The defaults offered in the UI for the processing node, error feed and destination feed come from &lt;code&gt;stroom.ui.reportUiDefaultConfig&lt;/code&gt; rather than from the equivalent analytics property.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Email Setup</title>
      <link>/docs/install-guide/setup/email-setup/</link>
      <pubDate>Wed, 02 Sep 2026 00:00:00 +0000</pubDate>
      
      <guid>/docs/install-guide/setup/email-setup/</guid>
      <description>
        
        
        &lt;p&gt;Stroom sends email for two things, &lt;a href=&#34;../../docs/user-guide/search/analytics/&#34;&gt;Analytic Rule&lt;/a&gt; &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Analytic rule&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__orange)&#34; d=&#34;M1333 566q18 20 7 44l-540 1157q-13 25-42 25-4 0-14-2-17-5-25.5-19t-4.5-30l197-808-406 101q-4 1-12 1-18 0-31-11-18-15-13-39l201-825q4-14 16-23t28-9h328q19 0 32 12.5t13 29.5q0 8-5 18l-171 463 396-98q8-2 12-2 19 0 34 15z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt; notifications and &lt;a href=&#34;../../docs/user-guide/search/reports/&#34;&gt;Report&lt;/a&gt; &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Report&#34;&gt;&lt;svg id=&#34;svg5453&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; height=&#34;1792&#34; width=&#34;1792&#34; version=&#34;1.1&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path id=&#34;path5455&#34; fill=&#34;var(--icon-colour__blue)&#34; d=&#34;m602.28 1395.3v-176.23q0-12.85-8.2608-21.111-8.2608-8.2607-21.111-8.2607h-293.72q-12.85 0-21.111 8.2607-8.2608 8.2608-8.2608 21.111v176.23q0 12.85 8.2608 21.111 8.2608 8.2608 21.111 8.2608h293.72q12.85 0 21.111-8.2608 8.2608-8.2607 8.2608-21.111zm0-352.46v-176.23q0-12.85-8.2608-21.111-8.2608-8.2608-21.111-8.2608h-293.72q-12.85 0-21.111 8.2608-8.2608 8.2608-8.2608 21.111v176.23q0 12.85 8.2608 21.111 8.2608 8.2608 21.111 8.2608h293.72q12.85 0 21.111-8.2608 8.2608-8.2607 8.2608-21.111zm469.95 352.46v-176.23q0-12.85-8.2608-21.111-8.2608-8.2607-21.111-8.2607h-293.72q-12.85 0-21.111 8.2607-8.2608 8.2608-8.2608 21.111v176.23q0 12.85 8.2608 21.111 8.2608 8.2608 21.111 8.2608h293.72q12.85 0 21.111-8.2608 8.2608-8.2607 8.2608-21.111zm-469.95-704.92v-176.23q0-12.85-8.2608-21.111-8.2608-8.2608-21.111-8.2608h-293.72q-12.85 0-21.111 8.2608-8.2608 8.2608-8.2608 21.111v176.23q0 12.85 8.2608 21.111 8.2608 8.2608 21.111 8.2608h293.72q12.85 0 21.111-8.2608 8.2608-8.2608 8.2608-21.111zm469.95 352.46v-176.23q0-12.85-8.2608-21.111-8.2608-8.2608-21.111-8.2608h-293.72q-12.85 0-21.111 8.2608-8.2608 8.2608-8.2608 21.111v176.23q0 12.85 8.2608 21.111 8.2608 8.2608 21.111 8.2608h293.72q12.85 0 21.111-8.2608 8.2608-8.2607 8.2608-21.111zm469.95 352.46v-176.23q0-12.85-8.2607-21.111-8.2608-8.2607-21.111-8.2607h-293.72q-12.85 0-21.111 8.2607-8.2607 8.2608-8.2607 21.111v176.23q0 12.85 8.2607 21.111 8.2608 8.2608 21.111 8.2608h293.72q12.85 0 21.111-8.2608 8.2607-8.2607 8.2607-21.111zm-469.95-704.92v-176.23q0-12.85-8.2608-21.111-8.2608-8.2608-21.111-8.2608h-293.72q-12.85 0-21.111 8.2608-8.2608 8.2608-8.2608 21.111v176.23q0 12.85 8.2608 21.111 8.2608 8.2608 21.111 8.2608h293.72q12.85 0 21.111-8.2608 8.2608-8.2608 8.2608-21.111zm469.95 352.46v-176.23q0-12.85-8.2607-21.111-8.2608-8.2608-21.111-8.2608h-293.72q-12.85 0-21.111 8.2608-8.2607 8.2608-8.2607 21.111v176.23q0 12.85 8.2607 21.111 8.2608 8.2608 21.111 8.2608h293.72q12.85 0 21.111-8.2608 8.2607-8.2607 8.2607-21.111zm0-352.46v-176.23q0-12.85-8.2607-21.111-8.2608-8.2608-21.111-8.2608h-293.72q-12.85 0-21.111 8.2608-8.2607 8.2608-8.2607 21.111v176.23q0 12.85 8.2607 21.111 8.2608 8.2608 21.111 8.2608h293.72q12.85 0 21.111-8.2608 8.2607-8.2608 8.2607-21.111zm117.49-293.72v998.63q0 60.579-43.14 103.72-43.14 43.14-103.72 43.14h-1233.6q-60.579 0-103.72-43.14-43.14-43.14-43.14-103.72v-998.63q0-60.579 43.14-103.72 43.14-43.14 103.72-43.14h1233.6q60.579 0 103.72 43.14 43.14 43.14 43.14 103.72z&#34;/&gt;&lt;/svg&gt; &lt;/span&gt;
  &lt;/span&gt; delivery.
Neither will work until an SMTP server has been configured.&lt;/p&gt;
&lt;p&gt;This step is only needed if you intend to use email notifications.
An installation whose rules only write detections to a &lt;span class=&#34;glossary-link link-with-hover-tooltip&#34;&gt;
    &lt;a href=&#34;../../docs/glossary/f/glossary-feed&#34;&gt;
      &lt;span&gt;Feed&lt;/span&gt;
      &lt;i class=&#34;glossary-link-icon fas fa-book fa-sm text-primary&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;&lt;template class=&#34;hover-tooltip-content&#34;&gt;
        &lt;span class=&#34;hover-tooltip-title&#34;&gt;Feed&lt;/span&gt;
        &lt;div class=&#34;hover-tooltip-summary&#34;&gt;A Feed is a means of organising and categorising data in Stroom. A Feed contains multiple &lt;em&gt;Streams&lt;/em&gt; of data that have been ingested into Stroom or output by a &lt;em&gt;Pipeline&lt;/em&gt;. Typically a Feed will contain &lt;em&gt;Streams&lt;/em&gt; of data that are all from one system and have a common data format.&lt;/div&gt;&lt;span class=&#34;hover-tooltip-more-details&#34;&gt;Click to see more details...&lt;/span&gt;&lt;/template&gt;&lt;/span&gt; does not need it.&lt;/p&gt;



&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;
  &lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;
  &lt;div class=&#34;alert-content&#34;&gt;




There is no email configuration in the user interface.
It is set in &lt;code&gt;config.yml&lt;/code&gt; and applies to the whole installation, so rule authors cannot configure it themselves.


  &lt;/div&gt;
&lt;/div&gt;

&lt;h2 id=&#34;configuration&#34;&gt;Configuration&lt;/h2&gt;
&lt;p&gt;Email is configured under the &lt;code&gt;appConfig.analytics.emailConfig&lt;/code&gt; branch.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-yaml&#34;&gt;appConfig:
  analytics:
    emailConfig:
      fromAddress: &amp;quot;noreply@stroom&amp;quot;
      fromName: &amp;quot;Stroom Analytics&amp;quot;
      smtp:
        host: &amp;quot;localhost&amp;quot;
        port: 2525
        transport: &amp;quot;plain&amp;quot;
        username: null
        password: null
&lt;/code&gt;&lt;/pre&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Property&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;fromAddress&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The address that Stroom sends from, and that replies will go to.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;fromName&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The display name shown against the from address.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;host&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The &lt;span class=&#34;glossary-link link-with-hover-tooltip&#34;&gt;
    &lt;a href=&#34;../../docs/glossary/f/glossary-fqdn&#34;&gt;
      &lt;span&gt;Fully Qualified Domain Name (FQDN)&lt;/span&gt;
      &lt;i class=&#34;glossary-link-icon fas fa-book fa-sm text-primary&#34;&gt;&lt;/i&gt;
    &lt;/a&gt;&lt;template class=&#34;hover-tooltip-content&#34;&gt;
        &lt;span class=&#34;hover-tooltip-title&#34;&gt;Fully Qualified Domain Name (FQDN)&lt;/span&gt;
        &lt;div class=&#34;hover-tooltip-summary&#34;&gt;The &lt;strong&gt;F&lt;/strong&gt;ully &lt;strong&gt;Q&lt;/strong&gt;ualified &lt;strong&gt;D&lt;/strong&gt;omain &lt;strong&gt;N&lt;/strong&gt;ame (FQDN) is the complete, unambiguous address of a device or service on the internet, specifying all domain levels including the hostname, domain name, and top-level domain. For example &lt;code&gt;server57.some.domain.com&lt;/code&gt;.&lt;/div&gt;&lt;span class=&#34;hover-tooltip-more-details&#34;&gt;Click to see more details...&lt;/span&gt;&lt;/template&gt;&lt;/span&gt; of the SMTP server.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;port&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The port of the SMTP server.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;transport&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;How Stroom talks to the SMTP server, see below.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;username&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The user to authenticate as, or &lt;code&gt;null&lt;/code&gt; for an unauthenticated server.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;password&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The password to authenticate with, or &lt;code&gt;null&lt;/code&gt; for an unauthenticated server.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The from address and name are set here rather than on each rule, so every email Stroom sends comes from the same place.
It is worth choosing an address that is monitored, or one that makes clear that replies will not be read.&lt;/p&gt;
&lt;h3 id=&#34;transport&#34;&gt;Transport&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;th&gt;Meaning&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;plain&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Plain SMTP with no transport security. This is the default.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;TLS&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;SMTP over TLS.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;SSL&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;SMTP over TLS. Treated identically to &lt;code&gt;TLS&lt;/code&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;



&lt;div class=&#34;alert alert-warning&#34; role=&#34;alert&#34;&gt;
  &lt;h4 class=&#34;alert-heading&#34;&gt;Warning&lt;/h4&gt;
  &lt;div class=&#34;alert-content&#34;&gt;




Any value other than &lt;code&gt;TLS&lt;/code&gt; or &lt;code&gt;SSL&lt;/code&gt; is treated as &lt;code&gt;plain&lt;/code&gt;, including a misspelling.
A typo here will silently send mail unencrypted rather than failing, so it is worth confirming the setting took effect by checking the traffic or the mail server&#39;s logs.


  &lt;/div&gt;
&lt;/div&gt;

&lt;h2 id=&#34;testing&#34;&gt;Testing&lt;/h2&gt;
&lt;p&gt;The quickest way to confirm the configuration works is from a rule rather than from the server.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open or create an Analytic Rule &lt;span class=&#34;stroom-icon inline-svg-button icon-button  &#34; &gt;
    &lt;span class=&#34;face&#34; title=&#34;Analytic rule&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;1792&#34; height=&#34;1792&#34; viewBox=&#34;0 0 1792 1792&#34;&gt;&lt;path style=&#34;fill:var(--icon-colour__orange)&#34; d=&#34;M1333 566q18 20 7 44l-540 1157q-13 25-42 25-4 0-14-2-17-5-25.5-19t-4.5-30l197-808-406 101q-4 1-12 1-18 0-31-11-18-15-13-39l201-825q4-14 16-23t28-9h328q19 0 32 12.5t13 29.5q0 8-5 18l-171 463 396-98q8-2 12-2 19 0 34 15z&#34;/&gt;&lt;/svg&gt;&lt;/span&gt;
  &lt;/span&gt;.&lt;/li&gt;
&lt;li&gt;On the &lt;em&gt;Notifications&lt;/em&gt; tab, add a notification with a &lt;em&gt;Destination Type&lt;/em&gt; of &lt;code&gt;Email&lt;/code&gt; and put your own address in the &lt;em&gt;To&lt;/em&gt; field.&lt;/li&gt;
&lt;li&gt;Click &lt;em&gt;Send Test Email&lt;/em&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This sends an example detection through the whole path, so a message arriving proves the SMTP settings, the from address and the templates all work.&lt;/p&gt;
&lt;p&gt;Where it fails, the error is reported in the user interface.
Errors from real rule executions go to the rule&amp;rsquo;s error feed instead.&lt;/p&gt;



&lt;div class=&#34;alert alert-primary&#34; role=&#34;alert&#34;&gt;
  &lt;h4 class=&#34;alert-heading&#34;&gt;See Also&lt;/h4&gt;
  &lt;div class=&#34;alert-content&#34;&gt;




&lt;a href=&#34;../../docs/user-guide/search/analytics/notifications/&#34;&gt;Rule Notifications&lt;/a&gt;
&lt;a href=&#34;../../docs/user-guide/search/reports/delivery/&#34;&gt;Report Delivery&lt;/a&gt;
&lt;a href=&#34;../../docs/install-guide/configuration/stroom-and-proxy/configuring-stroom/#analytics&#34;&gt;Stroom Configuration&lt;/a&gt;


  &lt;/div&gt;
&lt;/div&gt;


      </description>
    </item>
    
  </channel>
</rss>
