Two ways to do this. Send us your files and we'll set it up, or run it yourself in about ten minutes. Both end in the same place.
Email whatever you can export, crew and schedule both, and we'll have you running by Friday. A messy spreadsheet is fine. You don't need to figure out file formats, and you don't need an account first.
Email us your filesGoes to hello@crewmuster.com, and attachments come with it. We don't take file uploads on the web, so your roster never sits on a third-party form service.
The roster comes first because everything else attaches to it. Shifts need people to put them on.
Reports exports employees, schedules, timesheets, time off, and shift requests. What you get back is an Excel file, and you can upload it as it comes.
The schedule export stops at 4,000 rows. Time off is a separate export that people routinely forget, so pull that one too.
Employee details export from the Employees List page. Shift data from any schedule view, or from Reports with a date range.
The Availability/Coverage export gives aggregate staffing counts, not per-person availability rules. There's no way to export the rules themselves.
Timesheets export cleanly to CSV. Team roster exports from the Team page.
Roster and schedule exports carry less than the timesheet one does. Send what you get and we'll rebuild the rest.
Upload the workbook as it is. If it has more than one tab we'll ask which one your crew is on.
Headers don't need to match ours, and a title row above them is fine. Use the prompt below if your file is an odd shape.
Try the import first. crewmuster reads a CSV and an Excel .xlsx, works out which tab and which row your column names are on, and shows you the mapping before anything is written. Most exports go straight in.
The prompt is for the awkward ones: a week grid with dates across the top, or a column holding two things at once. Open claude.ai, paste the prompt, and attach your export. You'll get back a CSV with these columns: Name, Email, Phone, Role, Hourly wage, Desired hours, Hire date.
The prompt is written to leave a cell empty rather than guess at it. A wage it can't read comes back blank, which is what you want. Read the file before you import it.
You are converting a staff roster exported from a scheduling product (When I Work, WhenToWork, Homebase, or a spreadsheet) into the CSV format another scheduling app imports. Return ONLY the CSV. No prose, no explanation, no markdown code fence. The first row must be exactly these headers, in this order: Name,Email,Phone,Role,Hourly wage,Desired hours,Hire date One row per person. Rules: 1. Email is required. Drop any row with no email address and list the dropped names in a final comment line beginning with "# skipped:". A person with no email can't be invited, so a row without one is worse than a missing row. 2. NEVER invent, infer, or guess a value. If a field isn't in the source file, leave the cell empty. An empty cell is correct; a plausible-looking wrong wage is not. This applies especially to wage and hire date. 3. Name: one full name per cell. If the source has separate first/last columns, join them with a space. 4. Role must be one of: crew, shift_lead, events_lead, assistant_manager, manager, owner. Map the source's job titles onto these: - owner, co-owner, franchisee, proprietor -> owner - GM, general manager, store manager -> manager - assistant manager, AM, key holder -> assistant_manager - events, catering, party host lead -> events_lead - shift lead, supervisor, shift supervisor, lead -> shift_lead - everything else, including blank -> crew Do not put the original job title in this column. If you can't map it confidently, use crew. 5. Hourly wage: digits and a decimal point only. Strip currency symbols and thousands separators. A salaried or blank rate becomes an empty cell, not a converted hourly figure. 6. Desired hours: a whole number of hours per week the person wants. Most exports don't have this. Leave it empty rather than using a max-hours cap or an average of past hours. 7. Hire date: ISO format, YYYY-MM-DD. If the source is ambiguous between day-first and month-first and you cannot tell from other rows, leave it empty. 8. Phone: digits as written in the source. Don't reformat or add a country code. 9. Keep inactive and terminated people OUT. If the file marks status, include only active staff. Then, after the CSV and the skipped line, add nothing else.
In crewmuster, go to Manage → Crew, hit Import crew, and pick the file. A .xlsx works as it comes, and so does a block of cells pasted straight out of the spreadsheet. You'll see exactly who gets added and who gets matched to someone already there, before anything is written. Nothing saves until you press the button.
Go to the importer (you'll need to be signed in)
If you've got weeks posted in your current tool, you don't have to rebuild them. Do your crew first, then the schedule.
Reports → schedule export, with a date range covering the weeks you've already built. It downloads as an Excel file, and you can upload it as it comes.
The export stops at 4,000 rows. If you schedule a lot of people a long way out, pull it a month at a time.
Any schedule view exports, or Reports with a date range. The date-range report is the one to use.
Some views export a grid with dates across the top rather than one row per shift. The prompt handles that shape, but check the dates it produced before you import.
The schedule export from the Schedule tab. Timesheets export separately and are not this.
The schedule export carries less than the timesheet one. If a shift's role is missing, that's why, and you can set the default on the review screen.
Upload the workbook as it is. If it has more than one tab we'll ask which one your schedule is on.
A week-grid layout is fine. The prompt turns columns-are-days into one row per shift.
Same as before: try the import first, and use the prompt only if your file is an awkward shape.
Attach both the schedule export and your roster export this time. The roster is what lets it fill in the email column, and every email it works out is a row you don't have to check by hand. You'll get back a CSV with these columns: Date, Start, End, Person, Email, Role.
You are converting a published work schedule exported from a scheduling product (When I Work, WhenToWork, Homebase, or a spreadsheet) into the CSV format another scheduling app imports.
Attach TWO files if you have them: the schedule export, and the staff roster export. The roster is what lets you fill in the Email column, which is the difference between an import that just works and one the owner has to check name by name.
Return ONLY the CSV. No prose, no explanation, no markdown code fence.
The first row must be exactly these headers, in this order:
Date,Start,End,Person,Email,Role
One row per shift. If a schedule shows one person working two separate shifts in a day, that is two rows.
Rules:
1. NEVER invent, infer, or guess a value. This matters more here than in a roster: a shift with the wrong hours or the wrong person's name on it is worse than a shift that didn't import. If you can't read a cell, leave it empty and the importer will tell the owner which row to fix.
2. Date: ISO format, YYYY-MM-DD. Schedule exports often put the date in a column header ("Mon 8/4") with hours in the cells below, or write it once per section. Work out the real calendar date for every shift and put it on the row. If the file gives a weekday with no year, use the year the rest of the export is in. If you genuinely cannot determine the date, drop the row and list it in the final comment line.
3. Start and End: 24-hour HH:MM. Convert "4:00 PM" to 16:00. A range in one cell ("11a-4p") splits into the two columns.
4. Overnight shifts: if a shift's end time is earlier than its start, it crosses midnight. This importer cannot represent that, so drop the row and list it in the "# skipped:" line. Do not silently clamp it to 23:59 or move the end time.
5. Person: the employee's name as the ROSTER spells it, not as the schedule abbreviates it. If the schedule says "A. Kim" and the roster has "Avery Kim", write Avery Kim. This is the single most useful thing you can do with the second file.
6. Email: the person's email address from the roster export. Leave it empty if you don't have a roster file, or if you cannot match the schedule's name to exactly one roster row. An empty Email is fine — the importer falls back to matching on the name and asks the owner to confirm. A WRONG email silently puts a shift on the wrong person, so leave it empty whenever there is any doubt.
7. Role must be one of: opener, mid, closer, cake decorator. Map the source's positions onto these:
- open, opening, AM, morning -> opener
- close, closing, PM, evening, night -> closer
- cake, decorator, cake decorating -> cake decorator
- anything else, including blank -> leave the cell EMPTY
Leave it empty rather than picking one at random. The owner chooses what unrecognized roles become, once, on the review screen.
8. Include only real scheduled shifts. Leave out time-off entries, unavailability, blank placeholder cells, "OPEN" rows with no person, totals rows, and anything in a footer.
9. Keep every date the file covers, including past dates. The importer skips weeks that have already gone by and tells the owner how many — that is its job, not yours.
Then, after the CSV, add one final line beginning with "# skipped:" listing any rows you dropped and why. Add nothing else.On the schedule builder, open Fill this week → Import from a file. A .xlsx works as it comes here too. You'll get a week-by-week breakdown and a row for every shift, with a picker on any name it wasn't certain about. Nothing saves until you press the button.
Availability doesn't come across from any of these products. None of them export per-person rules in a usable shape, and we won't guess at when someone can work. Crew set their own from their phone in about a minute, and that's the first thing to ask them for.
Weeks that have already gone by don't come across, and neither do old timesheets. Keep the export from your current tool for your own records. We start you from the week you switch.
Every account can export everything it holds, any time, as CSVs in a zip. Schedules, timesheets, roster, time off. Your data is yours and we won't make it hard to take with you.
Questions: hello@crewmuster.com