Skip to content
Conduit

mcp server

whatsetter-plugin

Official WhatSetter plugin for Grok Bot, Cursor, Grok CLI and Claude Code: work your WhatsApp leads, inbox, bookings and campaigns over MCP.

whatsetter/whatsetter-plugincommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

This project does not publish an install method we can turn into a config. Follow the README instead.

README

synced Oct 21, 2026

WhatSetter plugin

Connect your agent to your WhatSetter workspace. WhatSetter is an AI appointment setter on WhatsApp: it contacts your leads, qualifies them in conversation and books meetings on your calendar. With this plugin, your agent works the account in plain language: morning briefing, inbox triage, lead import, bookings report, campaign control, CRM sync.

Works with Grok Bot, Cursor, the Grok CLI and Claude Code.

Install

Grok Bot and Cursor

Open the Plugins tab (Grok Bot → Plugins, or Cursor Settings → Plugins), search WhatSetter and click Add. In Cursor chat you can also run /add-plugin whatsetter.

Grok CLI

grok plugin marketplace add whatsetter/whatsetter-plugin
grok plugin install whatsetter --trust

Claude Code

/plugin marketplace add whatsetter/whatsetter-plugin
/plugin install whatsetter@whatsetter

Any other MCP client

Point it at https://mcp.whatsetter.com/mcp (Streamable HTTP). OAuth is discovered automatically. For server-to-server use, send the header Authorization: Bearer ws_live_… instead.

Connect your account

  1. In WhatSetter, open Settings → API and create a key. Give it only the scopes you need (see below).
  2. The first time your agent calls a WhatSetter tool, your client opens the Connect to WhatSetter page. Paste the key and approve.
  3. That's it. The key is checked live, stored encrypted on the WhatSetter server, and your client only holds a revocable token. Revoking the key in the dashboard cuts access immediately.

There is no API key to put in the plugin configuration, and nothing is stored in this repository.

ScopeLets the agent
leads:read / leads:writeRead leads / update their status and tags
conversations:readRead the inbox and message history
lists:read / lists:writeList and create contact lists, import contacts
campaigns:read / campaigns:writeList campaigns / pause and resume them
messages:sendSend WhatsApp messages (anti-ban enforced)
bookings:readRead booked meetings
groups:readRead managed WhatsApp groups: members, messages, joins and leaves
webhooks:manageCreate, delete and test webhooks

A good first key for a daily briefing: leads:read, conversations:read, campaigns:read, bookings:read. Add messages:send only if you want the agent to reply on your behalf, with your approval on every message.

What the agent can do

DomainTools
Identitywhoami
Leadslist_leads, get_lead, update_lead
Conversationslist_conversations, get_conversation_messages
Messagingsend_whatsapp_message
Listslist_lists, create_list, import_leads
Campaignslist_campaigns, pause_campaign, resume_campaign
Bookingslist_bookings
Groupslist_groups, get_group, list_group_members, list_group_messages, list_group_events
Webhookslist_webhooks, create_webhook, delete_webhook, test_webhook

The bundled whatsetter skill teaches the agent how to use them together and when to stop and ask.

Commands

In the Grok CLI and Claude Code these are slash commands (/whatsetter:briefing). In Grok Bot and Cursor, just ask for the same thing in plain language.

CommandWhat it does
/whatsetter:briefingRead-only briefing: new replies, leads waiting on us, meetings booked, campaign and number health
/whatsetter:inboxTriage the inbox and draft replies, sent only with your approval
/whatsetter:importImport contacts into a list after a preview
/whatsetter:bookingsMeetings booked by the setter, per campaign
/whatsetter:campaignShow, pause or resume a campaign by name

Safety

  • Nothing sends without your yes. send_whatsapp_message is the only tool that reaches a real person. The skill makes the agent show you the exact recipient and text and wait for your confirmation. Every tool carries readOnlyHint / destructiveHint annotations, so clients can auto-approve reads and always prompt on writes.
  • Anti-ban is enforced by the WhatSetter API, not by a prompt. A new number can't be messaged cold: first contact always goes through a list and a campaign. Each WhatsApp number has a shared daily message budget. Every send replays a human rhythm (read receipt, typing, paced send) and carries an idempotency key, so a retry can never double-send.
  • The AI setter keeps working. A message sent through the plugin does not pause the setter: it keeps answering the lead afterwards and sees your message in the history.

Example prompts

  • "What happened in my WhatsApp inbox since yesterday? Draft replies for the leads waiting on us, don't send anything."
  • "Import this CSV into a new list called September webinar."
  • "How many meetings did the setter book this week, per campaign?"
  • "Pause my Dubai campaign."
  • "Every time a lead is qualified, send it to https://hooks.example.com/crm."
  • "Who joined and who left my webinar group this week?"

Network endpoints and credentials

This plugin ships no code, hooks or scripts: only markdown and one MCP server URL.

EndpointPurpose
https://mcp.whatsetter.com/mcpHosted WhatSetter MCP server (Streamable HTTP)
https://mcp.whatsetter.com/authorize, /token, /registerOAuth 2.1 with PKCE and dynamic client registration

Credential: a WhatSetter API key (ws_live_…), entered on the WhatSetter consent page, never in this repository or in your client configuration.

Requirements

A WhatSetter workspace at app.whatsetter.com. Sending messages and running campaigns need at least one connected WhatsApp number.

Links

License

MIT

↑↓ navigate openesc close