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

Php Mattermost Driver Laravel Package

gnello/php-mattermost-driver

A PHP client for the Mattermost API that makes it easy to send messages, manage channels and users, handle webhooks, and automate team chat workflows from Laravel or any PHP application.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy vs. skip for Mattermost integration. This package is the "buy" option for talking to the Mattermost Web Service API from PHP/Laravel. Given the April 2017 last release (score 2.19, opportunity 1.52), the realistic framing is buy-as-reference: use it to size the work, then decide between forking it, writing a thin in-house client, or avoiding the API entirely via incoming webhooks.
  • ChatOps feature scope. Informs whether to ship notification-style features only (post a message to a channel, alert on deploy/incident/approval) or deeper two-way interactivity (read channels, manage users/teams, upload files, bot accounts). The former is a days-scale effort with webhooks alone; the latter is where a driver library earns its keep — and where this one's age becomes a liability.
  • Roadmap risk on self-hosted/regulated deployments. Mattermost's appeal is on-prem and compliance-heavy buyers (public sector, healthcare, defense, air-gapped). If Mattermost support is on the roadmap for those segments, the dependency's staleness is a support-matrix commitment, not just a code choice.
  • Prioritization of integration targets. A quick read on integration cost helps rank Mattermost against Slack/Teams counterparts — Mattermost typically wins on data-residency requirements and loses on developer-ecosystem maturity. This package's state is a data point for that trade-off.
  • Platform/version support commitments. Informs whether you advertise "works with Mattermost" generically or pin to specific server versions. The library predates the modern v4-era API, so anything you ship on top of it implicitly restricts the server versions you can claim.
  • Total cost of ownership estimates. Feeds the maintenance budget line: an abandoned Apache-2.0 dependency in your composer graph means you either own the fork or accept the drift.

When to Consider This Package

Consider it when all of the following hold:

  • Your stack is PHP/Laravel and you want to avoid hand-rolling HTTP plumbing.
  • The integration is narrow — primarily outbound posts to channels (alerts, build results, approval requests).
  • You are pointed at an older Mattermost server, or you are willing to fork and re-target the client at the current REST API.
  • You treat the code as a starting point or reference implementation, vendored and pinned rather than a semver-constrained public dependency.
  • Time-to-first-demo matters more than long-term dependency hygiene (spike, proof of concept, internal tool).

Look elsewhere — or build thin — when any of the following are true:

  • You need the current Mattermost API. A 2017-era driver almost certainly targets endpoints and auth flows that have since changed or been removed. Verify endpoint coverage against your target server version before committing.
  • Security or compliance review is in the path. An unmaintained dependency in a product sold to regulated buyers is a finding waiting to be written up; abandoned transitive dependencies compound it.
  • You only need outbound notifications. Mattermost incoming webhooks need zero SDK — a single Laravel Http::post() against a webhook URL covers most alerting use cases with no third-party surface at all.
  • You need real interaction — slash commands, interactive message actions, websocket events, bot accounts, channel/user administration. These need current API surface and active maintenance.
  • You want an officially supported path. Prefer Mattermost's own drivers and documented webhook/plugin mechanisms, or a maintained community client, over a dormant one.
  • You're not actually committed to Mattermost. If the platform decision is still open, don't let a client library's convenience drive the platform choice.

A pragmatic default for most teams: webhooks for notifications, a small in-house client (Laravel HTTP client, typed DTOs, retry/backoff, token refresh) for anything more. That is typically a one-to-three-day build and removes the dependency question entirely.

How to Pitch It (Stakeholders)

To executives: There's an off-the-shelf PHP library for Mattermost integration, but it hasn't been released since 2017 and its quality signals are weak. I do not recommend adopting it as a production dependency. The recommended path is to spend roughly one to three engineering days on a thin in-house client plus webhooks, which gives us the same ChatOps capability with no abandoned code in our stack and no version-support caveats with customers. If Mattermost support is on the roadmap for on-prem or regulated buyers, this is also the cheapest way to keep that promise honest.

To engineering: Treat the package as a reference for API shape, not a dependency. Ship notifications via incoming webhooks; for anything beyond posting messages, write a small client against the current REST API using Laravel's HTTP client — typed request/response objects, retries with backoff, and a token/permission layer. Avoid exposing the library's abstractions in our domain code so a swap stays cheap either way. If we do vendor or fork it, pin the commit, own the fork explicitly, and put a version-support statement in the integration docs.

The one-line decision: Cheap to try, expensive to depend on — prototype with it if you must, but plan to replace it before it reaches a customer-facing surface.

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.
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels
wazza/laravel-db-encryption
hokny/laravel-generator
vonsogt/backup
jengo/queues
jeremykenedy/laravel-observability
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums