Skip to main content

Billing Notifications

Stay informed about your usage and billing events with customizable notifications. Set up alerts to avoid unexpected limits or payment issues.

Notification Events

Kuploy can notify you about these billing-related events:

EventDescriptionWhen It Fires
Usage WarningApproaching resource limitsAt 80% of any limit
Usage LimitReached a resource limitAt 100% of any limit
Build Minutes WarningRunning low on build minutesAt 80% of monthly minutes
Build Minutes LimitBuild minutes exhaustedAt 100% (and 110% hard limit)
Payment FailedSubscription payment failedAfter failed charge attempt
Subscription ChangedPlan upgraded or downgradedAfter plan change

Supported Channels

Send notifications to any of these channels:

ChannelBest For
EmailPersonal alerts, receipts
SlackTeam notifications
DiscordCommunity/team alerts
TelegramMobile notifications
GotifySelf-hosted notifications
NtfySimple push notifications
LarkEnterprise teams using Lark
Custom WebhookIntegration with any service

Setting Up Notifications

Step 1: Access Notification Settings

  1. Go to your Organization Settings
  2. Click Notifications in the sidebar
  3. Click Add Channel

Step 2: Choose a Channel Type

Select the notification channel that works best for your workflow.

Step 3: Configure the Channel

Each channel has specific configuration requirements:


Channel Configuration

Email

Send notifications to one or more email addresses.

Configuration:

Email Addresses: alerts@yourcompany.com, admin@yourcompany.com
  • Separate multiple addresses with commas
  • Uses your organization's configured SMTP or platform default
tip

Use a distribution list or shared inbox for team visibility.


Slack

Send notifications to a Slack channel via incoming webhook.

Setup:

  1. Go to Slack Apps
  2. Create a new app or select an existing one
  3. Enable Incoming Webhooks
  4. Click Add New Webhook to Workspace
  5. Select the channel to post to
  6. Copy the webhook URL

Configuration:

Webhook URL: https://hooks.slack.com/services/TXXXX/BXXXX/xxxxxxxxxxxx

Example notification:

🔔 Usage Warning - Acme Corp
Build minutes at 82% (410/500)
Billing period ends in 8 days

Discord

Send notifications to a Discord channel via webhook.

Setup:

  1. Open Discord and go to your server
  2. Right-click the channel → Edit Channel
  3. Go to IntegrationsWebhooks
  4. Click New Webhook
  5. Copy the webhook URL

Configuration:

Webhook URL: https://discord.com/api/webhooks/XXXXX/XXXXX

Telegram

Send notifications to a Telegram chat or group.

Setup:

  1. Message @BotFather on Telegram
  2. Send /newbot and follow the prompts
  3. Copy the bot token provided
  4. Add the bot to your chat or group
  5. Get your Chat ID:
    • For personal chats: message the bot, then visit https://api.telegram.org/bot<TOKEN>/getUpdates
    • For groups: add @RawDataBot temporarily to see the chat ID

Configuration:

Bot Token: 123456789:ABCdefGHIjklMNOpqrsTUVwxyz
Chat ID: -1001234567890
note

Group chat IDs are negative numbers. Personal chat IDs are positive.


Gotify

Self-hosted notification server for privacy-conscious users.

Setup:

  1. Deploy Gotify on your server
  2. Create an application in Gotify
  3. Copy the application token

Configuration:

Server URL: https://gotify.yourserver.com
App Token: AxxxxxxxxxxxxxxxxP

Ntfy

Simple HTTP-based pub/sub notifications.

Setup:

  1. Use ntfy.sh or self-host
  2. Choose a topic name (keep it private/random)

Configuration:

Server URL: https://ntfy.sh
Topic: your-random-topic-name

Subscribe on your phone:

# Subscribe to topic
ntfy subscribe your-random-topic-name

Lark (Feishu)

For teams using Lark/Feishu.

Setup:

  1. Open Lark and go to your group
  2. Click settings → BotsAdd Bot
  3. Select Custom Bot
  4. Copy the webhook URL

Configuration:

Webhook URL: https://open.larksuite.com/open-apis/bot/v2/hook/xxxxx

Custom Webhook

Integrate with any service that accepts HTTP webhooks.

Configuration:

URL: https://your-service.com/webhook
Method: POST
Headers: {"Authorization": "Bearer xxx"} (optional)

Payload format:

{
"event": "usage_warning",
"organization": {
"id": "org_xxx",
"name": "Acme Corp"
},
"data": {
"resource": "build_minutes",
"current": 410,
"limit": 500,
"percent": 82
},
"timestamp": "2024-01-15T10:30:00Z"
}

Selecting Events

After configuring a channel, choose which events trigger notifications:

  1. In the channel configuration, find Events
  2. Check the events you want to receive:
    • ☑️ Usage Warning
    • ☑️ Usage Limit
    • ☑️ Payment Failed
    • ☑️ Subscription Changed
tip

Create separate channels for different audiences:

  • Slack #dev-alerts: Usage warnings (for developers)
  • Email to billing@: Payment events (for finance team)

Testing Notifications

After setting up a channel:

  1. Click Test next to the channel
  2. A test notification is sent immediately
  3. Verify you received it in the target channel

If the test fails:

  • Check your webhook URL or credentials
  • Ensure firewalls allow outbound connections
  • Verify bot permissions (for Slack/Discord/Telegram)

Managing Channels

Edit a Channel

  1. Go to Notifications
  2. Click on the channel to edit
  3. Update configuration
  4. Click Save

Disable a Channel

  1. Go to Notifications
  2. Click the toggle to disable
  3. Channel remains configured but won't send notifications

Delete a Channel

  1. Go to Notifications
  2. Click Delete on the channel
  3. Confirm deletion

Notification Frequency

To prevent notification fatigue, Kuploy implements cooldown periods:

Event TypeCooldown
Usage Warning24 hours
Usage Limit12 hours
Payment FailedPer payment attempt
Subscription ChangedImmediate

You won't receive repeated warnings for the same issue within the cooldown period.

Best Practices

For Small Teams

  • Single Slack channel for all billing alerts
  • Email backup for payment failures

For Larger Organizations

  • Separate channels by severity (warnings vs. critical)
  • Route payment issues to finance team
  • Use custom webhook for ticketing integration

For Solo Developers

  • Telegram for mobile alerts
  • Email for payment receipts

Troubleshooting

Not receiving notifications

  1. Check channel configuration: Test the channel to verify it works
  2. Check event selection: Ensure the event is enabled for that channel
  3. Check cooldown: Recent duplicate events are suppressed
  4. Check spam folders: For email notifications

Slack/Discord webhook errors

  • Webhook URLs expire if the integration is removed
  • Regenerate the webhook and update your configuration

Telegram bot not responding

  • Ensure the bot is added to the chat
  • Verify the chat ID is correct (negative for groups)
  • Check that the bot has permission to post

Example Setup

Here's a recommended setup for a small team:

Channel 1: Slack (#billing-alerts)

  • Events: All events
  • Purpose: Team visibility

Channel 2: Email (finance@company.com)

  • Events: Payment Failed, Subscription Changed
  • Purpose: Finance team awareness

Channel 3: Telegram (CTO)

  • Events: Usage Limit, Payment Failed
  • Purpose: Critical alerts to leadership