Skip to content

Proactive Notifications API v2

The Proactive Notifications API V2 enables sending various types of messages to users via IVR and Hangout 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}}

See How to generate the JWT Token.

API Scope
  • Bot Builder: Proactive Messages
  • Admin Console: Channel Management > Proactive Messages

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 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" }
]

Body Parameters

Field Type Required / Optional Description
channel string Required Platform to send message to (e.g., ivr, hangouts)
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 Note: Other channels (e.g., whatsapp, msteams, 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.

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
}