Rosters, van assignments, attendance, coaching, scorecards and driver texts — instead of
six spreadsheets and a group chat.
Your day, made simple
These are the real screens, with sample data from a station like yours — not a customer's.
DayList
Upload the day's DSP-DayOfOpsPlan.xlsx and the roster — or pull the roster
straight from Amazon — and get every route matched to a driver, a van, a parking spot
and a staging lane.
Name, van, parking and staging stay editable. Unused vans sit above the table and drag
onto a row. Download the .xlsx or text the assignments out.
⟳Needs the sync extension. Pull it on demand from any signed-in machine.
Assignment Preview40 routes
☆
Lane
Wave
Route
Name
Van
Park
Pkgs
☆
A1
10:20
CX101
M. Alvarez
RV-2184
C-14
187
A1
10:20
CX102
J. Okafor
RV-2209
C-07
164
A2
10:50
CX118
R. Nguyen
RV-2233
B-22
203
B1
11:20
CX140
unassigned
—
—
152
41 drivers40 routes2 unassigned3 spare
Fleet Log & Van Parking
Every van's status, VIN and latest note in one list, with charge levels and grounded
status pulled from Amazon and Rivian — on demand, or every 30 minutes on its own.
Van Parking holds where each one actually sits, so the walk-out is a list rather than a
search. Anything under 70% or newly grounded overnight is waiting in Slack.
⟳Needs the sync extension. Pull it on demand from any signed-in machine.
◷Needs a machine running scheduled sync. Without one, refresh it yourself whenever you want.
Fleet LogCharge synced 06:02
Van
VIN
Status
Latest note
Charge
RV-2184
7PDSD…4192
Active
—
41%
RV-2209
7PDSD…4207
Active
Wiper blade
55%
RV-2251
7PDSD…4311
Grounded
DVIC — tire
—
54 vans7 under 70%2 grounded45 ready
Attendance & Coaching
Occurrences counted against your own policy and rolling window, with standing —
OK, Coaching, Final coaching — computed as you log them, and a coaching record kept
beside each person.
Patterns are flagged as worth a look, never as a verdict, and protected leave
is excluded from detection entirely. Coaching messages prefill for review and are
never sent on their own.
AttendanceRolling 12-month
M. Alvarez5Coaching⚑ 2
J. Okafor2OK
D. Castillo8Final coachingNCNS 1
R. Nguyen0OK
⚑ Patterns to review · advisory — worth a look for coaching, not a verdict
Scorecard
The weekly DSP scorecard, per driver, graded with Amazon's own tiers — DSB and CDF
DPMO, POD acceptance and the five safety rates, with the drivers carrying the most
flags on top.
The projection runs the week before Amazon does — the score you are on track
for, so Wednesday confirms rather than surprises, and it is scored against the
published figure afterwards.
⟳Needs the sync extension. Pull it on demand from any signed-in machine.
Scorecard — week 37Projected 91.4 · Fantastic
Driver
Deliv.
Overall
DSB
CDF
POD
Belt
R. Nguyen
1,042
96
640
210
99.1%
0
J. Okafor
988
88
1,180
460
98.6%
0
D. Castillo
904
74
2,310
1,020
96.2%
2
3 drivers flagged9 DSB events1 safety event
Messaging
Two-way SMS from the same screen as the assignment. Build from a template, pick
recipients off today's DayList, and see what each one said back.
The whole thread lives with the driver record instead of in somebody's personal phone.
Messaging — Recipients3 selected
Driver
Route
Van
Message
Status
M. Alvarez
CX101
RV-2184
Wave 10:20, van RV-2184, spot C-14
Sent
J. Okafor
CX102
RV-2209
Wave 10:20, van RV-2209, spot C-07
Sent
R. Nguyen
CX118
RV-2233
Wave 10:50, van RV-2233, spot B-22
Queued
Running 10 behind, traffic on the 15
No problem — you're Wave 2, you have room.
The standup writes itself
Yesterday's numbers, today's fleet and the drivers who need a conversation, posted into
your own Slack each morning. A fleet check and a morning review go out on their own
schedules — or send any of the three yourself from Settings, whenever you want them.
⟳Needs the sync extension. Pull it on demand from any signed-in machine.
◷Needs a machine running scheduled sync. Without one, run them by hand from Settings.
Everything above marked ⟳ gets its live data this way — a
free browser extension that reads scorecards, DVIC inspections and van charge/grounded
status straight out of Amazon Logistics and Rivian FleetOS. Nobody exports a CSV or
retypes a number.
It configures itself. Download it from Settings and it reads your DSP code, station and
company id straight from your own account — there is nothing to type into a popup, on any
machine.
Runs unattended on any computer you leave on — pair it once from Settings and it
re-syncs and posts the standup, fleet status and morning review on their own schedule.
No extra account and no password. Without one, every dispatcher pulls the same data on
demand, from whichever machine they're signed in on.
Dispatch BridgeScheduled sync: on
Scorecards & occurrencesSynced 05:58
DVIC inspectionsSynced 05:58
Fleet & charge statusSynced 06:02
Next scheduled sync 06:30 · standup, fleet status and morning review post automatically
And in the same app
Van ParkingWhere every van sits, with charge pulled in beside it.
DriversThe roster everything else keys off, with deleted-driver recovery.
Operations CalendarDaily station stats, callouts and route/package trends.
Payroll ComplianceDelivery data against Paycom/ADP punches to surface break discrepancies.
Ask the assistant“Which drivers are closest to a DSB threshold?” — it reads your own data.
Backup & restoreExport the whole database as JSON, restore any section on its own.
Handoff notesThe end-of-day note the next shift actually reads.
Multi-device syncTwo dispatchers on two screens see each other's edits live.
How it works
①
Runs in the browser
No software on your dispatchers' machines and nothing for anyone to approve. Open the
site, sign in, and the whole app is there.
②
Simple to roll out
We create your organization and first admin account; you add your team from Settings.
Nothing else has to be in place before the first DayList runs.
The sync extension, Slack and SMS come later, in any order. The extension downloads
from inside the app and configures itself from your account — nothing to type in on
any machine.
Interested?
Tell us a bit about your operation — station, roughly how many drivers, and what you
are using today.
Already a customer and locked out? Your own admin can reset your password from
Settings.
The Dispatch Desk·Dispatch software for Amazon DSPs
Firebase setup required — The app is running in local-only mode. To enable real-time sync across devices, follow these steps:
1Go to console.firebase.google.com and click Add project (it's free, no credit card needed)
2Name it anything (e.g. seve-daylist), disable Google Analytics if asked, click Create project
3Click Realtime Database in the left sidebar → Create Database → choose any location → select Start in test mode → click Enable
4Click the gear icon ⚙️ → Project settings → scroll to Your apps → click the </> Web icon → register the app → copy the firebaseConfig object
5Open this HTML file in a text editor, find the FIREBASE_CONFIG block near the top, and paste in your values. Save the file and re-open it.
The app still works fully in local-only mode — data just won't sync to other devices until Firebase is configured.
Fleet
Drivers
Schedule
Scorecard
Coaching
Recognition
Bonuses
Pace
Disputes
Attendance MGR
DCR Exemption
Payroll
Delivery Notes
Good morning
Operations Calendarⓘ
Fleet & People
The vans and the drivers — who and what is available to dispatch.
Performance
Amazon's scorecard and the coaching that follows from it.
Van Parkingⓘ
Auto-saved
Add a van not in the list:
Bulk Spot Update
↑ Upload .xlsx
or type below (one per line, format: EDV 1:150)
Scheduleⓘ
to
Driversⓘ
Auto-saved
More ▾
Name (roster)ⓘ
Phoneⓘ
Preferred Nameⓘ
Preferred Van(s)ⓘ
Transporter IDⓘ
Emailⓘ
Deleted drivers can be restored. Permanent deletion cannot be undone.
Scorecard
Coaching
Messagingⓘ
Message Templateⓘ
Preview
Length
Recipients
Driver
Phone
Route
Van
Message
Status
Send
ℹTexts send through your secure server function — no gateway password in the browser. Sending is enabled when you're signed in and the send function is reachable. If it isn't set up yet, use Copy or Export CSV.
Select a conversation on the left, or wait for a driver to text in. Incoming messages appear here live.
Southern Tire Mart is our mobile tire repair/replacement provider. Send them this info so they can dispatch a tech to the vehicle on site.
Message Template
Tokens:
{dsp}{vin}{tire}{spot}{location} {address_line} adds a line with the current address when "out on the road" is checked, and stays blank otherwise.
Preview
Recipient
Generate DayListUpload today’s DSP-DayOfOpsPlan.xlsx (posted in Slack), plus an optional roster file — or use “⚡ Use Amazon Roster” below to pull it from Cortex instead.
Ops Plan *
📋
DSP-DayOfOpsPlan.xlsx
Roster (optional)
👥
Roster .xlsx or .csv
Route col:Name col:
Unused Vans — drag onto a row to assign
Assignment PreviewName, Van, Parking & Staging are editable. ☆ = spare device.
☆
Lane
Wave
Route
Name
Van
Parking
Staging
Pkgs
Comm
Add drivers not in the ops plan — all fields editable.
Fleet Log
Track vehicle issues, maintenance notes, and status for each van.
Auto-saved
Van
VIN
Status
Charge
Latest Note
Last Updated
Notes
History
Delivery Notesⓘ
Auto-saved
Add / Update Note
Address *
Note Type
Route Code (optional)
Note *
Addresses with DSB claims or returns on 2 or more days, from Amazon's data, kept 6 months. Add a note so the next driver knows.
Deleted cards can be restored. Permanent deletion cannot be undone.
DCR Exemption
Returns that count against Delivery Completion, from Amazon, with each package’s attempt time, business hours and addressⓘ
Use an RTS Dashboard export instead
RTS Data File(s)
📂
Drop RTS file(s) here or click to browse
.xlsx, .xls or .csv — multiple files will be combined
Attempt time, business hours and address are joined from the saved day details by Tracking ID.
Cleaned Dataⓘ
Payroll Complianceⓘ
▾ Overtime
Dispatch Desk Data
📅 Pay Period
⚡ Scrape Custom Dates
Start Date
End Date
Keep this browser open and signed in to Amazon Logistics until the sync finishes — multi-day ranges can take a few minutes.
— or upload a file —
Upload delivery data exportⓘ
📤
Drop scrape export here or click to browse
Accepts the amazon_*.csv from The Dispatch Desk or a .json export
Driver
Date
Stops
Deliveries
Delivery Gaps (30+ min)
Amazon Recorded Breaks
Status
Payroll Provider DataUpload the XLSX or CSV exported from your payroll provider (Paycom, ADP, etc.)
📂
Drop payroll file here or click to browse
Supports .xlsx, .xls, and .csv formats
Break Discrepancy Report
Driver
Date
Issue
Category
Details
Review
Nominate a driver
For the dispatcher's pick: what a scorecard doesn't show, like covering a call-out, taking a rescue or helping a new driver. An admin picks from the nominations.
Log a coaching
Recorded with your name and the day, and named in the next coaching message.
What you covered
Restore from Backup
Pick which sections to restore. Unchecked sections are left exactly as they are.
ℹOnly the sections you check are overwritten — each one is replaced by the backup copy. This can't be undone, so export a current backup first if unsure.
Fill this shift
Free that day and not on time off. Best first: no hours-of-service issue, usually available, fewest hours this week.
Time off
Approved time off shows on the schedule and is skipped when filling.
Upcoming
Schedule history
Every change to the dates shown, newest first.
Shift types
Name them as in Paycom so imports and exports match. Types that aren't routes (management, office) are left out of each day's count, Amazon's covered count and Fill.
Default shift times and days per week for Fill: Default shift →
Publish schedule
Text goes from your SMS number (Messaging); email from The Dispatch Desk. Phones and emails come from the Drivers tab.
Availability
Regular available days
Specific days off (vacation, appointments): Time off →
Which column is which?
One row per person per day. Pick the columns once; the org keeps them for the next file.
Shift
Clear both lunch times for a shift with no lunch.
Attendance (records on the Attendance tab)
Review payroll flag
New Conversation
Pick a driver, or enter any phone number.
OR
Import Drivers
Match the columns from your file, then choose how to merge.
Use either Full name, or First + Last together. Blank columns are ignored.
Merge mode
Review Amazon Roster Changes
Nothing here has been applied yet — approve or dismiss each one. Preferred Name and Preferred Van(s) are never touched by this sync.
Handoff
Quick heads-up for whoever opens in the morning.
Scheduled Routes
Extra Drivers (names, comma-separated)
Notes for the morning
Text Assignments
Review before sending — uncheck anyone who shouldn't get a message.
Attendance
Occurrences in a rolling six-month window, per the attendance policy. This tracker records and surfaces standing — all disciplinary decisions remain at management's discretion.
OK 0–3
Coaching 4
Final coaching 7
Termination-eligible 10
🔒 Coaching view · Select a driver
Your Account
🙂My Profile›
Sets the name used in your Dashboard greeting (instead of your email handle). Only visible to you — everyone sets their own.
🔑Change My Password›
Organization
🏢Organization›
Your DSP and station details, and payroll defaults. These sync to your whole team.
Matches the DSP column in the ops plan to pick your routes, and shows in the header.
Used in export filenames.
Recommended time when a driver's In-Day punch is missing.
Marked on the Drivers tab: 📅 under the name → Salaried. They're left out of Payroll Compliance and overtime.
Names it in Payroll and the Schedule, and which employee IDs are saved. Schedule import and the Paycom exports need Paycom for now.
What Payroll Compliance measures against. Set these to your own pay policy.
When you offer 40+ hours (peak, for example). Overtime inside a period shows as approved, not flagged, on Payroll's Overtime card and the Schedule, up to the weekly cap (blank for none). Amazon's own limits (60 hrs in 7 days, 12-hr shifts) are still checked.
🗓️Attendance Policy managers + admins›
Thresholds, tiers and the rolling window used by the Attendance tab, and restated on the Coaching tab's Attendance framework. These sync to your whole team.
Standing and flags stay advisory only — nothing here automates a disciplinary decision.
Shown in the Attendance tab description.
Months.
Advisory at this many.
Tiers
Each tier starts at its occurrence threshold. A tier with a coaching level also drives a "… due" advisory flag.
The 0 tier is the baseline and can't be removed.
👥User Management admins only›
Create and manage accounts for your team. Admins have full control; managers can use the app but can't manage users.
The user gets a welcome email with a link to set their own password — there's no password to type here.
Loading…
Automated Posts
⏰Post Times when the daily posts go out›
These used to be set on each machine running the sync. They live here now, so there is one answer for the whole organization and a rebuilt machine cannot quietly revert to someone else's hours.
A machine picks up a change the next time this site is open on it. The Morning Review time also drives its automatic email to every admin/manager — no machine needs to be on for that one.
An IANA name. The times above are read in this zone, so daylight saving is handled for you — a fixed offset would drift by an hour twice a year and the post would land at the wrong time with nothing in any log.
📣Slack Posts run on demand›
The three posts a scheduled machine sends each morning. Run one now and it posts
immediately, with your own account doing the writing — no runner machine and no
scheduled sync needed. The sync extension has to be installed in this browser.
The sync extension is not detected on this page. Install it from the section below, then
reload.
Daily standup
Yesterday's numbers, today's fleet, and who needs a conversation.
Fleet status
Vans under 70% charge, and anything newly grounded.
Morning review
Yesterday's handoff, the fleet checks, and every CDF/DSB/Safety/Contact/DVIC
occurrence by driver — not just the count, the exact kind. Emailed automatically each morning
at the Post Times below (recipients set in Morning Review Recipients), and
postable to Slack on demand here.
🖥️Runner Machines admins only›
A runner is a computer that stays on and does the routine work by itself: it syncs from
Amazon Logistics and Rivian FleetOS every 30 minutes and sends the standup, fleet status and morning review at the
Post Times above. To set one up, open this page on that computer, with the sync
extension installed and signed in to Amazon Logistics (and Rivian FleetOS, if you run Rivian
vans), and click Pair. No other account or
password is needed. You don't need a runner at all if you're happy to sync and post by hand.
The sync extension is not detected on this page, so this computer can't be paired. Install
it from the section below, then reload.
Loading…
📧Morning Review Recipients who gets the emails›
Who gets the Morning Review email — both the automatic morning send and "Email managers now"
above — and the scorecard email when Amazon publishes a week. Leave this on the default and it goes
to every admin/manager in your organization; nobody has to set this up for it to work.
Your team
Loading…
For anyone who should get this but doesn't have a login here.
Integrations
🔌Integrations admins only›
Credentials for Slack and SMS, stored for your whole organization. They are write-only:
once saved, nobody — including you — can read them back out of here, so a lost token is
replaced rather than recovered.
Connect Slack and this app will post a daily standup, a morning review, and a fleet
charge/grounded alert into channels you choose. Set up once for your whole company —
not on each computer.
Step-by-step: connecting Slack ~10 minutes, once
You'll create a small Slack app that belongs to your workspace, give it permission to
post, and paste its token below. Nobody outside your company ever sees it, and you can
revoke it from Slack at any time without touching this app.
1
Decide on your channels first.
Create up to three channels in Slack — for example #daily-standup,
#fleet-status and #morning-review. They can be private.
Only the standup one is required; leave the others blank to turn those posts off.
2
Create the app.
Go to api.slack.com/apps → Create New App →
From scratch. Name it anything (“Dispatch Desk” works) and pick
your workspace. You need to be able to install apps in that workspace; if you
can't, a Slack admin does this part.
3
Give it permission to post.
In the left sidebar choose OAuth & Permissions, scroll to
Scopes → Bot Token Scopes →
Add an OAuth Scope → pick chat:write.
That one scope is all it needs. It cannot read your messages.
4
Install it.
Scroll back to the top of that same page →
Install to Workspace → Allow.
5
Copy the token.
Still on OAuth & Permissions, copy the
Bot User OAuth Token. It starts with xoxb-.
This is a password. Don't paste it into a chat message, an email or a
spreadsheet — paste it straight into the Bot token box below. If it ever leaks,
click Regenerate on that page and paste the new one here.
6
Invite the bot into each channel.
Installing the app does not put it in your channels. Open each channel and
type /invite @Dispatch Desk (use whatever you named it).
Skipping this is the most common reason posts never appear. Slack accepts the
request and silently drops it, so there is no error to see anywhere.
7
Get each channel's ID.
In Slack, click the channel name at the top → scroll to the bottom of
About → Channel ID, and use the Copy button.
It looks like C0BSGCU54GP.
The #name won't work here — channels get renamed, IDs don't.
8
Paste everything below and save.
Token plus the channel IDs, then Save Slack Settings.
What happens next
The posts come from whichever computer runs scheduled sync — not from this page, and
not from your browser. That computer picks up these settings on its own within about
30 minutes, so there is nothing to enter anywhere else and nothing to re-do when you
change a channel later.
If nothing arrives
Is the bot actually in the channel? Step 6 is skipped more often than any other.
Is the channel ID the C… value rather than the #name?
Is a computer running scheduled sync, and is it switched on? Nothing posts from a
machine that is asleep.
Was the token regenerated in Slack? The old one stops working immediately — paste
the new one here.
Turning a post off
Clear that channel's box and save. Clearing the bot token stops all three.
Paste the Bot User OAuth Token (starts xoxb-) and the channel
IDs from the steps above.
Posts are made by a machine running scheduled sync, not by this page. That machine picks
these up on its own within 30 minutes — there is nothing to re-enter anywhere else.
Only needed if you use the Messaging tab. The webhook secret is in the SMS Gate app under
Settings → Webhooks, and is what lets inbound replies be trusted.
🧩The Dispatch Desk Extension browser extension›
Scrapes delivery/ops data from Amazon Logistics for payroll compliance and daily assignments. Install once, then export data to upload on the Payroll tab.
1Unzip the download, go to chrome://extensions, enable Developer Mode, click Load Unpacked, and select the folder
2Open The Dispatch Desk extension, set your date range, and click Run
3When the scrape completes, download the export and upload it on the Payroll tab
Data
💾Database Backup›
Export a full snapshot of your Firebase database, or restore from one. Restore via Firebase Console → Realtime Database → ⋮ → Import JSON, or use the section restore below.
⬇
Export Database
Download a complete JSON snapshot of all app data — parking, fleet, preferences, delivery notes, DCR, and payroll.
⬆
Restore Database
Upload a previously exported JSON, then choose whether to restore everything or just specific sections.
📂
Drop backup JSON here or click to browse
ℹ️About›
The Dispatch Desk ·
Deployed on Netlify · Firebase Realtime Database
ADMIN CONSOLE
The Dispatch Desk — platform
Every tenant's onboarding status. Click View to look into its space, read-only, for troubleshooting.
Loading…
Seeds the org's config and creates its first admin, who gets a welcome email to set their own password — the same flow as adding a user in an existing org.
Every account across every organization. Grant platform admin sparingly — it can view any tenant's data.