The Proactive Notifications API V2 enables sending various types of messages to users via IVR, Hangout, Webhook, and WhatsApp channels.
Proactive notification includes:
- Nudge the employees to reset their passwords before it expires in a certain days
- Remind users to submit expense reports.
- Inform customers about their order status.
- Other reminders that are defined.
Note: Webhook Proactive Notifications only support Asynchronous V2.
Method | POST |
Endpoint | https://{{host}}/api/public/bot/{{streamId}}/notifyV2 |
Content Type | application/json |
Authorization | auth: {{JWT}} |
API Scope |
|
Path Parameters
PARAMETER | DESCRIPTION | MANDATE |
host | The environment URL. For example, https://platform.kore.ai | Required |
BotId | Bot ID or Stream ID can be accessed under General Settings on the Bot Builder.
Note: This is required only for the Bot Builder API scope of Proactive Messages. |
Required |
Sample Request
Static Text Message
Sends a non-personalized message to multiple users.
{ Â Â "channel": "ivr", Â Â "webhookInstanceName": "Webhook", Â Â "userIdentityType": "resolve", Â Â "content": { Â Â Â Â "type": "text", Â Â Â Â "value": "Hello! Your order has been shipped. Track it using the provided details." Â Â }, Â Â "identities": [ Â Â Â Â { "email": "user1@example.com" }, Â Â Â Â { "email": "user2@example.com" } Â Â ] }
Channel-Specific Adjustments:
hangoutchat:
"identities": [ Â Â { "spaceId": "AAQAPWibMjE" }, Â Â { "spaceId": "o7ZNt8AAAAE" } ]
Custom Message
Sends a personalized message if customMessage is specified, else uses the main message.
{ Â Â "channel": "ivr", Â Â "webhookInstanceName": "Webhook", Â Â "userIdentityType": "resolve", Â Â "content": { Â Â Â Â "type": "text", Â Â Â Â "value": "Hello! Your order has been shipped." Â Â }, Â Â "identities": [ Â Â Â Â { "email": "user@example.com", "customMessage": "Hi John, your package is on the way!" }, Â Â Â Â { "email": "user@example.com" } Â Â ] }
Channel-Specific Adjustments:
hangoutchat:
"identities": [ Â Â { "spaceId": "AAQAPWibMjE", "customMessage": "Hi John, your package is on the way!" }, Â Â { "spaceId": "o7ZNt8AAAAE" } ]
 Parameterized Message
Personalizes the message using dynamic parameters.
{ Â Â "channel": "ivr", Â Â "webhookInstanceName": "Webhook", Â Â "userIdentityType": "resolve", Â Â "content": { Â Â Â Â "type": "text", Â Â Â Â "value": "Hello {name}! Your reference number is {refId}." Â Â }, Â Â "identities": [ Â Â Â Â { "email": "user@example.com", "parameters": { "name": "Charlie", "refId": "XYZ-789" } }, Â Â Â Â { "email": "user@example.com", "parameters": { "name": "Diana", "refId": "UVW-012" } } Â Â ] }
Channel-Specific Adjustments:
hangoutchat:
"identities": [ Â Â { "spaceId": "AAQAPWibMjE", "parameters": { "name": "Charlie", "refId": "XYZ-789" } }, Â Â { "spaceId": "o7ZNt8AAAAE" }
]
Template-Based Message
Uses templates with optional parameter substitution.
{ Â Â "channel": "ivr", Â Â "webhookInstanceName": "Webhook", Â Â "userIdentityType": "resolve", Â Â "content": { Â Â Â Â "type": "template", Â Â Â Â "value": "Hello {name}, your order ID is {orderId}." Â Â }, Â Â "identities": [ Â Â Â Â { "email": "user@example.com", "parameters": { "name": "Alice", "orderId": "ABC-123" } }, Â Â Â Â { "email": "user@example.com", "parameters": { "name": "Bob", "orderId": "DEF-456" } } Â Â ] }
Channel-Specific Adjustments:
hangoutchat:
"identities": [ Â Â { "spaceId": "AAQAPWibMjE", "parameters": { "name": "Charlie", "orderId": "XYZ-789" } }, Â Â { "spaceId": "o7ZNt8AAAAE" } ]
whatsapp:
{ Â Â Â Â "channel": "whatsapp", Â Â Â Â "userIdentityType": "resolve", Â Â Â Â "message": { Â Â Â Â Â Â Â Â "type": "template", Â Â Â Â Â Â Â Â "value": { Â Â Â Â Â Â Â Â Â Â Â Â "type": "image", Â Â Â Â Â Â Â Â Â Â Â Â "image": { Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â "link": "https://imagej.net/images/2D_Gel.jpg", Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â "caption": "Random Image" Â Â Â Â Â Â Â Â Â Â Â Â } Â Â Â Â Â Â Â Â } Â Â Â Â }, Â Â Â Â "identities": [ Â Â Â Â Â Â Â Â { Â Â Â Â Â Â Â Â Â Â Â Â "phoneNumber": "91xxxxxxx4" Â Â Â Â Â Â Â Â } Â Â Â Â ] }
Body Parameters
Field | Type | Required / Optional | Description |
channel | string | Required | Name of the channel for which notifications to be sent (e.g., ivr, hangouts and whatsapp) |
webhookInstanceName | string | Optional | Name of the webhook instance, applicable only for ivr channel |
userIdentityType | string | Optional | Identity resolution logic, e.g., resolve |
message | object | Required | Message object containing message type and content |
message.type | string | Required | Message format (e.g., text, template, script) |
message.value | string or json | Required | Actual message content to send |
identities | array | Required | List of recipient identity objects |
Identities Array
identity field | string | Required | Identity key depending on the channel:- ivr: email- hangouts: spaceId whatsapp: phone number Note: Other channels (e.g., msteams and slack) are not yet supported in public API v2 |
customMessage | string | Optional | Overrides the default message for this recipient. Supports placeholders like {name}, {refId} |
parameters | object | Optional | A key-value map where each key corresponds to a placeholder in the customMessage.These values dynamically replace the placeholders when sending the message.If no customMessage is provided, this field is ignored for that identity. |
Schema Constraints
identities
 array:- Minimum items: 1
- Maximum items: 1000
parameters
 object:- Maximum properties: 20
- Each value must be a string ≤ 200 characters
- No additional properties are allowed at any level unless explicitly defined.
Sample Response
{ Â "_id": "ds-d0f6fed2-87ff-52b7-bf2b-a15216f0a563", Â "streamId": "st-736ff917-d836-55b4-9a6b-3dad20c09af3", Â "jobType": "PROACTIVE_NOTIFICATIONS_API", Â "action": "PROACTIVE_NOTIFICATIONS", Â "status": "IN_PROGRESS", Â "statusLogs": [], Â "percentageComplete": 0, Â "store": { Â Â Â "identitiesCount": 2 Â }, Â "createdBy": "u-ecff03e8-ba90-532e-ab7b-209082d91936", Â "lMod": "2025-05-22T05:37:56.000Z", Â "countOfDockStatuses": 1, Â "createdOn": "2025-05-22T05:37:56.693Z", Â "requestedTime": "2025-05-22T05:37:56.693Z", Â "__v": 0 }