The Speakeasy-ReportGeneration script generates a PDF report containing data obtained from various sources, including membership data and financial data,
Where to Find It
Name of runbook: ReportGenerator. Note: the name will also have the version of PowerShell that the script is using. e.g. if the script uses PowerShell V51, then the name would be “ReportGeneratorV51”.
The script is under source control and can be accessed from the following repository:
Speakeasy Azure Runbook Repository
See the following article which provides an overview, inccluding how to make changes to scripts using git:
See the following document (advanced users only!!) regarding how the script was initially created in the Azure environment: Creating a PowerShell script in Azure
This script will be scheduled to run using multiple schedules which can be viewed via the following link: Speakeasy-ReportGenerator schedules
. At the time of writing these had not been finalised, but a single TrusteesReportSchedule is currently configured to run monthly.
The script generates a log file which can be checked for errors. This can be seen here:
How it Works
The script connects to the Xero finance package and the Speakeasy Membership data (held in Sharepoint), and produces a combined report in a PDF document. Also included in the PDF is an executive summary ion the form of a red-amber-green (RAG) report, which is obtained from a file generated after a member of staff fills out the “Trustees Executive Summary Report Creator” form.
The PDF document will is emailed to Trustees using the Twilio SendGrid email plugin for Azure. As Twilio SendGrid is external to the Speakeasy mail system, it does not by default have access to any of the email distribution groups., so change had to be made to the “Speakeasy-DistributionListProvisioning” runbook script to make the Trustees email group accessible to external users. The report document will also be stored in the following Teams location: AutomatedTrusteeReports
To connect to Xero, the script uses a Xero access token – see the PowerShell scripts
document for runbooks and scripts that relate to accessing Xero. To connect to Sharepoint, the script uses the same mechanism as that used by the distribution list scripts – i.e. connecting using a digital certificate. To generate the PDF document, the script makes use of the iText7 library. See the following details regarding how this library was created: iText7 PowerShell module
A Microsoft Flow called: “Create executive summary reminder task” has been configured to run at the start of each month (may change to quarterly) to prompt a member of the Speakeasy staff to complete the executive summary report which is included as part of the trustees report. This helps try to make sure that the RAG executive summary is prepared prior to automatically generating the Trustees report. More details can be found here: Microsoft Power Automate Flows used by Speakeasy