Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Mattermost Driver Laravel Package

gnello/laravel-mattermost-driver

A Laravel notification driver for Mattermost that lets your app send notifications to Mattermost channels through incoming webhooks. Configure a webhook URL and use a simple channel class to deliver alerts, updates, and team messages.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Channel strategy for notifications and alerting. This package makes it cheap to add Mattermost as a delivery channel for Laravel-generated events: signup alerts, payment failures, job/deploy notifications, incident pages, and internal admin tooling. It informs the roadmap question of where operational messages land, not just whether they are sent.
  • Build vs. buy (and "buy" vs. "assemble"). The package is a thin Laravel service-provider/facade binding around php-mattermost-driver. That makes the honest comparison not "buy vs. build a Mattermost SDK" but "adopt a small community wrapper vs. spend ~half a day wiring Laravel's HTTP client to Mattermost incoming webhooks." Either way, integration cost is negligible and should not be a gating input to any roadmap decision.
  • Self-hosted / data-residency product tiers. For customers or internal stakeholders who cannot use Slack or Teams (regulated industries, air-gapped environments, EU/on-prem data mandates), Mattermost support can be a checkbox on an enterprise requirements matrix. This package is one of the cheapest ways to satisfy that checkbox in a Laravel codebase.
  • Cost modeling for collaboration tooling. Slack/Teams per-seat pricing scales with headcount; a self-hosted Mattermost instance does not. A working integration de-risks the "migrate internal notifications off SaaS chat" initiative by proving the application-side effort is trivial.
  • Prioritization signal. With 18 stars, a single maintainer, and a 0.36 score, this is a low-commitment dependency. It belongs in the "spike / internal tool / prototype" bucket, not the "platform dependency" bucket. That distinction should shape how much roadmap capacity is allocated to hardening it.

When to Consider This Package

Consider it when:

  • You already operate a Mattermost instance (self-hosted or Mattermost Cloud) and need a Laravel app to post messages into channels.
  • The need is narrow and non-critical: one-way outbound messages, no interactive buttons, no slash-command handling.
  • You want a facade and config-driven setup (config/mattermost.php, DI-friendly client) rather than instantiating the underlying driver by hand in every service class.
  • Delivery is best-effort — a dropped notification is an inconvenience, not a customer-facing outage.
  • You are prototyping and want to validate the Mattermost workflow before investing in a first-party abstraction.
  • License compatibility matters and Apache-2.0 fits your policy (it does for most commercial products).

Look elsewhere — or build it yourself — when:

  • Dependency risk is unacceptable. Small star count, low release cadence, and a single maintainer are the classic bus-factor profile. Anything on a critical alerting path (paging, security events) should not transit a package with this maintenance profile.
  • You need richer Mattermost features — interactive message actions, dialogs, slash commands, file uploads, websockets. Verify coverage in php-mattermost-driver itself; if it is missing, go direct to the Mattermost REST API.
  • You need durability. Queued delivery, exponential-backoff retries, dead-letter handling, and rate-limit awareness are application concerns. Laravel's queue + Http client with retry() gives you all of this with zero third-party code.
  • You are on a modern Laravel version and need guaranteed compatibility. Confirm supported Laravel/PHP ranges against your matrix before committing; a thin wrapper often lags framework majors.
  • You already have a notification abstraction. Laravel's native Notification + a custom channel class is ~60 lines and removes the dependency entirely. Prefer that for anything long-lived.
  • Procurement requires vendor support, SLAs, or a security review with a named counterparty. None of that exists here.

Recommended posture if adopted: wrap it behind your own ChatNotifier interface so the package is an implementation detail, pin the version, and keep the swap to Laravel's native Http client pre-scoped.

How to Pitch It (Stakeholders)

For executives: This is a small, free, open-source connector that lets our Laravel applications post operational messages — alerts, deploy notices, system warnings — into Mattermost, the self-hosted Slack alternative we already run. It supports two decisions worth money: keeping sensitive operational data on our own infrastructure instead of a third-party SaaS, and avoiding per-seat chat licensing as headcount grows. The integration effort is measured in hours, not sprints, so it is a cheap way to prove out the self-hosted collaboration path before we commit to it more broadly. The trade-off to be aware of: it is a community package with a single maintainer and roughly a dozen-and-a-half users, so we should treat it as a starting point rather than a long-term platform dependency — plan a small hardening task to own that code path ourselves.

For engineering: Adopt it as a convenience binding, not as architecture. It gives us a config-driven service provider and facade over php-mattermost-driver, which saves us from hand-rolling client construction and lets us inject a mockable interface in tests. Two constraints: keep every call behind a first-party ChatNotifier abstraction so replacing it with Laravel's Http client plus Mattermost webhooks is a contained change, and do not route page-worthy alerts through it until we have added queueing, retry, and failure alerting on our side. Confirm Laravel/PHP version support against our matrix before merging; if it lags, the native Notification channel is roughly sixty lines and removes the dependency outright — that is a legitimate outcome, not a failure.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast