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 Notification Channel Instagram Laravel Package

ka4ivan/laravel-notification-channel-instagram

Send Laravel notifications through Instagram Messenger with this channel. Install via Composer, configure your Instagram API version, access token, and profile ID in services.php, then set start buttons using the provided Artisan command.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Channel expansion roadmap. Answers the recurring “should we be on Instagram too?” question with a low-cost, additive path: one Notification class, one via() entry, no new infrastructure or data store. It makes Instagram a feasibility probe rather than a platform bet.
  • Feature, not product. Unlocks outbound lifecycle and transactional messaging — order confirmations, payment receipts, appointment reminders, re-engagement nudges, promotion drops — inside the notification system the team already owns. It does not support a conversational/inbox product: no inbound webhook handling, no conversation state, no agent routing, no analytics. Any roadmap item implying “chat with us on Instagram” is out of scope for this package.
  • Build vs. buy. The build cost of a thin Instagram Messenger adapter is genuinely small (REST calls to the Graph API plus message/button payload shaping). This package is effectively free at the code layer; the real cost is the buy-side work: Meta business verification, app review for messaging permissions, and token lifecycle ownership. The build/buy decision should therefore be framed as “can we get and keep Meta platform access?”, not “can we write this adapter?”
  • Segmentation and lifecycle experiments. Enables A/B tests on channel mix (email vs. SMS vs. Instagram) for a cohort already active on Instagram — a cheap test of incremental engagement lift before committing to a paid messaging vendor.
  • Interactive CTA product patterns. Up to three web_url / postback buttons and up to three ice-breaker start buttons let PMs ship lightweight flows (deep link to checkout, “yes/no” confirmation, topic selection) without standing up a bot framework — provided the receiving endpoint for postbacks is built separately.
  • Multi-brand / multi-profile readiness. Per-message setProfileId() and setAccessToken() overrides make it viable for agency or multi-brand setups, but credential resolution then becomes our application logic — a scoping decision to make explicitly, not inherit by accident.
  • Deprioritization signal. 5 stars, 0 dependents, single maintainer. That is a legitimate input to a “build a supported wrapper or fork” decision if Instagram becomes a revenue-relevant channel rather than an experiment.

When to Consider This Package

Consider it when:

  • You are on Laravel 9–13 and already use the built-in notification system with via() and routeNotificationFor*() routing — adoption is a composer require plus a config/services.php block, so a spike costs hours, not sprints.
  • Instagram is an additional outbound engagement channel, not the product. Notifications, reminders, receipts, and promotions against users who already have an Instagram professional account relationship with you.
  • You have, or can get, a Meta app with Instagram messaging permissions and an owner for long-lived token issuance, storage, rotation, and per-environment separation.
  • You accept that Meta’s messaging rules (existing conversation / IGSID, the standard messaging window, message tags, permission revocation) shape the product, and you have designed the user journey around them rather than discovering them post-launch.
  • You can wrap it in your own operational layer: queueing, retries/backoff, idempotency, rate limiting per profile ID, delivery logging, and error alerting. The package supplies none of these.
  • The blast radius of failure is contained — a missed Instagram reminder, not a missed payment confirmation.

Look elsewhere when:

  • You need inbound messages, conversation state, an agent inbox, or messaging analytics. This is outbound-only; you would need the webhook handler, state store, and UI built separately (or a vendor).
  • Instagram is a primary revenue channel where community validation, SLAs, or vendor support matter. Zero dependents and a single maintainer means a Graph API change can strand you; budget for a fork or an internal abstraction.
  • You need guaranteed delivery semantics, delivery receipts, or compliance-grade audit trails out of the box.
  • Multi-tenant credential resolution is required and the team cannot own that application logic.
  • You are not on Laravel, or you maintain your own HTTP abstractions and don't want a framework-specific adapter.
  • Your users don't have (or won't grant) an Instagram messaging relationship — without an existing conversation the channel simply cannot deliver.

How to Pitch It (Stakeholders)

To executives: This is a cheap experiment, not a platform commitment. For roughly the effort of a small ticket, we can add Instagram as an additional outbound notification channel inside our existing Laravel notification system — no new infrastructure, no data model changes, and a one-line rollback per notification class. It lets us test whether reaching customers on Instagram improves engagement on lifecycle messages before we invest in a vendor or a bespoke integration. The gate is not engineering effort; it is Meta platform approval and ongoing token ownership, which we should treat as the real cost and the real risk.

To engineering: It is a thin, stateless adapter over the Instagram Graph API — text, single and multi-attachment sends, and up to three CTA buttons, with per-message overrides for API version, token, and profile ID, plus an artisan command to register ice-breaker start buttons. The fluent builders are good for velocity and thin for debugging, so assume you own the operational layer: queueing, retries, per-profile rate limiting, request/response logging, and credential rotation. Before you commit, confirm which Graph host it calls (graph.instagram.com vs graph.facebook.com), how API errors surface, and whether the send path is queue-safe.

To product and leadership, on risk: Three things to name plainly. Maintenance risk — 5 stars, 0 dependents, one maintainer; assume we may need to fork or wrap it. Platform risk — Meta controls delivery rules, the messaging window, and permission revocation, and those constraints are product constraints, not technical ones. Credential risk — a single long-lived token in environment config is a single point of failure across every notification routed through the channel, so it needs a named owner and a rotation runbook from day one.

Positioning in one line: A low-cost, low-commitment way to test Instagram as an outbound engagement channel — worth a spike, not worth betting the roadmap on until Meta access and token ownership are solved.

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.
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package