🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

iPhone Shortcuts + Google Sheets, hours logged right

Lisa Granqvist Partner Workflow Automation Expert

Time tracking falls apart in the little moments. You arrive, you get pulled into a call, and suddenly “I’ll log it later” turns into a weekly scramble through calendars and messages.

This is exactly what operators and agency owners complain about, and it hits freelancers too: iPhone Sheets logging that’s consistent, fast, and not dependent on your memory. The goal is simple. Your check-ins and check-outs land in Google Sheets automatically, so your hours are correct every week.

This workflow uses iPhone Shortcuts to trigger a request, n8n to catch and format it, and Google Sheets to store it cleanly. You’ll see how it runs, what you need, and where people usually get stuck.

How This Automation Works

See how this solves the problem:

n8n Workflow Template: iPhone Shortcuts + Google Sheets, hours logged right

The Challenge: Time logs that go missing

Manual time tracking sounds easy until you do it every day. You check in mentally, then forget to record it. You check out late, then try to remember if you left at 5:30 or “closer to 6.” And once you miss one entry, the rest of the week gets messy because you’re constantly second-guessing yourself. The real cost isn’t just the time spent fixing it. It’s the mental load, the awkward “let me backfill that” feeling, and the fact that your sheet stops being trustworthy.

It adds up fast. Here’s where it breaks down in real life.

  • You lose about 10 minutes a day trying to remember exact start and end times.
  • One missed check-out often turns into a sloppy estimate, which then throws off totals and payroll math.
  • Copying notes from your phone into a spreadsheet creates typos and inconsistent formats.
  • When the Google Sheet isn’t set up yet (or someone renamed it), logging stops completely until you fix it.

The Fix: Location-triggered check-ins logged to Sheets

This automation turns “I should log that” into something that happens in the background. When you enter or exit a specific location, your iPhone runs a Shortcut that sends a simple request to n8n. n8n receives it through a webhook, figures out whether it’s a check-in or check-out, and prepares a clean row for your log. If the Google Sheet doesn’t exist yet, the workflow creates one for you, then continues like normal. The end result is a tidy record in Google Sheets that you can trust for weekly totals, invoicing, or attendance reporting.

The workflow starts with an incoming webhook from your iPhone Shortcuts. It then looks up the spreadsheet in Google Drive, creates it if needed, formats the fields, and appends a new row to Google Sheets. No backfills. No “I’ll do it later.”

What Changes: Before vs. After

Real-World Impact

Say you work 5 days a week and you log two events per day (check-in and check-out). Manually, that’s usually about 2 minutes per entry once you open the sheet, find the row, and type the time, so roughly 20 minutes a week. But the real drain is backfilling: even one forgotten day can take another 20 minutes of digging. With this workflow, the “work” is basically zero after setup, and the sheet stays accurate automatically.

Requirements

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • iPhone Shortcuts to trigger check-in and check-out.
  • Google Drive to find or create the spreadsheet file.
  • Google Sheets to store your time log in rows.

Skill level: Beginner. You will copy a webhook URL, connect Google, and edit two iPhone Shortcuts.

Need help implementing this? Talk to an automation expert (free 15-minute consultation).

The Workflow Flow

Your iPhone sends the moment. You create two Shortcuts, one for “Check-In” and one for “Check-Out,” each triggered by entering or leaving a location. Each Shortcut sends a quick web request to n8n with a header that tells n8n the direction.

n8n receives it and looks for your log. The webhook catches the request, then checks Google Drive to find the right spreadsheet. If the search comes back empty, the workflow detects that and routes to a “missing file” path.

The sheet gets created if it’s not there. When needed, n8n generates the spreadsheet in Google Sheets, then immediately continues. Honestly, this is the part that saves you from those “it broke because someone renamed a file” headaches.

A clean row is appended. n8n prepares a consistent set of fields (time, check-in/check-out status, and anything else you decide to add later) and appends the row to Google Sheets. That’s your system of record.

You can easily modify the fields you store to include notes, job codes, or client names based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Webhook Trigger

Set up the inbound endpoint that receives attendance events and kicks off the workflow.

  1. Add the Incoming Webhook Trigger node and set the Path to time-track.
  2. Choose the HTTP method you will send from your source system (keep default if your client uses POST).
  3. Save the workflow to generate the production URL for the webhook.

Step 2: Connect Google Drive and Locate the Spreadsheet

Use Google Drive to find the existing spreadsheet file that will store attendance logs.

  1. Add the Drive File Lookup node after Incoming Webhook Trigger.
  2. Set Resource to fileFolder, enable Return All, and set Query String to WorkTimeTracking.
  3. Credential Required: Connect your googleDriveOAuth2Api credentials.

Drive File Lookup outputs to Detect Empty Result to determine whether a matching file was found.

Step 3: Handle Missing File Logic and Prepare Log Fields

Create the spreadsheet if it doesn’t exist, then shape the data that will be appended.

  1. In Detect Empty Result, keep the JavaScript as-is to compute the empty flag: return [{json: {empty: items.length == 1 && Object.keys(items[0].json).length == 0}}];
  2. In Missing File Check, ensure the condition uses ={{$json["empty"]}} with the boolean operation set to true.
  3. Connect the true output of Missing File Check to Generate Spreadsheet, and the false output directly to Prepare Log Fields.
  4. In Generate Spreadsheet, set Title to WorkTimeTracking and ensure a sheet named Worklog is created.
  5. Credential Required: Connect your googleSheetsOAuth2Api credentials for Generate Spreadsheet.
  6. In Prepare Log Fields, set Mode to raw and JSON Output to ={ "Date": "{{ $now.format('yyyy-MM-dd') }}", "Time": "{{ $now.format('hh:mm') }}", "Direction":"Check-In" }.

Generate Spreadsheet flows into Prepare Log Fields to continue the process after file creation.

Step 4: Append Attendance Data to Google Sheets

Map the prepared fields and the webhook header into a new row in the Worklog sheet.

  1. Add the Append Log Row node after Prepare Log Fields with Operation set to append.
  2. Set Document ID to ={{ $('Drive File Lookup').item.json.id }} and Sheet Name to Worklog.
  3. Map columns using expressions: Date={{ $json.Date }}, Time={{ $json.Time }}, Direction={{ $('Incoming Webhook Trigger').item.json.headers.direction ? $('Incoming Webhook Trigger').item.json.headers.direction : ""}}.
  4. Credential Required: Connect your googleSheetsOAuth2Api credentials.

⚠️ Common Pitfall: If the webhook sender does not include the direction header, the Direction column will be appended as an empty string. Ensure your client sets the header if you want “Check-In/Check-Out” values.

Step 5: Test and Activate Your Workflow

Run a manual test to verify the spreadsheet is created (if missing) and a new log row is appended correctly.

  1. Click Execute Workflow and send a request to the Incoming Webhook Trigger URL with a direction header (e.g., Check-In).
  2. Confirm that Drive File Lookup finds (or creates via Generate Spreadsheet) the WorkTimeTracking file.
  3. Verify Append Log Row writes a new row in the Worklog sheet with Date, Time, and Direction values.
  4. When the test succeeds, toggle the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Watch Out For

  • Google Drive credentials can expire or need specific permissions. If things break, check the n8n credential status and your Google account access first.
  • iPhone Shortcuts automations can be blocked by Focus modes or missing location permissions. If events stop firing, confirm Location Services and Shortcut automation settings on the phone.
  • Webhook URLs change if you switch environments or rebuild n8n. If you self-host and update domains, you may need to paste the new webhook URL back into both Shortcuts.

Common Questions

How quickly can I implement this iPhone Sheets logging automation?

About 5 minutes if Google is already connected.

Can non-technical teams implement this iPhone Sheets logging?

Yes. You’ll connect Google, copy a webhook URL, and paste it into two iPhone Shortcuts.

Is n8n free to use for this iPhone Sheets logging workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in any Google Workspace costs if you’re using a paid Google account, but the workflow itself doesn’t require paid APIs.

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

How do I adapt this iPhone Sheets logging solution to my specific challenges?

You can customize what gets saved by editing the “Prepare Log Fields” step in n8n. Common tweaks include adding a “Project” column, storing the iPhone’s location label, or capturing a quick note you pass in from the Shortcut. If you want separate sheets per person, adjust the Google Drive lookup so it searches for a file name that includes the user name, then let the “Generate Spreadsheet” path create it automatically when missing.

Why is my Google Sheets connection failing in this workflow?

Usually it’s expired Google credentials in n8n or the wrong Google account connected. Reconnect Google Drive/Sheets in n8n, then re-run a test check-in from your iPhone. If the sheet was moved to a Shared Drive, permissions can change quietly, so confirm the account you connected can actually create and edit files there. Also watch for file renames: the Drive lookup may not find it if you changed the name and didn’t update the expected file pattern.

What’s the capacity of this iPhone Sheets logging solution?

For most small teams, it’s effectively “as many check-ins as you can generate.” n8n Cloud Starter includes a monthly execution limit, while self-hosting has no built-in execution cap (it depends on your server). Practically, each check-in is one execution, so even 10 people checking in and out daily is only a few hundred runs a month.

Is this iPhone Sheets logging automation better than using Zapier or Make?

Often, yes, if you care about reliability and control. Webhooks are first-class in n8n, and creating the spreadsheet when it’s missing is much easier when you can branch logic without paying for extra steps. Self-hosting is also a big deal if you want unlimited runs and predictable costs. Zapier or Make can still work if you’re doing a very basic “webhook to Sheets” flow and you don’t mind the sheet failing when it can’t find the file. If you’re unsure, Talk to an automation expert and get a quick recommendation.

Once this is running, your hours stop being a weekly puzzle. The workflow logs the boring parts so you can get on with the work.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal