{% extends "base.html" %} {% block title %}Health · {{ assistant }}{% endblock %} {% block main_class %}form{% endblock %} {% block content %}
Integrations

Health

{% if message %}
✓ DONE{{ message }}
{% endif %} {% if error %}{% endif %}

On the orb

Automatic shows last night's sleep, or without it the week's kilometres from Strava, or without Strava today's steps.

Apple Health · sleep and steps

Apple Health data stays on your iPhone, so a Shortcut sends it to myOrb every morning through a secret webhook address.

{% if webhook %}
{{ webhook }}
  1. In the Shortcuts app, create a new shortcut named Send health to myOrb.
  2. Add Find Health Samples for Steps started today, then Calculate Statistics → Sum.
  3. Add a second Find Health Samples (not Filter, which would search the steps) where All of these are true: type Sleep, started in the last 1 day, value is not In Bed, value is not Awake. Without the value filters, time in bed counts too and the sleep comes out about double. Then Calculate Statistics → Sum. Sleep is only there when something measures it, such as an Apple Watch worn at night. With only an iPhone, Health has the time in bed (Sleep → Options → Track Time in Bed with iPhone): leave out the In Bed filter to send that instead, or skip sleep and choose another number for the orb above.
  4. Add Get Contents of URL with the address above, method POST, request body JSON with the fields steps and sleep_minutes, each set to the Sum of its own Calculate Statistics (not the health samples). To see whether the sleep sum is in hours or minutes, run the shortcut once with Show Content after it; for hours, name the field sleep_hours instead. No date is needed: myOrb takes the day it arrives.
  5. In Automation, run the shortcut every day at a time after you wake up, and turn off Ask Before Running.

The body can also hold resting_heart_rate, active_energy, a date as yyyy-MM-dd (in Shortcuts, through Format Date with that custom format, since a plain date variable is sent in the phone's own format) or a list of several days: {"days": [{"date": "2026-10-22", "steps": 8410, "sleep_minutes": 432}]}. Your iPhone must be able to reach myOrb, so this needs its public address.

{% if last %}

Last received: {{ last.updated_at | localtime }} (day {{ last.day.strftime("%-d %b") }}).

{% else %}

○ Nothing received yet

{% endif %} {% endif %}
{% if webhook %}The old address stops working.{% endif %}

Strava · activities

{% for connection in connections %}
{{ connection.account }}Strava
✓ Connected
{% endfor %}
  1. Open Strava → My API Application and create an application (any name and website will do).
  2. Set Authorization Callback Domain to {{ callback_domain }}.
  3. Copy the Client ID and Client Secret below, save, and connect your account.
{% if client and not connections %}
{% endif %}
{% endblock %}