Quick StartThe ReportMagic MenuReport StudioFilesSchedulesBatch JobsReport JobsDashboardsProfileAdminAccount DetailsGetting StartedAbout ReportMagicRegistering and Logging InReport LibrarySearching ReportMagicConnections and AgentsWriting ReportsStarting Out With Report StudioCreating Report TemplatesRMScriptMacro ShorthandReporting on Different Periods of TimeSetting Macro Parameter DefaultsStoring Input and Output FilesReport VariablesUsing Variable ParametersSpecifying How Graphs LookStep-by-Step LogicMonitor Graph ExamplesStep-by-Step Jira Graph ExamplesSpecifying How Tables LookChanging Fonts and ColorsUsing Macros in PowerPoint TemplatesRestricted MacrosGenerating Reports Using SchedulesUsing HTML Forms in SchedulesSeeing How Reports RanViewing ReportsCached ValuesUsing AggregationsAdvanced Report StudioAdvanced [Object.Graph:] MacroAPI AccessREST APIREST API - FilesAdvancedRole-Based Access Control (RBAC)SecurityMiscellaneousBadgesCertificationsTips, Tricks and Shortcut KeysMacrosAgentAgent.ConnectionAgent.ExecuteAgent.MonitorMagicNodeListAgent.MonitorMagicNodeMeasurementListAgent.MonitorMagicNodeMeasurementSummaryAgent.MonitorMagicNodePropertyListAgent.MonitorMagicNodeTypeListAgent.PropertyAgent.SqlAnalysisAgent.SqlGraphAgent.SqlListAgent.SqlTableAgent.SqlValueAgent.SqlValuesAgent.WebQueryAlertMagicAlertMagic.MetricsGraphAlertMagic.MetricsListAlertMagic.StatisticsAutoTaskAutoTask.AccountListAutoTask.AccountPropertyAutoTask.ConnectionAutoTask.CountAutoTask.FieldListAutoTask.FieldPropertyAutoTask.ListAutoTask.PropertyAutoTask.SummaryValueAutoTask.TicketListAutoTask.TicketPropertyAzureAzure.ConnectionAzure.LogAnalyticsGraphAzure.LogAnalyticsQueryAzure.LogAnalyticsScalarAzure.LogAnalyticsTableAzure.ResourceGroupListAzure.ResourceListAzure.ResourcePropertiesAzure.SentinelAlertRuleListAzure.SentinelConnectorListAzure.SentinelIncidentListAzure.SentinelThreatIndicatorListAzure.SentinelThreatIndicatorMetricListAzure.SubscriptionListBloggerBlogger.BlogPropertyBlogger.ConnectionBlogger.PageBlogger.PageListBlogger.PagePropertyBlogger.PostBlogger.PostListBlogger.PostPropertyCacheCache.ExpiresCache.GetCache.IsSetCache.SetCache.UnsetCertifyCertify.ConnectionCertify.DepartmentListCertify.DepartmentPropertyCherwellCherwell.BusinessObjectDefinitionListCherwell.BusinessObjectListCherwell.BusinessObjectSchemaCherwell.BusinessObjectSummaryCherwell.ConnectionCiscoCisco.ConnectionCisco.FirmwareVersionPropertyCisco.SecurityAdvisoryListCisco.SerialNumberPropertyCisco.SoftwareSuggestionListCiscoDnaCenterCiscoDnaCenter.ConnectionCiscoDnaCenter.SiteListCiscoDnaCenter.SitePropertyCloudHealthCloudHealth.AssetDetailsCloudHealth.AssetListCloudHealth.AvailableReportDimensionsCloudHealth.AvailableReportOptionsCloudHealth.AvailableReportsListCloudHealth.AwsAccountDetailsCloudHealth.AwsAccountsListCloudHealth.ConnectionCloudHealth.CustomerDetailsCloudHealth.CustomerListCloudHealth.CustomerReportDetailsCloudHealth.CustomerStatementDetailsCloudHealth.OrganisationAccountsListCloudHealth.OrganisationListCloudHealth.QueryCodacyCodacy.ConnectionCodacy.ListConnectWiseManageConnectWiseManage.ConnectionConnectWiseManage.CountConnectWiseManage.DictionaryConnectWiseManage.ListConnectWiseManage.PropertyCoreArrayArray.CountBreakBreakpointCalculateColorCommentContinueConvertDeleteDeleteRowDocumentBookmarkDocumentBreakDocumentInsertSectionDocumentSectionEmailEmailFileEmailReportExecuteForEachFormatTableCellFormatTableRowIfIgnoreIncInsertTableCellImageIsSetLinearRegressionLinkMapObjectRandomRegexRepeatRowSearchAndReplaceSectionSettingsSleepStopStopwatchStringStringIndexSubstringSwitchThrowExceptionUnsetWarningWhileDatabaseDatabase.ConnectionDatabase.GraphDatabase.ListDatabase.TableDatabase.ValueDatabase.ValuesDataMagicDataMagic.SyncDictionaryDictionary.ItemDictionary.KeysDictionary.ValuesDocumentDocument.SetPropertiesDropBoxSignDropBoxSign.ConnectionFileFile.CopyFile.CopyOutputFilesFile.Csv.CellFile.Csv.RowFile.Csv.RowCountFile.Csv.TableFile.EmbedFile.ExecuteFile.ExistsFile.ImageFile.InsertFile.ListFile.LoadListFile.LoadObjectFile.LoadStringFile.LoadVariablesFile.SaveObjectFile.Xlsx.CellFile.Xlsx.RowFile.Xlsx.RowCountFile.Xlsx.TableFunctionFunction.CallFunction.DefineGoogleGoogle.ConnectionGoogle.TableGraphGraph.AddDataGraph.DeleteDataGraph.RenameDataGraph.UpdateGravatarGravatar.ImageHaloPsaHaloPsa.ConnectionHaloPsa.ListHighlightHighlight.BearerSummaryHighlight.BroadbandSummaryHighlight.CellularSummaryHighlight.ConnectionHighlight.FolderListHighlight.HttpServerPerformanceSummaryHighlight.IcmpTcpUdpPerformanceSummaryHighlight.MosPerformanceSummaryHighlight.PrecisionPerformanceSummaryHighlight.TunnelSummaryHighlight.WatchNodeListHighlight.WirelessAccessPointSummaryHubSpotHubSpot.ListHubSpot.PropertyHubSpot.QueryJarrayJarray.TableJiraJira.AttachmentImageJira.AttachmentListJira.AttachmentPropertyJira.ConnectionJira.GraphJira.InsertMarkupJira.IssueAnalysisJira.IssueCommentListJira.IssueCommentPropertyJira.IssueLastCommentPropertyJira.IssueListJira.IssuePropertyJira.IssueResponseTimeJira.LastImageJira.StatusListJira.TableJira.TimeInStateJira.UserListJira.UserPropertyJsonJson.ItemJson.ListKrokiKroki.ImageListList.AddList.AnalysisList.ComplementList.CountList.DequeueList.DuplicatesList.FirstList.GraphList.GroupByList.IndicesOfList.IntersectionList.ItemList.RangeList.SelectList.SelectColumnsList.SortList.SummaryValueList.TableList.UnionList.WhereLogicMonitorLogicMonitor.AccountPropertyLogicMonitor.AlertAnalysisLogicMonitor.AlertCalendarLogicMonitor.AlertCountLogicMonitor.AlertListLogicMonitor.AlertMapLogicMonitor.AlertPropertyLogicMonitor.AlertRuleListLogicMonitor.AlertRulePropertyLogicMonitor.AlertStatusLogicMonitor.AlertTableLogicMonitor.AppliesToFunctionListLogicMonitor.AppliesToFunctionPropertyLogicMonitor.AppliesToListLogicMonitor.AuditEventAnalysisLogicMonitor.BigNumberWidgetValuesLogicMonitor.ClearCacheLogicMonitor.CollectorExecuteLogicMonitor.CollectorGroupListLogicMonitor.CollectorGroupPropertyLogicMonitor.CollectorListLogicMonitor.CollectorPropertyLogicMonitor.CollectorVersionListLogicMonitor.CollectorVersionPropertyLogicMonitor.ConfigCheckListLogicMonitor.ConfigCheckPropertyLogicMonitor.ConfigSourceGroupListLogicMonitor.ConfigSourceListLogicMonitor.ConfigSourcePropertyLogicMonitor.ConfigSourceXmlLogicMonitor.ConnectionLogicMonitor.ConnectionApiTokenLogicMonitor.ConvertToLiveWidgetLogicMonitor.DashboardLogicMonitor.DashboardGroupListLogicMonitor.DashboardGroupPropertyLogicMonitor.DashboardListLogicMonitor.DashboardPropertyLogicMonitor.DashboardWidgetListLogicMonitor.DatamartSyncLogicMonitor.DataPointListLogicMonitor.DataPointPropertyLogicMonitor.DataSourceGraphListLogicMonitor.DataSourceGraphPropertyLogicMonitor.DataSourceGroupListLogicMonitor.DataSourceListLogicMonitor.DataSourcePropertyLogicMonitor.DataSourceXmlLogicMonitor.DeviceConfigSourceFileLogicMonitor.DeviceConfigSourceInstanceListLogicMonitor.DeviceConfigSourceListLogicMonitor.DeviceConfigSourcePropertyLogicMonitor.DeviceCountLogicMonitor.DeviceDataSourceListLogicMonitor.DeviceDataSourcePropertyLogicMonitor.DeviceGroupListLogicMonitor.DeviceGroupPropertyLogicMonitor.DeviceListLogicMonitor.DevicePropertyLogicMonitor.DeviceSlaWidgetPropertyLogicMonitor.DeviceTableLogicMonitor.EscalationChainDestinationListLogicMonitor.EscalationChainDestinationPropertyLogicMonitor.EscalationChainListLogicMonitor.EscalationChainPropertyLogicMonitor.EventSourceFilterListLogicMonitor.EventSourceFilterPropertyLogicMonitor.EventSourceGroupListLogicMonitor.EventSourceListLogicMonitor.EventSourcePropertyLogicMonitor.EventSourceXmlLogicMonitor.FinancialInformationLogicMonitor.ForecastLogicMonitor.GraphLogicMonitor.GraphSpecificationLogicMonitor.HistoricSdtListLogicMonitor.ImageLogicMonitor.InstanceAnalysisLogicMonitor.InstanceCountLogicMonitor.InstanceDetailsTableLogicMonitor.InstanceGroupCountLogicMonitor.InstanceGroupListLogicMonitor.InstanceListLogicMonitor.InstancePropertyLogicMonitor.IntegrationListLogicMonitor.IntegrationPropertyLogicMonitor.JobMonitorListLogicMonitor.JobMonitorPropertyLogicMonitor.LastMeasurementLogicMonitor.LogAnalysisLogicMonitor.LogicModuleMetadataPropertyLogicMonitor.LogicModuleUpdateListLogicMonitor.LogicModuleUpdatePropertyLogicMonitor.LogItemListLogicMonitor.NetscanGroupListLogicMonitor.NetscanGroupPropertyLogicMonitor.NetscanListLogicMonitor.NetscanPropertyLogicMonitor.NewUserMessagePropertyLogicMonitor.PaymentInformationLogicMonitor.PercentageAvailabilityLogicMonitor.PortalVersionLogicMonitor.PropertySourceGroupListLogicMonitor.PropertySourceJsonLogicMonitor.PropertySourceListLogicMonitor.PropertySourcePropertyLogicMonitor.QueryLogicMonitor.RecipientGroupListLogicMonitor.RecipientGroupPropertyLogicMonitor.RecycleBinItemListLogicMonitor.RecycleBinItemPropertyLogicMonitor.ReportGroupListLogicMonitor.ReportGroupPropertyLogicMonitor.ReportListLogicMonitor.ReportPropertyLogicMonitor.ResourceAnalysisLogicMonitor.ResourceGroupAnalysisLogicMonitor.RoleListLogicMonitor.RolePropertyLogicMonitor.SdtListLogicMonitor.SdtPercentageLogicMonitor.SdtPropertyLogicMonitor.SingleSignOnPropertyLogicMonitor.SlaWidgetValuesLogicMonitor.SnmpSysOidMapListLogicMonitor.SnmpSysOidMapPropertyLogicMonitor.SummaryValueLogicMonitor.SummaryValueListLogicMonitor.ThresholdLogicMonitor.TrafficTableLogicMonitor.UnmonitoredDeviceListLogicMonitor.UnmonitoredDevicePropertyLogicMonitor.UserApiTokenListLogicMonitor.UserApiTokenPropertyLogicMonitor.UserListLogicMonitor.UserPropertyLogicMonitor.WebsiteCheckpointDataListLogicMonitor.WebsiteCountLogicMonitor.WebsiteGroupAnalysisLogicMonitor.WebsiteGroupCountLogicMonitor.WebsiteGroupListLogicMonitor.WebsiteGroupPropertyLogicMonitor.WebsiteListLogicMonitor.WebsitePropertyLogicMonitor.WidgetStatusMagicSuiteMagicSuite.ApplyBrandMagicSuite.BadgeListMagicSuite.ConnectionMagicSuite.ConnectionListMagicSuite.ConnectionPropertyMagicSuite.ConnectionStatusPropertyMagicSuite.FeedbackListMagicSuite.FeedbackPropertyMagicSuite.GlobalSettingPropertyMagicSuite.MacroGroupListMagicSuite.MacroHelpMagicSuite.MacroListMagicSuite.ReportBatchJobCountMagicSuite.ReportBatchJobListMagicSuite.ReportBatchJobPropertyMagicSuite.ReportConnectionSummaryMagicSuite.ReportJobCountMagicSuite.ReportJobListMagicSuite.ReportJobPropertyMagicSuite.ReportMacroCountMagicSuite.ReportPropertyMagicSuite.ReportScheduleCountMagicSuite.ReportScheduleListMagicSuite.ReportSchedulePropertyMagicSuite.SetReportPropertyMagicSuite.SubscriptionListMagicSuite.SystemPropertyMagicSuite.TenantImageMagicSuite.TopicHelpMagicSuite.VersionMerakiMeraki.CameraImageMeraki.ConfigurationChangeListMeraki.ConnectionMeraki.DevicePropertyMeraki.DeviceUplinkPropertyMeraki.EndOfLifeMeraki.NetworkClientListMeraki.NetworkDeviceListMeraki.NetworkEventListMeraki.NetworkListMeraki.NetworkPropertyMeraki.NetworkSwitchPortsListMeraki.NetworkSwitchStackListMeraki.OrganizationDeviceLicenseListMeraki.OrganizationDeviceLicensePropertyMeraki.OrganizationDeviceListMeraki.OrganizationDeviceListStatusPropertyMeraki.OrganizationInventoryListMeraki.OrganizationLicenseStatePropertyMeraki.OrganizationListMeraki.OrganizationPropertyMeraki.OrganizationUplinkUsageMeraki.WirelessNetworkClientConnectionStatsPropertyMeraki.WirelessNetworkClientLatencyListMeraki.WirelessNetworkClientsConnectionStatsListMeraki.WirelessNetworkClientsLatencyListMeraki.WirelessNetworkConnectionStatsPropertyMeraki.WirelessNetworkDeviceConnectionStatsPropertyMeraki.WirelessNetworkDeviceLatencyListMeraki.WirelessNetworkDevicesConnectionStatsListMeraki.WirelessNetworkDevicesLatencyListMeraki.WirelessNetworkLatencyListMicrosoftDataverseMicrosoftDataverse.ConnectionMicrosoftDataverse.CountMicrosoftDataverse.EntityDefinitionsListMicrosoftDataverse.EntityListMicrosoftDataverse.EntityPropertyListMicrosoftDataverse.ListMicrosoftDataverse.PropertyMicrosoftGraphMicrosoftGraph.ConnectionMicrosoftGraph.QueryObjectObject.ArrayCountObject.GraphObject.PropertyObject.TypeObject.UnpackObject.UnpackVariablesOpenAiOpenAi.AnswerOpenAi.CompleteOpenAi.ConnectionOpenAi.ImageQuickBooksQuickBooks.ConnectionQuickBooks.PropertySalesforceSalesforce.ConnectionSalesforce.ListSalesforce.PropertyServiceNowServiceNow.ConnectionServiceNow.CountServiceNow.CreateServiceNow.DeleteServiceNow.DictionaryServiceNow.ListServiceNow.PropertyServiceNow.UpdateShapeShape.AddShape.CloneShape.DeleteShape.FormatShape.HideShape.SetPropertyShape.SetTextSideroLabsOmniSideroLabsOmni.ConnectionSideroLabsOmni.ListSideroLabsOmni.ObjectSlackSlack.ConnectionSlack.MessageSlideSlide.DeleteSlide.DeleteSectionSlide.LinkSlide.MoveToSlide.RepeatSmtpSmtp.ConnectionSnmpSnmp.EnterprisePropertySolarWindsSolarWinds.ConnectionSolarWinds.SqlListSolarWinds.SqlTableSolarWindsServiceDeskSolarWindsServiceDesk.ConnectionSolarWindsServiceDesk.ListSolarWindsServiceDesk.PropertySqlSql.AnalysisTableTable.ColumnCountTable.DeleteTable.FormatTable.GraphTable.MergeCellsTable.MergeRowsTable.RowCountTable.SaveTable.SortTable.WorldMapTimeCalendarCronHumanReadableCronRunDateDateRangeDateTimeDateTime.IsInWorkHoursDateTime.WorkHoursDurationTimeSpanTogglToggl.ClientListToggl.ClientPropertyToggl.ConnectionToggl.ProjectListToggl.ProjectPropertyToggl.ProjectReportPropertyToggl.TimeEntryListToggl.TimeEntryPropertyToggl.UserListToggl.UserPropertyToggl.WorkspaceListToggl.WorkspacePropertyTwilioTwilio.ConnectionTwilio.SmsUkParliamentUkParliament.PetitionCountUkParliament.PetitionListUkParliament.PetitionPropertyVariableVariable.ImageVariable.ListVariable.PropertyWebWeb.ConnectionWeb.HtmlWeb.ImageWeb.QueryWeb.ScreenshotWeb.TableWeb.TextXlsxXlsx.AddAnalysisXlsx.EmbedZendeskZendesk.ConnectionZendesk.ListZendesk.PropertyZoho.DeskZoho.Desk.ZohoListZoho.Desk.ZohoProperty
[LogicMonitor.AlertAnalysis:]

Adds an Alert Analysis tab to the XLSX output document.


Compatibility

The macro can be used in the highlighted input document types only. A greyed-out icon indicates not supported.


Usage

Does not work in Report Studio. More details about alert macros can be found at https://reportmagic.blogspot.com/p/reportmagic-alert-macros.html. The default columns output into the XLSX file are: 'AckComment', 'Acked', 'AckedBy', 'AckedOnUtc', 'Active', 'AlertRecipients', 'AlertRuleId', 'AlertRuleName', 'AlertType', 'Body', 'ClearValue', 'DataPoint', 'DataSourceId', 'DataSourceName', 'DataSourceInstance', 'DataSourceInstanceDescription', 'DataSourceInstanceId', 'GroupLevel1', 'GroupLevel2', 'GroupLevel3', 'GroupLevel4', 'GroupLevel5', 'GroupFullPath', 'ResourceId', 'ResourceName', 'EndOnUtc', 'EndOnUtcDate', 'EndOnUtcDateDayOfWeek', 'EndOnUtcDateHourOfDay', 'EscalationChainId', 'EscalationChainName', 'EscalationSubChainId', 'Id', 'InScheduledDownTime', 'Level', 'NextRecipient', 'StartOnUtc', 'StartOnUtcDate', 'StartOnUtcDateDayOfWeek', 'StartOnUtcDateHourOfDay', 'Subject', 'Thresholds', 'InternalId', 'Value', 'DurationGroup', 'DurationString', 'DurationMinutes', 'Count', 'FractionalCount' and 'AffectedGroupCount'. This macro intentionally fails if the date range is greater than 3 months, for memory and performance reasons.


Parameters (79)
Behaviour (2)8 additional
Parameter TypePresencePurpose Options Default
maxAttempts
Int32OptionalThe maximum number of attempts when requesting data via the LogicMonitor API.
  • From 1 to 2147483647
N/A
waitDuringUpgrades
BooleanOptionalWhether to wait during LogicMonitor upgrades (i.e. execution essentially pauses).
  • true
  • false
N/A
Additional (8)
Parameter TypePresencePurpose Options Default
auto
BooleanOptionalIf 'true', the reporting period will be the last calendar month and neither startDate nor endDate parameters may be used.
  • true
  • false
false
errorOnOverflow
BooleanOptionalShould NCalc expression evaluation throw error on Overflow
  • true
  • false
true
if
StringOptionalThe condition that must be true in order for the macro to be executed/evaluated. Must either evaluate to true or false, for example: "3+5=8" or "contains('abcd', 'z'). N/A true
mode
MacroModeOptionalThe mode in which variables are stored. In the legacy mode (default for Schedules), the variable created is a string and formatted. In the normal mode (default for Report Studio), the output variable is stored as a strongly-typed theObject, e.g. an Int32 or a List etc., rather than a formatted string.
  • Legacy
  • Normal
Legacy
obfuscation
ObfuscationTypeOptionalObfuscation type. Use obfuscation to write reports where sensitive data is hidden. When used, ReportMagic guarantees that the same input string will map to the same output string for the whole of the report (but the next time the report runs, it will most likely map to a different value). If you use obfuscation, the property in your macro will not show up and instead, you will see a fake item of the obfuscation type chosen.
  • None
  • UkTown
  • DeviceName
  • Company
  • IpAddress
  • PrivateIpAddress
None
recurseDeviceGroups
BooleanOptionalWhether to recurse device groups. Specify true to include alerts from child device groups.
  • true
  • false
true
useCache
BooleanOptionalWhether to use the cache (where supported).
  • true
  • false
false
warning
StringOptionalIf specified, adds a warning message for this macro. This is processed as an NCalc, and the warning message will ALWAYS be present and will be the value of the evaluated NCalc expression. N/A N/A
Chart (1)
Parameter TypePresencePurpose Options Default
addChart
BooleanOptionalWhether to add a chart to the Analytics worksheet.
  • true
  • false
true
Time & Date (3)
Parameter TypePresencePurpose Options Default
endDate
DateTimeOffsetOptionalThe end date in the format YYYY-MM-DD. N/A Midnight on the first day of this month
monthsToReport
Int32OptionalIf set, sets 'endDate' to the 'start' plus the specified number of months. N/A N/A
startDate
DateTimeOffsetOptionalThe start date in the format YYYY-MM-DD. N/A Midnight on the first day of last month
Filtering & Sorting (7)6 additional
Parameter TypePresencePurpose Options Default
excludeDeletedDevices
BooleanOptionalWhether to exclude Alerts for Resources that no longer exist in the portal (based on Resource ID). This has no effect unless useCache=true (as Resources removed from LogicMonitor automatically causes their alerts to be deleted).
  • true
  • false
false
excludeDeletedResources
BooleanOptionalWhether to exclude alerts for Resources that no longer exist in the portal (based on Resource ID). This has no effect unless useCache=true (as Resources removed from LogicMonitor automatically causes their alerts to be deleted).
  • true
  • false
false
excludeGroups
List<String>OptionalThe full paths of the groups to exclude. N/A N/A
includeBody
BooleanOptionalWhether to include the Alert body.
  • true
  • false
false
includeSubject
BooleanOptionalWhether to include the Alert subject.
  • true
  • false
false
level
AlertLevelOptionalThe Alert level.
  • Warning
  • All
  • Error
  • Critical
  • DoMapping
  • Any
Warning
pivotTableFilterFields
List<String>OptionalThe pivot table filter fields. In Excel's PivotTable Fields UI, these correspond to the items in the 'Filters' section. You an use any of the heading names: 'AckComment', 'Acked', 'AckedBy', 'AckedOnUtc', 'Active', 'AlertRecipients', 'AlertRuleId', 'AlertRuleName', 'AlertType', 'Body', 'ClearValue', 'DataPoint', 'DataSourceId', 'DataSourceName', 'DataSourceInstance', 'DataSourceInstanceDescription', 'DataSourceInstanceId', 'GroupLevel1', 'GroupLevel2', 'GroupLevel3', 'GroupLevel4', 'GroupLevel5', 'GroupFullPath', 'ResourceId', 'ResourceName', 'EndOnUtc', 'EndOnUtcDate', 'EndOnUtcDateDayOfWeek', 'EndOnUtcDateHourOfDay', 'EscalationChainId', 'EscalationChainName', 'EscalationSubChainId', 'Id', 'InScheduledDownTime', 'Level', 'NextRecipient', 'StartOnUtc', 'StartOnUtcDate', 'StartOnUtcDateDayOfWeek', 'StartOnUtcDateHourOfDay', 'Subject', 'Thresholds', 'InternalId', 'Value', 'DurationGroup', 'DurationString', 'DurationMinutes', 'FractionalCount' and 'AffectedGroupCount'. N/A N/A
Additional (6)
Parameter TypePresencePurpose Options Default
ackFilter
AckFilterOptionalAll: Both non-acknowledged alerts and acknowledged alerts will be returned. Acked: Alerts that have been acknowledged will be returned. Nonacked: Alerts that have not been acknowledged will be returned.
  • All
  • Acked
  • Nonacked
All
includeInactive
BooleanOptionaltrue: Historical alert records will be returned (i.e. both active and inactive alert details). false: Only active alert details will be returned.
  • true
  • false
true
orderBy
StringOptionalThe order the alerts should be retrieved in. N/A StartOnSeconds
orderDirection
OrderDirectionOptionalThe direction of the order the alerts should be retrieved in.
  • Desc
  • Asc
Desc
skip
Int32OptionalThe number of items to skip. N/A N/A
take
Int32OptionalThe maximum number to take. N/A N/A
Output (2)
Parameter TypePresencePurpose Options Default
failureText
StringOptionalThe text to display should the macro fail to execute. Note that a poorly-specified macro (e.g. omitting mandatory parameters) will still result in an error message. N/A N/A
failureVariable
StringOptionalThe name of a variable to create should the macro fail to execute. The variable will be a text variable, and will contain either the failure text (only if the failureText parameter is set), otherwise it will contain the exception / failure message. N/A N/A
General (8)23 additional
Parameter TypePresencePurpose Options Default
addTitle
BooleanOptionalWhether to add a title to the Analytics worksheet.
  • true
  • false
true
columnGrandTotals
BooleanOptionalWhether to add column grand totals to the pivot table.
  • true
  • false
true
pivotTableColumnFields
List<String>OptionalThe pivot table column fields. In Excel's PivotTable Fields UI, these correspond to the items in the 'Columns' section. You an use any of the heading names: 'AckComment', 'Acked', 'AckedBy', 'AckedOnUtc', 'Active', 'AlertRecipients', 'AlertRuleId', 'AlertRuleName', 'AlertType', 'Body', 'ClearValue', 'DataPoint', 'DataSourceId', 'DataSourceName', 'DataSourceInstance', 'DataSourceInstanceDescription', 'DataSourceInstanceId', 'GroupLevel1', 'GroupLevel2', 'GroupLevel3', 'GroupLevel4', 'GroupLevel5', 'GroupFullPath', 'ResourceId', 'ResourceName', 'EndOnUtc', 'EndOnUtcDate', 'EndOnUtcDateDayOfWeek', 'EndOnUtcDateHourOfDay', 'EscalationChainId', 'EscalationChainName', 'EscalationSubChainId', 'Id', 'InScheduledDownTime', 'Level', 'NextRecipient', 'StartOnUtc', 'StartOnUtcDate', 'StartOnUtcDateDayOfWeek', 'StartOnUtcDateHourOfDay', 'Subject', 'Thresholds', 'InternalId', 'Value', 'DurationGroup', 'DurationString', 'DurationMinutes', 'FractionalCount' and 'AffectedGroupCount'. N/A N/A
pivotTableRowFields
List<String>OptionalThe pivot table row fields. In Excel's PivotTable Fields UI, these correspond to the items in the 'Rows' section. You an use any of the heading names: 'AckComment', 'Acked', 'AckedBy', 'AckedOnUtc', 'Active', 'AlertRecipients', 'AlertRuleId', 'AlertRuleName', 'AlertType', 'Body', 'ClearValue', 'DataPoint', 'DataSourceId', 'DataSourceName', 'DataSourceInstance', 'DataSourceInstanceDescription', 'DataSourceInstanceId', 'GroupLevel1', 'GroupLevel2', 'GroupLevel3', 'GroupLevel4', 'GroupLevel5', 'GroupFullPath', 'ResourceId', 'ResourceName', 'EndOnUtc', 'EndOnUtcDate', 'EndOnUtcDateDayOfWeek', 'EndOnUtcDateHourOfDay', 'EscalationChainId', 'EscalationChainName', 'EscalationSubChainId', 'Id', 'InScheduledDownTime', 'Level', 'NextRecipient', 'StartOnUtc', 'StartOnUtcDate', 'StartOnUtcDateDayOfWeek', 'StartOnUtcDateHourOfDay', 'Subject', 'Thresholds', 'InternalId', 'Value', 'DurationGroup', 'DurationString', 'DurationMinutes', 'FractionalCount' and 'AffectedGroupCount'. N/A N/A
pivotTableValueFields
List<String>OptionalThe pivot table value fields. In Excel's PivotTable Fields UI, these correspond to the items in the 'Values' section. For each column name, you can specify the aggregation to use via the ^ character e.g. column1^Sum. Omit this to use the default Count aggregation. Valid aggregation values are: 'Average', 'Count', 'CountNumbers', 'Max', 'Min', 'Product', 'StdDev', 'StdDevP', 'Sum', 'Var' or 'VarP'. For each column name, if and only if you have specified an aggregation, you can also specify the number format to use in the pivot table and chart. To do this, use an additional caret separator and specify the number format. For example: column1^Sum^0.00 would use 2 decimal places for the format. You an use any of the heading names: 'AckComment', 'Acked', 'AckedBy', 'AckedOnUtc', 'Active', 'AlertRecipients', 'AlertRuleId', 'AlertRuleName', 'AlertType', 'Body', 'ClearValue', 'DataPoint', 'DataSourceId', 'DataSourceName', 'DataSourceInstance', 'DataSourceInstanceDescription', 'DataSourceInstanceId', 'GroupLevel1', 'GroupLevel2', 'GroupLevel3', 'GroupLevel4', 'GroupLevel5', 'GroupFullPath', 'ResourceId', 'ResourceName', 'EndOnUtc', 'EndOnUtcDate', 'EndOnUtcDateDayOfWeek', 'EndOnUtcDateHourOfDay', 'EscalationChainId', 'EscalationChainName', 'EscalationSubChainId', 'Id', 'InScheduledDownTime', 'Level', 'NextRecipient', 'StartOnUtc', 'StartOnUtcDate', 'StartOnUtcDateDayOfWeek', 'StartOnUtcDateHourOfDay', 'Subject', 'Thresholds', 'InternalId', 'Value', 'DurationGroup', 'DurationString', 'DurationMinutes', 'FractionalCount' and 'AffectedGroupCount'. N/A N/A
resourceProperties
List<String>OptionalFor each resource / website property specified (auto, custom, inherited or system properties), this includes the property name as a header in the XLSX 'fact' worksheet, and its value when present (otherwise empty). Note: the macro may take significantly longer to run in this case. N/A N/A
rowGrandTotals
BooleanOptionalWhether to add row grand totals to the pivot table.
  • true
  • false
false
worksheetName
StringOptionalThe name to use for the analytics worksheet (which will contain the pivot table and chart). The data worksheet (which will contain the 'fact table') uses this name plus the suffix ' Data'. If a worksheet by this name already exists, the new name will have a number appended, e.g. Analytics1, Analytics2, etc. Excel does not allow blank names, names above 31 characters, and the following characters: :, /, \, ?, *, [, ]. N/A Alert Analytics
Additional (23)
Parameter TypePresencePurpose Options Default
resourceTemplateId
Int32ConditionalOnly include alerts relating to a LogicModule with this Id. WARNING! Multiple LogicModules could have the same Id. Only use with useCache=true. N/A N/A
ackCommentMatchesRegex
RegexOptionalIf present, only alerts with acknowledgement comments matching the regular expression are included. N/A N/A
alertTypes
List<String>OptionalThe semicolon-separated list of alertTypes to fetch. Options are: 'AlertThrottled', 'BatchJob', 'CollectorDown', 'CollectorFailBack', 'CollectorFailover', 'DataSource', 'EventSource', 'Log', 'ResourceCluster', 'Unknown' or 'Website'. N/A N/A
comment
StringOptionalAdd a comment to make your document template more readable. The comment is discarded in the output document. N/A N/A
connectionName
StringOptionalThe name of the Connection. N/A N/A
dataPoint
StringOptionalThe name of the dataPoint that you want to retrieve alert data for. N/A N/A
dataSource
StringOptionalThe DataSource unique name. N/A N/A
dataSourceInstance
StringOptionalThe Datasource Instance e.g. WinVolumeUsage-F: N/A N/A
desiredExecutionResult
ExecutionResultOptionalIf specified, asserts the expected execution result of the macro. The macro executes normally; if the actual result matches the desired value, the result is converted to Success. If the actual result does not match, the result is converted to MacroError with a descriptive message. This is primarily used for testing and diagnostic purposes. Valid values are: Unknown, Success, MacroError, WorkerStopped, Running, Warning, NeverRun, Cancelled, Pending, Paused, SystemError, Deferred, Stopped.
  • Cancelled
  • Deferred
  • MacroError
  • NeverRun
  • Paused
  • Pending
  • Running
  • Stopped
  • Success
  • SystemError
  • Warning
  • WorkerStopped
N/A
expectedType
StringOptionalIf specified, asserts the expected output type of the macro result. The macro executes normally; if the actual type does not match, a macro error is generated. Requires 'storeAs', 'storeAsHidden', or 'storeFormattedValueAs' to be set for typed validation. Valid types include CLR names (e.g. Int32, Int64, Single, Double, Boolean, String, JArray, JObject) and C# keyword aliases (e.g. int, long, float, double, bool, string, uint, ulong, short, ushort, byte, sbyte, decimal, char, object). The special value 'Number' matches any numeric type. N/A N/A
expectedValue
StringOptionalIf specified, asserts the expected output value of the macro result. The macro executes normally; if the actual value does not match, a macro error is generated. When 'storeAs' or 'storeAsHidden' is set, the stored variable value is compared. Otherwise, the document output text is compared. N/A N/A
id
StringOptionalThe specific unique alert ID to fetch. N/A N/A
minimumDurationMinutes
Int32OptionalFilter alerts where the alert has been active for more than the specified number of minutes. N/A N/A
monitorObjectDisplayName
StringOptionalThe display name of the device that you want to retrieve alert data for. If used, do not specify monitorObjectId. N/A N/A
monitorObjectId
Int32OptionalSimply the ID of the device/website/collector that you want to retrieve alert data for. If used, do not specify monitorObjectDisplayName. When used with 'useCache=false', you should also specify whether the entity (in LogicMonitor) in question is a Device, a Website or something else using 'monitorObjectType'. When using the cache, this is not necessary. N/A N/A
monitorObjectType
MonitorObjectTypeOptionalDetermines whether the monitored object in question is a Device or a Website, when specifying the Monitor Object ID and 'useCache=false'. This is necessary because there are specific LogicMonitor API calls to fetch alerts that are used in each case, in order to ensure that, for example, a Device that has had its name changed can still be queried for all alerts by its ID. Just specifying the Monitor Object ID alone is insufficient to determine the type.
  • Device
  • Other
  • Website
Device
problemSignature
StringOptionalOnly include alerts matching this problem signature (InternalId). N/A N/A
resourceGroupName
StringOptionalOnly include alerts relating to this device group (end with an asterisk (*) to include child device groups). Use "/" or not value to reference the root folder. N/A N/A
resourceTemplateDisplayName
StringOptionalOnly include alerts relating to a LogicModule with this **Display Name** (NOT unique name). WARNING! Multiple LogicModules (even of the same type) could have the same display name. N/A N/A
resourceTemplateDisplayNameMatchesRegex
RegexOptionalIf present, only alerts with a resource template name matching the regular expression are included. N/A N/A
sdted
SdtFilterOptionalFilter alerts by SDT status where SDT means only include alerts created during SDT in the results, NonSdt means only include alerts created outside SDT in the results and All shows all alerts.
  • All
  • Sdt
  • NonSdt
All
serviceId
Int32OptionalDEPRECATED N/A N/A
serviceName
StringOptionalDEPRECATED N/A N/A
Deprecated (5)14 additional
Parameter TypePreferred ParameterPurpose Options Default
columnFields
List<String>pivotTableColumnFieldsThe pivot table column fields. In Excel's PivotTable Fields UI, these correspond to the items in the 'Columns' section. You an use any of the heading names: 'AckComment', 'Acked', 'AckedBy', 'AckedOnUtc', 'Active', 'AlertRecipients', 'AlertRuleId', 'AlertRuleName', 'AlertType', 'Body', 'ClearValue', 'DataPoint', 'DataSourceId', 'DataSourceName', 'DataSourceInstance', 'DataSourceInstanceDescription', 'DataSourceInstanceId', 'GroupLevel1', 'GroupLevel2', 'GroupLevel3', 'GroupLevel4', 'GroupLevel5', 'GroupFullPath', 'ResourceId', 'ResourceName', 'EndOnUtc', 'EndOnUtcDate', 'EndOnUtcDateDayOfWeek', 'EndOnUtcDateHourOfDay', 'EscalationChainId', 'EscalationChainName', 'EscalationSubChainId', 'Id', 'InScheduledDownTime', 'Level', 'NextRecipient', 'StartOnUtc', 'StartOnUtcDate', 'StartOnUtcDateDayOfWeek', 'StartOnUtcDateHourOfDay', 'Subject', 'Thresholds', 'InternalId', 'Value', 'DurationGroup', 'DurationString', 'DurationMinutes', 'FractionalCount' and 'AffectedGroupCount'. N/A N/A
excludeDeletedDevices
BooleanexcludeDeletedResourcesWhether to exclude alerts for Resources that no longer exist in the portal (based on Resource ID). This has no effect unless useCache=true (as Resources removed from LogicMonitor automatically causes their alerts to be deleted).
  • true
  • false
false
filterFields
List<String>pivotTableFilterFieldsThe pivot table filter fields. In Excel's PivotTable Fields UI, these correspond to the items in the 'Filters' section. You an use any of the heading names: 'AckComment', 'Acked', 'AckedBy', 'AckedOnUtc', 'Active', 'AlertRecipients', 'AlertRuleId', 'AlertRuleName', 'AlertType', 'Body', 'ClearValue', 'DataPoint', 'DataSourceId', 'DataSourceName', 'DataSourceInstance', 'DataSourceInstanceDescription', 'DataSourceInstanceId', 'GroupLevel1', 'GroupLevel2', 'GroupLevel3', 'GroupLevel4', 'GroupLevel5', 'GroupFullPath', 'ResourceId', 'ResourceName', 'EndOnUtc', 'EndOnUtcDate', 'EndOnUtcDateDayOfWeek', 'EndOnUtcDateHourOfDay', 'EscalationChainId', 'EscalationChainName', 'EscalationSubChainId', 'Id', 'InScheduledDownTime', 'Level', 'NextRecipient', 'StartOnUtc', 'StartOnUtcDate', 'StartOnUtcDateDayOfWeek', 'StartOnUtcDateHourOfDay', 'Subject', 'Thresholds', 'InternalId', 'Value', 'DurationGroup', 'DurationString', 'DurationMinutes', 'FractionalCount' and 'AffectedGroupCount'. N/A N/A
rowFields
List<String>pivotTableRowFieldsThe pivot table row fields. In Excel's PivotTable Fields UI, these correspond to the items in the 'Rows' section. You an use any of the heading names: 'AckComment', 'Acked', 'AckedBy', 'AckedOnUtc', 'Active', 'AlertRecipients', 'AlertRuleId', 'AlertRuleName', 'AlertType', 'Body', 'ClearValue', 'DataPoint', 'DataSourceId', 'DataSourceName', 'DataSourceInstance', 'DataSourceInstanceDescription', 'DataSourceInstanceId', 'GroupLevel1', 'GroupLevel2', 'GroupLevel3', 'GroupLevel4', 'GroupLevel5', 'GroupFullPath', 'ResourceId', 'ResourceName', 'EndOnUtc', 'EndOnUtcDate', 'EndOnUtcDateDayOfWeek', 'EndOnUtcDateHourOfDay', 'EscalationChainId', 'EscalationChainName', 'EscalationSubChainId', 'Id', 'InScheduledDownTime', 'Level', 'NextRecipient', 'StartOnUtc', 'StartOnUtcDate', 'StartOnUtcDateDayOfWeek', 'StartOnUtcDateHourOfDay', 'Subject', 'Thresholds', 'InternalId', 'Value', 'DurationGroup', 'DurationString', 'DurationMinutes', 'FractionalCount' and 'AffectedGroupCount'. N/A N/A
valueFields
List<String>pivotTableValueFieldsThe pivot table value fields. In Excel's PivotTable Fields UI, these correspond to the items in the 'Values' section. For each column name, you can specify the aggregation to use via the ^ character e.g. column1^Sum. Omit this to use the default Count aggregation. Valid aggregation values are: 'Average', 'Count', 'CountNumbers', 'Max', 'Min', 'Product', 'StdDev', 'StdDevP', 'Sum', 'Var' or 'VarP'. For each column name, if and only if you have specified an aggregation, you can also specify the number format to use in the pivot table and chart. To do this, use an additional caret separator and specify the number format. For example: column1^Sum^0.00 would use 2 decimal places for the format. You an use any of the heading names: 'AckComment', 'Acked', 'AckedBy', 'AckedOnUtc', 'Active', 'AlertRecipients', 'AlertRuleId', 'AlertRuleName', 'AlertType', 'Body', 'ClearValue', 'DataPoint', 'DataSourceId', 'DataSourceName', 'DataSourceInstance', 'DataSourceInstanceDescription', 'DataSourceInstanceId', 'GroupLevel1', 'GroupLevel2', 'GroupLevel3', 'GroupLevel4', 'GroupLevel5', 'GroupFullPath', 'ResourceId', 'ResourceName', 'EndOnUtc', 'EndOnUtcDate', 'EndOnUtcDateDayOfWeek', 'EndOnUtcDateHourOfDay', 'EscalationChainId', 'EscalationChainName', 'EscalationSubChainId', 'Id', 'InScheduledDownTime', 'Level', 'NextRecipient', 'StartOnUtc', 'StartOnUtcDate', 'StartOnUtcDateDayOfWeek', 'StartOnUtcDateHourOfDay', 'Subject', 'Thresholds', 'InternalId', 'Value', 'DurationGroup', 'DurationString', 'DurationMinutes', 'FractionalCount' and 'AffectedGroupCount'. N/A N/A
Additional (14)
Parameter TypePreferred ParameterPurpose Options Default
alertType
List<String>alertTypesThe semicolon-separated list of alertTypes to fetch. Options are: 'AlertThrottled', 'BatchJob', 'CollectorDown', 'CollectorFailBack', 'CollectorFailover', 'DataSource', 'EventSource', 'Log', 'ResourceCluster', 'Unknown' or 'Website'. N/A N/A
collectorId
Int32monitorObjectIdSimply the ID of the device/website/collector that you want to retrieve alert data for. If used, do not specify monitorObjectDisplayName. When used with 'useCache=false', you should also specify whether the entity (in LogicMonitor) in question is a Device, a Website or something else using 'monitorObjectType'. When using the cache, this is not necessary. N/A N/A
dataSourceInstanceName
StringdataSourceInstanceThe Datasource Instance e.g. WinVolumeUsage-F: N/A N/A
dataSourceName
StringdataSourceThe DataSource unique name. N/A N/A
device
StringmonitorObjectDisplayNameThe display name of the device that you want to retrieve alert data for. If used, do not specify monitorObjectId. N/A N/A
deviceGroup
StringresourceGroupNameOnly include alerts relating to this device group (end with an asterisk (*) to include child device groups). Use "/" or not value to reference the root folder. N/A N/A
deviceId
Int32monitorObjectIdSimply the ID of the device/website/collector that you want to retrieve alert data for. If used, do not specify monitorObjectDisplayName. When used with 'useCache=false', you should also specify whether the entity (in LogicMonitor) in question is a Device, a Website or something else using 'monitorObjectType'. When using the cache, this is not necessary. N/A N/A
deviceName
StringmonitorObjectDisplayNameThe display name of the device that you want to retrieve alert data for. If used, do not specify monitorObjectId. N/A N/A
filterSDT
SdtFiltersdtedFilter alerts by SDT status where SDT means only include alerts created during SDT in the results, NonSdt means only include alerts created outside SDT in the results and All shows all alerts.
  • All
  • Sdt
  • NonSdt
All
group
StringresourceGroupNameOnly include alerts relating to this device group (end with an asterisk (*) to include child device groups). Use "/" or not value to reference the root folder. N/A N/A
host
StringmonitorObjectDisplayNameThe display name of the device that you want to retrieve alert data for. If used, do not specify monitorObjectId. N/A N/A
internalId
StringproblemSignatureOnly include alerts matching this problem signature (InternalId). N/A N/A
results
Int32takeThe maximum number to take. N/A N/A
websiteId
Int32monitorObjectIdSimply the ID of the device/website/collector that you want to retrieve alert data for. If used, do not specify monitorObjectDisplayName. When used with 'useCache=false', you should also specify whether the entity (in LogicMonitor) in question is a Device, a Website or something else using 'monitorObjectType'. When using the cache, this is not necessary. N/A N/A

Examples (3)

Example 1Normal mode

This Normal Mode example fetches all Alerts with a level of error for the specific Resource Group (historically known as a Device Group) and sets a custom worksheet name:

[LogicMonitor.DeviceGroupList: mode=Normal, deviceGroups=/, recurseDeviceGroups=true, property=FullPath, =>A, orderBy=Description][Json.List: jArray=`{A}`, jsonPath="$.[0].FullPath", =>DeviceFullPath] *** [String: value={DeviceFullPath}] *** : [LogicMonitor.AlertAnalysis: worksheetName=My Analytics Worksheet, level=Error, resourceGroupName={DeviceFullPath}, failureText=No info]

Example 2Normal mode

This Normal Mode example adds additional columns to the source data worksheet (the 'fact' worksheet) to insert the value of the system property 'system.collectorid' and a custom property 'customer.code':

[LogicMonitor.DeviceGroupList: mode=Normal, deviceGroups=/, recurseDeviceGroups=true, property=FullPath, =>A, orderBy=Description][Json.List: jArray=`{A}`, jsonPath="$.[0].FullPath", =>DeviceFullPath] *** [String: value={DeviceFullPath}] *** : [LogicMonitor.AlertAnalysis: level=Error, resourceGroupName={DeviceFullPath}, resourceProperties=system.collectorid;customer.code, failureText=No info]

Example 3Normal mode

This Normal Mode example customises and sets up the pivot table in the analysis worksheet:

[LogicMonitor.DeviceGroupList: mode=Normal, deviceGroups=/, recurseDeviceGroups=true, property=FullPath, =>A, orderBy=Description][Json.List: jArray=`{A}`, jsonPath="$.[0].FullPath", =>DeviceFullPath] *** [String: value={DeviceFullPath}] *** : [LogicMonitor.AlertAnalysis: level=Error, resourceGroupName={DeviceFullPath}, pivotTableColumnFields=AckedBy, pivotTableFilterFields=Acked, pivotTableRowFields=AckedOnUtc;Active, pivotTableValueFields=Acked, failureText=No info]
An unhandled error has occurred. Reload 🗙