Ops Notify plugin screenshot
Dark mode ready
Multilingual support
Supports v5.x

Ops Notify by spoko.space

Community

Operational notifications (inquiries, errors, builds) for Laravel + Filament panels, delivered to Telegram forum topics.

Tags: Panels Developer Tool
Supported versions:
5.x
spoko.space avatar Author: spoko.space

Package health

Automated checks of this plugin's Composer package

100 / 100
Security 100
Maintenance 100
Ecosystem 100
15 checks
  • Passed: GitHub Actions pinned to SHA
  • Skipped: GitLab CI includes pinned to SHA
  • Passed: Open security advisories
  • Passed: Dependabot PR responsiveness — No open Dependabot PRs.
  • Skipped: Renovate MR responsiveness
  • Passed: Dependabot or Renovate configured
  • Passed: Dependency update cooldown configured
  • Passed: Provides a security policy
  • Passed: Abandoned or archived — No consulted source marks the package abandoned (packagist, github).
  • Passed: Commit and release recency — Active: last commit 0 days ago; last release 1 days ago.
  • Passed: composer.lock not committed by library — composer.lock is absent from the released dist archive.
  • Passed: Dist archive is lean
  • Passed: Current Laravel version supported — Package dependencies resolve together with current Laravel 13.0.
  • Passed: Current PHP version supported — Constraint ^8.3 supports current PHP 8.5.
  • Skipped: Current Symfony version supported
Third-party plugin. This is built by the community, not the Filament team. Filament does not review, endorse, or vet the security of plugins outside the filament/ namespace. Review the source and install at your own risk. Found malware or an unresolved security issue the author won't address? Report it .
Powered by Plumb Last scanned 1 week ago

Documentation

Filament Ops Notify: inquiries, errors and builds from your Filament panel, delivered to Telegram forum topics

Tests Latest release PHP Laravel Filament

Operational notifications for Laravel + Filament panels: inquiries, errors and builds, delivered to Telegram forum topics. Built on Laravel notifications, so existing Filament database notifications reach Telegram with no code changes.

#Features

  • Bell notifications → Telegram, no code. Every sendToDatabase() notification is forwarded once, however many users receive it (with a shared cache).
  • Any Laravel notification, too. Apps without the bell can forward mail, SMS or push notifications, once each and without secrets such as password reset links.
  • Topics and routing. Create forum topics from the panel and route events to them by pattern (inquiry.* → Inquiries). Filament notifications are routed by title.
  • Settings in the panel. Token (encrypted), chat id, service name, topics and rules, all without touching .env.
  • Message templates. Change an event's title, body, fields and hashtag by pattern in config (inquiry.* → New inquiry from :field.Name); the panel switches the [service] prefix and the #event line (Message templates).
  • Reliable delivery. Queued, retried, rate-limit aware, and never breaks the request that sent it.
  • Bot profile. Pick an avatar (a preset or your own) and set the display name and descriptions from the panel.
  • Translated. The panel ships in 25 languages, and a separate setting controls the language of the messages.
  • History. Every message is logged with its status and Telegram error, and failed ones can be resent.
  • ops notification channel and a fluent OpsMessage for events that are not bell notifications.

#Screenshots

In Telegram: a build as the bot reports it to the Builds topic, started and then completed, with the [service] prefix, bold field labels, the #event hashtag and a button on each message.

Two Telegram messages from the bot: build started, then build completed with duration, release and commit fields, a #build_completed hashtag and a View Build button

The Ops Notify page: the Telegram connection, where messages are delivered (queue and Horizon state), and the history of every message sent, with failed ones ready to resend.

Ops Notify page with the connection status and the message history

Settings: bot token, chat id and message language, forum topics that can be created in Telegram or imported from it, routing rules and forwarding rules. Filled lists collapse to a one-line summary.

Settings slide-over with the Telegram connection, the two message toggles and the topics list

Bot profile: pick a preset avatar or upload your own, and set the name and descriptions Telegram shows.

Bot profile slide-over with preset avatars, display name and descriptions

#Requirements

  • PHP 8.3 / 8.4 / 8.5
  • Laravel 12 / 13
  • Filament 5

#Installation

composer require spokospace/filament-ops-notify
php artisan migrate
use Spokospace\OpsNotify\Filament\OpsNotifyPlugin;

$panel->plugin(OpsNotifyPlugin::make()->navigationGroup('System'));

Then say who may use it. Until you do, the page opens only in the local environment:

// In a service provider's boot(), with your app's own admin check:
Gate::define('viewOpsNotify', fn (User $user): bool => $user->is_admin);

manageOpsNotify can limit Settings, Bot profile, Send test and Resend further. See Who may use it.

Delivery runs on the queue, so the app needs a worker (Horizon or queue:work) and the scheduler.

#Quick start

  1. Create a bot with @BotFather and a Telegram group with Topics turned on. Add the bot and promote it to admin.
  2. In the panel, open Ops Notify → Settings and enter the bot token and chat id.
  3. Press Send test.

The setup checklist has every step in order. Installing with an AI coding agent? Give it Installing with an AI agent.

Your existing Filament notifications now reach Telegram. To send something yourself:

use Spokospace\OpsNotify\OpsMessage;

OpsMessage::make('build.completed')
    ->success()
    ->title('Frontend build completed')
    ->field('Duration', '4m 12s')
    ->button('Open site', 'https://shop.example')
    ->send();

In Telegram it reads:

✅ [shop.example.com] Frontend build completed

Duration: 4m 12s

#build_completed

with an Open site button below. The title and field labels are bold.

#Documentation

  • Setup checklist: what to set up, in order, the rights the bot needs, and instructions for AI agents
  • Installation: requirements, migrations, plugin options
  • Telegram setup: bot, group, topics, finding the chat id, bot profile
  • Settings: panel vs .env, every option, languages, the Ops Notify page
  • Routing and topics: topics, event rules, forwarding Filament notifications
  • Sending messages: the ops channel, the OpsMessage API, message templates, delivery, tests
  • Drivers: writing your own channel driver
  • Troubleshooting: common Telegram and queue errors and fixes

#Testing

composer test

#Credits

Built and maintained by spoko.space, where it runs in production on our own Filament panels. There's a case study with the story and screenshots behind it.

#License

MIT, see LICENSE.md.

The author

spoko.space avatar Author: spoko.space

I'm Szymon, a web developer and the founder of spoko.space, a small studio in Bielsko-Biała, Poland, that builds custom websites and web apps for clients worldwide. I've been building for the web for over 15 years, with a focus on performance and clean, maintainable code. I work mostly with Laravel, Filament, Astro and Vue. My Filament plugins grow out of the panels we run in production, so they solve problems we hit ourselves first.

Plugins
1
Stars
2