---
title: "Shift handover form with a morning email · Vivified Tech"
description: "Replace the handover notebook and chat thread with a Google Form. A short script emails the GM one tidy summary each morning. Free, about 25 minutes."
url: "https://vivifiedtech.com/guides/shift-handover-form-morning-email/"
---

The four steps in 30 seconds

  [Download the video (MP4)](https://vivifiedtech.com/assets/video/shift-handover-form-morning-email/shift-handover.mp4)

The steps from this guide, 30 seconds, no sound. The example subject line is illustrative.

### Transcript of the video

1.  0:00

    SHIFT HANDOVER

    Shift handover, in one morning email

    Google Forms, Sheets and Apps Script. Free. About 25 minutes.

2.  0:02

    1

    A short form for every shift

    forms.google.com > Blank form

    QUESTIONS

    Shift

    Your name

    Arrivals and VIPs

    In-house issues

    Maintenance needed

    Guest feedback

    For the next shift

3.  0:06

    2

    Link it to a Google Sheet

    Responses > Link to Sheets

    Every handover lands as a new row.

4.  0:10

    3

    Paste the morning-email script

    Extensions > Apps Script

    The full script is in the guide. Add the GM's email address.

5.  0:14

    4

    Run it every morning

    Triggers > Add Trigger > Day timer

    EXAMPLE

    Subject

    Handover notes, last 24 hours

    No notes that day, no email.

6.  0:19

    What this does not do

    It reports only what staff typed.

    It does not read your property system.

    No guest personal details. Room numbers are enough.

7.  0:23

    Numbers from your PMS are a different job.

    That's the one we build.

    Still copying the same numbers into reports every morning? Vivified Tech builds the software that takes over repetitive hotel admin. Free assessment.

    vivifiedtech.com/guides

    Link in the post.

## Step 1: Build the form

1.  Go to forms.google.com and create a blank form named "Shift handover".
2.  Add these questions in this order: **Shift** (dropdown: Morning, Afternoon, Night), **Your name**, **Arrivals and VIPs to watch**, **In-house issues**, **Maintenance needed (room and problem)**, **Guest feedback**, **For the next shift**. Make the first two required.
3.  Keep guest personal details out of the form. Room numbers are enough.

## Step 2: Link the form to a Google Sheet

1.  Open **Responses**, click **Link to Sheets** and create the spreadsheet. See [Google's steps](https://support.google.com/docs/answer/2917686). Every submitted handover then lands as a new row.
2.  In the spreadsheet, check the response tab is called **Form responses 1**. Under **File**, **Settings**, set your time zone.

## Step 3: Paste the morning-email script

1.  Open **Extensions**, then **Apps Script**. Delete the sample code and paste this:

```js
function sendMorningHandover() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName('Form responses 1');
  const rows = sheet.getDataRange().getValues();
  const headers = rows.shift();
  const since = new Date(Date.now() - 24 * 60 * 60 * 1000);
  const timeZone = ss.getSpreadsheetTimeZone();
  const recent = rows.filter(
    (row) => row[0] instanceof Date && row[0] >= since
  );
  if (recent.length === 0) return;
  const body = recent
    .map((row) => {
      const when = Utilities.formatDate(row[0], timeZone, 'EEE HH:mm');
      const lines = [row[1] + ' shift, ' + row[2] + ' (' + when + ')'];
      for (let i = 3; i < headers.length; i++) {
        if (row[i]) lines.push(headers[i] + ': ' + row[i]);
      }
      return lines.join('\n');
    })
    .join('\n\n');
  MailApp.sendEmail({
    to: 'gm@yourhotel.com',
    subject: 'Handover notes, last 24 hours',
    body: body
  });
}
```

2.  Replace the address in `to` with the GM's email address. Separate several addresses with commas.
3.  Click **Run**, approve the permissions, then check your inbox. Google warns that the app is unverified because you wrote it. Choose **Advanced**, then go to the project.

## Step 4: Run it every morning

1.  In Apps Script, open **Triggers** (the clock icon) and click **Add Trigger**.
2.  Choose `sendMorningHandover`, event source **Time-driven**, type **Day timer**, and the hour window just before the GM starts.
3.  Save. Google [picks a time inside that hour](https://developers.google.com/apps-script/guides/triggers/installable) and keeps it the same each day.

## Details and limits

Checked on 2026-10-22. Limits change, so re-check the linked pages.

### What it does

A form puts the same questions in front of every shift. Handover notes usually live in a notebook, a chat group or someone's memory. Google Forms, Sheets and Apps Script are free with a Google account. Nothing here needs a paid plan or a trial.

Each morning the GM gets one plain email with every shift's notes from the last 24 hours: arrivals to watch, in-house issues, rooms that need maintenance, guest feedback and anything for the next shift. The subject line in the script is `Handover notes, last 24 hours`; change it in `subject` if you like. If nobody filled in the form, no email is sent.

For instant alerts without code, open **Responses**, then the three-dot menu, then **Get email notifications for new responses**. Google sends one email per submission to the form owner. The script above sends a single morning email instead.

### What it can't do

-   The email only reports what staff typed. It does not read your property system or check the notes against it.
-   It does not filter what staff type. Ask staff to write room numbers and leave out guest names and contact details.
-   If someone renames or reorders the questions, the email changes with them. If you add questions at the end, they appear automatically.
-   It does not bring in numbers such as arrivals, occupancy or pickup. Someone still has to type them.

### Limits

-   Apps Script allows a consumer Google account 100 email recipients a day and 90 minutes of trigger runtime a day. Workspace accounts get 1,500 recipients and 6 hours. A script like this uses seconds. See the [quotas page](https://developers.google.com/apps-script/guides/services/quotas).
-   From September 2026 a form is limited to 1 GB and 500,000 responses, per [Google's help page](https://support.google.com/docs/answer/139706). A hotel will not get near that.

### When this stops being enough

When you want the numbers themselves in the email, such as arrivals, occupancy or pickup, pulled straight from your property management system, a form can't help, because someone still has to export them. Doing that every day without a person is the kind of work we build.

See this in practice in the [hotel data pipeline case study](https://vivifiedtech.com/case-studies/hotel-data-pipeline/), or read [how the no-build-fee model works](https://vivifiedtech.com/how-it-works/).

## Sources

1.  [Choose where to save form responses (Google Docs Editors Help)](https://support.google.com/docs/answer/2917686)
2.  [View and manage form responses, including email notifications and limits (Google Docs Editors Help)](https://support.google.com/docs/answer/139706)
3.  [Quotas for Google services (Apps Script)](https://developers.google.com/apps-script/guides/services/quotas)
4.  [Installable triggers (Apps Script)](https://developers.google.com/apps-script/guides/triggers/installable)

## Related guides

-   [Auto-replies for hotel WhatsApp, set up free](https://vivifiedtech.com/guides/whatsapp-business-auto-replies-for-hotels/)
-   [Auto-acknowledge hotel enquiries in Gmail](https://vivifiedtech.com/guides/gmail-enquiry-inbox-for-hotels/)
-   [Three checks before a PMS export goes out](https://vivifiedtech.com/guides/pms-export-checks-before-sending/)

## Have a task like this?

Tell us the repetitive task and we'll say honestly whether we can automate it.

[Get a free assessment](https://vivifiedtech.com/contact/)
