GETTING STARTED
Kore.ai XO Platform
Virtual Assistants Overview
Natural Language Processing (NLP)
Concepts and Terminology
Quick Start Guide
Accessing the Platform
Navigating the Kore.ai XO Platform
Building a Virtual Assistant
Help & Learning Resources
Release Notes
Current Version
Recent Updates
Previous Versions
Deprecations
Request a Feature
CONCEPTS
Design
Storyboard
Overview
FAQs
Conversation Designer
Overview
Dialog Tasks
Mock Scenes
Dialog Tasks
Overview
Navigate Dialog Tasks
Build Dialog Tasks
Node Types
Overview
Intent Node
Dialog Node
Dynamic Intent Node
GenAI Node
GenAI Prompt
Entity Node
Form Node
Confirmation Node
Message Nodes
Logic Node
Bot Action Node
Service Node
Webhook Node
Script Node
Process Node
Agent Transfer
Node Connections
Node Connections Setup
Sub-Intent Scoping
Entity Types
Entity Rules
User Prompts or Messages
Voice Call Properties
Knowledge AI
Introduction
Knowledge Graph
Introduction
Terminology
Build a Knowledge Graph
Manage FAQs
Knowledge Extraction
Import or Export Knowledge Graph
Prepare Data for Import
Importing Knowledge Graph
Exporting Knowledge Graph
Auto-Generate Knowledge Graph
Knowledge Graph Analysis
Answer from Documents
Alert Tasks
Small Talk
Digital Skills
Overview
Digital Forms
Digital Views
Introduction
Widgets
Panels
Session and Context Variables
Context Object
Intent Discovery
Train
NLP Optimization
ML Engine
Overview
Model Validation
FM Engine
KG Engine
Traits Engine
Ranking and Resolver
Training Validations
NLP Configurations
NLP Guidelines
LLM and Generative AI
Introduction
LLM Integration
Kore.ai XO GPT Module
Prompts & Requests Library
Co-Pilot Features
Dynamic Conversations Features
Intelligence
Introduction
Event Handlers
Contextual Memory
Contextual Intents
Interruption Management
Multi-intent Detection
Amending Entities
Default Conversations
Conversation Driven Dialog Builder
Sentinment Management
Tone Analysis
Default Standard Responses
Ignore Words & Field Memory
Test & Debug
Overview
Talk to Bot
Utterance Testing
Batch Testing
Conversation Testing
Conversation Testing Overview
Create a Test Suite
Test Editor
Test Case Assertion
Test Case Execution Summary
Glossary
Health and Monitoring
NLP Health
Flow Health
Integrations
Actions
Actions Overview
Asana
Configure
Templates
Azure OpenAI
Configure
Templates
BambooHR
Configure
Templates
Bitly
Configure
Templates
Confluence
Configure
Templates
DHL
Configure
Templates
Freshdesk
Configure
Templates
Freshservice
Configure
Templates
Google Maps
Configure
Templates
Here
Configure
Templates
HubSpot
Configure
Templates
JIRA
Configure
Templates
Microsoft Graph
Configure
Templates
Open AI
Configure
Templates
Salesforce
Configure
Templates
ServiceNow
Configure
Templates
Stripe
Configure
Templates
Shopify
Configure
Templates
Twilio
Configure
Templates
Zendesk
Configure
Templates
Agents
Agent Transfer Overview
Custom (BotKit)
Drift
Genesys
Intercom
NiceInContact
NiceInContact(User Hub)
Salesforce
ServiceNow
Configure Tokyo and Lower versions
Configure Utah and Higher versions
Unblu
External NLU Adapters
Overview
Dialogflow Engine
Test and Debug
Deploy
Channels
Publishing
Versioning
Analyze
Introduction
Dashboard Filters
Overview Dashboard
Conversations Dashboard
Users Dashboard
Performance Dashboard
Custom Dashboards
Introduction
Custom Meta Tags
Create Custom Dashboard
Create Custom Dashboard Filters
LLM and Generative AI Logs
NLP Insights
Task Execution Logs
Conversations History
Conversation Flows
Conversation Insights
Feedback Analytics
Usage Metrics
Containment Metrics
Universal Bots
Introduction
Universal Bot Definition
Universal Bot Creation
Training a Universal Bot
Universal Bot Customizations
Enabling Languages
Store
Manage Assistant
Team Collaboration
Plan & Usage
Overview
Usage Plans
Templates
Support Plans
Invoices
Authorization
Conversation Sessions
Multilingual Virtual Assistants
Get Started
Supported Components & Features
Manage Languages
Manage Translation Services
Multiingual Virtual Assistant Behavior
Feedback Survey
Masking PII Details
Variables
Collections
IVR Settings
General Settings
Assistant Management
Manage Namespace
Data
Overview
Data Table
Table Views
App Definitions
Data as Service
HOW TOs
Build a Travel Planning Assistant
Travel Assistant Overview
Create a Travel Virtual Assistant
Design Conversation Skills
Create an ‘Update Booking’ Task
Create a Change Flight Task
Build a Knowledge Graph
Schedule a Smart Alert
Design Digital Skills
Configure Digital Forms
Configure Digital Views
Train the Assistant
Use Traits
Use Patterns
Manage Context Switching
Deploy the Assistant
Use Bot Functions
Use Content Variables
Use Global Variables
Use Web SDK
Build a Banking Assistant
Design Conversation Skills
Create a Sample Banking Assistant
Create a Transfer Funds Task
Create a Update Balance Task
Create a Knowledge Graph
Set Up a Smart Alert
Design Digital Skills
Configure Digital Forms
Configure Digital Views
Add Data to Data Tables
Update Data in Data Tables
Add Data from Digital Forms
Train the Assistant
Composite Entities
Use Traits
Use Patterns for Intents & Entities
Manage Context Switching
Deploy the Assistant
Configure an Agent Transfer
Use Assistant Functions
Use Content Variables
Use Global Variables
Intent Scoping using Group Node
Analyze the Assistant
Create a Custom Dashboard
Use Custom Meta Tags in Filters
Migrate External Bots
Google Dialogflow Bot
APIs & SDKs
API Reference
API Introduction
Rate Limits
API List
koreUtil Libraries
SDK Reference
SDK Introduction
Web SDK
How the Web SDK Works
SDK Security
SDK Registration
Web Socket Connect and RTM
Tutorials
Widget SDK Tutorial
Web SDK Tutorial
BotKit SDK
BotKit SDK Deployment Guide
Installing the BotKit SDK
Using the BotKit SDK
SDK Events
SDK Functions
Tutorials
BotKit - Blue Prism
BotKit - Flight Search Sample VA
BotKit - Agent Transfer
  1. Home
  2. Docs
  3. Virtual Assistants
  4. Channel Enablement
  5. Adding the WhatsApp Business Messaging Channel

Adding the WhatsApp Business Messaging Channel

Adding the WhatsApp Channel using Infobip Application

To complete this procedure, you must already have an Infobip account. This is one of the messaging providers for enabling WhatsApp Business Messaging on the Kore Platform.

Steps to configure Infobip:

  1. Login to the Infobip developer portal.
  2. On the left navigation menu, click the Channels and Numbers option and select the WhatsApp channel on the Channel Essentials panel.
  3. To configure a new number for the Infobip and WhatsApp messaging platforms’ integration, follow one of the steps given below:
    1. Scan the QR code under Overview > Connect on the WhatsApp page on the Infobip portal using the camera or QR scanner on your mobile device.
    2. Follow the instructions for steps 2 and 3 shown in the image below.
    3. Alternatively, add the number shown on the screen of the Infobip sender to your WhatsApp contacts.

      Note: The mobile number should have the country code preceded by a plus (+) sign to activate the Infobip and WhatsApp connections.
  4. Once the number is associated, select the Senders tab to view or edit the numbers for WhatsApp messaging.
  5. Click the ellipses icon under Action and select Edit Configuration.
  1. On the Edit Configuration page, click the edit icon, add the URL for incoming messages (copy the Webhook URL from the Kore Platform under Deploy > Channels > WhatsApp Business Messaging > Configurations tab) and click Back.
  2. Next, to add Infobip’s Base URL, follow these steps:
    1. On the Kore.ai Platform, click the Virtual Assistants tab, and select the published virtual assistant to add the WhatsApp Business Message channel.
    2. Under Deploy > Channels, click WhatsApp Business Messaging.
    3. On the WhatsApp Business Messaging panel, click the Configurations tab and provide inputs for the following fields:
      1. Messaging Partner – Select Infobip from the dropdown list.
      2. Phone Number – Copy and paste the number displayed on the Infobip portal for your account under the Connect section (please refer to step 3). The Platform now supports adding multiple phone numbers on the WhatsApp Messaging Channel for the same Virtual Assistant. The Virtual Assistant responds to only the source number from which it receives the message rather than a common phone number. Learn more.
      3. Base URL: Copy the Base URL from this page. This URL will be used on Kore.ai to send the messages when the WhatsApp Business Messaging channel is enabled.
      4. Username and Password: The username and password of the Infobip account holder. Infobip’s API requires authentication and uses the basic authorization for sending and receiving messages over the API with these values.
      5. Webhook URL: Copy the webhook URL provided in the configuration tab and update the same on the Infobip developer portal for Infobip to send the received messages from the subscriber (WhatsApp Business Messaging).
    4. Select Yes to enable the WhatsApp Business Messaging channel.
    5. Click Save to complete the integration setup.
Note: If you’re using the development sandbox on Infobip, once the channel is enabled and published, you will need to send messages in the format “[Keyword on infobip] (User input)” For example, “Kore Hi.”

Viewing WhatsApp Message Logs on Infobip

Once you’ve sent a message to Infobip using the WhatsApp Business Messaging channel, you can track the text, Virtual Assistant responses, delivery status, and errors (if any) on your Infobip account under Channels and Numbers > Channel Essentials > WhatsApp > Overview > View Logs.

Messaging Templates

WhatsApp for business communications supports the following messaging types for the Infobip channel:

  • Templates: Formatted, non-editable, and pre-registered messages approved by WhatsApp.
  • Free-Form texts: Free-flowing text messages.

The Kore.ai XO Platform now supports public APIs for WhatsApp templates on the Infobip channel. These templates can be used during virtual assistant conversations to structure the messages exchanged. Since global UI/rich template formats are not supported, the bot designer should register the required templates with Infobip and get them approved.

The Platform automatically decides the payload to be sent to the channels after parsing Advanced Messages (JS) that include one of the following:

  • String: A free-form text message template is used if the JS result is a string.
  • Object: A message template is used if the JS result is an object.

Additional Information

  • To learn more about creating and managing templates, please refer to this link.
  • To know more about various message types and the structure of templates, please refer to this link.
  • To learn more about sending template messages, please refer to this link.

Adding the WhatsApp Channel Using GupShup Application

The Platform supports integration with GupShup to enable WhatsApp business as a channel. In this integration, the platform provides a Webhook URL to be called by GupShup during a conversation to enable events and exchange messages.

Note: To enable WhatsApp Messaging on this channel, you must have a GupShup enterprise account.

The important steps in completing this channel enablement are as follows:

1. Create a GupShup Application.
2. Configure the Channel Enablement.

  1. Create a WABA (WhatsApp Business Account).
  2. Set up the WABA Parameters on the Platform.
  3. Configure the Callback URL/Webhook URL.

3. Secure the Integration.

Step 1: Create a GupShup Application

The first step in the WhatsApp Messaging Channel integration is to create a GupShup application, To create an app, follow the steps below:

  1. Log in to the GupShup portal and navigate to the Dashboard → WhatsApp section.
  2. Click the + Create App button.
  3. On the Create App screen, click Access API to select the app type.
  4. Provide a unique name for the application and click Submit.
  5. For Step 2: Onboard your Users, click Next.

Step 2: Configure the Channel Enablement

To send messages to your GupShup users on the WhatsApp Business Messaging Channel, follow the steps below:

Step 2(a): Create a new WhatsApp Business Account

Once you have created a GupShup app, you need to create a WABA to set up the integration with a number. To create a WABA, follow the steps below:

  1. Navigate to the WhatsApp Dashboard on your GupShup Developer Console.
  2. Click the Go Live button of the desired app in the list.
  1. On the Let’s Get Started window, select the New Number option under Managed onboarding with Gupshup.
  2. Click Proceed.
  1. Enter your details to set up your WhatsApp Business account and click Next.
  2. Follow all the instructions on the screen to Setup the WhatsApp Account, Get WhatsApp Approvals, and Complete Verification.
  3. Once the account is verified with your Facebook Business ID, the WABA ID, Mobile number, and Password are displayed.

Step 2(b): Set up the WABA Parameters on the Platform

To integrate your GupShup service using the WBM channel to the Kore.ai XO Platform, follow the steps below:

  1. Copy the Mobile number, WABA ID, and the Password from the GupShup WhatsApp Dashboard.
  2. On the Kore.ai Bot Builder, navigate to Deploy > Channels > WhatsApp Business Messaging (under Enterprise Channels).
  3. Click the Configurations tab on the WhatsApp Business Messaging window.
  4. Select GupShup from the dropdown list for Messaging Partner.
  5. Paste the copied values for Mobile number, WABA ID, and <b.Password in the respective input fields.

Step 2(c): Configure the Callback URL/Webhook URL

To link to your bot on the Kore.ai Platform to receive inbound messages/events, you must configure the Callback/Webhook URL on your GupShup WhatsApp Dashboard.
To set up the Callback URL, follow the steps below:

  1. On the Kore.ai Bot Builder, navigate to Deploy > Channels > WhatsApp Business Messaging (under Enterprise Channels).
  2. Click the Configurations tab on the WhatsApp Business Messaging window.
  3. Ensure you have selected GupShup for the Messaging Partner field. Click Copy to copy the Webhook URL.
  4. Navigate to your GupShup WhatsApp Dashboard.
  5. Click the Settings icon for your app of type Access API.
  1. On the Settings page, scroll down to the Test Access API and set callback URL section.
  2. Click the Callback URL / Link your Bot tab.
  3. Turn on the toggle switch and paste the Webhook URL you copied from the Bot Builder in the Enter your Callback URL input field.
  1. Click Set.
    Refer to this link for more information on setting up the Callback/Webhook URL on the Gupshup Dashboard.

    Note: Contact the Gupshup customer support team to help configure the Kore.ai webhook URL on GupShup and enable inbound messages to the bot.
  2. Once the callback is set successfully on the Kore.ai XO Platform WhatsApp Business Messaging window, follow the steps below:
    1. (Optional) Enable the Associate an App option, if required, and follow the configuration steps.
    2. Select YES for the Enable Channel option.
    3. Click Save.

Step 3: Secure the Integration

The Webhook URL used on the WhatsApp Business Messaging Channel for GupShup is a public URL that may cause security vulnerabilities. The Kore.ai XO Platform enforces an authentication mechanism by securing the webhook URL and associating it with a Kore.ai App. The Associate an App feature is used for this purpose.

This feature is available under Deploy > Channels > WhatsApp Business Messaging > Configurations.

How it Works

When Associate an App is enabled, the following happens:

  1. The URL is called by GupShup (the Callback URL you configure under Settings) where the channel passes the authorization token as the header information.
  2. The Platform checks for the JWT Token of the associated app in the Header and accepts the Webhook API call(s).
  3. However, if the Token is missing, the Platform rejects the incoming API call(s) and responds with an error code.

Once you enable Associate an App, you must manually select an app and configure it for the GupShup app (by clicking Copy and pasting the Client ID and Client Secret (shown above) from the Kore.ai XO Platform).

Note: This channel configuration is not a part of the Bot Import/Export feature. The user should manually enable the channel for the target Bot. The integration flow remains the same even with the App Association feature.

Messaging Templates

As part of the GupShup WhatsApp channel integration, the Platform supports the following Gupshup outbound message types to provide an engaging, interactive end-user experience: 

  • Templates: WhatsApp-approved, pre-formatted messages that are not editable.
  • Free-flowing: Messages that support all media types are known as “free-form.”

You may have to switch between these message types depending on the timing and initiation of the chat.

Whether you are messaging clients inside the messaging window determines the type of message you send. When messaging customers outside of this window, you must follow pre-approved message template rules. Learn more.

Message templates for outbound messages play a crucial role in ensuring businesses adhere to WhatsApp policies when initiating communications. These templates come preformatted with predefined text, providing a structured framework for messages sent to end users. Their reusability is particularly valuable when sending the same message multiple times.

Instead of transmitting the actual message content, the template name serves as the identifier for the message content when sending a message template.

Templates can incorporate placeholders, allowing for the inclusion of values or customized information before sending the template message. Additionally, template headers may include media that provides more detailed information. Introducing buttons to messages further enhances interactivity and engagement.

Message templates typically consist of the following sections. For detailed information on each element, click on the respective section to understand its usage guidelines and limitations:

The Document with Text template is also supported for outbound messages. With this template, developers can send a document along with informative text for end users to download.

A sample template script is given below:

var msg = {

"type": "document",

"message_text":"This is document caption",

"caption":"This document talks about Gupshup features",

"filename": "Developer.pdf",

"document": {"url":"http://enterprise.smsgupshup.com/help/in/EnterpriseAPIDocument.pdf"}

};

print(JSON.stringify(msg))

Prior to submitting notifications through the WhatsApp Business Solution or the WhatsApp Cloud Business Solution, it is imperative to create and register your message templates. This step ensures that the templates comply with WhatsApp’s review requirements, facilitating effective communication within the platform.

The Kore.ai XO Platform supports public APIs for the integration and utilization of WhatsApp Outbound Templates on the GupShup channel. Contact our experts to learn more. 

Support for WhatsApp Pay

The XO Platform supports WhatsApp Pay, a digital payment service that enables instant money transfers between banks through mobile devices using the Unified Payments Interface (UPI) system for the GupShup channel. GupShup, as a WhatsApp Business integration provider, supports outbound message types Order Details [Text] and Order Status templates, which are also supported on the XO Platform via APIs.

How it Works

  1. When the end user completes the transaction using the WhatsApp Pay template rendered on the WhatsApp channel, the Platform receives an inbound message.
  2. The Inbound message is in the form of a JSON Object containing payment details and their respective status.
  3. The Platform automatically decides the payload to be sent to the channels after parsing Advanced Messages (JS) that include one of the following:
    • String: A free-form text message template is used if the JS result is a string.
    • Object: A message template is used if the JS result is an object.
  1. The Platform accepts this JSON object format as the Composite entity type and stores it in the context object under the respective entity.

An example of a success payload is given below:

  {
   "waNumber": "919XXXXXXXX3",
   "mobile": "919XXXXXXXX",
  "interactive": "{\"payment\":{\"transaction_id\":\"31706099xxxx\",\"reference_id\":\"fastag091-12xx\",\"total_amount\":{\"offset\":100,\"value\":300},\"currency\":\"INR\",\"transaction_type\":\"upi\",\"status\":\"success\"},\"type\":\"payment\"}",
  "name": "ɹɐʞsxxxxx sxxxxxɹɥS",
  "type": "interactive",
  "timestamp": "1687160320000"
}

Error Response Codes

The table below outlines the various error status codes that may occur when receiving incoming requests through the Gupshup Whatsapp channel:

Scenario Status Code Message
Authorization header is missing 401 Access token not found
Authorization header is incorrect 401 Invalid access
JSON request body is missing 500 Internal Server Error
Invalid “streamId” in the request URL 500 Internal Server Error
Missing “mobile” field in the request body 500 Internal Server Error

 

Adding the WhatsApp Channel Using Karix Application

To integrate Karix to your WhatsApp Business Messaging channel and enable it for a bot, you’ll need to perform the following setup under the Configuration tab.

Note: To complete this procedure, you must already have a Karix account. This is one of the messaging provider for enabling WhatsApp Business Messaging.

Prerequisites

  1. Gather the following details from the the Karix support team.
    • Vendor
    • Account Key
    • From
  1. Copy the Webhook URL from the Kore.ai Platform and share it with the Karix support team. The Karix support team will need to configure this URL on their platform for a successful handshake between Kore.ai and Karix.

Configuration Steps

On the WhatsApp Business Messaging platform, follow the below steps:

  1. Select Karix from the list for Messaging Partner.
  2. Enter the Phone Number to map to the WhatsApp Business Messaging channel.
  3. Provide the Account Key you’ve received from the Karix support team.
  4. Provide the Webhook URL  shared with the Karix support team.
  5. Select Yes for Enable Channel.
  6. Click Save.

Adding the WhatsApp Business Messaging Channel

Adding the WhatsApp Channel using Infobip Application

To complete this procedure, you must already have an Infobip account. This is one of the messaging providers for enabling WhatsApp Business Messaging on the Kore Platform.

Steps to configure Infobip:

  1. Login to the Infobip developer portal.
  2. On the left navigation menu, click the Channels and Numbers option and select the WhatsApp channel on the Channel Essentials panel.
  3. To configure a new number for the Infobip and WhatsApp messaging platforms’ integration, follow one of the steps given below:
    1. Scan the QR code under Overview > Connect on the WhatsApp page on the Infobip portal using the camera or QR scanner on your mobile device.
    2. Follow the instructions for steps 2 and 3 shown in the image below.
    3. Alternatively, add the number shown on the screen of the Infobip sender to your WhatsApp contacts.

      Note: The mobile number should have the country code preceded by a plus (+) sign to activate the Infobip and WhatsApp connections.
  4. Once the number is associated, select the Senders tab to view or edit the numbers for WhatsApp messaging.
  5. Click the ellipses icon under Action and select Edit Configuration.
  1. On the Edit Configuration page, click the edit icon, add the URL for incoming messages (copy the Webhook URL from the Kore Platform under Deploy > Channels > WhatsApp Business Messaging > Configurations tab) and click Back.
  2. Next, to add Infobip’s Base URL, follow these steps:
    1. On the Kore.ai Platform, click the Virtual Assistants tab, and select the published virtual assistant to add the WhatsApp Business Message channel.
    2. Under Deploy > Channels, click WhatsApp Business Messaging.
    3. On the WhatsApp Business Messaging panel, click the Configurations tab and provide inputs for the following fields:
      1. Messaging Partner – Select Infobip from the dropdown list.
      2. Phone Number – Copy and paste the number displayed on the Infobip portal for your account under the Connect section (please refer to step 3). The Platform now supports adding multiple phone numbers on the WhatsApp Messaging Channel for the same Virtual Assistant. The Virtual Assistant responds to only the source number from which it receives the message rather than a common phone number. Learn more.
      3. Base URL: Copy the Base URL from this page. This URL will be used on Kore.ai to send the messages when the WhatsApp Business Messaging channel is enabled.
      4. Username and Password: The username and password of the Infobip account holder. Infobip’s API requires authentication and uses the basic authorization for sending and receiving messages over the API with these values.
      5. Webhook URL: Copy the webhook URL provided in the configuration tab and update the same on the Infobip developer portal for Infobip to send the received messages from the subscriber (WhatsApp Business Messaging).
    4. Select Yes to enable the WhatsApp Business Messaging channel.
    5. Click Save to complete the integration setup.
Note: If you’re using the development sandbox on Infobip, once the channel is enabled and published, you will need to send messages in the format “[Keyword on infobip] (User input)” For example, “Kore Hi.”

Viewing WhatsApp Message Logs on Infobip

Once you’ve sent a message to Infobip using the WhatsApp Business Messaging channel, you can track the text, Virtual Assistant responses, delivery status, and errors (if any) on your Infobip account under Channels and Numbers > Channel Essentials > WhatsApp > Overview > View Logs.

Messaging Templates

WhatsApp for business communications supports the following messaging types for the Infobip channel:

  • Templates: Formatted, non-editable, and pre-registered messages approved by WhatsApp.
  • Free-Form texts: Free-flowing text messages.

The Kore.ai XO Platform now supports public APIs for WhatsApp templates on the Infobip channel. These templates can be used during virtual assistant conversations to structure the messages exchanged. Since global UI/rich template formats are not supported, the bot designer should register the required templates with Infobip and get them approved.

The Platform automatically decides the payload to be sent to the channels after parsing Advanced Messages (JS) that include one of the following:

  • String: A free-form text message template is used if the JS result is a string.
  • Object: A message template is used if the JS result is an object.

Additional Information

  • To learn more about creating and managing templates, please refer to this link.
  • To know more about various message types and the structure of templates, please refer to this link.
  • To learn more about sending template messages, please refer to this link.

Adding the WhatsApp Channel Using GupShup Application

The Platform supports integration with GupShup to enable WhatsApp business as a channel. In this integration, the platform provides a Webhook URL to be called by GupShup during a conversation to enable events and exchange messages.

Note: To enable WhatsApp Messaging on this channel, you must have a GupShup enterprise account.

The important steps in completing this channel enablement are as follows:

1. Create a GupShup Application.
2. Configure the Channel Enablement.

  1. Create a WABA (WhatsApp Business Account).
  2. Set up the WABA Parameters on the Platform.
  3. Configure the Callback URL/Webhook URL.

3. Secure the Integration.

Step 1: Create a GupShup Application

The first step in the WhatsApp Messaging Channel integration is to create a GupShup application, To create an app, follow the steps below:

  1. Log in to the GupShup portal and navigate to the Dashboard → WhatsApp section.
  2. Click the + Create App button.
  3. On the Create App screen, click Access API to select the app type.
  4. Provide a unique name for the application and click Submit.
  5. For Step 2: Onboard your Users, click Next.

Step 2: Configure the Channel Enablement

To send messages to your GupShup users on the WhatsApp Business Messaging Channel, follow the steps below:

Step 2(a): Create a new WhatsApp Business Account

Once you have created a GupShup app, you need to create a WABA to set up the integration with a number. To create a WABA, follow the steps below:

  1. Navigate to the WhatsApp Dashboard on your GupShup Developer Console.
  2. Click the Go Live button of the desired app in the list.
  1. On the Let’s Get Started window, select the New Number option under Managed onboarding with Gupshup.
  2. Click Proceed.
  1. Enter your details to set up your WhatsApp Business account and click Next.
  2. Follow all the instructions on the screen to Setup the WhatsApp Account, Get WhatsApp Approvals, and Complete Verification.
  3. Once the account is verified with your Facebook Business ID, the WABA ID, Mobile number, and Password are displayed.

Step 2(b): Set up the WABA Parameters on the Platform

To integrate your GupShup service using the WBM channel to the Kore.ai XO Platform, follow the steps below:

  1. Copy the Mobile number, WABA ID, and the Password from the GupShup WhatsApp Dashboard.
  2. On the Kore.ai Bot Builder, navigate to Deploy > Channels > WhatsApp Business Messaging (under Enterprise Channels).
  3. Click the Configurations tab on the WhatsApp Business Messaging window.
  4. Select GupShup from the dropdown list for Messaging Partner.
  5. Paste the copied values for Mobile number, WABA ID, and <b.Password in the respective input fields.

Step 2(c): Configure the Callback URL/Webhook URL

To link to your bot on the Kore.ai Platform to receive inbound messages/events, you must configure the Callback/Webhook URL on your GupShup WhatsApp Dashboard.
To set up the Callback URL, follow the steps below:

  1. On the Kore.ai Bot Builder, navigate to Deploy > Channels > WhatsApp Business Messaging (under Enterprise Channels).
  2. Click the Configurations tab on the WhatsApp Business Messaging window.
  3. Ensure you have selected GupShup for the Messaging Partner field. Click Copy to copy the Webhook URL.
  4. Navigate to your GupShup WhatsApp Dashboard.
  5. Click the Settings icon for your app of type Access API.
  1. On the Settings page, scroll down to the Test Access API and set callback URL section.
  2. Click the Callback URL / Link your Bot tab.
  3. Turn on the toggle switch and paste the Webhook URL you copied from the Bot Builder in the Enter your Callback URL input field.
  1. Click Set.
    Refer to this link for more information on setting up the Callback/Webhook URL on the Gupshup Dashboard.

    Note: Contact the Gupshup customer support team to help configure the Kore.ai webhook URL on GupShup and enable inbound messages to the bot.
  2. Once the callback is set successfully on the Kore.ai XO Platform WhatsApp Business Messaging window, follow the steps below:
    1. (Optional) Enable the Associate an App option, if required, and follow the configuration steps.
    2. Select YES for the Enable Channel option.
    3. Click Save.

Step 3: Secure the Integration

The Webhook URL used on the WhatsApp Business Messaging Channel for GupShup is a public URL that may cause security vulnerabilities. The Kore.ai XO Platform enforces an authentication mechanism by securing the webhook URL and associating it with a Kore.ai App. The Associate an App feature is used for this purpose.

This feature is available under Deploy > Channels > WhatsApp Business Messaging > Configurations.

How it Works

When Associate an App is enabled, the following happens:

  1. The URL is called by GupShup (the Callback URL you configure under Settings) where the channel passes the authorization token as the header information.
  2. The Platform checks for the JWT Token of the associated app in the Header and accepts the Webhook API call(s).
  3. However, if the Token is missing, the Platform rejects the incoming API call(s) and responds with an error code.

Once you enable Associate an App, you must manually select an app and configure it for the GupShup app (by clicking Copy and pasting the Client ID and Client Secret (shown above) from the Kore.ai XO Platform).

Note: This channel configuration is not a part of the Bot Import/Export feature. The user should manually enable the channel for the target Bot. The integration flow remains the same even with the App Association feature.

Messaging Templates

As part of the GupShup WhatsApp channel integration, the Platform supports the following Gupshup outbound message types to provide an engaging, interactive end-user experience: 

  • Templates: WhatsApp-approved, pre-formatted messages that are not editable.
  • Free-flowing: Messages that support all media types are known as “free-form.”

You may have to switch between these message types depending on the timing and initiation of the chat.

Whether you are messaging clients inside the messaging window determines the type of message you send. When messaging customers outside of this window, you must follow pre-approved message template rules. Learn more.

Message templates for outbound messages play a crucial role in ensuring businesses adhere to WhatsApp policies when initiating communications. These templates come preformatted with predefined text, providing a structured framework for messages sent to end users. Their reusability is particularly valuable when sending the same message multiple times.

Instead of transmitting the actual message content, the template name serves as the identifier for the message content when sending a message template.

Templates can incorporate placeholders, allowing for the inclusion of values or customized information before sending the template message. Additionally, template headers may include media that provides more detailed information. Introducing buttons to messages further enhances interactivity and engagement.

Message templates typically consist of the following sections. For detailed information on each element, click on the respective section to understand its usage guidelines and limitations:

The Document with Text template is also supported for outbound messages. With this template, developers can send a document along with informative text for end users to download.

A sample template script is given below:

var msg = {

"type": "document",

"message_text":"This is document caption",

"caption":"This document talks about Gupshup features",

"filename": "Developer.pdf",

"document": {"url":"http://enterprise.smsgupshup.com/help/in/EnterpriseAPIDocument.pdf"}

};

print(JSON.stringify(msg))

Prior to submitting notifications through the WhatsApp Business Solution or the WhatsApp Cloud Business Solution, it is imperative to create and register your message templates. This step ensures that the templates comply with WhatsApp’s review requirements, facilitating effective communication within the platform.

The Kore.ai XO Platform supports public APIs for the integration and utilization of WhatsApp Outbound Templates on the GupShup channel. Contact our experts to learn more. 

Support for WhatsApp Pay

The XO Platform supports WhatsApp Pay, a digital payment service that enables instant money transfers between banks through mobile devices using the Unified Payments Interface (UPI) system for the GupShup channel. GupShup, as a WhatsApp Business integration provider, supports outbound message types Order Details [Text] and Order Status templates, which are also supported on the XO Platform via APIs.

How it Works

  1. When the end user completes the transaction using the WhatsApp Pay template rendered on the WhatsApp channel, the Platform receives an inbound message.
  2. The Inbound message is in the form of a JSON Object containing payment details and their respective status.
  3. The Platform automatically decides the payload to be sent to the channels after parsing Advanced Messages (JS) that include one of the following:
    • String: A free-form text message template is used if the JS result is a string.
    • Object: A message template is used if the JS result is an object.
  1. The Platform accepts this JSON object format as the Composite entity type and stores it in the context object under the respective entity.

An example of a success payload is given below:

  {
   "waNumber": "919XXXXXXXX3",
   "mobile": "919XXXXXXXX",
  "interactive": "{\"payment\":{\"transaction_id\":\"31706099xxxx\",\"reference_id\":\"fastag091-12xx\",\"total_amount\":{\"offset\":100,\"value\":300},\"currency\":\"INR\",\"transaction_type\":\"upi\",\"status\":\"success\"},\"type\":\"payment\"}",
  "name": "ɹɐʞsxxxxx sxxxxxɹɥS",
  "type": "interactive",
  "timestamp": "1687160320000"
}

Error Response Codes

The table below outlines the various error status codes that may occur when receiving incoming requests through the Gupshup Whatsapp channel:

Scenario Status Code Message
Authorization header is missing 401 Access token not found
Authorization header is incorrect 401 Invalid access
JSON request body is missing 500 Internal Server Error
Invalid “streamId” in the request URL 500 Internal Server Error
Missing “mobile” field in the request body 500 Internal Server Error

 

Adding the WhatsApp Channel Using Karix Application

To integrate Karix to your WhatsApp Business Messaging channel and enable it for a bot, you’ll need to perform the following setup under the Configuration tab.

Note: To complete this procedure, you must already have a Karix account. This is one of the messaging provider for enabling WhatsApp Business Messaging.

Prerequisites

  1. Gather the following details from the the Karix support team.
    • Vendor
    • Account Key
    • From
  1. Copy the Webhook URL from the Kore.ai Platform and share it with the Karix support team. The Karix support team will need to configure this URL on their platform for a successful handshake between Kore.ai and Karix.

Configuration Steps

On the WhatsApp Business Messaging platform, follow the below steps:

  1. Select Karix from the list for Messaging Partner.
  2. Enter the Phone Number to map to the WhatsApp Business Messaging channel.
  3. Provide the Account Key you’ve received from the Karix support team.
  4. Provide the Webhook URL  shared with the Karix support team.
  5. Select Yes for Enable Channel.
  6. Click Save.
Menu