Quick look
Send, ask, carry on
ask() creates the question and waits for the answer, or delivers it to your webhook.
import { NotificMe } from "@notificme/sdk";
const notific = new NotificMe({ token: process.env.NOTIFICME_TOKEN, source: "billing" });
await notific.send({ type: "invoice.failed", severity: "high", summary: "Invoice #42 failed" });
const r = await notific.ask({
to: "#finance>=manager",
title: "Refund US$ 12,750 to Brightline?",
questions: [{ id: "ok", type: "yesno", text: "Approve the refund?" }],
level: 2,
timeout: "30m",
});
if (r.status === "answered" && r.answers.ok) await refund();npm install @notificme/sdkpip install notificmeRead the docs
Sending real requests needs a workspace and a service token, which come with your early access invite.
Integrations
Pick how you connect
TypeScript SDK
No runtime dependencies. Runs on Node 18+, Bun, Deno, Cloudflare Workers and browsers.
Python SDK
Python 3.10+, with sync and async clients.
REST API and incoming webhooks
Call the API directly, or point an existing tool's webhook at notific.me and map its payload to a card.
n8n
A node that asks a human and pauses the workflow until they answer.
MCP server
Tools for AI agents: notify people, ask a human, request an approval.
Kotlin SDK
Show a person's inbox and answer decisions inside your own Android app.
In production
Built to be trusted
Signed webhooks
Every webhook carries an Ed25519 signature checked against published keys. One function verifies it.
Exactly one answer
The server accepts one answer per request, and a retried call is not stored twice.
Retries and timeouts
Built into the SDKs, with backoff and a timeout on every request.
Open protocol
JSON Schemas for events, cards, questions and replies, under Apache 2.0.
Be among the first teams to use it
Tell us what you want to unlock. It helps us decide who to invite first.