From 755403a5a93508d4eaa975ed65ca563e0daef519 Mon Sep 17 00:00:00 2001 From: Sahand Seifi Date: Tue, 16 Dec 2025 15:03:04 -0500 Subject: [PATCH 1/3] SMS Auto Reply --- src/interfaces.ts | 64 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 63 insertions(+), 1 deletion(-) diff --git a/src/interfaces.ts b/src/interfaces.ts index b9f3122..25a8d76 100644 --- a/src/interfaces.ts +++ b/src/interfaces.ts @@ -67,6 +67,46 @@ export interface User { createdAt?: string; } +/** Configuration for SMS auto-reply functionality. */ +export interface SmsAutoReply { + /** The message to send as an auto-reply. */ + message: string; +} + +/** Slack message metadata for event tracking. */ +interface SlackMessageMetadata { + /** A human readable alphanumeric string representing your application's metadata event. */ + event_type: string; + /** A free-form object containing whatever data your application wishes to attach to messages. */ + event_payload: Record; +} + +/** Slack entity metadata for work objects. */ +interface SlackEntityMetadata { + /** Entity type (e.g., 'slack#/entities/task', 'slack#/entities/file'). */ + entity_type: string; + /** Schema for the given entity type. */ + entity_payload: Record; + /** Reference used to identify an entity within the developer's system. */ + external_ref: { + id: string; + type?: string; + }; + /** URL used to identify an entity within the developer's system. */ + url: string; + /** The exact URL posted in the source message. Required in metadata passed to `chat.unfurl`. */ + app_unfurl_url?: string; +} + +/** + * Slack message metadata with optional work object entities. + * Combines standard Slack message metadata fields with an array of entity objects. + */ +export type SlackMessageMetadataWithEntities = Partial & { + /** An array of work object entities. */ + entities?: SlackEntityMetadata[]; +}; + export interface SendRequest { /** * @deprecated Use type instead @@ -160,7 +200,9 @@ export interface SendRequest { image?: string; }; sms?: { - message: string; + message?: string; + /** Auto-reply configuration for inbound SMS messages. Optional. */ + autoReply?: SmsAutoReply; }; call?: { message: string; @@ -178,6 +220,26 @@ export interface SendRequest { slack?: { text: string; blocks?: KnownBlock[]; + /** Custom username for the message. Optional. */ + username?: string; + /** Icon to use for the message. Can be an emoji (e.g., ':smile:') or a URL to a custom image. Optional. */ + icon?: string; + /** Provide another message's `ts` value to post this message in a thread. Avoid using a reply's `ts` value; use its parent's value instead. Optional. */ + thread_ts?: string; + /** Used in conjunction with thread_ts. When set to true, broadcasts the reply to the channel. Optional. */ + reply_broadcast?: boolean; + /** Change how messages are treated. 'full' enables automatic parsing of URLs into clickable links, 'none' leaves text as-is. Optional. */ + parse?: 'full' | 'none'; + /** Find and link channel names and usernames. When true, plain text references like "#general" and "@john" are converted to actual Slack links. Optional. */ + link_names?: boolean; + /** Disable Slack markup parsing (formatting like *bold*, _italic_, `code`) by setting to false. Enabled by default. Optional. */ + mrkdwn?: boolean; + /** Pass true to enable unfurling (showing rich previews) of primarily text-based content. Optional. */ + unfurl_links?: boolean; + /** Pass false to disable unfurling (showing rich previews) of media content. Optional. */ + unfurl_media?: boolean; + /** Object representing message metadata, which will be made accessible to any user or app. Optional. */ + metadata?: SlackMessageMetadataWithEntities; }; } From 07baf83723c1eaa1ec18d7b7080d58d9b93be2d6 Mon Sep 17 00:00:00 2001 From: Sahand Seifi Date: Tue, 16 Dec 2025 15:03:24 -0500 Subject: [PATCH 2/3] 2.8.0 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4d1355a..d168e7e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "notificationapi-node-server-sdk", - "version": "2.7.1", + "version": "2.8.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "notificationapi-node-server-sdk", - "version": "2.7.1", + "version": "2.8.0", "license": "ISC", "dependencies": { "@slack/types": "^2.0.0", diff --git a/package.json b/package.json index d365e91..eeeb47f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "notificationapi-node-server-sdk", - "version": "2.7.1", + "version": "2.8.0", "description": "NotificationAPI server-side library for Node.js", "keywords": [ "notificationapi", From cd6fd8da7789d137c2a6f7067038205f2c29cbae Mon Sep 17 00:00:00 2001 From: Sahand Seifi Date: Wed, 17 Dec 2025 10:25:28 -0500 Subject: [PATCH 3/3] Update agent version --- src/notificationapi.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/notificationapi.ts b/src/notificationapi.ts index 10de047..0faee62 100644 --- a/src/notificationapi.ts +++ b/src/notificationapi.ts @@ -17,7 +17,7 @@ const DEFAULT_BASE_URL = 'https://api.notificationapi.com'; class NotificationAPIService { private USER_AGENT = 'notificationapi-node-server-sdk'; - private VERSION = '2.7.1'; + private VERSION = '2.8.0'; clientId: null | string = null; clientSecret: null | string = null;