Skip to main content

Real-World Example

Maya wants the operations team to receive a weekly Notice Responses report every Monday. She creates a scheduled export, selects Notice Responses, chooses Weekly, and enters multiple recipient emails separated by commas. The scheduled command later generates the report, emails the CSV, updates last sent time, and deletes the temporary export file.

Visual Flow

Frequencies

How It Should Work

  • It should let users create, edit, pause, resume, and delete scheduled exports.
  • It should validate every recipient email.
  • It should skip paused schedules.
  • It should only send a schedule when it has not been sent within its frequency window.

How It Should Not Work

  • It should not send paused schedules.
  • It should not send duplicate reports within the same frequency window.
  • It should not send a report if no matching rows exist.

Developer Notes

  • Daily CRM exports run at 11:00, weekly CRM exports run Mondays at 11:15, and monthly CRM exports run at 11:30.
  • The email job updates last_sent_at after sending.
  • app/Livewire/ConsumerResponseManager/ScheduleExport/ListPage.php
  • app/Livewire/ConsumerResponseManager/ScheduleExport/CreateOrUpdate.php
  • app/Console/Commands/DailyCRMScheduleExportCommand.php
  • app/Console/Commands/WeeklyCRMScheduleExportCommand.php
  • app/Console/Commands/MonthlyCRMScheduleExportCommand.php
  • app/Jobs/SendCRMScheduleExportEmailJob.php
Last modified on May 26, 2026