How do I create a chatbot?
Use the chatbot creation endpoints with trigger rules, response type, sender scope, and response content.
List Whats91 chatbot configurations for the resolved WhatsApp sender.
Use Chatbot APIs to list, retrieve, and create Whats91 chatbot configurations for automated WhatsApp responses.
Endpoint: GET /api/v2/chatbots. Use this endpoint to retrieve chatbot rules for the authenticated customer and resolved WhatsApp sender. The public v2 chatbot surface is available only through /api/v2/chatbots.
Send Authorization: Bearer w91_public_token_here with every request. senderId is optional for sender-bound tokens; global tokens should pass the WhatsApp sender number.
/api/v2/chatbots| Parameter | Type | Required | Description |
|---|---|---|---|
senderId | string | Optional | WhatsApp sender number. Required for global tokens and optional for number-scoped tokens. |
status | string | Optional | Filter by ACTIVE or INACTIVE chatbot status. |
type | string | Optional | Filter by simple, media, or advanced chatbot type. |
trigger | string | Optional | Text search inside trigger keywords or keyword. |
page | number | Optional | Positive integer page number. Default 1. |
limit | number | Optional | Page size for pagination. Default 50. |
curl -X GET "https://graph.whats91.com/api/v2/chatbots?senderId=916268662275&status=ACTIVE&page=1&limit=50" \
-H "Authorization: Bearer w91_public_token_here"{
"success": true,
"message": "Chatbots retrieved",
"data": {
"senderId": "916268662275",
"chatbots": [
{
"chatbotUid": "bot_invoice_help",
"uid": "bot_invoice_help",
"name": "Invoice Help",
"botType": "simple",
"triggerType": "contains",
"replyTrigger": "invoice, bill",
"replyText": "Please share your invoice number.",
"status": 1,
"priority": 5
}
],
"pagination": {
"page": 1,
"limit": 50,
"total": 1,
"hasMore": false
}
},
"metadata": {
"apiVersion": "v2",
"requestId": "request-uuid"
}
}| Filter | Accepted values | Use case |
|---|---|---|
| status | ACTIVE, INACTIVE | Show production-ready chatbots or drafts separately. |
| type | simple, media, advanced | Separate text, media, and interactive response rules. |
| trigger | Any text search term | Find chatbot rules by keyword such as invoice, help, or catalog. |
| page and limit | Positive integers | Paginate large chatbot rule sets. |
Use these examples as starting points for server-side implementations.
curl -X GET "https://graph.whats91.com/api/v2/chatbots" \
-H "Authorization: Bearer w91_live_xxx"const response = await fetch("https://graph.whats91.com/api/v2/chatbots", {
method: "GET",
headers: {
"Authorization": "Bearer w91_live_xxx",
"Content-Type": "application/json"
}
});
const data = await response.json();
console.log(data);$ch = curl_init("https://graph.whats91.com/api/v2/chatbots");
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer w91_live_xxx",
"Content-Type: application/json"
]
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;import requests
response = requests.request(
"GET",
"https://graph.whats91.com/api/v2/chatbots",
headers={
"Authorization": "Bearer w91_live_xxx",
"Content-Type": "application/json",
}
)
print(response.json())using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer w91_live_xxx");
var request = new HttpRequestMessage(HttpMethod.Get, "https://graph.whats91.com/api/v2/chatbots");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());Use the chatbot creation endpoints with trigger rules, response type, sender scope, and response content.
Whats91 supports text, public media URL, button, CTA, and list-response chatbot flows.
Yes. Use the list and get chatbot endpoints to inspect existing chatbot configurations.
Create a chatbot with the generic public v2 endpoint by providing response.type.
Create advanced chatbot replies with buttons, CTA links, and WhatsApp list menus.
Send Whats91-specific quick reply button and list messages through the chat endpoint.
Practical webhook receiver examples and use cases for CRM, delivery tracking, and template operations.