Help Center

DutyRemind Support & Setup

Learn how to configure your spreadsheet grids, map custom shift slots, add reminders, and troubleshoot sync behaviors.

Installation & Setup Guide

Follow these instructions to install the add-on, configure your Google Sheet roster, and sync events to Google Calendar.

Watch the Video Tutorial

Watch Setup Walkthrough Video Opens in YouTube ↗

1. How to Install

  • Open the Google Spreadsheet where you maintain your duty roster or shift charts.
  • Navigate to the top menu and click: Extensions → Add-ons → Get add-ons.
  • Search for DutyRemind in the Google Workspace Marketplace.
  • Click the Install button (or use this direct Marketplace installer link).
  • Grant the required Google Calendar and Spreadsheets permissions.
  • Refresh your active sheet tab.
  • In the menu, click: Extensions → DutyRemind → Configure to open the setup sidebar.

2. Configure Spreadsheet Mapping

In the Setup tab of the sidebar, map the layout of your sheet roster using the 1-based indexing values:

  • Target Sheet Name: The name of the tab containing your roster data.
  • Header Rows: Number of rows at the top containing metadata (default is 5).
  • Header Columns: Fixed columns on the left before the dates begin (default is 2).
  • Date Row: The row containing dates (default is row 2).
  • Slot Row: The row containing shift identifiers like FN/AN (default is row 4).
  • Email Column: The column containing employee/customer email addresses (default is column 1).

3. Configure Shift Slots & Overrides

Open the Manage Slots tab to define durations for shift code labels:

  • Default Slots: For example, define FN (Forenoon) from 09:15 to 12:30, and AN (Afternoon) from 13:15 to 16:30.
  • Day Overrides: Expand a slot card to customize times for specific days (e.g. override AN on Fridays to run from 13:45 to 17:00).

4. Set Notifications & Sync

Configure your event titles, notifications, and run the sync:

  • Calendar Tab: Customize the event title (e.g., "Team Duty") and description. Add native calendar notifications (email or popup alerts, e.g., 30 minutes before shifts). Press Save All Settings.
  • Synchronize: Click: Extensions → DutyRemind → Sync Calendars. An execution dialog will open showing detailed additions, updates, or deletions.

5. Synchronization Logic Rules

DutyRemind follows these strict rules when executing synchronization:

Case-Insensitive Shift Code Matching: Roster codes in the cells are matched case-insensitively with slot configuration IDs (e.g. fn matches slot FN).

Assigning Attendees: Row values are parsed column-by-column. An 'X' or 'x' indicates the employee/customer should be scheduled; any other value or blank cell removes them from the event.

Filter Past Dates: Sync ignores columns with roster dates prior to today in the calendar's timezone, preserving past logs.

Empty Slots Auto-Delete: If no guest is assigned to a shift, DutyRemind automatically deletes the corresponding calendar event to avoid cluttering.

Frequently Asked Questions

DutyRemind Free supports scheduling up to the limit specified on our product landing page. If your active sheet contains more distinct emails than allowed on the free tier, the sync process will notify you. The system will continue to sync up to the free tier user limit, and exclude emails beyond that list. To sync larger spreadsheets, you can upgrade to the Pro Tier (pricing and licensing details are available on our main product page) to sync unlimited team sizes, or contact us for custom plans.

Yes. DutyRemind is built on top of Google Apps Script and executes entirely within your Google account's context. Your calendar data and sheet contents are sent directly from your Google Sheet to Google Calendar via Google's OAuth APIs. Niyogi Labs does not host backend servers that collect, store, or inspect your scheduling data. Everything remains inside your Google Workspace environment.

In the sidebar, open the Manage Slots tab. Click + Add Day Override inside a specific slot card. Select a day (Monday-Sunday) and customize the start/end times. If a schedule falls on that day of the week, DutyRemind will automatically select the overridden hours instead of the default slot times.

This error occurs when the spreadsheet user running the sync does not have write access to the targeted calendar resource. Ensure that the Calendar ID field in your settings is set to primary (which schedules events on your calendar) or verify that you have administrative permissions on the external calendar you're targeting.

Need further support?

For technical errors, custom integration requests, or enterprise/pricing inquiries, email us at:

niyogi.labs@gmail.com

Please include your spreadsheet structure details and active error messages in your inquiry.