Employee Self-Service Attendance & QR Clock-In Guide
This step-by-step tutorial guides Administrators through configuring an internal Employee Self-Service Attendance & Clock-In System using FormMail Hub.
By combining Team Member authorization with respondent QR code passes, organizations can empower employees to check themselves in and out on arrival or departure. The platform handles state changes in real-time, sending instant digital attendance receipts to the employee while generating audit log emails for management—all without requiring passwords or third-party hardware.
To test form submission triggers before setting up your employee tracking system, explore our interactive Live Demo Form or install the add-on directly via the Google Workspace Marketplace Listing.
1. How the Internal Self-Service Attendance Model Works
Section titled “1. How the Internal Self-Service Attendance Model Works”The internal self-service attendance workflow operates on a dual-role pattern:
+-----------------------------------------------------------------------------------+| ADMINISTRATION & INITIAL SETUP || 1. Admin configures and tests Custom SMTP to unlock feature tabs || 2. Admin enables "Limit to 1 response" in Google Forms Settings (if 1 pass/user) || 3. Admin adds employees as Team Members (generating {Full Scanner} links) || 4. Employees complete the registration Form to receive individual {QR Code} passes|+-----------------------------------------------------------------------------------+ | v+-----------------------------------------------------------------------------------+| EMPLOYEE DEVICE AUTHORIZATION || Employee opens {Full Scanner} authorization link in mobile/desktop browser || -> Authorizes device securely for 7 days without needing an account password |+-----------------------------------------------------------------------------------+ | v+-----------------------------------------------------------------------------------+| SELF-SERVICE SCAN & ATTENDANCE ENGINE || Employee scans their own {QR Code} ticket or clicks {Verify Link} on their device || -> Cloud engine records Check-in or Check-out status in real-time || -> Maintains 30-day rolling attendance retention |+-----------------------------------------------------------------------------------+ | v+-----------------------------------------------------------------------------------+| AUTOMATED DUAL REAL-TIME RECEIPT DISPATCH || Receipt 1: Instant attendance confirmation email sent to Employee || Receipt 2: Activity audit log email sent to Employee & CC'd to Form Admin |+-----------------------------------------------------------------------------------+Key Workflow Components:
Section titled “Key Workflow Components:”- Dual Role Assignment: Every employee acts as both a Team Member (authorized scanner operator) and a Form Respondent (individual pass holder).
- Single Ticket Enforcement: Native single-pass restrictions per respondent are enforced directly at the form entry point by enabling “Limit to 1 response” in Google Forms Settings.
- Zero-Login Authentication: Employees authorize their devices using secure 1-click authorization links (
{Full Scanner}) valid for 7 days. - Digital Ticket Verification: Each employee receives a digital
{QR Code}ticket pass containing their identity and reference code. - Real-Time Attendance Tracking: Scans update explicit ticket state (
INorOUT) with automatic 30-day rolling data retention. - Dual Audit Email Receipts: Every scan immediately triggers confirmation receipts for both the employee and management.
2. Prerequisites: Custom SMTP Configuration & UI Unlock
Section titled “2. Prerequisites: Custom SMTP Configuration & UI Unlock”Before designing templates or generating scanner authorization links, custom SMTP must be configured and verified.
Warning: Custom SMTP Prerequisite & UI Lock State
Admins MUST configure and test custom SMTP settings under Settings > SMTP Config before unlocking Templates, Rules, Campaigns, or Analytics. Until custom SMTP is active, these feature tabs remain strictly locked in the FormMail Hub user interface. Built-in System SMTP is strictly restricted to administrative system alerts and cannot be used for dynamic employee email templates.
Quick Custom SMTP Setup Steps:
Section titled “Quick Custom SMTP Setup Steps:”- Open FormMail Hub from Google Forms™ or Google Sheets™.
- Navigate to Settings > SMTP Config.
- Choose your provider (e.g., Gmail™ App Password, Amazon SES, SendGrid, Mailgun, or custom corporate SMTP).
- Enter your connection credentials and click Test Connection.
- Once verified with a success response, all feature tabs unlock immediately.
3. Step 1: Add Employees as Team Members & Enforce Single Ticket Limit
Section titled “3. Step 1: Add Employees as Team Members & Enforce Single Ticket Limit”To grant employees scanning authority and prevent duplicate registration tickets:
Note on Permissions: Only the first user among the form’s editors who connects that form to FormMail Hub is granted exclusive rights to configure settings, templates, rules, and triggers. Team members are added strictly so the Admin can select who receives submission alerts and who is authorized to act as staff scanners. Team members DO NOT have edit or configuration permissions.
Form Configuration (Single Pass Restriction):
Section titled “Form Configuration (Single Pass Restriction):”If you want to ensure each employee receives strictly one digital attendance ticket:
- Open your Google Form in edit mode.
- Go to Settings > Responses.
- Toggle ON “Limit to 1 response” (requires respondents to sign in to Google).
- Save settings.
Adding Team Members in FormMail Hub:
Section titled “Adding Team Members in FormMail Hub:”- In the FormMail Hub sidebar, navigate to Team Members.
- Enter the employee’s work email address (e.g.,
alex.smith@yourcompany.com). - Click Add Team Member.
- Repeat for all employees participating in self-service attendance tracking.
4. Step 2: Create the Employee Registration & Pass Template
Section titled “4. Step 2: Create the Employee Registration & Pass Template”Next, create an email template that delivers the individual {QR Code} ticket pass to employees when they complete or are enrolled in the attendance form.
Dynamic Tag Snippet Cards
Section titled “Dynamic Tag Snippet Cards”Use these explicit dynamic tags in your employee ticket template:
{QR Code}Generates a visual QR code ticket image with embedded link for scanning.
{Form title}Displays the name of your company attendance form (e.g., “Daily Shift Clock-In”).
{Unsubscribe Link}Provides a form-specific opt-out link for compliance.
Sample Employee Pass Email Template:
Section titled “Sample Employee Pass Email Template:”- Navigate to Email Templates > + Create New Template.
- Set Template Name:
Employee Attendance Badge Pass. - Set Subject Line:
Your Digital Attendance Pass - {Form title}. - Paste the following HTML layout into the template editor:
<!DOCTYPE html><html><head> <meta charset="utf-8"> <style> body { font-family: Arial, sans-serif; background-color: #f4f6f9; color: #1e293b; padding: 20px; } .card { max-width: 500px; margin: 0 auto; background: #ffffff; border-radius: 8px; padding: 24px; border: 1px solid #cbd5e1; } .header { text-align: center; border-bottom: 2px solid #2563eb; padding-bottom: 12px; margin-bottom: 20px; } .qr-container { text-align: center; background: #f8fafc; padding: 20px; border-radius: 6px; margin: 16px 0; } .footer { text-align: center; font-size: 11px; color: #64748b; margin-top: 20px; } </style></head><body> <div class="card"> <div class="header"> <h2 style="color: #1e40af; margin: 0;">Employee Digital Pass</h2> <p style="margin: 4px 0 0 0; font-size: 14px; color: #475569;">{Form title}</p> </div> <p>Hello,</p> <p>Below is your permanent digital attendance pass. Keep this email easily accessible on your mobile phone for daily clock-in and clock-out scanning.</p>
<div class="qr-container"> {QR Code} <p style="font-size: 12px; color: #64748b; margin-top: 8px;">Attendance Ticket: {Form title}</p> </div>
<p style="font-size: 13px; color: #334155;">To clock in or clock out, scan this QR code using your authorized mobile browser scanner.</p>
<div class="footer"> <p>Company Internal Attendance System | Powered by FormMail Hub</p> <p><a href="{Unsubscribe Link}">Unsubscribe from notifications</a></p> </div> </div></body></html>- Click Save Template.
- Create an Email Rule that triggers this template automatically when an employee registers or submits the form.
5. Step 3: Issue Scanner Authorization Links to Employees
Section titled “5. Step 3: Issue Scanner Authorization Links to Employees”To allow employees to scan their own QR passes, you must send them a personalized staff scanner authorization link.
Scanner Authorization Tag Reference
Section titled “Scanner Authorization Tag Reference”| Dynamic Tag | Mode | Functionality |
|---|---|---|
{Check-in Scanner} |
checkin |
Authorizes device exclusively for arrival clock-in scans (7-day validity). |
{Check-out Scanner} |
checkout |
Authorizes device exclusively for departure clock-out scans (7-day validity). |
{Full Scanner} |
both |
Recommended for Employees: Authorizes device for both clock-in and clock-out scanning (7-day validity). |
Security & Audience Isolation Rule: Scanner authorization tags (
{Check-in Scanner},{Check-out Scanner},{Full Scanner}) are populated strictly in team member email notifications. To guarantee security isolation, scanner links are automatically stripped from standard respondent emails.
Staff Authorization Notification Template:
Section titled “Staff Authorization Notification Template:”- Create an internal team notification template titled
Employee Scanner Link Dispatch. - Subject:
ACTION REQUIRED: Authorize Your Attendance Scanner Device. - Body Content:
Hello,
To enable self-service attendance scanning on your mobile phone, click your personalized zero-login authorization link below:
{Full Scanner}
IMPORTANT INSTRUCTIONS:1. Open or copy this link directly in the exact mobile browser app (e.g., Chrome or Safari) you will use to scan your QR badge.2. Authorization sets a secure browser session valid for 7 days.3. Once authorized, bookmark the scanning page for daily access.Warning: Browser Session Isolation Note
Because scanner authorization relies on a secure browser session set during link activation, opening the link inside an in-app email previewer (such as Gmail’s or Outlook’s built-in webview) will NOT authorize external browsers (such as default Safari, mobile Chrome, or a standalone camera app). Employees MUST copy and paste the Auth link directly into the exact browser application used for scanning QR codes.
6. Step 4: Self-Service Clock-In & Clock-Out Workflow
Section titled “6. Step 4: Self-Service Clock-In & Clock-Out Workflow”Once an employee activates their authorization link on their mobile device browser, they can complete clock-in and clock-out actions seamlessly:
[ Employee Arrival ] | vEmployee opens authorized mobile browser | vEmployee points phone camera at their digital {QR Code} badge (or clicks {Verify Link}) | vSystem verifies authorization & displays Live Attendance Status Badge: - ⚪ Status: Not Checked-In Yet (Initial) - 🟢 Status: Checked-In (Active Shift) - 🚪 Status: Checked-Out (Shift Completed) | vEmployee taps 'Check-In' or 'Check-Out' button | vBackend processing: - Validates scanner permissions - Updates state (IN / OUT) - Extends rolling record retention to 30 days | vAutomated Dual Real-Time Email Receipts DispatchedAttendance Engine Rules & Concurrency Control
Section titled “Attendance Engine Rules & Concurrency Control”When an employee scans their pass, the platform enforces strict state transitions:
- Clock-In Transition:
- Validates current state. If the status is already
IN, the system rejects duplicate clock-ins and alerts the user on screen. - If valid, sets status to
IN, records the operator email and UTC timestamp, and refreshes the retention period to 30 days.
- Validates current state. If the status is already
- Clock-Out Transition:
- Validates that the ticket is currently in
INstate. If the status is notIN, clock-out is denied. - Updates status to
OUT, records the operator email and UTC timestamp, and refreshes the retention period to 30 days without deleting the historical record.
- Validates that the ticket is currently in
7. Step 5: Automated Dual Real-Time Receipts
Section titled “7. Step 5: Automated Dual Real-Time Receipts”Upon every successful self-service clock-in or clock-out event, FormMail Hub instantly dispatches two independent real-time email notifications:
Receipt 1: Employee Attendance Receipt
Section titled “Receipt 1: Employee Attendance Receipt”Dispatched immediately to the employee:
- Subject:
Attendance Confirmation: {Form title} - Payload: Updated status (
Checked InorChecked Out), Event/Form Name, Reference Pass ID, and exact UTC timestamp.
Receipt 2: Management Audit Log Email
Section titled “Receipt 2: Management Audit Log Email”Dispatched immediately to the employee’s scanner identity and CC’d directly to the Form Admin:
- Recipient: Scanning Employee (CC: Primary Connector / Form Admin).
- Payload: Complete audit trail recording employee identity, ticket reference code, operator identity, action mode (
checkin/checkout), and scan timestamp.
8. Troubleshooting & Operational FAQ
Section titled “8. Troubleshooting & Operational FAQ”| Symptom / Error | Root Cause | Technical Remediation |
|---|---|---|
| Feature tabs locked in UI | Custom SMTP not configured or connection test failed. | Navigate to Settings > SMTP Config, enter custom SMTP credentials (e.g., Gmail App Password or SES), and click Test Connection. |
| Employee generated multiple tickets | “Limit to 1 response” is disabled in Google Form Settings. | In Google Forms Settings > Responses, turn on “Limit to 1 response”. The backend engine tracks each ticket’s canonical state automatically. |
| Scanner tag appears blank in email | Scanner tags included in respondent emails instead of team emails. | {Check-in Scanner}, {Check-out Scanner}, and {Full Scanner} tags are populated strictly in team member notifications and stripped from respondent emails for security isolation. |
| “Unauthorized Device” error on scan | Browser session isolation mismatch. | Opening the Auth link in an in-app email previewer sets authorization in the previewer, not the default browser. Copy the Auth link directly into Safari or Chrome. |
| Duplicate scan rejected | Employee attempted to clock in while already marked IN. |
The employee is already clocked in (🟢 Status: Checked-In). To clock out, select the Check-Out action button on screen. |
| Scanner link expired | 7-day authorization window elapsed. | Re-send the scanner authorization email to generate a fresh 7-day authorization link for the employee. |
9. Official Platform Resources & Support
Section titled “9. Official Platform Resources & Support”For additional guidance on central deployments or enterprise domain configuration, access our official resources:
- Google Workspace Marketplace Listing: Install FormMail Hub
- Interactive Live Demo: Test Live Submission Triggers
- Technical Support & Help Desk: Contact Support
- Enterprise Legal Policies: Review our Privacy Policy and Terms of Service
Google Forms™, Google Sheets™, Google Workspace™, and Gmail™ are trademarks of Google LLC.