Rings & speaks.
POST to /call/:key with a body, the phone rings, the body is read aloud by TTS. CallKit takes over the lock screen β you can answer, decline, or let it ring through.
Anything that can make an HTTP request can make your phone ring. POST a message, your phone rings, your text is spoken aloud β or pushed, or delivered as a markdown doc.
Same webhook, three flavours of delivery. Pick whichever fits the volume of what you have to say.
POST to /call/:key with a body, the phone rings, the body is read aloud by TTS. CallKit takes over the lock screen β you can answer, decline, or let it ring through.
POST to /push/:key. A standard iOS notification appears. Doesn't interrupt, doesn't make noise unless you want it to. Great for status pings.
POST a markdown file (up to 3 MB) with Content-Type: text/markdown. The push preview shows the first heading; tapping it opens an in-app reader with the formatted document.
The webhook is just an HTTPS URL β nothing to install, nothing to authenticate against. It fits anywhere a curl fits.
Drop a curl into your CI failure step. Quiet successes, loud failures. Sleep peacefully until you can't.
- name: page on failure
if: failure()
run: |
curl -X POST https://api.silyring.com/call/$KEY \
-d "main pipeline failed at $GITHUB_JOB"Wrap any periodic task. Exit non-zero β call. Anything else β silence.
0 3 * * * /opt/jobs/backup.sh \
|| curl -X POST https://api.silyring.com/call/$KEY \
-d 'nightly backup failed'Push the entire incident write-up as markdown. Tap once on your phone to read the formatted version, headings and all.
curl --data-binary @incident.md \ -H 'Content-Type: text/markdown' \ https://api.silyring.com/push/$KEY
If you can make an HTTP request, you can make your phone ring. No SDK to install, no auth flow.
await fetch(`https://api.silyring.com/call/${KEY}`, {
method: 'POST',
body: 'someone just signed up'
});Install the silyring skill into Claude Code. Then talk to Claude normally β ask it to ring you when a build finishes, or send you the test report as a push.
View the skill source βNo. The app gives you a public HTTPS URL the moment you install it. POST to it from anywhere.
Free during beta. Paid plans soon β with reasonable limits.
Yes β 30 calls and 120 pushes per hour by default, doubled per day. See the fair-use page.
Messages are delivered then deleted. Markdown documents sit on the server for 24 h only so your device can fetch them.
When it's ready. iOS first because CallKit is what makes calls feel real.
Send markdown. The app renders it on tap β headings, code blocks, tables, links, the works. Up to 3 MB.
iOS β Android when it's ready.