Appearance
Work Reports โ Admin Guide โ
Work Reports gives your team a structured way to document what they did each shift. As an admin, you control whether the feature is on, what agents fill in, and how you review and follow up on submissions.
Who can do this?
All actions in this guide require the Admin or Owner role. Agents only see their own reports โ they cannot access the admin management view.
Overview โ
When Work Reports is enabled:
- Agents submit a daily report after each shift using a form you define.
- Admins see every agent's submissions in a central table, filterable by agent, date range, and status.
- The system detects missed reports and can notify agents (or admins) automatically.
- A bulk heatmap view lets you see submission coverage across your entire team at a glance for the current month.
Enabling Work Reports โ
Work Reports is disabled by default. You must enable it before agents can see or submit reports.
- In the left sidebar, go to Settings.
- Click Workspace Modules.
- Find the Work Reports toggle.
- Switch it ON.
- Click Save (if a save button appears) or wait for the auto-save confirmation.
๐ธ Screenshot: Workspace Modules settings page with Work Reports toggle highlighted in the ON position
Once enabled, Work Reports (labelled My Reports) will immediately appear in the sidebar for all agents in your workspace. Agents can start submitting reports straight away.
Disabling Work Reports
If you toggle Work Reports OFF, existing reports are preserved in the database but the sidebar link disappears for agents. They will not be able to create new reports while the feature is disabled. Re-enabling it restores access to all historical data.
Plan your rollout
Inform your team before enabling Work Reports. If agents don't know what they're supposed to submit or why, you'll get low-quality reports or none at all. A brief team message explaining the purpose and expectations goes a long way.
Report Templates โ
Report Templates define the structure of every agent's report. Instead of a fixed form, you can customise exactly what information agents provide when they submit a report.
What Is a Template? โ
A template has:
- A Name โ an internal label to identify the template (e.g. Standard Daily Report, Weekend Shift Summary)
- Fields โ the list of inputs agents see in their report form
Only the active template is used when agents submit new reports. You can have multiple templates saved but only one active at a time.
Default template
Before you create a custom template, agents will see the built-in default form with the standard fields (Date, Hours Worked, Tasks Completed, Blockers / Issues, Notes). Creating and activating a template replaces this with your custom structure.
Creating a Template โ
- Go to Work Reports in the sidebar.
- Click the Templates tab (or navigate to Settings โ Work Report Templates).
- Click New Template.
- Enter a Template Name (e.g. Level 1 Support Daily Report).
- Add your fields:
- Click Add Field.
- Set the Field Label (e.g. Tickets Resolved, Escalations Made, System Issues).
- Choose the Field Type: Text (single line), Textarea (multi-line), Number, or Dropdown.
- Mark whether the field is Required or optional.
- Repeat for each field you want.
- Drag and drop fields to reorder them.
- Click Save Template.
๐ธ Screenshot: New Template form with several fields configured, drag handles visible
Setting the Active Template โ
- On the Templates list, find the template you want to use.
- Click Set as Active.
- A confirmation banner appears: "This template is now active. New reports will use this structure."
๐ธ Screenshot: Templates list with "Set as Active" button highlighted on one row and an "Active" badge on the current template
Changing the active template
Switching the active template only affects new reports created after the change. Existing submitted reports retain the structure they were created with. Agents currently editing a Draft report will see the new template fields the next time they open or refresh the form.
Editing a Template โ
- Open the Templates list.
- Click Edit next to the template you want to change.
- Add, remove, reorder, or rename fields.
- Click Save Template.
Avoid frequent template changes
If you change the active template often, your historical reports will have different structures, making bulk review harder. Try to finalise your template before rolling it out to agents.
Deleting a Template โ
- Open the Templates list.
- Click Delete next to the template you want to remove.
- Confirm the deletion.
You cannot delete the active template
To delete a template that is currently active, first set another template as active (or re-enable the default), then delete the one you no longer need.
Reviewing Agent Reports โ
Accessing the Admin Reports View โ
- In the left sidebar, click Work Reports.
- You'll see the All Reports table โ every submission from every agent in your workspace.
๐ธ Screenshot: All Reports table with columns for Agent, Date, Hours, Status, and Actions
Filtering Reports โ
Use the filter bar above the table to narrow down what you're looking at:
| Filter | Options |
|---|---|
| Agent | Select a specific agent from the dropdown, or leave as All Agents |
| Date Range | Pick a start and end date using the date pickers |
| Status | All ยท Submitted ยท Reviewed ยท Missing |
๐ธ Screenshot: Filter bar expanded with Agent dropdown open, Status set to "Submitted"
Combine filters
Filters stack. For example: Agent = Jordan, Date Range = this week, Status = Submitted โ this shows only Jordan's unreviewed submissions for the current week.
Understanding Report Statuses in the Admin View โ
| Status | What it means |
|---|---|
| Draft | Agent has started but not yet submitted. Not usually visible in the default admin view โ use Status = All to see drafts. |
| Submitted | Agent has submitted. Awaiting your review. |
| Reviewed | You (or another admin) have marked this as reviewed. |
| Missing | No report exists for a day the agent was scheduled to work. These appear as synthetic rows when you filter by Missing. |
Opening a Report โ
- Click any row in the All Reports table to open the full report.
- You'll see all fields the agent filled in, the submission timestamp, and any existing review notes.
๐ธ Screenshot: Single report detail view showing agent name, date, all fields, and a "Review Notes" section at the bottom
Marking a Report as Reviewed โ
- Open the report (click its row in the table).
- Read the agent's entries.
- Optionally, type a note in the Review Notes field (e.g. "Great detail today โ follow up on the CRM blocker.").
- Click Mark as Reviewed.
- The report status changes to Reviewed immediately, and the agent can see your note when they view their own report.
๐ธ Screenshot: Report detail page with Review Notes text area filled in and "Mark as Reviewed" button visible
Review notes are visible to agents
Whatever you write in the Review Notes field will be shown to the agent when they open the report in their own view. Use this to give direct feedback, ask follow-up questions, or acknowledge good work.
Bulk review not supported
Reports must be reviewed individually. There is no bulk "mark all as reviewed" button โ each report should get at least a brief look before being marked.
Missed Report Detection โ
Manage Roster automatically tracks which agents have not submitted a report for days they were scheduled to work.
How It Works โ
- At the end of each working day, the system checks every active agent's working-days configuration.
- If an agent has no submitted (or draft) report for a past working day, that date is flagged as Missing for that agent.
- Missing entries appear in the admin reports table when you filter by Status = Missing.
- Agents also receive an email reminder automatically when they have a missing report.
๐ธ Screenshot: All Reports table filtered to "Missing" status, showing agent names and missing dates as synthetic rows
Missing = no submitted report
A report in Draft status is not counted as submitted. If an agent has only saved a Draft, the system may still flag the date as missing until the agent clicks Submit.
Viewing Missing Reports โ
- Go to Work Reports in the sidebar (admin view).
- In the filter bar, set Status to Missing.
- The table will show every agent ร date combination where no submitted report exists for a past working day.
- You can further narrow by Agent or Date Range to focus on specific people or periods.
๐ธ Screenshot: Missing reports filtered to a single agent over the last 7 days
Missed-Report Notifications โ
Beyond the automatic agent email reminders, admins can manually trigger or schedule missed-report notifications.
Triggering Notifications Manually โ
Use the following artisan command on your server to immediately send reminder emails to all agents with missing reports:
bash
php artisan reports:notify-missedThis will:
- Identify all agents with at least one missing report from the previous working day.
- Send each agent a reminder email listing the missing date(s) and a link to submit.
- Log the notification run (check
storage/logs/laravel.logfor confirmation).
๐ธ Screenshot: Terminal output of the reports:notify-missed command showing agents notified
Run this from your server
The reports:notify-missed command must be run from your application's root directory on the server. If you're using SSH, log in and run it as the web server user (e.g. www-data) or as root.
Scheduling Automatic Notifications โ
To run missed-report notifications on a schedule (e.g. every morning at 09:00), add the command to your cron configuration. This is typically set up in your server's crontab or via Laravel's task scheduler.
Option A โ Laravel Task Scheduler (recommended)
In app/Console/Kernel.php, add the command to the schedule method:
php
$schedule->command('reports:notify-missed')
->dailyAt('09:00')
->timezone('Asia/Dhaka'); // adjust to your workspace timezoneThen make sure your server has a single cron entry running Laravel's scheduler:
bash
* * * * * cd /var/www/roster-portal && php artisan schedule:run >> /dev/null 2>&1Option B โ Direct cron entry
If you prefer a direct cron entry (without the Laravel scheduler):
bash
0 9 * * * www-data cd /var/www/roster-portal && php artisan reports:notify-missed >> /dev/null 2>&1Adjust the time and timezone to match your team's working hours.
Test before scheduling
Run php artisan reports:notify-missed manually first to confirm notifications are going out correctly before setting up a recurring schedule. Check the log file at storage/logs/laravel.log for any errors.
Bulk View โ Agent ร Day Heatmap โ
The Bulk View gives you a bird's-eye picture of your entire team's submission activity for the current month. It displays a matrix (heatmap) where:
- Each row is an agent
- Each column is a day of the current month
- Each cell is colour-coded by submission status
Colour Key โ
| Colour | Meaning |
|---|---|
| ๐ข Green | Submitted or Reviewed |
| ๐ด Red | Missing (agent had a working day with no report) |
| ๐ต Blue | Draft (started but not submitted) |
| โฌ Grey / Empty | Agent was not scheduled to work that day |
๐ธ Screenshot: Bulk View heatmap for a team of 8 agents across the current month, with colour-coded cells
Accessing the Bulk View โ
- Go to Work Reports in the sidebar.
- Click the Bulk View tab (or the Monthly Overview button in the top navigation area of the Work Reports section).
- The heatmap loads for the current month automatically.
๐ธ Screenshot: Work Reports section header with "All Reports", "Bulk View", and "Templates" tabs visible
Using the Bulk View โ
- Hover over a cell to see a tooltip with the agent's name, date, and report status.
- Click a green cell to jump directly to that agent's submitted report for review.
- Click a red cell to see the agent's profile and options for sending a reminder.
- Use the month navigation arrows to move to the previous month (current month is the default and most recent).
๐ธ Screenshot: Tooltip appearing on a heatmap cell showing "Jordan Lee โ 2026-02-14 โ Submitted"
Spot patterns at a glance
The heatmap makes it immediately obvious which agents are consistently submitting and which are falling behind. Red clusters around specific agents or days are a clear signal to follow up.
Bulk View shows the current month only
Historical months can be viewed using the month navigation arrows, but the heatmap generates data based on agents' scheduled working days for that period. Agents added or deactivated during the month will appear with data only for the days they were active.
Managing Agent Working Days โ
Missed report detection and email reminders rely on each agent's working-days configuration being accurate. If an agent's working days are set incorrectly, they may receive reminders for days they don't actually work โ or miss reminders on days they do.
To review or update an agent's working days:
- Go to Agents in the sidebar.
- Click the agent you want to update.
- Click Edit.
- Update the Working Days and Days Off fields.
- Click Save.
๐ธ Screenshot: Agent edit form with Working Days checkboxes highlighted
Keep working days accurate
When an agent changes shifts or their schedule changes permanently, update their working-days configuration right away. This ensures missed-report detection stays accurate and avoids false reminders.
Frequently Asked Questions โ
An agent says they submitted their report but it still shows as Missing. What's wrong? โ
The Missing status only clears when a report is in Submitted (or Reviewed) status. A Draft is not counted as submitted. Ask the agent to open their Draft and click Submit.
Can agents see each other's reports? โ
No. Agents can only see their own reports. Admins see all reports from all agents.
Can I export Work Reports to CSV or PDF? โ
Exporting is not currently available in the UI. Check with your development team about custom exports, or query the database directly if you need bulk data exports.
How do I stop an agent from receiving missed-report emails? โ
Missed-report emails are tied to an agent's working-days configuration. If an agent should not be receiving reminders (e.g. they're on extended leave), you can:
- Temporarily clear their Working Days so no days are flagged as missed.
- Or disable their agent profile if they are inactive.
Can agents edit a submitted report if they made a mistake? โ
No. Submitted reports are locked. Only an admin can add a Review Note to clarify or correct information contextually. There is no way to unlock a submitted report for agent editing.
What happens to reports when I disable the Work Reports module? โ
Existing reports are preserved in the database. They are hidden from agents while the module is off. Re-enabling the module restores full access to all historical data.
Can I delete a report? โ
Report deletion is restricted to Owners and is not available through the standard UI. Contact your platform administrator or development team if you need to remove a specific report.
The reports:notify-missed command isn't sending emails. What should I check? โ
- Confirm your application's mail configuration is correct in
.env(MAIL_HOST,MAIL_USERNAME, etc.). - Check
storage/logs/laravel.logfor error messages from the last run. - Verify that agents have valid email addresses in their profiles.
- Run
php artisan config:cacheto ensure environment changes are applied.
Summary: Admin Checklist โ
Use this checklist when setting up Work Reports for your workspace:
- [ ] Enable Work Reports in Settings โ Workspace Modules
- [ ] Inform your team about the feature and what you expect from submissions
- [ ] Create a Report Template that matches your team's reporting needs (or use the default)
- [ ] Set your custom template as Active
- [ ] Verify each agent's Working Days configuration is accurate
- [ ] Test the
reports:notify-missedcommand manually to confirm email delivery - [ ] Schedule the command in cron or Laravel Scheduler for daily automation
- [ ] Review the Bulk View at the end of the first week to check adoption
Related โ
- Work Reports โ Agent Guide โ What agents see and how they submit reports
- Workspace Setup โ Enabling and configuring workspace modules
- Agents โ Managing agents and their working-day configurations
- Invite Members โ Giving team members access to the workspace