Importing your roster and your existing schedule
Paste a CSV export from your current tool or a spreadsheet. Columns are detected for you, every row is previewed before anything is written, and nothing is imported until you confirm.
Preview first, write second
Both importers work the same way and it is worth understanding once: you paste raw CSV text, Weekwright parses it and returns a per-row preview — what it understood, which rows are ready, which need attention and why. Nothing is written. You confirm, and only then does anything change.
Column headers are matched by meaning, not by an exact template. You do not need to rename anything before pasting: an export whose column is called Employee Name, full_name or Nombre all land in the same place. Columns it cannot place are reported as unmapped rather than guessed at.
Importing your team
Export your staff list from whatever you use now — 7shifts, When I Work, Sling, Homebase, or a spreadsheet you maintain by hand — and paste it. Weekwright looks for name, email, role, job title and hourly rate.
Each row comes back flagged as ready, or with one of:
- Missing or invalid email — an invite needs somewhere to go. Fix it in the source and re-paste.
- Duplicate email — the same address appears twice in your file.
- Already a member / already invited — they are on your roster or have a pending invite. Re-importing is therefore safe; it will not queue duplicates.
- No name — imports fine, but they get the local part of their email as a display name until they change it.
Role is classified from the values in the column rather than its header wording, since "Server" in a role column is a job title and "Manager" is not. Anything unrecognised becomes Employee, which is the safe default — see Roles and permissions.
Confirming sends a real invite email per ready row. The per-location employee cap on your plan applies here, so a 90-person paste onto a plan capped at 75 stops at the limit rather than silently overshooting.
Importing an existing week
The second importer takes shifts rather than people: employee, date, start, end, and position. Use it to bring last week across so the agent has history to reason about from day one, or to load a week you have already built in a spreadsheet.
The preview matches each row to a member on your roster and to one of your positions. Rows referencing somebody you have not imported yet, or a position that does not exist, are reported rather than invented — import your team first, then the schedule.
Imported shifts land in a draft week. They are not visible to your team and nobody is notified until you publish.
Starting from a shift pattern instead
If you run a fixed rotation rather than a bespoke week — DuPont, Panama 2-2-3, 4-on-4-off, a standard three-shift continental — you do not need an import at all. The public template library publishes each pattern as a downloadable CSV in exactly the shape the schedule importer expects.
Download the pattern, paste it in, adjust the names. Then save it as a template so future weeks are one click.
Common questions
- What size file can I paste?
- Up to roughly 200,000 characters in one go — comfortably a few thousand rows. Split anything larger into batches; re-importing is safe because rows already imported come back flagged rather than duplicated.
- Does importing overwrite what I already have?
- No. Both importers only add. People already on the roster are skipped, and imported shifts go into a draft week rather than replacing a published one.
Related
Inviting and managing your team
How invites work, what a member record actually holds, the four employment statuses and why you should use them instead of deleting people.
Quickstart: your first published week
From signing up to a schedule your team can see, in about fifteen minutes. Five steps, in the order the product expects them.
Payroll and exports
Export a pay period as CSV in the shape Gusto, QuickBooks or ADP expects, dump a week's shifts, or subscribe a personal calendar feed.