Сценарий раз в месяц берёт данные из getCourse, собирает из них PDF-отчёт и рассылает его через SendGrid заинтересованным.
Автоматизация SendGrid и getCourse не требует кода: готовый сценарий выполняет рутину сам.
Такой сценарий можно запустить в Scriptera: задача описывается обычными словами, сборка и запуск — на стороне сервиса.