Push a ntfy notification
Push phone notifications from your AI with near-zero setup (ntfy topics).
Publish to a ntfy topic - the fastest reminder demo in the catalog. Public topics need no credential at all; protected topics use a token.
The credential never enters the model context: it lives in the FlurryPORT secret store, deliveries are signed server-side, and every send returns a receipt your agent can quote.
What this is
Phone notifications from your AI with near-zero setup. ntfy delivers push messages to topics; subscribe to a topic in the ntfy app and anything published there lands on your phone. Public topics need no account and no credential at all, which makes this the fastest reminder demo in the catalog.Setup in one step (public topics)
Pick a long, random topic name, subscribe to it in the ntfy app, and install the recipe with that topic. Done. The topic name is the only secret there is, so treat the name itself like a password.Protected topics
On ntfy.sh reserved topics or a self-hosted server, create an access token (Settings, Access tokens) and paste it on the FlurryPORT secret page when your AI requests setup. Same custody as every pipe: stored encrypted, added server-side at delivery, never in the AI conversation.What to expect
Receipts carry ntfy's response. JSON publishes go to the server root with the topic in the body; titles, priorities, and tags ride the intent. If a reminder does not arrive, check the app's subscription first, then the receipt.Install with your agent
npx flurryport mcp
Point your agent at the FlurryPORT MCP server (npx flurryport mcp) and ask it for the flurryport:ntfy-push recipe. Works from AI clients that can run a local process: desktop apps and terminal agents. Web-only chat clients cannot reach a local MCP server; open a desktop client instead.
Tools your agent gains
flry_ntfy_push- Push a notification to the configured ntfy topic. Input: message (required), title, priority 1-5.
Setup walkthrough
NTFY_TOKEN: Only needed for protected topics on ntfy.sh or a self-hosted server (Settings, Access tokens). Public topics: skip the secret entirely - but anyone who knows the topic name can subscribe, so pick a long random topic and treat the name itself as the secret.
Intent schema
{
"type": "object",
"required": [
"message"
],
"properties": {
"message": {
"type": "string",
"maxLength": 4000
},
"title": {
"type": "string"
},
"priority": {
"type": "integer",
"minimum": 1,
"maximum": 5
}
}
}Install-time parameters
topic- install-time: The ntfy topic this install publishes to.
Transformation
{ "topic": $install.topic, "message": $body.message, "title": $body.title, "priority": $body.priority }Delivery target
POST https://ntfy.sh
Placeholders like $secrets.NAME resolve server-side at delivery, never in the agent.
Gotchas
- JSON publishing goes to the ROOT URL with the topic in the body; posting JSON to /topic-name silently becomes a raw-text message instead.
- A public topic name is itself the only gate: anyone who knows it can subscribe, so pick a long random name and treat it like a password.
Where this fits
Related recipes
Let your AI add records to an Airtable table; the token stays server-side.
Create and update Azure DevOps work items in one batched pipe: priority, state, tags, and sprint included.
Query Azure DevOps work items with WIQL and read the matching ids back, without your AI ever holding the PAT.
Read fields for a batch of Azure DevOps work items by id: title, state, tags, priority, iteration.
Let your AI file Azure DevOps work items (bugs, tasks) the model never holds credentials for.
Let your AI post to Discord through a channel webhook the model never sees.