Laravel Packages

Google Chat Laravel Notification Channel

Published
Google Chat Laravel Notification Channel image

The Laravel Notification Channels project now has a Google Chat notification channel for Laravel. This package makes it easy to send notifications using a custom Google chat message channel:

// Create a super simple message
public function toGoogleChat($notifiable)
{
return GoogleChatMessage::create('An invoice was paid!');
}

You can also do simple formatting and advanced card layouts using the package’s provided classes:

// Simple text formatting and routing to a specific chat room
GoogleChatMessage::create()
->text('Someone just paid an invoice... ')
->bold('Woo-hoo!')
->line('Looking for ')
->link(route('invoices'), 'the details?')
->to('sales_team'); // ... and route it to specific rooms
 
// Advanced card layout
GoogleChatMessage::create()
->text('Invoice Paid! Here\'s the details:')
->card(
Card::create(
Section::create(
KeyValue::create('Amount', '$520.99', '#10004756')
->onClick(route('invoices'))
->button(TextButton::create(route('invoices'), 'View'))
)
)
);

Lastly, this package has the concept of “alternate” rooms, which you can configure to explicitly send messages to a Google chat room instead of the default:

// config/google-chat.php
return [
'spaces' => [
'dev_team' => 'https://chat.googleapis.com/dev-team-room?key=xxxxx',
// ...
]
];
 
// Usage
GoogleChatMessage::create()->to('dev_team')->...

Learn More

You can learn more about this package, get full installation instructions, and view the source code on GitHub. Check out the Laravel Notification Channels documentation for complete setup and usage details.

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
Lerd: A Free, Open Source Herd Alternative for Linux and macOS image

Lerd: A Free, Open Source Herd Alternative for Linux and macOS

Read article
Let's Encrypt HTTPS on an IP Address With FrankenPHP image

Let's Encrypt HTTPS on an IP Address With FrankenPHP

Read article
Laravel Chores: Resumable Data Operations and Cleanups image

Laravel Chores: Resumable Data Operations and Cleanups

Read article
NativePHP v4: Build Native iOS and Android UI in Blade image

NativePHP v4: Build Native iOS and Android UI in Blade

Read article
Laravel Lock: Distributed Locks for Models and Routes image

Laravel Lock: Distributed Locks for Models and Routes

Read article
Laravel Image Responses: Serve Resized Images From Routes image

Laravel Image Responses: Serve Resized Images From Routes

Read article