🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Amernet AI SaaS

by @amernet

Connect your AI SaaS intelligent agent to any messaging channel via OpenClaw (WhatsApp, Telegram, Slack, Discord, iMessage, and more)

Versionv1.0.0
Downloads1,222
TERMINAL
clawhub install amernet-ai-saas

πŸ“– About This Skill


name: amernet-ai-saas description: Connect your AI SaaS intelligent agent to any messaging channel via OpenClaw (WhatsApp, Telegram, Slack, Discord, iMessage, and more) homepage: https://saas.salesbay.ai user-invocable: false

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:

1. 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).

2. Construct a sender_id combining both: : - WhatsApp example: whatsapp:+15551234567 - Telegram example: telegram:123456789 - Slack example: slack:U012AB3CD - Discord example: discord:123456789012345678

3. 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": "", "message": "" }

4. Parse data.responses from the JSON response. Return each item's text field as a separate message to the user. If multiple responses exist, send them in order.

5. 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/
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.