Skip to content
AI & Agents
Skill

/agent-channeltalkbot

Interact with Channel Talk workspaces using API credentials - send messages, read chats, manage groups and bots

From plugin
agent-messenger
17118 skills
Install
$ npx -y skills add agent-messenger/agent-messenger --skill agent-channeltalkbot --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/agent-channeltalkbot

Context preview

The summary Claude sees to decide when to auto-load this skill.

Interact with Channel Talk workspaces using API credentials - send messages, read chats, manage groups and bots

SKILL.md

agent-channeltalkbot.SKILL.md
name: agent-channeltalkbot
description: Interact with Channel Talk workspaces using API credentials - send messages, read chats, manage groups and bots
version: 2.36.0
allowed-tools: Bash(agent-channeltalkbot:*)
metadata:
  openclaw:
    requires:
      bins:
        - agent-channeltalkbot
    install:
      - kind: node
        package: agent-messenger
        bins: [agent-channeltalkbot]

Agent ChannelTalkBot

A TypeScript CLI tool that enables AI agents and humans to interact with Channel Talk workspaces using API credentials (Access Key + Access Secret). Designed for customer support automation, team inbox management, and CI/CD integrations.

Key Concepts

Before diving in, a few things about Channel Talk's terminology:

  • **Channel** = workspace (not a chat channel like Slack). The API calls it a "channel," but it means your entire workspace.
  • **UserChats** = 1:1 conversations with end users (customers).
  • **Groups** = team inbox channels (similar to Slack channels). Referenced by ID or `@name`.
  • **Managers** = human agents on your team.
  • **Bots** = automated agents that can send messages and close chats.
  • **Messages** use a `blocks` format: `[{ type: "text", value: "..." }]`. The CLI handles this automatically when you pass plain text.

Quick Start

# Set your API credentials
agent-channeltalkbot auth set your-access-key your-access-secret

# Verify authentication
agent-channeltalkbot auth status

# Get a workspace overview
agent-channeltalkbot snapshot --pretty

# Send a message to a UserChat
agent-channeltalkbot message send abc123-chat-id "Hello from the CLI!"

# Send a message to a Group
agent-channeltalkbot message send @support "Team update: deployment complete"

Authentication

API Credential Setup

agent-channeltalkbot uses Access Key + Access Secret pairs from Channel Talk's developer settings:

# Set credentials (validates against Channel Talk API before saving)
agent-channeltalkbot auth set your-access-key your-access-secret

# Check auth status
agent-channeltalkbot auth status

# Clear stored credentials
agent-channeltalkbot auth clear

For credential setup, multi-workspace management, and security details, see [references/authentication.md](references/authentication.md).

Memory

The agent maintains a `~/.config/agent-messenger/MEMORY.md` file as persistent memory across sessions. This is agent-managed, the CLI does not read or write this file. Use the `Read` and `Write` tools to manage your memory file.

Reading Memory

At the **start of every task**, read `~/.config/agent-messenger/MEMORY.md` using the `Read` tool to load any previously discovered workspace IDs, group IDs, chat IDs, manager IDs, bot names, and preferences.

  • If the file doesn't exist yet, that's fine. Proceed without it and create it when you first have useful information to store.
  • If the file can't be read (permissions, missing directory), proceed without memory. Don't error out.

Writing Memory

After discovering useful information, update `~/.config/agent-messenger/MEMORY.md` using the `Write` tool. Write triggers include:

  • After discovering workspace IDs and names (from `auth list`, `snapshot`, etc.)
  • After discovering group IDs and names (from `group list`, `snapshot`, etc.)
  • After discovering chat IDs (from `chat list`, etc.)
  • After discovering manager IDs and names (from `manager list`, etc.)
  • After discovering bot names (from `bot list`, etc.)
  • After the user gives you an alias or preference ("call this the support workspace", "my main group is X")
  • After setting a default bot name (from `auth bot`)

When writing, include the **complete file content**. The `Write` tool overwrites the entire file.

What to Store

  • Workspace IDs with names
  • Group IDs with names (and `@name` aliases)
  • UserChat IDs with context
  • Manager IDs with names
  • Bot names and their purposes
  • Default bot name per workspace
  • User-given aliases ("support workspace", "billing group")
  • Any user preference expressed during interaction

What NOT to Store

Never store access keys, access secrets, or any credentials. Never store full message content (just IDs and context). Never store personal user data.

Handling Stale Data

If a memorized ID returns an error (chat not found, group not found), remove it from `MEMORY.md`. Don't blindly trust memorized data. Verify when something seems off. Prefer re-listing over using a memorized ID that might be stale.

Format / Example

# Agent Messenger Memory

## Channel Talk Workspaces

- `abc123` - Acme Support

## Default Bot (Acme Support)

- Support Bot

## Groups (Acme Support)

- `grp_111` - @support (Support Inbox)
- `grp_222` - @billing (Billing Inbox)
- `grp_333` - @engineering (Engineering)

## Recent UserChats (Acme Support)

- `uc_aaa` - John Doe inquiry (opened)
- `uc_bbb` - Refund request (closed)

## Managers (Acme Support)

- `mgr_001` - Alice (Team Lead)
- `mgr_002` - Bob (Support Agent)

## Bots (Acme Support)

- Support Bot (default, used for auto-replies)
- Notification Bot (used for alerts)

## Aliases

- "support" -> `grp_111` (@support in Acme Support)

## Notes

- Support Bot is used for closing chats and auto-replies
- Notification Bot is used for CI/CD alerts to @engineering

> Memory lets you skip repeated `group list` and `chat list` calls. When you already know an ID from a previous session, use it directly.

Commands

Auth Commands

# Set workspace credentials (validates against API)
agent-channeltalkbot auth set <access-key> <access-secret>

# Check auth status
agent-channeltalkbot auth status

# Clear all credentials
agent-channeltalkbot auth clear

# List stored workspaces
agent-channeltalkbot auth list

# Switch active workspace
agent-channeltalkbot auth use <workspace-id>

# Remove a stored workspace
agent-channeltalkbot auth remove <workspace-id>

# Set default bot name for sending messages
agent-channeltalkbot auth bot <name>
Read more
Ships withagent-messenger

Your agent messages as you — not as a bot One CLI for Slack, Discord, Teams, Webex, Telegram, WhatsApp, LINE, WeChat, iMessage, Instagram, KakaoTalk, and Channel Talk.

Get the whole plugin
Stats
180
Stars
29
Forks
Active
Maintenance
TypeScript
Language
4d ago
Last commit
6mo ago
Created

Repo: agent-messenger/agent-messenger