{% 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 %}

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) for Sleep started in the last 1 day, with the value Asleep, or Core, Deep and REM. Without it, time in bed counts too and the sleep comes out about double. Then Calculate Statistics → Sum.
  4. Add Get Contents of URL with the address above, method POST, request body JSON with the fields steps and sleep_minutes. If the sleep sum shows hours rather than minutes, 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 %}