FOSS myTIME
Loading your cloud timecard

Connecting securely and loading your saved records from Cloudflare D1…

myTIME update available
Save any changes, then reload to use the latest version.
myTIMEFOSS North America · Personal time clock
Local time · loading
Connecting to Cloudflare storage…
Break & lunch overage tracker
Tracks time beyond your scheduled lunch and each 15-minute break.
Your workday, at a glance
--:--:--
Today & weekly hours
Calculating paid time and estimated clock-out…
Not clocked in

Ready when you are

Clock in to start tracking today's shift.

Tap Start and End when you take each break. myTIME automatically saves the exact timestamps and marks it Taken in your calendar. Use the lunch buttons too; lunch is recorded separately.

Today’s break & lunch schedule

Your expected times at a glance · reminders appear 10 minutes beforehand while myTIME is open. Enable desktop notifications to get a system alert while this page is open. Tap the lunch and break punch buttons when you actually start and finish; myTIME saves each time automatically.

TODAY
In-app reminders are on while myTIME is open.
☕
Morning paid break10:00 AM · 15 minutes
🍽️
Lunch11:30 AM–12:30 PM
☕
Afternoon paid break3:00 PM · 15 minutes

Reminder timing is based on your workday settings. Keep this tab open to see reminders; this browser-only app cannot pop up reminders while fully closed.

PAID TIME TODAY
0h 00m
Goal: 8 hours
0% of daily goal
TIME REMAINING
8h 00m
Until 8 paid hours are reached
PROJECTED FINISH
5:00 PM
Based on 8:00 AM start and 1h lunch

Today's punches

TODAY
No punches yet. Clock in to begin your day.
Times are recorded on this device using your local clock. If a punch is wrong, use the correction option and enter a reason.

My workday settings

READ ONLY
WORKDAY START
8:00 AM
WORKDAY END
5:00 PM
LUNCH
11:30 AM–12:30 PM
MORNING BREAK
10:00 AM
AFTERNOON BREAK
3:00 PM
PAID HOURS GOAL
8 hours

Your schedule is shown here for reference. Change it only in Settings.

Timesheet & backup

Records load from and sync to your signed-in Cloudflare profile. Export a JSON backup only when you choose an extra safety copy.

Optional encrypted backup

EXTRA SAFETY COPY

Your punch records, break and lunch times, settings, time-bank entries, and profile sync automatically to your signed-in Cloudflare profile. This separate encrypted backup is an additional recovery copy for portability. Its passphrase is not your FOSS login, stays in this browser's memory, and cannot be reset by email.

Automatic Cloudflare sync runs when you are signed in. The optional encrypted recovery copy is not connected.

Monthly timesheet

CLOUD RECORDS
DateFirst inLunchLast outPaid timeStatusLate / make-up
No records for this month.

Late start? Your make-up plan

SMART RECOVERY
You're on track

Clock in to see personalized ways to make up time.

Suggestions are planning estimates. Check your manager’s policy before changing lunch or working outside your normal hours.

Weekly schedule & punches

MON–SUN
DayPlanned inLunch outLunch inPlanned outActual inActual outLunchPaidDay balanceLate / make-up
Weekly totals0h 00m0h 00m
This weekly view is read-only. Planned times come from your saved workday settings; actual punches come from your time clock. Day balance compares paid time with that day’s planned paid-hours goal.

Add hours from another day

TIME BANK

Record extra hours already worked on another day, or a time adjustment you need to carry into this week. Entries are included in the weekly balance and saved in your JSON backup.

Use a positive number to add time or a negative number to remove time. These are personal planning records, not payroll changes. Entries can be removed if entered by mistake.
FOSS myTIME · CONNECTIONS

Integrations

Connect the services that support your workflow. Cloudflare Access sign-in and cloud record sync are separate from Google and Microsoft OAuth connections.

Make → Outlook automation configured · Direct OAuth pending

The managed Make.com → Microsoft 365 weekly-report route is configured server-side. Google Workspace and Microsoft 365 direct sign-in still require administrator-approved OAuth applications. Cloudflare Access login and D1 cloud record sync are separate services.

AUTOMATION READY · OAUTH PENDING
ACCOUNT CONNECTIONS

Connect your work tools

Requires administrator-approved setup
Google
NOT CONFIGURED

Google Workspace

For Gmail reports, Google Sheets exports, and Calendar reminders after authorization.

What’s neededGoogle OAuth app, secure callback route, and server-side credential storage.
Microsoft
NOT CONFIGURED

Microsoft 365

For Outlook reports, Excel/OneDrive records, and Calendar reminders where your organization permits access.

What’s neededMicrosoft Entra app, approved permissions, secure callback route, and protected token storage.
AUTOMATION STARTER

Use your existing Google or Microsoft tools

NO SIGN-IN CLAIMS

For Power Automate, myTIME sends your selected timecard payload through a same-origin Cloudflare Pages Function. This avoids browser CORS problems; the flow URL is stored in your signed-in Cloudflare profile and is only forwarded with the request. The receiver is restricted to Microsoft Power Automate / Azure Logic Apps HTTPS hostnames. A Google Apps Script web app or another HTTPS webhook can still be selected as a generic receiver. This webhook connection does not require Google or Microsoft OAuth sign-in.

Connection notes: Google and Microsoft OAuth sign-in and direct Gmail/Outlook API sending are not enabled. Cloudflare Access can still authenticate myTIME users and protect cloud records through the separate /api/records service when the Cloudflare D1 binding is configured. Use the save-status indicator at the top of the app to confirm whether Cloudflare has acknowledged the latest save. A browser recovery copy is not a cloud save. Webhook delivery is separate and requires a trusted HTTPS receiver. Never paste passwords or API secrets into this page.

MANUAL CONNECTION

Webhook delivery

Send a report or selected time records to a webhook you control. This is separate from Google or Microsoft sign-in.

USER CONTROLLED

Configure your webhook

Use a Power Automate “When an HTTP request is received” trigger URL or another trusted HTTPS receiver.

01 / SET UP
Use only an endpoint you trust. Avoid URLs containing credentials or secrets.
\n
The managed Make → Outlook connection sends to both configured recipients.

What gets sent?
Weekly report sends the complete Monday–Friday timecard, punch details, totals, and a responsive FOSS-branded HTML email body for your workflow to deliver. Punch records sends the recorded dates. Full backup sends your saved timekeeping data and settings.

Managed Make → Outlook delivery is configured. Select Make.com → Outlook and send a test email; verify both recipient mailboxes.
Security & delivery

The managed Make webhook is stored as a Cloudflare secret; custom webhook URLs are synced to your signed-in Cloudflare profile. Weekly email is automatically triggered by Friday clock-out after cloud sync succeeds. Manual test emails require your confirmation. Verify Make's run history and both recipient mailboxes; direct Google/Microsoft OAuth sign-in remains a separate, unconfigured feature.

Need a webhook receiver?

Power Automate setup: create an Automated cloud flow with the trigger “When an HTTP request is received”. Use the JSON schema below, save the flow to generate its HTTP POST URL, then paste that URL above. Add “Send an email (V2)” for weekly reports and map to to To, subject to Subject, and htmlBody to the email body; enable HTML if your action exposes that option. For other event types, add a condition on event before processing.

HTTP trigger JSON schema
{
  "type": "object",
  "properties": {
    "source": {"type":"string"},
    "event": {"type":"string"},
    "sentAt": {"type":"string"},
    "to": {"type":"string"},
    "subject": {"type":"string"},
    "reportName": {"type":"string"},
    "periodDays": {"type":"integer"},
    "totalPaidMinutes": {"type":"integer"},
    "totalPaidHours": {"type":"number"},
    "records": {"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"clockIn":{"type":["string","null"]},"lunchOut":{"type":["string","null"]},"lunchIn":{"type":["string","null"]},"clockOut":{"type":["string","null"]},"paidMinutes":{"type":["string","number","null"]}}}},
    "htmlBody": {"type":"string"},
    "branding": {"type":"object"},
    "backup": {"type":"object"}
  }
}

Custom Webhooks

Save multiple endpoints, choose what each receives, preview the data, and test delivery.

USER CONTROLLED
Paste the endpoint generated by your automation service. Do not paste passwords or API keys.
Ready to configure. Your saved webhooks sync to your Cloudflare profile; nothing is sent until you test or trigger a delivery.

No custom webhooks saved yet. Add an endpoint above to get started.

Current account payload preview
{}

Security: endpoint URLs are included in your account-specific Cloudflare data and are not application-level encrypted. Only use approved HTTPS endpoints and treat webhook URLs as credentials. Make.com and Power Automate use the existing same-origin server endpoints; generic custom URLs may be blocked by receiver CORS rules. A successful HTTP response confirms acceptance only—check your automation run history to confirm the email action completed.

FOSS data safety
Only connect company records to services approved by FOSS IT. Punches sync to your signed-in Cloudflare D1 account. Export or send records only when you choose to.

Import & Export Center

Import previous punches, preview changes, and back up your time records.

DATA TOOLS
IMPORT
Excel, CSV or JSON

Import a styled .xlsx workbook or CSV containing any dates worked. Preview before saving; JSON backups can be merged too.

EXPORT
Branded Excel workbook

Styled daily punches, paid-hour formulas, weekly summary, time-bank entries and instructions.

TEMPLATE
Import previous dates

Enter one row per work date in the formatted Excel template, then upload it here.

Choose an Excel (.xlsx), CSV, or myTIME JSON file. Use one row per work date and times like 08:00 or 17:00. Nothing is changed until you confirm.

Manage saved punches

Review, correct, add or remove a day’s records. Changes sync to your signed-in Cloudflare D1 account.

EDITABLE RECORDS
Before correcting a bad import: download a JSON backup first. You can also export CSV or Excel, edit it in a spreadsheet, then import and review the preview before confirming.
DateClock inLunch outLunch inClock outPaid timeActions
No saved records yet.

Delete removes the selected date’s punch record from your Cloudflare timecard and syncs that change to your account. It does not change a company payroll system.