Free
$0/mo
Telegram, email and webhooks — free forever. PSTN voice and SMS unlock on the Team plan.
A comprehensive, step-by-step guide to every feature of WardenPoint. If you have a question — the answer is here.
WardenPoint is a multi-channel notification platform for companies and teams. You create recipients (people who need to receive alerts), configure notification channels (Telegram, voice calls, WhatsApp, Viber, Email, SMS), and send critical notifications — manually from the dashboard or automatically via API.
The key feature: if a recipient does not acknowledge a notification, the system automatically escalates — retries through another channel, increases urgency, or notifies a manager. This ensures that critical alerts are never missed.
Register, enter company name, confirm email
Add recipients, set up channels and escalation rules
Send notifications via dashboard or API
System escalates unacknowledged notifications automatically
Go to the registration page. Enter your name, email, password, and company name. After registration, you will be automatically logged into the dashboard. No credit card required — the Free plan is available immediately.
Go to Dashboard → Recipients → Add Recipient. Enter the person's name and at least one contact method: Telegram username, phone number, or email. For Telegram — enter the recipient's username (e.g., @johndoe) so the system can send messages directly.
First, set up Telegram: go to Settings → Credentials, enter your Telegram API credentials and authorize the account. Voice calls via WardenPoint telephony work out of the box on paid plans. For WhatsApp, Viber, or custom Asterisk PBX — add their credentials in Settings → Credentials as well.
Go to Dashboard → Notifications → Send Notification. Select a recipient, type a message, choose a priority (start with 'normal'), and click Send. The recipient will receive the notification through the configured channel within seconds.
Go to Settings → API Keys, create a key. Use the key in the X-API-Key header to send notifications programmatically from your monitoring system, CI/CD pipeline, or any other service. See the API section below for code examples.
Start with 2–3 test recipients before sending to everyone. Make sure Telegram is linked and the notification arrives. Then add the rest of your team.
The dashboard is your main workspace. Here's what each section does:
Overview of recent notifications, delivery statistics, and quick actions. This is the first page you see after login.
List of all people who receive notifications. Add, edit, delete, and view contact details. Each recipient can have multiple contact methods (Telegram, phone, email).
Organize recipients into groups (e.g., 'DevOps Team', 'Managers'). Send notifications to an entire group with one click or API call.
History of all sent notifications. See delivery status (delivered, failed, pending), channel used, timestamps, and escalation chain status.
Configure automatic escalation rules: what happens if a notification is not acknowledged — retry on another channel, call the manager, etc.
Charts and metrics about notification delivery rates, average response time, most used channels, and escalation frequency. Available on Team plan and above.
Company name, timezone, default language, and general preferences.
Tokens and connection details for third-party services: Telegram account credentials, custom Asterisk PBX connection, WhatsApp API key, Viber bot token.
Create and manage API keys for programmatic access. Each key is scoped to your company's data.
Your current plan, usage statistics, payment history. Upgrade or downgrade your plan here.
Invite team members to your company account. Assign roles (admin, member). Team members can manage recipients and send notifications.
Recipients are the people who receive your notifications. Each recipient must have a name and at least one contact method. The more contact methods you add, the more channels the system can use for delivery and escalation.
Click 'Add Recipient' in the Recipients section. Fill in the name (required), and at least one of: Telegram username (e.g., @johndoe), phone number (international format, e.g., +380501234567), or email address. You can add all three — this gives the system the most flexibility for channel selection and escalation.
Each contact type enables specific notification channels:
| Contact Type | Example | Unlocked Channels |
|---|---|---|
| Telegram | @johndoe | Telegram text, voice messages, voice calls via Telegram |
| Phone | +380501234567 | PBX voice calls (Asterisk), SMS |
| [email protected] | Email notifications |
Groups let you organize recipients (e.g., 'Backend team', 'Night shift', 'Management'). When you send a notification to a group, every member of that group receives it. You can also set notification rules at the group level — for example, all members of the 'Critical Alerts' group get voice calls by default.
To add many recipients at once, use CSV import. Go to Recipients → Import. Your CSV must have a header row with columns: name, phone, email, telegram_username. Only the 'name' column is required — others are optional. Example:
name,phone,email,telegram_username
John Doe,+380501234567,[email protected],@johndoe
Jane Smith,+380671234567,[email protected],WardenPoint supports 9 notification channels across 7 providers. Each channel has different strengths: text channels are great for informational alerts, voice channels grab immediate attention for critical situations. Here's a detailed breakdown:
Sends a text message to the recipient's Telegram account from your company's dedicated Telegram number. Supports up to 4,096 characters. Acknowledgment is available via a link in the message.
Best for: informational alerts, status updates, non-urgent notifications.
Sends an audio voice message to Telegram. The system converts your text to speech (TTS) and sends the resulting audio file. The recipient hears the message without reading. Great for getting attention when the person might not read texts.
Best for: medium-priority alerts where you need the person to hear the message.
Initiates a voice call through Telegram. The recipient's phone rings with a Telegram call, and they hear the TTS message. This is the most attention-grabbing Telegram channel — the phone literally rings.
Best for: high-priority and critical alerts via Telegram.
A separate bot (BotFather-issued) delivers text with inline ack/snooze buttons. No personal Telegram account with a phone number required.
Best for: self-service onboarding for recipients who don't want to share a phone number.
The same bot sends a voice note (OGG/Opus) with ack/snooze buttons. TTS generates the audio by default, or you can upload your own track.
Best for: alerts that should be heard without a text context, without a personal Telegram account.
Makes a real phone call (PSTN) using WardenPoint's built-in telephony system (Asterisk). The recipient's phone rings, they pick up, and hear the TTS message. No setup required — works out of the box on all paid plans.
Best for: critical alerts when you need to call a real phone number, not just Telegram.
If your company has its own Asterisk PBX, you can connect it to WardenPoint. Calls will go through your PBX, using your SIP trunks and phone numbers. This gives you full control over call routing and costs. Requires Team plan or above.
Best for: companies with existing PBX infrastructure who want to use their own phone lines.
Sends a text message via WhatsApp. Useful if your recipients prefer WhatsApp over Telegram. Supports delivery and read receipts. Requires WhatsApp Business API credentials in Settings → Credentials.
Best for: teams where WhatsApp is the primary messenger.
Sends a text message via Viber. Maximum 1,000 characters. Supports delivery confirmation. Requires Viber bot token in Settings → Credentials.
Best for: recipients in regions where Viber is popular (Eastern Europe, Southeast Asia).
Sends an email notification. Supports rich HTML formatting and up to 50,000 characters. Acknowledgment via a button link in the email. Works out of the box — no additional setup needed.
Best for: detailed notifications, documentation-style alerts, recipients without messengers.
Sends a short text message via SMS. Limited to 160 characters. Works on any mobile phone, even without internet. Available on Team plan and above.
Best for: recipients without internet access, backup channel for critical alerts.
Every notification has a priority level that determines how aggressively it is delivered and escalated. Choose the right priority for each situation:
Informational alerts that don't require immediate action. System sends a text message via the default channel. Quiet hours are respected.
Default: Telegram text → no escalation. Retry: 2 attempts with 5 min delay. Respects quiet hours.
Standard alerts that should be delivered reliably. If the text message fails, the system falls back to a voice message.
Default: Telegram text → voice message on fail. Retry: 3 attempts with 1 min delay. Respects quiet hours.
Important alerts that need quick attention. Starts with a voice message, escalates to voice call, then text. Bypasses quiet hours.
Default: voice message → voice call → text message. Retry: 3 attempts with 1 min delay. Bypasses quiet hours.
Emergency alerts that must be acknowledged immediately. Starts with a voice call, then voice message, then text. Maximum retry attempts. Always bypasses quiet hours.
Default: voice call → voice message → text message. Retry: 5 attempts with 1 min delay. Always bypasses quiet hours.
Escalation is the core feature that makes WardenPoint different from a simple notification sender. When a notification is sent, the system doesn't just fire-and-forget — it tracks whether the recipient acknowledged it, and takes action if they didn't.
After sending a notification, the system waits for an acknowledgment (ACK) from the recipient. ACK can happen by: clicking an acknowledgment link in a Telegram message, clicking a link in an email, or simply answering a voice call. If no ACK is received within the configured timeout (e.g., 2–5 minutes), the system moves to the next escalation step: sends via a different channel, retries the same channel, or notifies a manager.
You can create reusable escalation policies in Dashboard → Escalation Policies. A policy is a set of ordered rules: 'first send Telegram text, wait 3 min, then call via PBX, wait 2 min, then notify the manager'. Policies can be assigned to individual recipients or groups.
ACK is how the system knows the recipient got the message. For Telegram text — clicking the acknowledgment link in the message. For Telegram voice/call — the message being delivered. For email — clicking the acknowledgment link. For voice calls — answering the call. Once ACK is received, the escalation chain stops immediately — no further steps are executed.
Notification settings let you fine-tune how each recipient (or group) receives alerts. You can configure these per priority level:
Each recipient can have individual notification rules for each priority level (low, normal, high, critical). Go to Recipients → select a recipient → Notification Settings. Here you configure which channels to use, escalation order, retry count, and timeouts.
Same as per-recipient, but applied to an entire group. Useful when all members of a team should have the same notification rules. Individual recipient settings override group settings.
Set a time range when low and normal priority notifications are held and not delivered (e.g., 22:00–08:00). High and critical priorities bypass quiet hours. Configure per recipient or per group.
A detailed weekly schedule (7 days × 24 hours) that defines when a recipient is available to receive notifications. Useful for shift workers — only notify people who are currently on duty.
Configure how many times the system retries a failed delivery (1–10 attempts) and the delay between retries (1–60 minutes). Higher priority notifications get more retries by default.
For each escalation step, choose the channel type (text_message, voice_message, voice_call) and the provider (Telegram, platform Asterisk, custom Asterisk, WhatsApp, Viber, Email, SMS). This gives you full control over the delivery path.
There are two ways to send notifications: manually through the dashboard, or programmatically via the REST API.
Go to Dashboard → Notifications → Send Notification. Select a recipient (or group), type your message (up to 4,096 characters), choose a priority level, and optionally attach an audio file. Click Send. The notification will be processed immediately — you'll see the status update in real time on the Notifications page.
Use the REST API to send notifications from your monitoring tools, scripts, CI/CD pipelines, or any other system. All API endpoints are under /api/v1/ and require an API key for authentication. Here are the available methods:
Sends one notification and waits for the result. Returns the delivery status in the response. Best for simple integrations where you need immediate feedback.
POST /api/v1/notifications/sendQueues the notification for background processing and returns immediately with a notification ID. The notification is delivered asynchronously. Best for high-volume sends where you don't need to wait.
POST /api/v1/notifications/send-asyncSend a notification to all members of a recipient group. Supports both sync (send-to-group) and async (send-to-group-async) modes.
POST /api/v1/notifications/send-to-groupSend multiple notifications at once (up to 100 in a single request). Each notification can have a different recipient and message. All are processed asynchronously.
POST /api/v1/notifications/send-bulk-asyncThe WardenPoint REST API lets you integrate notifications into any system. All endpoints are versioned under /api/v1/ and return JSON responses.
Explore all endpoints, try requests interactively, and see response schemas in our Swagger documentation.
Every API request must include your API key in the X-API-Key header. You can create API keys in Dashboard → Settings → API Keys. Each key is scoped to your company — it can only access your company's recipients and notifications.
| Method | Path | Description |
|---|---|---|
| POST | /api/v1/notifications/send | Send a notification synchronously. Waits for delivery and returns the result. |
| POST | /api/v1/notifications/send-async | Queue a notification for async delivery. Returns immediately with notification ID. |
| POST | /api/v1/notifications/send-to-group | Send a notification to all members of a group (synchronous). |
| POST | /api/v1/notifications/send-to-group-async | Send a notification to all group members (asynchronous). |
| POST | /api/v1/notifications/send-bulk-async | Send up to 100 notifications in one request (all async). |
| GET | /api/v1/notifications | List all notifications with filtering and pagination. |
| GET | /api/v1/notifications/{id} | Get full details of a specific notification. |
| GET | /api/v1/notifications/{id}/status | Get delivery status of a notification. |
| POST | /api/v1/notifications/{id}/retry | Retry a failed notification (sync). |
| POST | /api/v1/notifications/{id}/cancel | Cancel a pending notification. |
| POST | /api/v1/notifications/{uuid}/acknowledge | Acknowledge a notification (stop escalation chain). |
| GET | /api/v1/recipients/{id}/availability | Check which channels are available for a recipient. |
| GET | /api/v1/recipients/{id}/routes | Get the notification delivery routes configured for a recipient. |
| Field | Type | Required | Description |
|---|---|---|---|
| recipient_uuid | string (UUID) | Yes | UUID of the recipient (from the Recipients page or API). |
| message | string | Yes | Notification message text. Maximum 4,096 characters. |
| priority | string | No | Priority level: low, normal (default), high, critical. |
| audio_file | string | No | Path to a pre-uploaded audio file for voice channels. |
| max_attempts | integer | No | Number of delivery attempts (1–10). Overrides plan defaults. |
WardenPoint POSTs to your own systems when notification lifecycle events happen — acknowledgments, escalations, delivery failures. Subscribe your endpoints to the events you care about and react automatically: close tickets, update incidents, kick runbooks.
Create and manage webhooks in the Dashboard: Integrations → Webhooks. Each webhook has a URL, a per-webhook signing secret, an event mask, and an active toggle.
Subscribe to one or more events. WardenPoint sends a separate POST for each.
notification.sentNotification queued and sent through its first channel.notification.deliveredThe channel confirmed delivery (delivery receipt from the provider).notification.failedAll delivery attempts exhausted without success.notification.acknowledgedThe recipient acknowledged the alert (button, call, DTMF).escalation_chain.startedEscalation chain started for an unacknowledged alert.escalation_chain.resolvedEscalation chain ended via acknowledgment.escalation_chain.expiredEscalation chain ran out of steps without acknowledgment.recipient.contact.failedA single recipient contact failed to deliver.Every event starts with the same envelope: event name, company UUID, and timestamp. Event-specific fields are merged in on top (see per-event schemas below).
Exact contract for each of the 8 events. Fields prefixed `// optional` may be absent depending on channel.
Every request is signed with HMAC-SHA256 in the X-WardenPoint-Signature header. Always verify the signature before processing the payload — this guarantees the request came from WardenPoint and not from someone who happens to know your URL.
X-WardenPoint-SignatureHMAC-SHA256 of the request body, prefixed with "sha256=".X-WardenPoint-Webhook-IdThe UUID of the webhook in your account — useful for logs and debugging.X-WardenPoint-TimestampUnix timestamp of when the request was sent. Useful for deduplication or rejecting stale requests.If your endpoint returns non-2xx or times out, WardenPoint retries automatically:
Save pre-built alert presets with placeholders once, then fire them from your code with one POST per slug. Variables come from the request body; the rest (recipient, priority, escalation policy) comes from the template.
Pass in the body; backend substitutes them, applies the default priority/recipient, and ships through the same pipeline as /send.
Every save creates a new version. Existing callers keep working — add "version": N to the body to pin to a specific historical version.
Pass an "override" object with priority, recipient_uuid and group_uuid keys in the body to swap any default for that single call.
Mustache-lite — substitution only, no logic, no loops:
{{ var }} — HTML-escaped (default; safe for any channel).{{{ var }}} — raw value, no escape. Your responsibility.Most channels require external service credentials. Go to Dashboard → Settings → Credentials to configure them. Only email works out of the box — all other channels need setup.
WardenPoint sends Telegram messages as a regular user (not a bot). Your company provides a dedicated Telegram account — the system logs in via MadelineProto and sends messages, voice messages, and calls from that account directly to recipients.
Connect your company's own Asterisk PBX to make calls through your existing phone infrastructure. Calls are routed through your SIP trunks using your phone numbers.
Send messages via WhatsApp. Requires a WhatsApp Business API account. The system uses the Cloud API to send messages and receive delivery/read receipts.
Send messages via Viber. You need to create a Viber bot account and provide the bot token.
WardenPoint offers tiered plans. The Free plan includes Telegram and email; paid plans unlock PSTN voice calls, SMS, WhatsApp and Viber along with higher recipient/voice/SMS quotas and advanced features. The plan cards below are pulled from the live billing config.
$0/mo
Telegram, email and webhooks — free forever. PSTN voice and SMS unlock on the Team plan.
$12/mo
Adds PSTN voice calls, SMS credits and longer retention to Free.
$39/mo
Adds WhatsApp, analytics, custom TTS and 90-day retention. Designed for serious on-call.
$79/mo
Adds Viber, custom credentials, ElevenLabs premium TTS and largest included limits.
Custom
Dedicated infrastructure with SLA guarantees and named support.
Payment methods: credit/debit card via MonoPay or PayPal. Annual plans get a 20% discount. You can change your plan at any time — upgrade takes effect immediately, downgrade at the end of the billing period.
Can't find the answer? Our support team is ready to help you.