Custom reports

While our pre-built reports offer extensive functionality, you might need highly customized analyses or visualizations that are updated in real-time. Our live CSV export feature, e.g. combined with Google Sheets, empowers you to create dynamic, automatically refreshing custom reports.

This method is particularly useful for:

  • Building bespoke dashboards tailored to unique business metrics.
  • Sharing real-time data with stakeholders who prefer spreadsheet formats.
  • Performing advanced statistical analysis not available in the UI.

Export as CSV

Exporting data as CSV

  1. Navigate to a report: Go to any report that contains the data you wish to analyze. For example, Incidents overview.
  2. Apply filters (Optional): Apply any filters or date ranges to narrow down the data before export. The exported CSV will reflect these selections.
  3. Get your CSV URL: Look for the Export CSV button located near the top right of the report interface and copy the link address.

You now have a URL that holds your real-time reporting data in an easily usable format.

Importing live data into Google Sheets

Create a new Google Spreadsheet. Of course, you can use other software in a similar fashion.

Select cell A1 and use the IMPORTDATA function, pasting the copied URL:

Import your data by pasting URL into A1 cell
=IMPORTDATA("YOUR_EXPORT_CSV_URL_HERE")

Allow loading external data

After allowing access to data from Better Stack, your data from the live CSV endpoint will be fetched. ✨

Live data in Google Spreadsheet

Now that your live data is in Google Sheets, you can use its powerful features, like pivot tables, to create insightful visualizations in an environment you're likely already familiar with.

Seeing numbers instead of dates in columns such as "Started at"?

Select the column, open Format β†’ Number menu and select Date and time.

As a real-world example, explore weekly trends in number of incidents, grouping them by the type of resolution and their urgency based on your metadata.

The example will use these 3 columns of the Incidents overview report:

  • Started at in column D
  • Resolved by in column I
  • Metadata in column K

Weekly incidents trends sheet

Date range format

To group the data on a weekly basis, transform the Started at column into week ranges - such as 2025/11/17 - 2025/11/23.

  1. Write Started in week into the empty cell L1.
  2. Paste the following formula into L2. Feel free to customize the format.
  3. Autofill the rest of the cells in the L column.
Cell L2: Transform "Started at" into a week label Start weeks on Sunday
=TEXT(D4 - WEEKDAY(D4,2) + 1, "yyyy/mm/dd") & " - " & TEXT(D4 - WEEKDAY(D4,2) + 7, "yyyy/mm/dd")
=TEXT(D4 - WEEKDAY(D4,1) + 1, "yyyy/mm/dd") & " - " & TEXT(D4 - WEEKDAY(D4,1) + 7, "yyyy/mm/dd")

Categorize values

To simplify the trend report, it might be great to ignore specific people who resolved the incident. Categorize the Resolved by column into "Ongoing", "Automatically resolved", and "Manually resolved".

  1. Write Resolution type into the empty cell M1.
  2. Paste the following formula into M2. It will replace names of specific team members by "Manually resolved".
  3. Autofill the rest of the cells in the M column.
Cell M2: Simplify "Resolved by" into just 3 states
=IF(OR(I2 = "Ongoing", I2 = "Automatically resolved"), I2, "Manually resolved")

Extract metadata

You can extract any metadata value from your incidents and use it in your report. For example, extract the Urgency key into a separate column.

  1. Write Urgency into the empty cell N1.
  2. Paste the following formula into N2. It will extract values from a specific key in the Metadata column, for example the "Urgency" key.
  3. Autofill the rest of the cells in the N column.
Cell N2: Extract value of specific key in "Metadata"
=IFNA(REGEXEXTRACT(K2, "Urgency: (.*?)(?:;|$)"), "N/A")

Pivot tables

Now, all data are transformed and formatted for your reports.

Go to Insert menu and select Pivot table. Change the data range to Sheet1!A1:N to work with the whole sheet, insert to a new sheet, and click Create.

To see the summary, configure the pivot table:

  • Rows: pick Started in week
  • Columns: pick Resolved type or Urgency
  • Value: pick Started at and summarize by COUNTA
  • Filters: add Started at, and select Filter by condition: Is not empty.

You can see the number of incidents started each week of your report, grouped by the column you selected.

Weekly incidents by resolution type

Quick visualizing

To visualize the data, select all cells of your pivot table, go to Insert menu, and select Chart.

You'll get a quick visualizion of the trends in your started incidents.

Chart weekly incidents by resolution type

Real-time updates

The beauty of this setup is that your custom reports and charts in Google Sheets will automatically update as new data becomes available through the IMPORTDATA function.

This provides you with live, dynamic dashboards without any manual intervention after the initial setup. πŸš€

Tips for custom reports

Google Sheets allows easy sharing and collaboration, enabling you to share your live reports with your team or management.

Leverage other advanced formulas and functions, such as QUERY, FILTER, or SUMIF, for more complex analysis.

This approach gives you unmatched flexibility and control over your reporting, ensuring you always have the insights you need, exactly how you need them.

Common use cases

Track incident response performance

Use Incidents MTTA and Incidents MTTR reports to measure how quickly your team acknowledges and resolves incidents. Filter by escalation policy to compare response times across different severity levels.

Combine with metadata filtering to analyze response times for critical production incidents: environment=production severity=critical.

Monitor service availability

The Monitors SLA report shows compound availability across selected monitors. Filter by resource groups to track SLA for specific services or environments.

Export this data monthly for compliance reports and stakeholder updates.

Review on-call effectiveness

Use On-calls overview to see how many incidents each team member handled during their on-call shifts. Combine with business hours filters to measure activity during and after working hours.

This helps identify on-call load imbalances and potential burnout risks.

Analyze team workload

The Teams response effort report tracks total response interactions per team member. This helps identify workload imbalances and burnout risk.

Compare response effort across teams to ensure fair distribution of incident load.

Generate compliance reports

Export Monitors SLA data to CSV for monthly or quarterly availability reports. Use metadata filters to include only production monitors in your compliance calculations.

Set up saved filter presets for each compliance report you generate regularly.