Documentation
Everything you need to set up your rota and keep it in your calendar.
Quick start
Five steps, about ninety seconds. Everything after this section is detail you only need if something is unusual.
- 1Open your rota and copy the link. In Google Sheets, click the tab your rota is on and copy the whole web address. Working from a file instead, or from SharePoint or Teams? See Linking a rota.
- 2Paste it on your dashboard and click Find my shifts. A large rota can take a minute to read.
- 3Pick your name. Start typing and the list filters. If your name is spelled unusually on the sheet, type it exactly as it appears there and choose the use as typed option.
- 4Answer anything we ask, then check the times. Most rotas ask nothing. Anything we cannot work out on our own becomes a numbered question that says why we are asking. Then click Generate My Calendar.
- 5Add it to your calendar. Tap the Apple or Google button, or copy the link into any other calendar app. From then on it updates itself.
Two things that trip people up
- Your rota does not have to be public. If it is shared privately with you, we will offer to open that one file using your own access. Nobody has to publish anything. See Linking a rota.
- Do not make your own copy of the rota. A copy stops updating the moment your coordinator changes the original. Link the original; being able to view it is enough.
Before you start
Two things, and that is all
- Your rota open in front of you. A web page or a file, either is fine.
- To know how your name is written on it. “A. Patel” and “Aisha Patel” both work; we just need to know which one your rota uses.
It takes about ninety seconds.
How do you normally look at your rota?
- Someone sends me a web link I open in a browser. Use the Google Sheets option and paste that link. Your calendar then updates by itself whenever the rota changes.
- I open it from a work system like SharePoint, OneDrive or Teams. Use the Office 365 option. Same result, one extra step to get the link out.
- Someone emails me a file I download. Upload the file. You send us a new one when a new version comes out, or set it up to arrive by email automatically.
- Not sure? Upload the file. It always works, and you can switch to a link later without losing anything.
Linking a rota
These steps use Google Sheets. Office 365 links and uploaded files work the same way once the rota is in: RotaSync reads it, you pick your name, you check the times, and your calendar link appears.
- 1Open your rota in Google Sheets, click the tab your rota is on, and copy the whole web address from the top of your browser.
- 2Paste it on your dashboard and click Find my shifts. Reading a big rota can take a minute.
- 3Pick your name from the list, or type it if it isn't there.
- 4Answer anything we can't work out on our own. Most rotas ask nothing here. Some ask which tab to follow, which of two lines is yours when your name heads two columns, or what a code like NWD means on your rota, since that one differs from hospital to hospital. Each question is numbered and says why we're asking.
- 5Check the shift times look right, then click Generate My Calendar.
- 6Tap the Apple or Google button, or copy the link into any other calendar app.
If your rota is private, you do not have to make it public
Lots of rotas are shared with the team by name, rather than with a link that anyone can open. That is the safer way to do it, and it used to stop RotaSync reading the rota at all. It no longer does.
When you paste a private rota, RotaSync offers to read it as you. You connect your Google account, choose that one rota from a list, and from then on we read it using your own access. Three things follow, and they are the whole point:
- Your coordinator does not need to do anything. They do not need a RotaSync account and do not need to know. Nothing about how the rota is shared changes.
- The rota stays private. Nobody else can see it, and it is never published anywhere.
- We can only open the one file you choose. We ask Google for its narrowest permission, so we cannot see, search or open anything else in your Google Drive.
You do not need to own the rota. Being able to view it is enough. You should also not make your own copy of it: a copy stops updating the moment your coordinator changes the real one, which is exactly the problem RotaSync exists to solve.
If you ever change your mind, disconnect from your dashboard. That tells Google to withdraw the permission too, and you can also do it yourself at myaccount.google.com/permissions.
The one case we cannot get around
Some rotas are shared with downloading, printing and copying switched off. That setting applies to you as much as to us, so no tool can read the rota automatically and there is nothing to change at our end. Upload the file instead, or email it to your personal RotaSync address.
If we lose access later
If you leave that rotation, or the rota stops being shared with you, we will not be able to read it any more. Your calendar keeps showing the last shifts we could read, so we email you once to say so and add a note to your calendar. A calendar app has no way of telling you it has stopped updating, so we tell you instead.
Sharing it openly, if you would rather
Open it in Google Sheets, click Share at the top right, and under General access change Restricted to Anyone with the link. Viewer is enough; nobody needs edit access. Worth knowing that this makes the rota, and everyone named on it, readable by anyone who ever gets the link.
Tip: if the sheet is very large and analysis times out, we keep working in the background. Come back in a few minutes and paste the same link again; it'll be ready instantly.
Before you link a rota: we ask you to confirm that you are entitled to access the rota and have permission to link it here (or, for a file you upload, permission to upload it), and that it holds no patient-identifiable or clinically confidential information. Being allowed to see a rota is not always the same as being allowed to share it, so check with your employer if you are unsure.
Office 365 / SharePoint rotas
Many hospital rotas live in Excel Online on SharePoint or OneDrive and aren't publicly viewable. There are two ways to get them into RotaSync:
Option 1: share a link (best, your calendar stays live)
- Open the rota in Excel Online / SharePoint / OneDrive.
- Click Share → Copy link and set the link to "Anyone with the link" (view only is fine).
- On the dashboard choose Office 365 / SharePoint and paste the link.
The link carries its own private access key, so RotaSync can re-read the spreadsheet on every calendar refresh, so your calendar stays live exactly like a Google Sheet. If your trust revokes or expires the link, just re-share and re-link.
Don't copy the link from your browser's address bar
It's the easiest mistake to make, because the address bar link works perfectly for you. It looks like …/_layouts/15/Doc.aspx?sourcedoc=… and it carries no sharing key, so it only opens for people already signed in with access. Use Share → Copy link instead. A proper share link has an e= in it, or starts with 1drv.ms. RotaSync will tell you if you paste the wrong one.
Two things stop a link working, and neither is fixable at our end. If the rota is shared with "People in your organisation" rather than "Anyone with the link", we're asked to sign in and can't read it; and on many NHS trusts "Anyone with the link" is switched off entirely. And if the file carries a sensitivity label (Microsoft Intune), it stays encrypted wherever it goes, so re-sharing it won't help. In both cases use Option 2 below: it works just as well, and your calendar still updates.
Option 2: if sharing is blocked
The simple answer: download the rota and upload it here. Then do the same when a new version comes out. It takes about twenty seconds and nothing else is needed. Plenty of trusts switch off link sharing, so this is a normal way to use RotaSync rather than a workaround.
If you would rather it happened by itself every night, and you do not mind a bit of setup, you can have your work account email the file in on a schedule using Power Automate(included in most work Office 365 plans, runs in a browser, nothing to install). It is more involved than the rest of this guide, so skip it happily if it is not for you.
Power Automate isn't always available on NHSmail accounts. If yours doesn't have it, uploading the file by hand works just as well.
- Upload the rota once on the dashboard as an Excel / CSV file.
- On that rota's card, open "⚡ Automate updates by email" and copy your unique RotaSync update address, which looks like
u-…@ingest.rotasync.co.uk. (It only appears once the rota is linked, because emailing in updates a rota and can't create one.) - Go to make.powerautomate.com on your work account and create a Scheduled cloud flow set to repeat every 1 day (e.g. at 02:00 every night).
- Add the "Get file content" action (SharePoint or OneDrive for Business) and select the rota file.
- Add "Send an email (V2)" to your unique RotaSync address, attaching the file content output.
- If the flow sends from a work account rather than the email you signed up with, add that work address in the same panel under "Addresses allowed to send". We email it a 6-digit code to check you can read it. You can add up to two.
From then on the latest rota is emailed in every night and your calendar updates automatically, with no manual re-uploads. For security, mail is only accepted from your account email address or an address you've verified, it can only update a rota you already linked, and each email gets a confirmation or failure reply. A verified sending address gains nothing else: it can't sign in and it doesn't change your account email. The emailed file is handled exactly like a rota you upload on the dashboard, and the document itself is never kept.
Emailing in two different rotas works too: we match each attachment against every rota you've uploaded and update the one it belongs to. In the rare case where a file fits two of your rotas equally well we change neither and reply saying so, so a stray file can never silently overwrite the wrong calendar.
Uploading an Excel rota (snapshot)
If the rota is a plain Excel file, emailed around or sitting on a work computer where nothing can be installed, you don't need a link at all. RotaSync is just a website: open the dashboard in any browser, choose Excel / CSV file and upload the rota (.xlsx, .xls or .csv, up to 8 MB). The same layout analysis, name matching and shift timings then apply.
- It's a snapshot. Unlike linked rotas, an uploaded rota only changes when you upload a newer version; the rota card shows when it was last updated.
- Updating is one tap. Use Update file on the rota card. Your calendar link, your calendar apps and your shift timings all stay put; only the data refreshes.
- Or automate it by email. Once a rota is linked, open "⚡ Automate updates by email" on its card for your unique rota-update address. Email the rota file to it, either manually or from a nightly scheduled Power Automate flow (not always available on NHSmail accounts), and the rota updates exactly like pressing Update file. Only mail from your own account email is accepted.
- Updates must be the same rota. As part of your subscription you can keep up to 2 uploaded rotas (plus 2 live rota links) and update them as often as you like. To stop the slots being recycled for unlimited different rotas, we take a fingerprint of the rota document when you link it and check every new upload against it, to confirm the upload is an updated version of the same document. A genuinely different rota should be unlinked and added as new.
- Fair use: 2 different uploaded rotas per 4 months. Updates are unlimited, but linking different uploaded rotas is capped at 2 in any rolling 4-month period, matching a typical rotation. If you hit the cap, the message tells you when the next slot frees up. (Live rota links have no such window, so you can swap those as often as you like.)
- Ended rotas nudge you. When every shift in the uploaded version is in the past, your calendar shows a single all-day reminder to upload the new version.
Adjusting shift timings
RotaSync guesses each shift's times from its code and any shift-times key in your sheet. You can correct anything:
- Quick setup: set your standard day start, day end, long-day end and night start/end once, then Apply to all shifts. Every day/long-day/night code updates at once.
- Advanced: expand it to set each shift's type (long day, short day, night, twilight, evening, on-call, standard day or all-day/leave) and exact start/end times, including separate weekend/bank-holiday times.
- A live preview shows how each code will appear before you save.
- Hide from my calendar feed: tick this to keep a code out of the calendar you subscribe to. Days in lieu, bank holidays and study leave are the usual ones. You will find it in two places: tap a shift in the preview, or open Advanced and use the toggle beside that code. It applies to that rota only, so the same code can be hidden on one rota and kept on another, which matters when a code means different things on two different sheets. It applies everywhere the calendar is served, so whatever you subscribe from agrees. Nothing is deleted: hidden shifts stay on your dashboard, greyed out and struck through, and untick to bring them straight back.
- Off and non-working days are asked about separately, near the bottom of Edit timings & visibility, because they have no times to set and so are not in the list of codes above. There are three answers: show all of them, hide the ones that fall on a Saturday or Sunday, or hide all of them. The middle one is there because a day off midweek is usually worth seeing, being a day you would otherwise be in, while a weekend one is often just noise. Whichever you pick covers every way your rota writes them, so you only answer once even if the sheet says OFF in one place and Rest day in another. It behaves like the toggle above in every other way: that rota only, nothing deleted, and still on your dashboard greyed out.
We also ask this while you link a rota that marks days off for you: once as the Show your days off? step of the link form, and again on the preview screen straight after, where picking an answer greys them on the calendar above it, so you can see what you are choosing before you commit to it. It is one answer wherever you give it, so changing it in any of these places changes it in the others.
To change timings later, open your dashboard, find the rota card and click Edit timings & visibility. Changes save instantly, and your calendar apps pick them up the next time they check; you don't need to re-link or re-share anything.
Linking more rotas
Your plan covers up to 2 live rotas (Google Sheet or Office 365 links) and 2 uploaded rotas at the same time, which is plenty for split placements. On the dashboard, use the Link another rota tile and repeat the linking steps. Everything merges into your single calendar link automatically, with no second plan needed. If two of your rotas cover the same days, we ask you once which one you follow: that one wins on any day both cover, and the other fills the gaps. If they are genuinely different jobs, choose "show both" and nothing is hidden. You can change the answer any time from the rota's card on your dashboard. Where two rotas still put you in two places at once, the calendar shows a warning on the affected days. (Because everything merges into one calendar, an account can only ever serve one person's rotas: accounts are personal, and a second person needs their own account.)
Fair use: you can update any linked rota as often as you like, and swap your live rota links to new rotas whenever you need. Uploaded rotas cover up to 2 different documents in any rolling 4-month period, enough for a normal rotation changeover. An upload slot frees up once 4 months have passed since the earlier rota was first linked.
Unlinking a rota
On the rota card, click Unlink Rota. This removes it from your account and from your calendar. If it was one of two, the remaining rota keeps working. Unlinking does not affect the underlying live spreadsheet.
Syncing it to your calendar
Add it once and your calendar keeps itself up to date. Every app calls this something slightly different, so the button names below are exactly what you will see on screen. Whatever your app calls it, pick the option that adds a calendar from a web address rather than the one that imports a file, because an import is a one-time copy that never updates.
Which device do you want your rota on?
iPhone and iPad
Open Settings, then Apps → Calendar → Calendar Accounts → Add Account → Other → Add Subscribed Calendar. Paste your calendar link and tap Subscribe.
Quicker still: the one-tap Apple button on your dashboard opens this screen for you with the link already filled in.
Android
Android phones cannot add a calendar link directly, so you do it once on a computer and it appears on your phone by itself. Open Google Calendar in a browser, find Other calendars on the left, click the +, choose From URL, paste your calendar link and click Add calendar.
Google can be slow to check for changes. Connecting Google Calendar from your dashboard instead makes updates arrive much faster. See update timing.
Mac
Open the Calendar app, then in the menu bar at the top of the screen choose File → New Calendar Subscription. Paste your calendar link and press Subscribe.
Windows and Outlook
In Outlook, click Add calendar, then Subscribe from web. Paste your calendar link and click Import. Despite the button saying Import, this one does keep updating.
Using a different calendar app?
Your link works in almost any calendar app. Look for an option called Add calendar by URL, Subscribe to calendar, From internet or New calendar subscription, and paste the link in. That covers Fantastical, Thunderbird, Proton Calendar, Samsung Calendar, Fastmail and most others.
Tip: if the app has a refresh frequency setting, set it to the shortest interval offered (often 15 to 30 minutes) so swaps and rota changes appear quickly. See update timing.
How often does it update?
RotaSync always serves the latest data when your calendar app asks for it. How quickly you see changes depends on your calendar app, not on RotaSync:
- Apple Calendar: update interval is set when you add it (Settings → Calendar → Accounts → your calendar → Fetch New Data), from every 15 minutes to weekly. Pick a shorter interval if you want quicker updates.
- Google Calendar: checks for updates on its own schedule (often several hours to ~24h) and this can't be forced. If you need an instant view, use the live preview on your dashboard.
- Outlook: typically refreshes every few hours.
- Other apps: check the added calendar's settings for a refresh/update interval and set it to the shortest available, as many default to daily.
Because of this, a shift you change now may take a while to appear in a third-party calendar. The dashboard preview always reflects the current data immediately.
Uploaded rotas are the exception: they're snapshots, so the data itself only changes when you press Update file or an automated rota email arrives. After that, the same calendar-app refresh rules apply.
Pay & compliance calculator
A paid-tier feature turns your linked shifts into an indicative safe-working compliance check (against the published limits for your contract) and an expected gross/net pay estimate (from published NHS pay, tax, National Insurance, pension and student loan rates), based on a small profile you enter: nation, grade, specialty and similar. Estimates are indicative, never a guarantee; your payslip is the authoritative record of your pay.
How every figure is worked out, and where every rate comes from, is documented in full at How pay & compliance are calculated.
Your data: what we do (and don't) keep
- Rota documents are never kept. Uploaded files and fetched spreadsheets pass through a short-lived processing cache and are then deleted. What we keep is only your extracted shifts, so your calendar keeps working.
- A short-lived processing cache, nothing more. A rota that is read, whether it is linked or uploaded, sits in a cache for up to 30 minutes. That is what stops teammates on the same rota triggering repeated fetches, and what lets you pick your name and confirm your shifts without uploading the file again. Then it's cleared. The rota document itself is never kept. One thing does outlive it, and we would rather say so than round it off: the note of how your spreadsheet is laid out includes the shift codes found on it, and a code copied from a cell that records who covered a shift can carry a colleague's name. We filter what we can, we would rather lose a real code than keep a name, and what remains clears itself within 30 days.
- No AI touches your rota. Working out a spreadsheet's layout is done entirely by our own software. Your rota is never sent to an AI model or an AI provider, so there is nothing for one to retain or train on.
- Before you link a rota, you confirm (recorded with a timestamp) that you're entitled to access it and to link it here (or, for an uploaded file, that you have permission to upload it), and that it contains no patient-identifiable or clinically confidential information.
- If you connected Google to read a private rota, we store the address of that Google account and an encrypted access credential, and nothing else from it. The permission reaches only the files you picked. You can withdraw it at any time from your dashboard, or from your Google account, and we revoke it either way. Deleting your RotaSync account revokes it too.
Full details in the Privacy Policy.
Troubleshooting
- My name isn't in the list. Type it into the same box exactly as the sheet spells it, then choose the use as typed option that appears. Fuzzy matching handles nicknames and initials, but a very unusual spelling may need the exact text. If no list appears at all, use Try again: reading the names back from a large rota occasionally times out, and it usually works second time.
- Some shifts are missing. Check the shift's code exists on your linked tab and isn't only on a draft/old tab. Odd or brand-new codes may need a quick timing tweak in Edit timings & visibility.
- Times look wrong. Open Edit timings & visibility and correct that shift type or its exact hours. Remember weekend/bank-holiday variants can have their own times.
- My hours differ by day of the week. In Edit timings & visibility, untick “My shifts run these hours on every day of the week” and pick the days that differ. You'll be asked for those days' hours separately. If only one shift type breaks the pattern, set it on its own under Advanced.
- Bank holiday vs leave. A worked bank-holiday shift shows as a timed shift labelled "(Bank Holiday)"; bank-holiday annual leave shows as an all-day "Bank Holiday Annual Leave". If yours is mislabelled, adjust it in Edit timings & visibility, or tick Hide from my calendar feed there to keep it out of your calendar altogether.
- Calendar not updating. It's almost always the calendar app's refresh interval (see above). Confirm the change first on the dashboard preview. For uploaded rotas, remember the data only changes when you Update file.
- "This rota isn't shared publicly." For a Google Sheet this is not a dead end: choose Connect Google and choose the rota, pick the file, and we read it with your own access without the rota ever being made public. For Office 365 links the share link must still be "Anyone with the link", because an organisation-only link serves RotaSync a sign-in page instead of the rota; upload the file or email it in instead.
- Google says you cannot download or copy the rota. Some rotas are shared with downloading, printing and copying switched off for viewers. That setting applies to you as well as to us, so no tool can read it automatically and there is nothing to change at our end. Upload the file or use your email-in address instead.
- "We've lost access to one of your rotas." Your access to the rota, or the Google permission you gave us, has gone. Your calendar keeps showing the last shifts we could read until it is fixed. Re-link the rota from your dashboard, or unlink it if your rotation there has ended.
- "This doesn't look like an updated version of this rota." Re-uploads are validated against the rota you originally linked. Check you picked the right file; if you're genuinely switching to a different rota, unlink the old one and add the new file as a new rota.
Billing, cancelling & refunds
Manage your plan under Billing & Subscription on the dashboard. We offer a 14-day money-back guarantee: within 14 days of a payment you can request a full refund.
If an introductory offer is running when you subscribe, the discount applies to your first billing period only: one month on the Monthly plan, the whole six months on the 6-Month Rotation, the whole first year on Annual. You'll see the discounted amount and the standard price that follows it before you pay, and again in your confirmation email. Every payment we take is receipted by email.
Important: cancelling with a refund revokes your access immediately and stops your calendar updating; you'll be warned and asked to confirm first. If you're past 14 days, use Manage Billing to cancel at the end of your current period and keep access until then. This doesn't affect your statutory consumer rights.