Set up a destination

Guide for the "Senden" tab of the iOS app · August 2026

Do you even need a destination?

Probably not — and that is the honest answer, not an excuse.

A destination is an internet address that accepts your data on its own. We run no such address and hand you none: the app has no servers, by design. So you need something of your own.

If you have not, the Export tab is your path: pick a period, tap "Tabelle erstellen", done. Open the file in Excel, Numbers or Google Sheets. Nothing else required — no destination, no address, no key.

Try it in two minutes

If you only want to see whether and what arrives, you do not need a server:

  1. Open webhook.site. It shows you your own address straight away ("Your unique URL").
  2. Copy it into the app under Senden → Erstes Ziel anlegen. Any name will do; leave both key fields empty.
  3. Save, then tap "Jetzt senden" on the destination.
  4. The delivery appears on webhook.site — you see exactly what the app sends.

Important: that is real health data, readable by anyone who knows the address. Use it to try things out, not permanently, and delete the destination afterwards.

Permanent destinations

These accept a plain JSON POST without any programming. We name them as examples, not as recommendations — judge for yourself whether they suit you.

Home Assistant

The most common receiver in this niche. Under Settings → Automations & Scenes → Create Automation add a Webhook trigger; Home Assistant generates an address of the form /api/webhook/<id>. No key needed — the id is the secret.

The usual trap: Home Assistant is reachable only inside your own network by default. The app also sends while you are out, and then nothing arrives. You need an externally reachable https:// address.

n8n or Node-RED

In n8n add a Webhook node, method POST, and use the production URL — the test URL is valid for a single run only. In Node-RED place an http in node and be sure to add an http response node after it: without one nobody answers, and the app reports "no response" after 90 seconds.

An automation service

Services such as Make.com accept incoming data through a "Custom Webhook" — the only route with no server of your own. In exchange your health data sits with a third party, and where their servers are depends on your account. Decide that deliberately. You can skip Zapier and IFTTT: both accept inbound webhooks on paid plans only.

Your own server

Anything that accepts a POST and answers 200 is a valid destination. Ten lines are enough. This is what arrives:

POST https://your-server.com/health
Content-Type: application/json
X-Sender: export-health-data

{ "data": { "metrics": [
  { "name": "resting_heart_rate", "units": "bpm",
    "data": [ { "date": "2026-08-30 12:00:00 +0200", "qty": 52 } ] }
] } }

The X-Sender header tells you the delivery came from this app — useful when several programs feed the same address.

The three entries in the app

Name — for you only. It appears in every line of the log.

Address — your destination gives it to you. Paste it in full, including the https://. iOS does not allow unencrypted addresses (http://); nothing would ever arrive there, so the app refuses them outright.

Access key — only if your destination asks for one. It will tell you both parts: what the field is called and what goes in it. The two belong together; a key without a field name is not sent.

When nothing arrives

Delivered, but 0 values. The app sent, your destination confirmed, the envelope was empty. Almost always the Health permission is missing — "Datenquellen prüfen" in the Info tab shows what is actually read.

Address unreachable. A typo, or the destination is only reachable on your own network, or it is switched off. Compare the address character by character.

Access refused. The address is right, the key is not — or the field name was left empty.

Address unknown to the destination. The server answers, but nothing lives at that path. Usually the tail of the address is missing, or it is n8n's test URL instead of the production one.

No response. The connection was made, nothing came back — with Node-RED the response node is usually missing.

The app retries up to six times, at growing intervals from one minute to six hours. Nothing is lost in the meantime: every delivery carries the last few days, so the gap fills as soon as your destination answers again.

What we cannot know

"Delivered" means your destination confirmed receipt. Whether it then stored, understood or discarded the data, we cannot see — no confirmation says so. And we cannot check your address in advance. Only the first real delivery shows that.

← Back to the home page