Custom Channels
Karma One connects to 9 messaging platforms through its channel bridge system. Each channel acts as a bidirectional pipe between an external platform and your Karma One avatars. Users on the external platform send messages that Karma One processes through AI, and responses are delivered back through the same channel.
Supported Platforms
| Platform | Type | Protocol | |---|---|---| | WeChat Official Account | Social/Messaging | WeChat API (AES-256-CBC encrypted) | | Enterprise WeChat (WeCom) | Business Messaging | WeCom API | | Feishu (Lark) | Business Messaging | Feishu Open API | | DingTalk | Business Messaging | DingTalk Robot API | | Slack | Team Messaging | Slack Bot API | | Discord | Community Messaging | Discord Bot API | | Custom Telegram Bot | Messaging | Telegram Bot API | | WhatsApp | Messaging | WhatsApp Business API | | Email | Email | IMAP/SMTP or Mail.app |
Channel Architecture
Each channel consists of:
- Adapter --- handles platform-specific protocol, authentication, and message format.
- Message Processor --- normalizes inbound messages and routes them to the correct avatar.
- Response Dispatcher --- formats AI responses for the target platform and sends them back.
All channels share the same message processing pipeline, which means your avatars behave consistently regardless of which platform the message arrives from.
Configuration Steps
General Setup Flow
- Open Settings > Connections > Channels.
- Select the platform you want to connect.
- Enter the required credentials (API keys, tokens, webhook URLs).
- Configure message routing rules.
- Test the connection.
- Activate the channel.
WeChat Official Account
- Log in to the WeChat Official Platform.
- Navigate to Settings > Basic Configuration.
- Copy your AppID, AppSecret, and Token.
- In Karma One, enter these credentials in the WeChat channel configuration.
- Set the server URL to the webhook endpoint provided by Karma One.
- Enable AES encryption mode if required (Karma One supports AES-256-CBC decryption).
Enterprise WeChat (WeCom)
- Create an application in the WeCom admin console.
- Copy the Corp ID, Agent ID, and Secret.
- Configure the callback URL to point to Karma One's webhook.
- Enter the credentials in Karma One's WeCom channel settings.
Feishu / Lark
- Create a bot application in the Feishu Developer Console.
- Copy the App ID and App Secret.
- Set up event subscriptions pointing to Karma One's webhook.
- Enter the credentials in Karma One.
DingTalk
- Create a robot in the DingTalk Developer Platform.
- Copy the App Key and App Secret.
- Configure the message receiving address.
- Enter the credentials in Karma One.
Slack
- Create a Slack App at api.slack.com.
- Enable Bot Token Scopes (chat:write, app_mentions:read, etc.).
- Install the app to your workspace.
- Copy the Bot Token and Signing Secret.
- Set up Event Subscriptions pointing to Karma One's webhook.
- Enter the credentials in Karma One.
Discord
- Create a Discord Application at discord.com/developers.
- Add a Bot and copy the Bot Token.
- Invite the bot to your server with appropriate permissions.
- Enter the token in Karma One.
Custom Telegram Bot
For users who want a dedicated Telegram bot (separate from the managed @karmabox7bot):
- Create a bot through @BotFather on Telegram.
- Copy the bot token.
- Enter the token in Karma One's Telegram channel settings.
Note: If your custom bot token matches the managed Karma bot token, the custom channel will be automatically stopped to avoid conflicts.
- Set up a WhatsApp Business API account.
- Configure the webhook URL to point to Karma One.
- Enter the API credentials in Karma One.
Email Channel
- Choose between IMAP/SMTP configuration or Mail.app integration (macOS only).
- For IMAP/SMTP: enter server addresses, port, and credentials.
- For Mail.app: enable through Karma Box (no additional credentials needed).
- Configure which mailbox to monitor for inbound messages.
Message Routing Rules
Each channel can be configured with routing rules that determine how inbound messages are handled:
| Rule | Description | |---|---| | Default Avatar | All messages from this channel go to a specific avatar. | | Keyword Routing | Messages containing certain keywords are routed to a designated avatar. | | User Binding | Specific external users are mapped to specific avatars. | | Fallback | Messages that do not match any rule go to a default handler. |
Email Draft Approval
For the email channel, Karma One supports a draft approval workflow:
- An inbound email triggers the AI to compose a reply.
- The draft is saved and presented to you for review.
- You approve, edit, or reject the draft.
- Only approved drafts are sent as replies.
This prevents the AI from sending emails without human oversight.
Media Support
Channels support various media types depending on the platform:
- Text --- supported on all platforms.
- Images --- supported on WeChat, Telegram, Slack, Discord, WhatsApp, Email.
- Voice --- supported on Telegram and WeChat.
- Video --- supported on WeChat, Telegram, and WhatsApp.
- Files --- supported on Slack, Discord, Email, and Enterprise WeChat.
Best Practices
- Start with one channel and expand after you are comfortable with the routing configuration.
- Test with a private group or test account before exposing the channel to real users.
- Use the email draft approval flow to maintain human oversight on outbound email.
- Monitor channel status in Settings --- channels show real-time connection status and error messages.
- Set clear routing rules so messages reach the right avatar without ambiguity.