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.