Set up Getwello with ntfy
Open-source push notifications. Free on the public instance, self-hostable.
ntfy is open-source push notification service. Subscribe to a topic on your phone; anyone who knows the topic name can publish to it. Simple, free, self-hostable.
What you need
- ntfy app on your phone (free, App Store or Play Store).
- An ntfy instance: public ntfy.sh or self-hosted.
- A Getwello Coordinator account with active subscription.
Step 1: Subscribe to a topic
- Open the ntfy app, tap +.
- Pick a hard-to-guess topic name like
mum-checkins-a8f3z7. - The phone now receives any POST to
https://ntfy.sh/mum-checkins-a8f3z7.
Step 2: Test the topic
From a terminal:
curl -d "Hello from a test" ntfy.sh/mum-checkins-a8f3z7
The phone should buzz immediately.
Step 3: Build a relay
ntfy uses headers for title, priority, tags. Our event JSON needs translation:
export default {
async fetch(req, env) {
const evt = await req.json();
const isMissed = evt.event === 'check_in.missed';
await fetch(`https://ntfy.sh/${env.NTFY_TOPIC}`, {
method: 'POST',
headers: {
'Title': isMissed
? 'Mum missed her check-in'
: 'Mum has checked in',
'Priority': isMissed ? '5' : '3',
'Tags': isMissed ? 'warning,missed' : 'white_check_mark,check-in',
'Click': 'https://getwello.co.uk/app',
},
body: `${evt.occurred_at} · Mood: ${evt.data.mood ?? 'n/a'}`,
});
return new Response('ok');
}
};
Step 4: Create the Getwello webhook subscription
Settings → Developer API → Webhooks. URL is your relay (or directly to ntfy.sh/topic if you don't need fancy headers).
Self-host the ntfy server
One-line Docker:
docker run -p 80:80 -v /var/cache/ntfy:/var/cache/ntfy \
binwiederhier/ntfy serve
Point your phone at https://your-ntfy.example.com and the relay too. All traffic stays on your infrastructure.
Troubleshooting
iOS push doesn't arrive: the iOS app uses Apple Push, which on self-hosted instances requires a relay through ntfy.sh. The ntfy docs explain the config.
Topic discovered: ntfy topics are public if anyone knows the name. Use a long random suffix or self-host with auth.
More on developer api, mcp and webhooks
- What the Developer API is for, in plain English
- Create your first API key
- Set up the Getwello MCP server with Claude Desktop
- What webhooks are, and why you would want one
- Set up your first webhook
- Recipe: Sonos announces "Mum has just checked in" via Home Assistant
- Troubleshooting integrations
- Set up Getwello with Slack, end to end
- Set up Getwello with Amazon Alexa
- Set up Getwello with Apple Shortcuts and Siri
- Set up Getwello with Google Home and Nest
- Set up Getwello with Zapier
- Set up Getwello with Notion
- Set up Getwello with n8n
- Set up Getwello with Make.com
- Set up Getwello with Discord
- Set up Getwello with Microsoft Teams
- Set up Getwello with Telegram
- Set up Getwello with IFTTT
- Set up Getwello with Pushover
- Set up Getwello with Cursor
- Set up Getwello with Ollama
- Set up Getwello with Apple HomeKit
- Set up Getwello with SmartThings
- Set up Getwello with Hubitat
- Set up Getwello with Tasker
- Set up Getwello with Sonos
- Set up Getwello with Google Calendar
- Set up Getwello with Apple Calendar
- Set up Getwello with Obsidian
Didn't answer your question?
Email hello@getwello.co.uk