Amernet AI SaaS
Connect your AI SaaS intelligent agent to any messaging channel via OpenClaw (WhatsApp, Telegram, Slack, Discord, iMessage, and more)
Like a lobster shell, security has layers — review code before you run it.
License
SKILL.md
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.
Files
3 totalComments
Loading comments…
