PHPackages                             roomies/nexmo-voice-channel - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. roomies/nexmo-voice-channel

ActiveLibrary[Mail &amp; Notifications](/categories/mail)

roomies/nexmo-voice-channel
===========================

Send Laravel notifications through a phone call

6.2.0(1y ago)5313.8k6MITPHPPHP ^8.2CI failing

Since Nov 5Pushed 1y ago2 watchersCompare

[ Source](https://github.com/roomies-com/vonage-voice-channel)[ Packagist](https://packagist.org/packages/roomies/nexmo-voice-channel)[ Docs](https://github.com/roomies/vonage-voice-channel)[ RSS](/packages/roomies-nexmo-voice-channel/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependencies (6)Versions (15)Used By (0)

Vonage Voice Notification Channel for Laravel
=============================================

[](#vonage-voice-notification-channel-for-laravel)

[![Latest Version on Packagist](https://camo.githubusercontent.com/3ef394d3715f8a9eeb9d4d5de3f6063dfc937aeb1396defa9fef0988ddc51da3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f726f6f6d6965732f766f6e6167652d766f6963652d6368616e6e656c2e737667)](https://packagist.org/packages/roomies/vonage-voice-channel)[![GitHub Workflow Status](https://camo.githubusercontent.com/17cd24e9a38349b439a31c7baa823d190e4695e913f81074f174b8a5e30df543/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f726f6f6d6965732d636f6d2f766f6e6167652d766f6963652d6368616e6e656c2f706870756e69742e796d6c3f6272616e63683d6d6173746572)](https://camo.githubusercontent.com/17cd24e9a38349b439a31c7baa823d190e4695e913f81074f174b8a5e30df543/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f726f6f6d6965732d636f6d2f766f6e6167652d766f6963652d6368616e6e656c2f706870756e69742e796d6c3f6272616e63683d6d6173746572)[![Total Downloads](https://camo.githubusercontent.com/6693ff0a488a56d7aea2b06c8a4f412bbf77ee44464072c27ad700b9c7fe6037/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f726f6f6d6965732f766f6e6167652d766f6963652d6368616e6e656c2e737667)](https://packagist.org/packages/roomies/vonage-voice-channel)

This package provides a notification channel for the Laravel framework that works with Vonage's voice API, allowing text-to-speech phone calls. It also provides a fluent interface to construct your message content.

Installation
------------

[](#installation)

You can install the package via Composer:

```
composer require roomies/vonage-voice-channel
```

Under the hood we use [`laravel/vonage-notification-channel`](https://github.com/laravel/vonage-notification-channel) to configure Vonage, so make sure you have it properly configured using Vonage environment variables. However, in order to make voice calls you need to provide additional credentials in your environment. Note that the private key can be a string or path to the key file.

```
VONAGE_APPLICATION_ID=
VONAGE_PRIVATE_KEY=
```

Then add your call from number and voice to `config/services.php` under the `vonage` key. You can review the [available voices in the Vonage documentation](https://developer.vonage.com/voice/voice-api/guides/text-to-speech).

```
'vonage' => [
    'call_from' => env('VONAGE_CALL_FROM'),
    'call_language' => env('VONAGE_CALL_LANGUAGE', 'en-US'),
    'call_style' => env('VONAGE_CALL_STYLE', 0),
],
```

Usage
-----

[](#usage)

Simply route a notification through the `VoiceChannel` and return a formatted message from the `toVoice` method. You use a string with your own [Speech Synthesis Markup Language (SSML)](https://developer.vonage.com/voice/voice-api/guides/customizing-tts) or use the the included wrapper API to build up your message.

```
use Roomies\VonageVoiceChannel\Markup\Message;
use Roomies\VonageVoiceChannel\Markup\SayAs;
use Roomies\VonageVoiceChannel\Markup\Sentence;
use Roomies\VonageVoiceChannel\VonageVoiceChannel;

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

/**
 * Get the voice representation of the notification.
 *
 * @param  mixed  $notifiable
 * @return \Roomies\VonageVoiceChannel\Markup\Message
 */
public function toVoice($notifiable)
{
    return new Message([
        new Sentence('Hi, thanks for joining Roomies.'),
        new Sentence([
            'Your verification code is',
            (new SayAs('ABC123'))->interpretAs('spell-out')
        ]),
    ]);
}
```

### Markup

[](#markup)

There are a handful of different markup types available to get the right message you're after. Here are some additional examples, otherwise browse `src/Markup` to see all the available options.

```
new Paragraph([
    new Sentence('This is the first sentence of a paragraph.'),
]);

new Sentence([
    'Hey!',
    (new Pause)->time('1s'),
    (new Prosody('Wake up!'))->volume('loud'),
    (new Substitution(
        (new SayAs('US'))->interpretAs('spell-out'),
    ))->alias('United States'),
])
```

### Custom

[](#custom)

Alternatively, you're free to just return your own SSML markup as a string. This gives you complete control if you need something more custom or have more complex requirements.

```
/**
 * Get the voice representation of the notification.
 *
 * @param  mixed  $notifiable
 * @return string
 */
public function toVoice($notifiable)
{
    return '
        Hi, thanks for joining Roomies
        Your verification code is ABC123
    ';
}
```

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

46

—

FairBetter than 93% of packages

Maintenance44

Moderate activity, may be stable

Popularity33

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity78

Established project with proven stability

 Bus Factor1

Top contributor holds 84.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~177 days

Recently: every ~279 days

Total

12

Last Release

436d ago

Major Versions

1.0.0 → 2.0.02020-03-03

2.1.0 → 3.0.02020-09-09

3.1.0 → 4.0.02020-12-28

4.0.1 → 5.0.02022-02-10

5.1.0 → 6.0.02023-02-08

PHP version history (6 changes)1.0.0PHP ^7.3

2.0.0PHP ^7.2.5

3.1.0PHP ^7.3|^8.0

5.0.0PHP ^8.0

6.0.0PHP ^8.1

6.2.0PHP ^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/dd087ea19adfd1f2d44b471f0f4e7075346a8b7c1d5acbccb20ff9fc3815bccd?d=identicon)[dwightwatson](/maintainers/dwightwatson)

---

Top Contributors

[![dwightwatson](https://avatars.githubusercontent.com/u/1100408?v=4)](https://github.com/dwightwatson "dwightwatson (45 commits)")[![ankurk91](https://avatars.githubusercontent.com/u/6111524?v=4)](https://github.com/ankurk91 "ankurk91 (8 commits)")

---

Tags

laravellaravel-notification-channelsnexmolaravellaravel-notification-channelroomiesvonage-voice-channel

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/roomies-nexmo-voice-channel/health.svg)

```
[![Health](https://phpackages.com/badges/roomies-nexmo-voice-channel/health.svg)](https://phpackages.com/packages/roomies-nexmo-voice-channel)
```

###  Alternatives

[laravel-notification-channels/telegram

Telegram Notifications Channel for Laravel

1.1k3.4M35](/packages/laravel-notification-channels-telegram)[s-ichikawa/laravel-sendgrid-driver

This library adds a 'sendgrid' mail driver to Laravel.

4139.3M1](/packages/s-ichikawa-laravel-sendgrid-driver)[roomies/vonage-voice-channel

Send Laravel notifications through a phone call

539.4k](/packages/roomies-vonage-voice-channel)[laravel-notification-channels/discord

Laravel notification driver for Discord.

2371.3M11](/packages/laravel-notification-channels-discord)[laravel-notification-channels/twilio

Provides Twilio notification channel for Laravel

2587.7M12](/packages/laravel-notification-channels-twilio)[laravel-notification-channels/microsoft-teams

A Laravel Notification Channel for Microsoft Teams

1603.0M7](/packages/laravel-notification-channels-microsoft-teams)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
