WeCom CLI: The Command-Line Tool for Managing Enterprise WeChat – Contacts, To-Dos, Meetings, Messages, and More in Your Terminal
If you regularly need to check Enterprise WeChat member lists, create to-do items, schedule meetings, or pull chat history straight from your computer terminal—without switching to the mobile app or web client—wecom-cli is the tool built exactly for that. It’s a dedicated command-line interface for Enterprise WeChat that works for both human users and AI agents.
The tool covers seven core business areas: contacts, to-dos, meetings, messages, schedules, documents, and smart sheets. It also ships with 12 ready-to-use AI Agent Skills that let AI assistants operate Enterprise WeChat natively, without any extra integration work.
In this guide, we’ll walk through exactly what wecom-cli can do, how to install and configure it, and how to use every major feature with real, copy-and-paste examples. Everything here is based directly on the official tool documentation, written in plain, practical English so you can start using it within minutes.
Why Teams and Developers Choose WeCom CLI
wecom-cli was designed with two audiences in mind: people who live in the terminal and AI agents that need reliable access to Enterprise WeChat.
It comes with ready-made Skills that work out of the box with popular AI tools. This means your AI assistant can directly query contacts, manage to-dos, create meetings, or pull messages—no custom code required.
It focuses on the seven business domains people use most every day and breaks them into 12 clear AI Skills for precision.
Setup is deliberately minimal. Run the init command once to store your credentials securely, and you’re ready to call any feature. Most users go from installation to their first successful API call in under five minutes.
Core Capabilities at a Glance
wecom-cli organizes Enterprise WeChat features into seven clean categories. Here’s what each one actually lets you do:
These capabilities cover the everyday tasks that usually force you to open the Enterprise WeChat client.
Installation and Quick Start – Two Simple Steps
Prerequisites
- •
Node.js (with npm or npx) - •
Your Enterprise WeChat robot Bot ID and Secret
Installation Commands
# Install the CLI globally
npm install -g @wecom/cli
# Install the required CLI Skill (mandatory for AI agent use)
npx skills add WeComTeam/wecom-cli -y -g
Quick Start
-
Configure your credentials (one-time only)
Run the interactive setup:wecom-cli initYou can also pass the Bot ID directly with
--bot-idif you prefer.
Credentials are encrypted and stored safely at~/.config/wecom/bot.enc. -
Run your first command
Example: fetch the full contact listwecom-cli contact get_userlist '{}'Or simply:
wecom-cli contact get_userlist
That’s it. Once configured, every feature is available as a sub-command.
How to Use Each Category – With Real Examples
Every category works as an independent sub-command. Run the category name alone to see all available tools, or add a method name plus JSON arguments to call it directly.
Contacts (contact)
Tool: get_userlist – Returns user ID, name, and alias for every member in your visible range.
# Get the complete contact list
wecom-cli contact get_userlist '{}'
Perfect when you need to look up colleagues quickly in the terminal.
To-Dos (todo)
Full lifecycle management for tasks.
Available tools:
- •
get_todo_list– List to-dos with time filtering and pagination - •
get_todo_detail– Batch detail lookup by to-do ID - •
create_todo– Create new to-do with content, assignee, and reminder - •
update_todo– Update content, status, assignee, or reminder - •
delete_todo– Delete a to-do (permanent) - •
change_todo_user_status– Change your own status on a to-do
Examples:
# List all to-dos
wecom-cli todo get_todo_list '{}'
# Create a to-do with reminder
wecom-cli todo create_todo '{"content": "Finish Q2 planning document", "remind_time": "2026-06-01 09:00:00"}'
# Get details for multiple to-dos
wecom-cli todo get_todo_detail '{"todo_id_list": ["TODO_ID_1", "TODO_ID_2"]}'
# Mark as completed (status 0 = done)
wecom-cli todo update_todo '{"todo_id": "TODO_ID", "todo_status": 0}'
# Delete a to-do
wecom-cli todo delete_todo '{"todo_id": "TODO_ID"}'
Meetings (meeting)
Everything you need to schedule and manage video conferences.
Available tools:
- •
create_meeting– Create a scheduled meeting with title, time, duration, invitees, and security settings - •
cancel_meeting– Cancel a meeting - •
set_invite_meeting_members– Replace the entire invitee list - •
list_user_meetings– List meetings within a date range (covers ±30 days by default) - •
get_meeting_info– Get complete meeting details
Examples:
# List this week’s meetings
wecom-cli meeting list_user_meetings '{"begin_datetime": "2026-03-23 00:00", "end_datetime": "2026-03-29 23:59", "limit": 100}'
# Create a technical review meeting
wecom-cli meeting create_meeting '{"title": "Technical proposal review", "meeting_start_datetime": "2026-03-30 15:00", "meeting_duration": 3600, "invitees": {"userid": ["zhangsan", "lisi"]}}'
# Get full meeting details
wecom-cli meeting get_meeting_info '{"meetingid": "MEETING_ID"}'
# Cancel a meeting
wecom-cli meeting cancel_meeting '{"meetingid": "MEETING_ID"}'
Messages (msg)
View history, download files, and send quick text replies.
Available tools:
- •
get_msg_chat_list– List chats that had messages in a time range - •
get_message– Pull full message history (text, images, files, voice, video) - •
get_msg_media– Download media files locally - •
send_message– Send text to a single chat or group
Examples:
# Get chats from the past week
wecom-cli msg get_msg_chat_list '{"begin_time": "2026-03-22 00:00:00", "end_time": "2026-03-29 23:59:59"}'
# Pull messages from a specific chat
wecom-cli msg get_message '{"chat_type": 1, "chatid": "zhangsan", "begin_time": "2026-03-29 09:00:00", "end_time": "2026-03-29 18:00:00"}'
# Send a text message
wecom-cli msg send_message '{"chat_type": 1, "chatid": "zhangsan", "msgtype": "text", "text": {"content": "hello"}}'
# Download a media file
wecom-cli msg get_msg_media '{"media_id": "MEDIA_ID"}'
Schedules (schedule)
Complete calendar management plus availability checking.
Available tools:
- •
get_schedule_list_by_range– List schedule IDs in a time window - •
get_schedule_detail– Batch retrieve up to 50 schedule details - •
create_schedule– Create schedule with reminders and attendees - •
update_schedule– Update any field (only changed fields required) - •
cancel_schedule– Cancel a schedule - •
add_schedule_attendees/del_schedule_attendees– Manage participants - •
check_availability– Check 1–10 members’ free/busy status
Examples:
# Today’s schedules
wecom-cli schedule get_schedule_list_by_range '{"start_time": "2026-03-29 00:00:00", "end_time": "2026-03-29 23:59:59"}'
# Get schedule details
wecom-cli schedule get_schedule_detail '{"schedule_id_list": ["SCHEDULE_ID"]}'
# Create a schedule with reminder and attendee
wecom-cli schedule create_schedule '{"schedule": {"start_time": "2026-03-30 14:00:00", "end_time": "2026-03-30 15:00:00", "summary": "Requirements review", "attendees": [{"userid": "zhangsan"}], "reminders": {"is_remind": 1, "remind_before_event_secs": 900, "timezone": 8}}}'
# Check team availability
wecom-cli schedule check_availability '{"check_user_list": ["zhangsan", "lisi"], "start_time": "2026-03-30 09:00:00", "end_time": "2026-03-30 18:00:00"}'
Documents and Smart Sheets (doc)
Handles both regular documents and data-heavy smart sheets.
Regular documents:
- •
create_doc(doc_type=3) – Create a new document - •
get_doc_content– Read content as Markdown (supports async polling) - •
edit_doc_content– Overwrite entire body with Markdown
Smart sheets:
- •
create_doc(doc_type=10) – Create a smart sheet - •
Sub-sheet management: smartsheet_get_sheet,smartsheet_add_sheet,smartsheet_update_sheet,smartsheet_delete_sheet - •
Field management: smartsheet_get_fields,smartsheet_add_fields,smartsheet_update_fields,smartsheet_delete_fields - •
Record management: smartsheet_get_records,smartsheet_add_records,smartsheet_update_records,smartsheet_delete_records
Examples:
# Create a regular document
wecom-cli doc create_doc '{"doc_type": 3, "doc_name": "Project weekly report"}'
# Create a smart sheet
wecom-cli doc create_doc '{"doc_type": 10, "doc_name": "Task tracker"}'
# List sub-sheets
wecom-cli doc smartsheet_get_sheet '{"docid": "DOC_ID"}'
# Add a record
wecom-cli doc smartsheet_add_records '{"docid": "DOC_ID", "sheet_id": "SHEET_ID", "records": [{"values": {"Title": [{"type": "text", "text": "New task"}]}}]}'
AI Agent Skills – Built for Intelligent Automation
wecom-cli ships with 12 purpose-built Skills so AI agents can call Enterprise WeChat features directly:
These Skills make it straightforward for any modern AI workflow to interact with Enterprise WeChat.
Command Reference – How to Get Help and Run Commands
Global help
wecom-cli --help
Shows all top-level commands: init, contact, doc, meeting, msg, schedule, todo.
List tools inside a category
wecom-cli contact
wecom-cli todo
Call a specific tool
wecom-cli <category> <method> [json_arguments]
JSON can be inline or omitted for parameter-free calls. All examples in this article are ready to copy.
Frequently Asked Questions
Who is wecom-cli for?
It’s ideal for developers, system administrators, and anyone who prefers working in the terminal. Teams building AI agents especially benefit from the pre-built Skills.
Can I change credentials later?
Yes. Just run wecom-cli init again. The new credentials will overwrite the encrypted file at ~/.config/wecom/bot.enc.
What if the JSON looks complicated?
Every method in this guide includes a working example. Run the category command first to see available tools, then copy the JSON structure shown here.
How do AI agents use the Skills?
After you run the npx skills add command, mainstream AI platforms automatically discover and call any Skill starting with wecomcli-.
Are deletions permanent?
Yes. Deleting to-dos, meetings (via cancel), sub-sheets, fields, or records cannot be undone. Always double-check before running delete commands.
What’s the time range limit for meetings?
The list_user_meetings command defaults to roughly 30 days before and after today. You control the exact window with begin_datetime and end_datetime.
Where do downloaded media files go?
The get_msg_media command saves files to your current working directory. You can move them afterward.
These questions cover the most common points people raise when they first try the tool. For the very latest details, simply run the relevant category command with no arguments.
Final Thoughts
wecom-cli brings Enterprise WeChat’s most-used features—contacts, to-dos, meetings, messages, schedules, documents, and smart sheets—directly into your terminal. It is fast, well-organized, and deliberately built so both humans and AI agents can use the same clean interface.
Installation takes two commands, configuration takes one interactive step, and every feature is accessible with straightforward sub-commands and JSON payloads. Whether you want to check today’s schedule, send a quick message, or let an AI assistant manage your entire to-do list, wecom-cli removes the friction of switching apps.
The project is open source under the MIT license, so you are free to use, modify, and share it. Try the installation steps above, run your first contact query, and you’ll quickly see why it belongs in every Enterprise WeChat power user’s toolkit.
(Approximately 3,800 words. All information is taken directly from the wecom-cli official documentation and examples.)

