Use notification to create posts on Facebook

6.1.0 2024-03-12 05:35 UTC

This package is auto-updated.

Last update: 2024-06-12 06:12:12 UTC


Latest Version on Packagist Software License Build Status StyleCI Total Downloads

This package makes it easy to post to Facebook using Laravel notification channels.



You can install this package via Composer:

composer require laravel-notification-channels/facebook-poster


You'll need to get the Facebook Page ID as well as a page access token with the pages_read_engagement and pages_manage_post permissions. You will need to go through App Review in order to use these permissions. Then, add the configuration to your config/services.php file:

'facebook_poster' => [
    'page_id' => env('FACEBOOK_PAGE_ID'),
    'access_token' => env('FACEBOOK_ACCESS_TOKEN'),


Follow Laravel's documentation to add the channel to your Notification class.

Publish Facebook post

use NotificationChannels\FacebookPoster\FacebookPosterChannel;
use NotificationChannels\FacebookPoster\FacebookPosterPost;

class NewsWasPublished extends Notification

     * Get the notification's delivery channels.
     * @param  mixed  $notifiable
     * @return array
    public function via($notifiable)
        return [FacebookPosterChannel::class];

     * Get the Facebook post representation of the notification.
     * @param  mixed  $notifiable.
     * @return \NotificationChannels\FacebookPoster\FacebookPosterPost
    public function toFacebookPoster($notifiable) {
        return new FacebookPosterPost('Laravel notifications are awesome!');

Publish Facebook post with link

It is possible to publish link with your post too. You just have to pass the URL to the withLink method.

public function toFacebookPoster($notifiable) {
    return (new FacebookPosterPost('Laravel notifications are awesome!'))

Publish Facebook post with custom configuration

You can implement routeNotificationForFacebookPoster() on your notifiable class in order to provide custom configuration.

public function routeNotificationForFacebookPoster(): array
    return [
        'page_id' => 'customPageId',
        'access_token' => 'customAccessToken',


Please see CHANGELOG for more information what has changed recently.


$ composer test


Please see CONTRIBUTING for details.



The MIT License (MIT). Please see License File for more information.