It's Pimcore Bundle to send notifications to Google Chat, Slack or Email from admin panel inside Pimcore

Overview

Send notifications to Discord, Google Chat, Slack and more from Pimcore

It's Pimcore Bundle to send notifications to Discord, Google Chat, Slack, Telegram, Email or SMS from admin panel inside Pimcore

Installation

First of all you need to add notifier to your config/config.yaml file otherwise bundle won't install properly

framework:
    notifier:
        chatter_transports:
            slack: '%env(SLACK_DSN)%'
            googlechat: '%env(GOOGLECHAT_DSN)%'
            discord: '%env(DISCORD_DSN)%'
            telegram: '%env(TELEGRAM_DSN)%'
        texter_transports:
            smsapi: '%env(SMSAPI_DSN)%'

Then you can install and enable the bundle

composer require lemonmind/pimcore-message-bundle
bin/console pimcore:bundle:enable LemonmindMessageBundle

And finally in your config/config.yaml file you need to add

lemonmind_message:
    allowed_chatters: googlechat,discord,slack,telegram,email,sms
    classes:
        Pimcore\Model\DataObject\YOUR_CLASS:
            fields_to_send: series,Carclass,country,price,bodystyle,manufacturer
            email_to_send: [email protected]
            sms_to: PHONE_NUMBER

where:

  • YOUR_CLASS: is your class from which notifications will be sent
  • fields_to_send is your class fields separated with coma without space
  • email_to_send is e-mail you want to send notification to
  • sms_to is the phone number to which you want to send the notification

It is possible to add multiple classes from which you can send notifications
You need to specify which chatters should be available using allowed chatters option

Example

lemonmind_message:
    allowed_chatters: googlechat,discord,slack,telegram,email,sms
    classes:
        Pimcore\Model\DataObject\Car:
            fields_to_send: series,Carclass,country,price,bodystyle,manufacturer
            email_to_send: [email protected]
            sms_to: PHONE_NUMBER
        Pimcore\Model\DataObject\Manufacturer:
            fields_to_send: name

After correct installation button for sending the notification should be visible only in your class that you defined earlier

When you click at the button a modal should pop up where you can select where you want to send notification and add additional information to the message.


Asynchronous messages

MessageBundle can send asynchronous messages via Symfony Messenger Component. To do that in your config/config.yaml file you need to add lines below

framework:
    messenger:
        transports:
            async: "%env(MESSENGER_TRANSPORT_DSN)%"
        routing:
            'LemonMind\MessageBundle\Message\CreateNotification': async

Also in your .env file you need to add

MESSENGER_TRANSPORT_DSN=doctrine://default

where:

  • MESSENGER_TRANSPORT_DSN is your messenger transport dsn. It can be redis, RabbitMQ or database

Finally, you need to start consuming messages. To do this in your php container, run this command

php bin/console messenger:consume async

It is not recommended to keep this process for a long time. It's better to use supervisord.


Discord

To integrate this bundle with Discord you need to add dsn in your .env file

DISCORD_DSN=discord://TOKEN@default?webhook_id=ID

where:

  • TOKEN is your secure token of the webhook (returned for Incoming Webhooks)
  • ID is the id of the webhook

Sample message


Google Chat

To integrate this bundle with Google Chat you need to add dsn in your .env file

GOOGLE_CHAT_DSN=googlechat://ACCESS_KEY:ACCESS_TOKEN@default/SPACE?thread_key=THREAD_KEY

where:

  • ACCESS_KEY is your Google Chat webhook access key
  • ACCESS_TOKEN is your Google Chat webhook access token
  • SPACE is the Google Chat space
  • THREAD_KEY is the Google Chat message thread to group messages into a single thread (optional)

Sample message


Slack

To integrate this bundle with Slack you need to add dsn in your .env file

SLACK_DSN=slack://TOKEN@default?channel=CHANNEL

where:

  • TOKEN is your Bot User OAuth Access Token (they begin with xoxb-)
  • CHANNEL is a channel, private group, or IM channel to send message to, it can be an encoded ID, or a name.

Sample message


Telegram

To integrate this bundle with Telegram you need to add dsn in your .env file

TELEGRAM_DSN=telegram://TOKEN@default?channel=CHAT_ID

where:

  • TOKEN is your Telegram token
  • CHAT_ID is your Telegram group chat id (starts with -)

You need to contact BotFather on Telegram to start creating your bot. Then add the bot to the group where you want it to send messages

Sample message


E-mail

To integrate this package with e-mail, you need to prepare as with regular Pimcore e-mail.

Sample message


SMSAPI

To integrate this package with SMSAPI, you need to add dsn in your .env file

SMSAPI_DSN=smsapi://TOKEN@default?from=FROM&fast=FAST&test=TEST

where:

  • TOKEN is your API Token (OAuth)
  • FROM is the sender name
  • FAST setting this parameter to 1 (default 0) will result in sending message with the highest priority which ensures the quickest possible time of delivery. Attention! Fast messages cost more than normal messages.
  • TEST setting this parameter to 1 (default 0) will result in sending message in test mode (message is validated, but not sent).

You can see your account info at https://ssl.smsapi.pl/

You might also like...
Sends notifications via one or more channels (email, SMS, ...).

Notifier Component The Notifier component sends notifications via one or more channels (email, SMS, ...). Resources Documentation Contributing Report

 Google Chat - Laravel Notification Channel
Google Chat - Laravel Notification Channel

Google Chat - Laravel Notification Channel This package makes it easy to send notifications using Google Chat , (formerly known as Hangouts Chat) with

Slack notification for Laravel as it should be. Easy, fast, simple and highly testable.
Slack notification for Laravel as it should be. Easy, fast, simple and highly testable.

Based on illuminate/mail About Laravel Slack Slack notification for Laravel as it should be. Easy, fast, simple and highly testable. Since it uses On-

Standalone PHP library for easy devices notifications push.

NotificationPusher Standalone PHP library for easy devices message notifications push. Feel free to contribute! Thanks. Contributors Cédric Dugat (Aut

A very lightweight library to handle notifications the smart way.
A very lightweight library to handle notifications the smart way.

NAMSHI | Notificator Notificator is a very simple and lightweight library to handle notifications the smart way. It took inspiration from other librar

Takes care of Apple push notifications (APNS) in your PHP projects.

Notificato Notificato takes care of push notifications in your PHP projects. Italian: notificato è: participio passato English: notified Why use Notif

Laravel Security Notifications

This package adds security notifications to warn your users when significant security events occur so that they aren't the next victim of an attacker.

Laravel package to launch toast notifications.
Laravel package to launch toast notifications.

Laravel package to launch toast notifications. This package provides assistance when using toast notifications. Using the iziTOAST package, which allo

Laravel Subscribable Notifications

Laravel Subscribable Notifications This package allows you to subscribe your app Users to your app Notifications and dispatch them without specifying

Comments
Releases(1.2.1)
Owner
LemonMind.com
LemonMind.com
A PHP Library to easily send push notifications with the Pushwoosh REST Web Services.

php-pushwoosh A PHP Library to easily send push notifications with the Pushwoosh REST Web Services. First sample, creating a Pushwoosh message // Crea

gomoob 63 Sep 28, 2022
Notifications in PHP (notify-send, growl, etc) like that.

#Nod Notifications in PHP (notify-send, growl, etc) like that. ##Examples Letting Nod figure out the best Adapter to use (not recommend ATM, only work

Filipe Dobreira 51 Mar 26, 2019
Send push notifications to apple devices (iPhone, iPad, iPod).

Apple Apn Push Send push notifications to apple devices (iPhone, iPad, iPod). Support authenticators: Certificate Json Web Token Supported protocols:

Vitaliy Zhuk 157 Dec 1, 2022
This package allows you to send notifications to Microsoft Teams.

Teams connector This package allows you to send notifications to Microsoft Teams. Installation You can install the package using the Composer package

skrepr 20 Oct 4, 2022
Larafirebase is a package thats offers you to send push notifications or custom messages via Firebase in Laravel.

Introduction Larafirebase is a package thats offers you to send push notifications or custom messages via Firebase in Laravel. Firebase Cloud Messagin

Kutia Software Company 264 Jan 7, 2023
Send Firebase push notifications with Laravel php framework.

FCM Notification Channel for Laravel Send Firebase push notifications with Laravel php framework. Installation You can install this package via compos

Ankur Kumar 23 Oct 31, 2022
WebPush can be used to send notifications to endpoints which server delivers Web Push

WebPush can be used to send notifications to endpoints which server delivers Web Push notifications as described in the Web Push protocol. As it is standardized, you don't have to worry about what server type it relies on.

null 1.5k Jan 7, 2023
This package makes it easy to send notifications using RocketChat with Laravel 9.0+.

laravel-rocket-chat-notifications Introduction This package makes it easy to send notifications using RocketChat with Laravel 9.0+. Contents Installat

Team Nifty GmbH 25 Dec 1, 2022
This package makes it easy to send web push notifications with Laravel.

Web push notifications channel for Laravel This package makes it easy to send web push notifications with Laravel. Installation You can install the pa

Laravel Notification Channels 564 Jan 3, 2023
Service that helps you to send notifications for a series of failed exceptions.

Laravel Failure Notifier This package helps you to track your exceptions and do what you want to do with them such as sending an SMS or and Email. You

Kamyar Gerami 7 Nov 26, 2022