This Azure Functions app checks which classes have homework set on Microsoft Teams and sends weekly summary emails.
AzureWebJobsStorage- set to the connection string on the storage account connected to the Azure Functions appFUNCTIONS_EXTENSION_VERSION- set to~4FUNCTIONS_WORKER_RUNTIME- set todotnet-isolatedWEBSITE_TIME_ZONE- set your timezone, e.g.GMT Standard TimeTenantId- the Tenant ID of your Azure App RegistrationClientId- the Client ID of your Azure App RegistrationClientSecret- the Client Secret of your Azure App RegistrationPostmarkServerToken- the Server Token of your Postmark account
Create a config blob container. For each school to be configured, add the following files (note the naming convention of each file begins with a school code, which in this example is xyz):
{
"name": "Your School Name",
"fromEmail": "Address from which to send summary emails",
"seniorTeam": ["Array", "of", "teacher", "initials", "in", "SLT"],
"replyTo": "Initials of the teacher to receive email replies",
"classFilter": "Prefix filter for educationClass resources, e.g.: 2025-",
"defaultWeeks": 1,
"customWeeks": [
{ "year": 7, "subject": "Cp", "weeks": 2 }
],
"excludes": [
{ "year": 11, "subject": "Ma", "content": "Revise" }
]
}List each lesson of each class. In this example, the class 7a/Ar1 has two lessons with teacher ABC and one lesson with teacher DEF. Keep the duplicate rows as these are used to work out each class's main teacher.
Class,Staff Code
7a/Ar1,ABC
7a/Ar1,ABC
7a/Ar1,DEF
7a/Ar2,GHI
...
List all the working days of the academic year, in yyyy-MM-dd format.
Date
2023-09-06
2023-09-07
...
List each department and the initials of its Curriculum Leader. Include the department's subjects as a semicolon-delimited list.
Department,CurriculumLeader,Subjects
Art,ABC,Ar;Pt;Tx
Business,GHI,Bu
...
List each teacher, their first name, and their email address.
Code,First,Email
ABC,Alison,[email protected]
DEF,David,[email protected]