# Saysimple MCP

> Saysimple MCP Server connects your AI agent to manage all customer messaging channels—WhatsApp, SMS, and social media. Use it to list chats, assign tickets, track contacts, or send templated messages without leaving your client interface. It centralizes your entire omnichannel communication stack via the Saysimple v3 API.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** saysimple, omnichannel-messaging, whatsapp-api, sms-marketing, customer-service, chat-orchestration, message-templates, mcp

## Description

Listen up. This **Saysimple MCP Server** plugs your AI agent right into all of your customer messaging channels—WhatsApp, SMS, and social media. You're gonna manage every single chat interaction from one spot using plain old conversation; no complicated setup needed. It centralizes your entire communication stack through the Saysimple v3 API so you never gotta leave your client interface to do anything.

When you connect this server, you get control over core operations like pulling up chat logs, sending approved template messages, and reassigning conversations—all handled by your agent.

To start, you'll need to know what channels are active. You can use `list_channels` to pull a list of every messaging channel connected to your account, whether that’s WhatsApp or SMS. If you wanna see the general activity, `list_chats` gives you a rundown of all current and recent conversations across every active platform. But if you gotta dig into one specific thread, use `get_chat`. That pulls up all the history and detailed metadata for just that single customer chat.

Handling support tickets is simple. If an agent needs to take over, `assign_chat` moves that active conversation to a specific user or department in your team's workflow. It keeps things moving so no one gets left hanging on hold.

Talking about people: you don't wanna send the wrong message to the wrong person. You can keep track of everyone using the contact tools. `list_contacts` pulls up a massive list of every single contact record stored in your Saysimple account, letting you see who you've talked to before. If you know the client but need their specific file details, `get_contact` fetches all that information about one existing contact record. And if you're talking to someone brand new, use `create_contact` to add a whole new person or company record right into the Saysimple system.

Now for the messages themselves. You can’t just wing it; everything gotta be official. First, check out what kind of messaging tools you got with `list_templates`, which shows all your approved message templates ready to go. If you need the exact wording or parameters for a specific one, `get_template` pulls that info for you. Once you’re set on the text, `send_message` fires off an outbound reply using that approved template; remember, it requires passing data as a JSON string so the message is accurate.

It's also about keeping your system talking to itself right. You can check what webhooks are configured by running `list_webhooks`. This displays all system webhooks, letting you monitor where your data synchronization points are and making sure that your messaging platform is communicating correctly with other systems in place.

## Tools

### assign_chat
Moves an active chat conversation to a specific user or department for follow-up.

### create_contact
Adds a brand new person or company contact record into the Saysimple system.

### get_chat
Retrieves all details and history for one specific customer chat thread.

### get_contact
Fetches detailed information about a single, existing contact record.

### get_template
Pulls the specific wording and parameters for a predefined message template.

### list_channels
Lists every messaging channel connected to your account (e.g., WhatsApp, SMS) so you know where activity is happening.

### list_chats
Retrieves a list of all current and recent chat conversations across all active channels.

### list_contacts
Pulls a comprehensive list of every contact record stored in your Saysimple account.

### list_templates
Shows you all the approved message templates available for sending out notifications.

### list_webhooks
Displays a list of system webhooks, allowing you to monitor data synchronization points.

### send_message
Sends an outbound message using an approved template; it requires passing data as a JSON string.

## Prompt Examples

**Prompt:** 
```
List all active WhatsApp chats in Saysimple.
```

**Response:** 
```
I've retrieved your chats. You have 3 active WhatsApp conversations: 'Alice Miller', 'Support Ticket #55', and 'New Lead Request'. Which one would you like to inspect?
```

**Prompt:** 
```
Show me all active customer conversations across WhatsApp and SMS channels with response times.
```

**Response:** 
```
23 active conversations. WhatsApp (18): 12 awaiting agent reply (avg wait: 4.2 min), 6 in active dialogue. SMS (5): 3 awaiting reply, 2 active. By priority: Urgent (3): billing disputes, avg response time 1.8 min. Normal (15): product inquiries, avg 5.3 min. Low (5): general questions, avg 12 min. SLA compliance: 91% (target 95%). Top agent: Sarah with 8 active chats and 2.1 min avg response. 4 conversations auto-assigned via routing rules.
```

**Prompt:** 
```
Send a WhatsApp template message to all contacts who purchased in the last 7 days asking for feedback.
```

**Response:** 
```
WhatsApp template broadcast sent. Template: "Post-Purchase Feedback" (approved by Meta). Recipients: 156 contacts (purchased in last 7 days). Message: "Hi [Name], thank you for your recent purchase! We'd love to hear about your experience. Rate us 1-5 by replying to this message." Delivery: 154 delivered (98.7%). 2 failed (opted out). Read rate after 1 hour: 72% (111 contacts). 34 have already replied with ratings. Average rating so far: 4.3/5.
```

## Capabilities

### Manage chat status across platforms
List all active customer conversations and get detailed metadata for any specific chat, regardless of whether it's WhatsApp or SMS.

### Execute templated messaging campaigns
Send messages via approved templates to contacts using the AI client. This is required for starting new WhatsApp conversations.

### Route and assign support chats
Transfer an active chat conversation to a specific user or department within your team's workflow.

### Build customer profiles on the fly
Create new contact records or pull existing details for a client using their identifier.

### Verify communication flow health
List and monitor configured webhooks to ensure that your messaging platform is talking correctly to other systems.

## Use Cases

### A support agent needs context on an incoming chat.
The agent receives a ticket from 'Jane Doe' via SMS. Instead of asking Jane to repeat her account details, the agent runs `get_contact` and then `get_chat`. The AI immediately surfaces her full profile and the last five messages exchanged, letting the agent respond with zero friction.

### Marketing needs to send a post-sale follow-up.
The marketing team wants to hit 500 recent buyers with a feedback link. They prompt the agent: 'Send template X to all contacts from last month.' The agent uses `list_contacts` to identify the target list and then triggers the broadcast via `send_message`.

### The ops team needs to monitor system health after an update.
After changing API keys, the Ops Engineer runs `list_webhooks`. They verify that every necessary data sink is configured and firing correctly. This prevents a total communication breakdown before users even notice it.

### A chat needs to be handed off to Billing.
The initial support agent handles the first steps but realizes the issue is billing related. The agent uses `assign_chat`, routing the conversation directly to the 'Billing' department queue, ensuring a smooth handoff and accountability.

## Benefits

- See all active chats using `list_chats`. You instantly get a cross-channel view—WhatsApp, SMS, etc.—without opening multiple dashboards. This is crucial for support visibility.
- Send targeted messages via `send_message` and `get_template`. Instead of manually crafting every message, you use pre-approved templates that maintain brand compliance while getting out fast.
- Optimize team efficiency by calling `assign_chat`. You can route an incoming ticket to the right department immediately from your AI agent, speeding up response time significantly.
- Get full context on any client using `get_contact` and `get_chat`. Your agent pulls together contact history and profile data so you don't have to ask for it twice.
- Stay compliant by reviewing all message options with `list_templates`. You can confirm which templates are approved before triggering a large-scale broadcast.

## How It Works

The bottom line is that your AI agent acts as a dedicated customer engagement specialist, executing complex multi-step communication workflows without needing manual dashboard interaction.

1. Subscribe to the Saysimple MCP Server and get your API credentials.
2. Input your SaySimple API Key and Auth Token into your preferred AI client (Claude, Cursor, etc.).
3. Use natural language prompts—like 'List all active chats' or 'Send a feedback message to John Doe'—to execute tasks via the available tools.

## Frequently Asked Questions

**How do I check if a contact exists before sending them a message using Saysimple MCP Server?**
Use `get_contact` first. This pulls the specific profile data for one person. If that fails, you can fall back to running `list_contacts` to see if they show up in the general list.

**What's the difference between listing chats and getting a chat using Saysimple MCP Server?**
Running `list_chats` gives you a summary: 'There are 5 active conversations.' To see what was actually said, you must use `get_chat`, which pulls the full message history for one specific thread.

**Can I automatically assign chats when they come in using Saysimple MCP Server?**
Yes, once a chat is active and needs ownership change, you call `assign_chat`. This tool formally moves the conversation to a defined user or department queue.

**How do I know if my webhooks are working correctly with Saysimple MCP Server?**
Use the `list_webhooks` tool. It shows you exactly what is configured and allows you to monitor whether your data sync points are active and reporting status.

**How do I use the `send_message` tool when the message requires specific data parameters?**
You must pass all required variables as a single JSON string to the tool. This allows you to populate placeholders, like names or order IDs, within your approved WhatsApp template.

**What does `list_templates` show me so I know which messages I can send?**
It retrieves a full list of all message templates available in your Saysimple account. You check this list to confirm that the content you plan to use is approved by Meta and ready for broadcast.

**If I need to add a brand new customer, how do I use the `create_contact` tool?**
The `create_contact` tool requires identifying key data points like name, phone number, and email. Passing this information ensures that contact records are established in your system before any communication begins.

**What does the `list_channels` tool help me understand about my setup?**
This tool shows all messaging channels connected to your Saysimple account, including WhatsApp and SMS. It gives you a clear overview of every platform through which your AI agent can send or receive messages.

**Can my AI automatically find the last 5 customer chats across all channels?**
Yes! Use the `list_chats` tool. Your agent will respond with complete metadata for the most recent conversations, including the channel (WhatsApp/SMS) and participant details in seconds.

**How do I find my Saysimple API Key and Auth Token?**
Log in to your Saysimple dashboard, navigate to **Settings** > **API**, and you will find your unique X-API-Key and generate your Bearer Auth Token there.