AI SaaS Chatbot
This skill forwards user messages to an AI SaaS chatbot and returns its response. It maintains conversation context per user by using their channel and user identifier as a session key.
Required Configuration
These environment variables must be set in your ~/.openclaw/openclaw.json under skills.entries.amernet-ai-saas.env:
| Variable | Description |
|---|---|
AI_SAAS_API_KEY | Your API key from the portal (Settings → API Keys). Needs all permission. |
AI_SAAS_CHATBOT_ID | The chatbot ID to route all messages to (copy from the Chatbots page). |
AI_SAAS_BASE_URL | Base URL of your AI SaaS instance. Default: https://saas.salesbay.ai |
Message Routing
When the user sends ANY message through any connected channel:
-
Identify the current channel name (e.g.
whatsapp,telegram,slack,discord) and the user's identifier on that channel (phone number, user ID, or username). -
Construct a
sender_idcombining both:<channel>:<user_identifier>- WhatsApp example:
whatsapp:+15551234567 - Telegram example:
telegram:123456789 - Slack example:
slack:U012AB3CD - Discord example:
discord:123456789012345678
- WhatsApp example:
-
Send a POST request to the chatbot API:
POST ${AI_SAAS_BASE_URL}/api/v1/chatbots/${AI_SAAS_CHATBOT_ID}/chat
Authorization: Bearer ${AI_SAAS_API_KEY}
Content-Type: application/json
{
"sender_id": "<constructed sender_id>",
"message": "<user message text>"
}
-
Parse
data.responsesfrom the JSON response. Return each item'stextfield as a separate message to the user. If multiple responses exist, send them in order. -
If the API returns an error or is unreachable, reply: "Sorry, the AI assistant is temporarily unavailable. Please try again in a moment."
Conversation Reset
If the user explicitly says "reset", "start over", "clear chat", or "/reset":
DELETE ${AI_SAAS_BASE_URL}/api/v1/chatbots/${AI_SAAS_CHATBOT_ID}/conversations/<sender_id>
Authorization: Bearer ${AI_SAAS_API_KEY}
Then confirm: "Conversation cleared. How can I help you?"
Status Check
If the user says "/status" or "/ping":
GET ${AI_SAAS_BASE_URL}/api/v1/chatbots/${AI_SAAS_CHATBOT_ID}
Authorization: Bearer ${AI_SAAS_API_KEY}
Report the chatbot name and whether it is active.