Laravel Packages

Bluesky notification channel for Laravel

Published
Bluesky notification channel for Laravel image

Enzo Innocenzi created a Laravel Notification channel for the Bluesky social media app, and you can find it on Github. We've been using it for a while now to auto-publish new articles on the site over to our Laravel News Bluesky account.

If you are new to Bluesky and want to try it out, Justin Jackson created a Laravel list of many active users on the service.

Getting started with Bluesky with Laravel

It's super easy to get started, and all you have to do is require the package:

composer require innocenzi/bluesky-notification-channel

Then add this to your .env:

BLUESKY_USERNAME=your-handle
BLUESKY_PASSWORD=your-app-password

Then in your config/services.php file:

return [
    // ...
    'bluesky' => [
      'username' => env('BLUESKY_USERNAME'),
      'password' => env('BLUESKY_PASSWORD'),
    ]
];

Finally, when Laravel Notification:

final class CreateBlueskyPost extends Notification
{
    public function via(object $notifiable): array
    {
        return [
            BlueskyChannel::class
        ];
    }

    public function toBluesky(object $notifiable): BlueskyPost
    {
        return BlueskyPost::make()
            ->text('Test from Laravel');
    }
}

Laravel News Setup

Here is how ours is set up:

class ArticlePublishedNotification extends Notification
{
    public function via($notifiable): array
    {
        return [
            BlueskyChannel::class,
        ];
    }

    public function toBluesky($post): BlueskyPost
    {
        return BlueskyPost::make()
            ->text($post->routes['title'])
            ->language(['en-US'])
            ->withoutAutomaticEmbeds()
            ->embed(new External(
                uri: 'https://laravel-news.com/'.$post->routes['uri'],
                title: $post->routes['title'],
                description: $post->routes['description'],
            ));
    }

Find out more about this package on the Github repo and it has full installation instructions and details on how Bluesky handles embeds.

Eric L. Barnes photo

Eric is the creator of Laravel News and has been covering Laravel since 2012.

Sponsored

serpapi logo
SerpApi

The Web Search API for Your LLM and AI Applications

Visit SerpApi

The latest

View all →
PhpStorm 2026.3 Adds an Agent Workspace and PHP 8.6 Support image

PhpStorm 2026.3 Adds an Agent Workspace and PHP 8.6 Support

Read article
Insert Middleware Before or After Existing Laravel Middleware image

Insert Middleware Before or After Existing Laravel Middleware

Read article
Laravel Herd 2: Coding Agents, Workspaces, and Cloud Deploys image

Laravel Herd 2: Coding Agents, Workspaces, and Cloud Deploys

Read article
Strict Request Input Casting in Laravel image

Strict Request Input Casting in Laravel

Read article
Prevent Duplicate File Uploads With Laravel Storage Dedupler image

Prevent Duplicate File Uploads With Laravel Storage Dedupler

Read article
Slow Job Alerts and Replica Commit IDs in Laravel 13.40 image

Slow Job Alerts and Replica Commit IDs in Laravel 13.40

Read article