Skip to content

feat: Add Telnyx Voice alerts#7215

Open
LuvForAirplanes wants to merge 7 commits intolouislam:masterfrom
LuvForAirplanes:master
Open

feat: Add Telnyx Voice alerts#7215
LuvForAirplanes wants to merge 7 commits intolouislam:masterfrom
LuvForAirplanes:master

Conversation

@LuvForAirplanes
Copy link
Copy Markdown
Contributor

Summary

In this pull request, the following changes are made:

  • I added an Telnyx Voice API integration so that Telnyx can also call users with alerts
  • I used Claude Opus to assist me, especially with the Vue, as I am not super familiar. I have written quite a few Telnyx integrations before in private products.
Please follow this checklist to avoid unnecessary back and forth (click to expand)
  • ⚠️ If there are Breaking change (a fix or feature that alters existing functionality in a way that could cause issues) I have called them out
  • 🧠 I have disclosed any use of LLMs/AI in this contribution and reviewed all generated content.
    I understand that I am responsible for and able to explain every line of code I submit.
  • 🔍 Any UI changes adhere to visual style of this project.
  • 🛠️ I have self-reviewed and self-tested my code to ensure it works as expected.
  • 📝 I have commented my code, especially in hard-to-understand areas (e.g., using JSDoc for methods).
  • 🤖 I added or updated automated tests where appropriate.
  • 📄 Documentation updates are included (if applicable).
  • 🧰 Dependency updates are listed and explained.
  • ⚠️ CI passes and is green.

Screenshots for Visual Changes

Event Before After
UP N/A, Telnyx didn't exist image
DOWN N/A, Telnyx didn't exist image
Certificate-expiry N/A, Telnyx didn't exist image
Testing N/A, Telnyx didn't exist image

Copilot AI review requested due to automatic review settings March 27, 2026 15:30
Comment thread server/notification-providers/telnyx-voice.js Fixed
Comment thread server/notification-providers/telnyx-voice.js Fixed
Comment thread server/notification-providers/telnyx-voice.js Fixed
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new Telnyx Voice notification channel that places outbound calls via Telnyx Call Control and speaks the alert message when the call is answered, including UI configuration and a public webhook for call events.

Changes:

  • Added UI form + i18n strings for configuring Telnyx Voice (App ID, base URL, optional speech template).
  • Registered a new telnyxVoice notification type in the frontend and backend provider list.
  • Added a public webhook endpoint and a new server-side Telnyx Voice provider to manage call lifecycle (speak/hangup).

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
src/lang/en.json Adds translation strings for Telnyx Voice configuration fields and help text.
src/components/notifications/index.js Registers the new TelnyxVoice.vue notification form component.
src/components/notifications/TelnyxVoice.vue New Vue form for Telnyx Voice provider configuration.
src/components/NotificationDialog.vue Adds “Telnyx Voice” and renames existing Telnyx label to “Telnyx SMS”.
server/routers/api-router.js Adds a public Telnyx call-control webhook callback route.
server/notification.js Registers the new Telnyx Voice notification provider.
server/notification-providers/telnyx-voice.js Implements Telnyx Voice call placement + webhook handling (speak/hangup) with in-memory pending call state.

Comment thread server/notification-providers/telnyx-voice.js Outdated
Comment thread server/routers/api-router.js
Comment thread server/routers/api-router.js
Comment thread server/notification-providers/telnyx-voice.js Outdated
Comment thread server/notification-providers/telnyx-voice.js
@LuvForAirplanes
Copy link
Copy Markdown
Contributor Author

@CommanderStorm I believe I'm ready for review.

@CommanderStorm
Copy link
Copy Markdown
Collaborator

I am going to give you fairly general feedback: please look at the rest of the codebase if what you are doing is done this way.
There are a number of cases where this is doing something differeent:

  • there exists a webook into UK
  • there the frontend templating is not the same as literally all others
  • ..

I don't enjoy reading code written by opus so that makes your wait time in the queue a bit longer. that is life.

Comment thread server/notification-providers/telnyx-voice.js
@LuvForAirplanes
Copy link
Copy Markdown
Contributor Author

LuvForAirplanes commented Apr 14, 2026

there the frontend templating is not the same as literally all others

I do not understand what you mean, I based this off the other views. Are you clear on the fact that it is allowing you to specify custom text, but then specify a placeholder for the Uptime Kuma injected text?

there exists a webook into UK

Sorry about that, I didn't find that. I will take a look.

@LuvForAirplanes
Copy link
Copy Markdown
Contributor Author

OK, I'm not understanding what you mean about the webhooks either. I must be looking at the wrong spot. Do you know of another one that accepts incoming messages via web hook?

Comment thread src/components/notifications/TelnyxVoice.vue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants