Connection guide

Connect WhatsApp to Kimi Code CLI

Use your WhatsApp chats in Kimi Code CLI sessions.

MCP server URL
https://synczap.ai/mcp
Authentication
Organization API key + X-SyncZap-Workspace header
Where it works
Terminal (Kimi Code CLI)
Permissions
Read and Send messages, ticked on the key

What you can do

With SyncZap connected, Kimi Code CLI reads, searches and summarizes the WhatsApp chats your organization syncs, transcribes voice notes, reads images and PDFs and, when you ask, replies.

Kimi Code CLIExample

Which conversations went unanswered today?

SyncZap · list_unanswered_conversations

Three personal chats end with a received message:

  • 09:12Ana Souza asked for a quote for 40 units
  • 11:47Carlos Lima wants to know the delivery date
  • 14:05Bia Martins sent a voice note about the payment

Should I transcribe Bia's voice note or reply to Carlos?

Illustration. Names, times and messages are fictitious; real answers depend on your chats and the assistant.

See it in action

Patrick Alex, CEO of SyncZap, shows how to connect WhatsApp, choose which chats to save, and use ChatGPT and Claude to read, summarize and reply with confirmation.

Watch in Portuguese

Step by step

Kimi Code CLI connects with an organization API key and the X-SyncZap-Workspace header. The examples use placeholders only: never commit your key to a repository.

  1. 1

    Create your SyncZap account

    Click Start free trial and create your account with e-mail and password or with one of the providers shown on the sign-in screen. The organization is created right away, with a 7-day trial and every feature unlocked.

  2. 2

    Connect WhatsApp with the QR code

    In the dashboard, open Connections and click Connect WhatsApp. On your phone, open WhatsApp → Linked devices → Link a device and scan the code. SyncZap joins as a linked device, like WhatsApp Web, with no change of number.

  3. 3

    Choose which conversations are saved

    In Conversations, turn on sync for the conversations the assistant may read. An owner or admin can also turn on Sync all conversations. The assistant never reads conversations without active sync.

  4. 4

    Create an API key

    In the panel, open API access and click Generate key (owner or administrator). Give it a name, such as the client's, and tick Read; also tick Send messages if the assistant will send. Copy the key: it is shown only once and SyncZap keeps only its hash.

  5. 5

    Copy the organization ID

    The key only works with your organization's ID in the X-SyncZap-Workspace header. It appears under API access, in the example request (the part after /api/agent/), and in the panel's address, after workspace=.

  6. 6

    Keep the key in an environment variable

    Set the SYNCZAP_API_KEY variable to the key in your shell profile (for example, export SYNCZAP_API_KEY=... in ~/.zshrc) and open the client again from that shell. This keeps the key out of the config file.

  7. 7

    Add SyncZap to Kimi Code CLI

    Add SyncZap to ~/.kimi-code/mcp.json (or .kimi-code/mcp.json in the project) with url https://synczap.ai/mcp, the X-SyncZap-Workspace header and bearerTokenEnvVar set to the variable name. Replace YOUR_WORKSPACE_ID with the organization ID and YOUR_API_KEY with the key, where it appears.

    ~/.kimi-code/mcp.json
    {
      "mcpServers": {
        "synczap": {
          "url": "https://synczap.ai/mcp",
          "headers": {
            "X-SyncZap-Workspace": "YOUR_WORKSPACE_ID"
          },
          "bearerTokenEnvVar": "SYNCZAP_API_KEY"
        }
      }
    }
  8. 8

    Open a new session and test

    Changes to mcp.json only apply to new sessions. Open one and ask: List the WhatsApp chats waiting for a reply.

Plan requirements

Kimi Code CLI

  • This guide is for Kimi Code CLI. The Kimi chat app does not document custom connectors.
  • Project servers require you to trust the workspace.

SyncZap

  • The 7-day free trial unlocks every feature.
  • Sending through the assistant: Plus, Pro, Max and Business.
  • Voice note transcription and AI reading of images and PDFs: Pro, Max and Business, with a daily cap (for example, 120 minutes of audio and 300 images per day on Pro).

See pricing

Ask about your chats

  • Which conversations went unanswered today?
  • Summarize today's conversations with customers.
  • Search this week's messages about quotes and list who asked.
  • Transcribe Maria's latest voice note and tell me what she asked for.
  • What was agreed in the team group since Monday?
  • Find the proposal PDF Carlos sent and summarize the amounts.
  • Reply to João confirming delivery tomorrow at 10 a.m.
  • List this week's customer requests and create a checklist in REQUESTS.md.

Names, messages and captions are third-party content: SyncZap hands them to the assistant as data, never as instructions.

WhatsApp groups

  • Groups stay off until you choose them. With saving set to Only chosen people, the default, no group is saved until you turn on its sync under Conversations.
  • Under Settings → What gets saved, the Groups option saves every group chat; when off, no group is saved and anything saved is hidden. With All, except some people, groups are included unless that option is off.
  • Saving groups is part of the Plus, Pro, Max and Business plans and the trial. The automatic transcript reply does not apply to groups unless Include groups is on.

Tools the assistant gets

The same list the MCP server publishes to every client. Send tools only work with the send permission. See full descriptions

Choose what the assistant sees

  • Chat by chat: under Conversations, open a chat and turn on Sync. Only synced chats are saved, shown and read by assistants.
  • Sync everything: under Connections, an owner or administrator can turn on Sync all conversations, which saves new and existing chats in real time. The change is recorded in the audit log.
  • Never save list: under Settings → What gets saved, the All, except some people rule saves everything but the people on the list; the Only chosen people rule saves just the Save only these list.
  • Never saved: WhatsApp system feeds (broadcasts, channels and the system contact). WhatsApp credentials stay on the sync server and never reach the assistant.
  • Turning off a chat's sync stops saving it, and what was saved is no longer shown or read by assistants. Under Settings, What the AI can see shows counts of what is accessible.

How SyncZap isolates data

Voice notes, files and media

  • Photos, voice notes, videos and documents stay on the phone. When someone opens an attachment or asks for an AI reading, SyncZap downloads a temporary copy, deleted from the server 24 hours after the download.
  • The assistant transcribes voice notes and reads images, screenshots and PDFs with read_attachment on the Pro, Max and Business plans and the trial, within the daily cap. Transcripts and readings are kept as text and show up in search.
  • On the Max and Business plans and the trial, every received voice note is transcribed as it arrives. An owner or administrator chooses whether the transcript stays in SyncZap, goes to your “Message yourself” chat or is replied in the chat itself, where the contact also sees it.
  • Voice notes and images sent for transcription or reading go to the Google Gemini or OpenAI API, contracted without using the data to train models.

How sending works

Text: direct send

When you ask, the assistant sends the text message with send_message, without a confirmation step, and then tells you who it went to and what was sent. Each organization has a cap of 60 text sends per hour through assistants.

Files, location and contacts: prepare, then confirm

The assistant prepares the send (prepare_media, prepare_location or prepare_contact), shows you the recipient and the content, and sends only after your confirmation, with a code valid only for that recipient and that content. Pinning, editing or deleting a message for everyone follows the same flow.

  • Sending and acting require the owner or administrator role, the send permission (ticked in the authorization or on the API key) and a plan with sending through agents.
  • Each send has an idempotency key: repeating the same key does not send the message twice, and an unknown result never triggers a new automatic send.
  • Sends go through the number's queue, one at a time. Queued is not sent yet, and accepted means WhatsApp accepted the message, not that it was delivered or read.
  • Marking as read and reacting with an emoji need no confirmation, but only work on synced conversations. The contact may see the read receipt and the reaction.
  • Automatic transcript delivery is optional and turned on by an owner or admin: SyncZap sends the text of each received voice note to your Message yourself chat or as a reply in the same conversation, where the contact sees it too. Groups are left out unless Include groups is on, and each voice note produces at most one send.

Troubleshooting

SyncZap shows as failed
If the credential is refused, Kimi Code does not retry. Fix the key or the organization ID and open a new session.
The client gets a 401 or opens a sign-in screen
Both headers must arrive together: Authorization: Bearer with the key and X-SyncZap-Workspace with the ID of the same organization. A revoked key, a key from another organization or a suspended organization also gets a 401. SyncZap's OAuth sign-in only accepts ChatGPT, Claude and Claude Code, so this client needs the key.
The assistant says there are no conversations or messages
Check in Connections that WhatsApp is connected and, in Conversations, that the conversations you want have sync turned on. The assistant only sees synced conversations, and older messages depend on the history the phone sends and on your plan's limit.
Sending is refused or the sending tools do not show up
Sending requires a key with Send messages and a plan with sending through agents (Plus, Pro, Max and Business and the trial). If the key is read-only, generate another under API access with Send messages ticked and swap it in the file.
The 60 sends per hour limit showed up
Direct text sends through assistants are capped at 60 per hour per organization, across every assistant and key. Wait for the window to pass; nothing is sent meanwhile.
I connected the wrong organization
The key and the ID belong to one organization. For another one, generate a key there and use its ID.
The assistant does not transcribe voice notes or read images
Voice note transcription and AI reading of images and PDFs are part of the Pro, Max and Business plans and the trial, with a daily cap. The file must be in a synced chat and still available on the phone.
The phone was unlinked
In Connections, click Connect WhatsApp and scan the new QR code. Messages already saved stay in SyncZap.
How do I revoke access?
Under API access, revoke the key. The client loses access on its next call.

Frequently asked questions

Does Kimi Code CLI see all my chats?
No. Kimi Code CLI only reads the chats with sync turned on in the organization you connected. Unselected chats, people on the Never save list and WhatsApp system feeds stay out.
Can the assistant send messages on its own?
Only when you ask and only with the send permission, on a plan with sending through agents (Plus, Pro, Max and Business and the trial). Text goes out directly, without a confirmation step, up to 60 per hour per organization. Files, location and contacts are prepared and only go out after your confirmation.
Why does this client use an API key instead of a sign-in?
SyncZap's OAuth sign-in currently accepts ChatGPT, Claude and Claude Code. For other clients, the organization's API key with the X-SyncZap-Workspace header gives the same access, with the permissions ticked on the key. SyncZap keeps only the key's hash.
I have more than one WhatsApp number. Does it work?
Yes, on plans with more than one number. Lists and searches combine every number and show which number each item came from; to read a chat or send, the assistant names the number.
Is SyncZap a WhatsApp product?
No. SyncZap is independent and has no ties to WhatsApp, Meta or Moonshot AI. It connects your number as a linked device, the same feature WhatsApp Web uses, without the WhatsApp Business API.
How much does it cost?
You can try everything for 7 days for free. Then pick a plan on the pricing page; the AI client's own plan is separate.

Still have questions?

Write to support@synczap.ai with the client's name (Kimi Code CLI) and what shows on screen, or open a ticket under Support in the panel. Never send your API key.

SyncZap is independent: it is not affiliated with, endorsed or sponsored by WhatsApp, Meta or Moonshot AI, and it connects your number as a linked device. Kimi Code CLI and WhatsApp are trademarks of their owners.

Ask your assistant what happened on WhatsApp today.

Connect in a few minutes and use every feature for 7 days, no commitment.