diff --git a/server/notification.js b/server/notification.js
index f8dc679..ad74082 100644
--- a/server/notification.js
+++ b/server/notification.js
@@ -56,6 +56,22 @@ class Notification {
         } else if (notification.type === "discord") {
             return await Notification.discord(notification, msg)
 
+        } else if (notification.type === "signal") {
+          try {
+            let data = {
+              "message": msg, 
+              "number": notification.signalNumber,
+              "recipients": notification.signalRecipients.replace(/\s/g, '').split(",")
+            };
+            let config = {};
+
+            let res = await axios.post(notification.signalURL, data, config)
+            return true;
+        } catch (error) {
+            console.log(error)
+            return false;
+        }
+
         } else {
             throw new Error("Notification type is not supported")
         }
diff --git a/src/components/NotificationDialog.vue b/src/components/NotificationDialog.vue
index c865516..5f1e32b 100644
--- a/src/components/NotificationDialog.vue
+++ b/src/components/NotificationDialog.vue
@@ -17,6 +17,7 @@
                                     <option value="webhook">Webhook</option>
                                     <option value="smtp">Email (SMTP)</option>
                                     <option value="discord">Discord</option>
+                                    <option value="signal">Signal</option>
                                 </select>
                             </div>
 
@@ -44,9 +45,8 @@
                                         Support Direct Chat / Group / Channel's Chat ID
 
                                         <p style="margin-top: 8px;">
-                                            You can get your chat id by sending message to the bot and go to this url to view the chat_id:
-                                        </p>
-
+                                            You can ge     <a href="https://github.com/bbernhard/signal-cli-rest-api" target="_blank">https://github.com/bbernhard/signal-cli-rest-api</a>
+                                    </p>
                                         <p style="margin-top: 8px;">
 
                                             <template v-if="notification.telegramBotToken">
@@ -143,6 +143,41 @@
                             </div>
                         </template>
 
+                        <template v-if="notification.type === 'signal'">
+                            <div class="mb-3">
+                                <label for="signal-url" class="form-label">Post URL</label>
+                                <input type="url" pattern="https?://.+"  class="form-control" id="signal-url" required v-model="notification.signalURL">
+
+                            </div>
+
+                            <div class="mb-3">
+                                <label for="signal-number" class="form-label">Number</label>
+                                <input type="text" class="form-control" id="signal-number" required v-model="notification.signalNumber">
+
+                            </div>
+
+                            <div class="mb-3">
+                                <label for="signal-recipients" class="form-label">Recipients</label>
+                                <input type="text" class="form-control" id="signal-recipients" required v-model="notification.signalRecipients">
+
+                                <div class="form-text">
+                                    You need to have a signal client with REST API.
+
+                                    <p style="margin-top: 8px;">
+                                        You can check this url to view how to setup one:
+                                    </p>
+
+                                    <p style="margin-top: 8px;">
+                                        <a href="https://github.com/bbernhard/signal-cli-rest-api" target="_blank">https://github.com/bbernhard/signal-cli-rest-api</a>
+                                    </p>
+
+                                    <p style="margin-top: 8px;">
+                                        IMPORTANT: You cannot mix groups and numbers in recipients!
+                                    </p>
+                                </div>
+                            </div>
+                        </template>
+
                     </div>
                     <div class="modal-footer">
                         <button type="button" class="btn btn-danger" @click="deleteConfirm" :disabled="processing" v-if="id">Delete</button>
@@ -236,6 +271,7 @@ export default {
         },
 
         test() {
+            console.log("test notification");
             this.processing = true;
             this.$root.getSocket().emit("testNotification", this.notification, (res) => {
                 this.$root.toastRes(res)