Short answer: Apple Health has had a built-in Headache symptom category since iOS 13. You can log manually (Health → Browse → Symptoms → Headache → Add Data) or via a third-party app like Hermly that writes to HealthKit automatically. This page covers both paths and how to keep them in sync.

Logging manually in the Health app

The path on iPhone:

  1. Open the Health app.
  2. Tap Browse (bottom right).
  3. Search or scroll to Symptoms.
  4. Tap Headache.
  5. Tap Add Data (top right).
  6. Set:
    • Start time (when the attack began)
    • End time (if it’s already ended; leave blank for ongoing)
    • Severity: Not Present / Mild / Moderate / Severe
    • Notes (optional, free text)
  7. Tap Add.

On Apple Watch, you can also log via the Heart Rate or Mindfulness apps’ related views in some watchOS versions, though the workflow is more limited than on iPhone.

What Apple Health stores

The Headache sample type stores:

  • Start and end timestamps (precise to the second).
  • Severity (the four-level category above).
  • Source — which app or device wrote it.
  • Optional metadata — notes, app-specific identifiers.

What it does not store:

  • Trigger associations (no “caused by stress” field).
  • Medication taken (separate Medications category).
  • Forecast or risk data (no prediction storage in Health).
  • Pain rating beyond the 4-level severity.

The severity granularity is the main limit. If you want to log a 0–10 pain rating, you need a third-party app like Hermly that keeps its own richer data and writes a derived severity back to Health.

How Hermly handles HealthKit sync

When you log an attack in Hermly:

  1. Hermly stores the full record (start time, peak pain on 0–10, medications taken, notes, optional context) in its own on-device database, which lives on your iPhone only.
  2. Hermly writes a derived Headache sample to HealthKit with the severity mapped from your peak pain:
    • Pain 1–3 → Mild
    • Pain 4–6 → Moderate
    • Pain 7–10 → Severe
  3. The HealthKit sample is the only data point that ever leaves Hermly’s container — but it stays in your iPhone’s Health container, not on any server. Apple Health data is end-to-end encrypted with iCloud Health sync.

The flow is intentional: Apple Health is the single source-of-truth across apps. If you ever switch from Hermly to another tracker, your attack history doesn’t disappear with the app.

If you’ve been logging in Health manually before Hermly

On first launch, Hermly imports any existing Headache samples from HealthKit so your history is continuous. Subsequent imports happen on every Today refresh — so if you log a headache directly in the Apple Health app, Hermly picks it up the next time you open Today.

The reverse — Hermly attack → Apple Health — happens immediately on log completion.

Why log at all?

The honest practical case for logging:

  • Doctor visits go better with data. “Eight migraine days last month, average severity 6/10, three required acute medication” is a different conversation than “I get a lot of migraines”.
  • Patterns become visible. Three months of data starts to surface trigger associations that aren’t visible day-to-day.
  • Treatment decisions need a baseline. Without a frequency baseline, it’s hard to know if a new preventive medication is working.
  • MOH risk is invisible without tracking — Hermly surfaces acute medication day counts only if you log them.

The honest case against logging:

  • It’s a daily friction. Some patients find tracking itself becomes a stressor.
  • If you’re not going to act on the data, recording it has no benefit.

The middle path Hermly aims for: minimal logging burden (1-tap “I’m having a migraine” from any iOS surface), automatic HealthKit sync, and surfacing the data when it actually matters (monthly report, doctor visit).

Logging via Hermly’s iOS surfaces

Hermly exposes four App Intents that all create a HealthKit Headache sample on completion. Each can be triggered from:

  • The Today screen — the big “I’m having a migraine” button.
  • Action Button (iPhone 15 Pro+) — assign Start Migraine intent via Settings.
  • Siri — “Hey Siri, I’m having a migraine” (works without setup).
  • Apple Watch — start from the Today complication or in-app.
  • Lock Screen widget — tap the small medium or large widget.
  • Shortcuts app — build any custom automation that starts an attack.

All paths produce the same record. See our Widgets & Watch page for the full surface inventory.

What this isn’t

Not a recommendation that every headache needs to be logged. Mild day-to-day headaches that don’t meet your personal “this is a migraine” threshold are probably fine to skip — over-logging creates noise. The patterns that matter are the attacks severe or long enough that you’d remember them anyway.