The simplest fix is switch to using the Pusher Laravel broadcaster, but pointed at the Ably Pusher adapter endpoint, similar to how the setup is done clientside. So in broadcasting.php, something like:
'pusher' => [
'driver' => 'pusher',
'key' => '<appid.keyid>',
'secret' => '<secret>',
'app_id' => '<appid>',
'options' => [
'scheme' => 'https',
'host' => 'rest-pusher.ably.io',
'port' => 443,
An alternative would be to go 'all Ably', using an Ably client library on the client side and the Ably broadcaster for Laravel. Unfortunately this is not very well support by Laravel Echo yet, so if going this route you would set up ably-js yourself, and pass the connectionKey up to the serverside broadcaster to use the "broadcast only to others" functionality, see https://ably.com/documentation/rest/messages#publish-on-behalf .
Or, of course, just have the client publish the message to Ably itself (and set the echoMessage client option to false to prevent it being echoed back to the client). With Ably, unless there is a good reason you need to have every publish go through your servers, we recommend that the client just publish the message itself, which will result in much lower latency publishes.