# SetSmart MCP

> SetSmart lets your AI client manage all multi-channel customer communication—WhatsApp, SMS, and contact records—from one chat window. Use tools like `list_contacts` or `add_tag_to_contact` to find leads, then send messages directly without switching apps. It handles full lead orchestration and messaging logs.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** whatsapp-api, sms-marketing, customer-engagement, contact-management, automated-messaging, multi-channel

## Description

This server lets your AI client handle all of your customer comms—WhatsApp, SMS, and the contact records themselves—from a single chat window. You won't need to jump between apps or systems anymore.

**Managing Contact Records:**
*   To see everyone you're managing, run `list_contacts` to fetch a list of every stored profile. If you know a specific person's ID, use `get_contact` and it'll pull up all their detailed info. You can start fresh by building out a brand new lead using `create_contact`. Need to change someone’s email or company name? Use `update_contact` to modify existing records in place. If you never wanna hear from them again, `delete_contact` permanently removes the record from your database.

**Segmenting and Tagging Leads:**
*   Keep your audience organized with tags. First, run `list_tags` to see every grouping label available. Then, apply those labels directly using `add_tag_to_contact`. This lets you segment leads instantly without manual work.

**Messaging Clients:**
*   You can send direct messages right from the chat window. Use `send_whatsapp_message` for formatted outreach over WhatsApp to a specific recipient. If SMS is what you need, `send_sms_message` sends a standard text message to any phone number. These tools let you communicate with clients without ever leaving your agent interface.

**System Oversight:**
*   You can keep tabs on how the whole system runs. To see what automation connections are active, check out `list_webhooks`. This gives you a full list of all current webhooks for monitoring purposes.

## Tools

### add_tag_to_contact
Applies a specific tag to an existing contact record.

### create_contact
Builds and adds a brand new contact profile into the system.

### delete_contact
Permanently removes a contact record from the database.

### get_contact
Retrieves all specific details about one contact, provided you know their ID.

### list_contacts
Fetches a list of every managed contact in the system.

### list_tags
Shows all the available tags you can use for segmenting your contacts.

### list_webhooks
Retrieves a list of all system webhooks to monitor automation connections.

### send_sms_message
Sends a standard SMS message to a specified phone number.

### send_whatsapp_message
Sends a direct, formatted WhatsApp message to a specific recipient.

### update_contact
Modifies existing information for a contact record (like email or company name).

## Prompt Examples

**Prompt:** 
```
List all contacts tagged as 'High Priority' in SetSmart.
```

**Response:** 
```
I've retrieved your contacts. You have 12 active leads tagged as 'High Priority', including 'Alice Brown' and 'Acme Global'. Would you like to send them a WhatsApp message?
```

**Prompt:** 
```
Send a WhatsApp message to +1234567890 saying 'Hello, your appointment is confirmed'.
```

**Response:** 
```
Processing message... The WhatsApp message has been successfully sent to +1234567890. Should I log this activity in the contact's history?
```

**Prompt:** 
```
Get the complete details for contact ID 98765.
```

**Response:** 
```
Fetching contact profile... Contact 98765 ('Robert Smith') has email 'robert@example.com' and is tagged with 'Enterprise' and 'New Lead'. Would you like to see their recent message history?
```

## Capabilities

### Manage Contact Records
Create, read, update, or delete customer profiles using tools like `create_contact`, `get_contact`, and `update_contact`.

### Segment and Tag Leads
Organize your audience by listing available tags (`list_tags`) and assigning specific labels to contacts with `add_tag_to_contact`.

### Send Multi-Channel Messages
Deliver direct messages via WhatsApp or SMS using the dedicated messaging tools: `send_whatsapp_message` and `send_sms_message`.

### Orchestrate Leads
List all managed contacts (`list_contacts`) and retrieve their full metadata to plan next steps in your sales cycle.

### Monitor System Activity
Keep tabs on how the system works by listing current webhooks or checking contact activity logs.

## Use Cases

### The Cold Outreach Follow-Up
A rep needs to follow up with five leads. Instead of manually finding them, the agent first runs `list_contacts`, filters for 'High Priority' tags (using tag logic), retrieves their details via `get_contact` for each one, and finally sends a mass WhatsApp message using `send_whatsapp_message`. The whole sequence happens in a single conversation.

### Cleaning Up Stale Leads
A marketer finds 30 contacts that haven't been updated since last year. They ask the agent to run `list_contacts`, and then use the tool logic to identify those stale records, sending a bulk reminder SMS using `send_sms_message`.

### Lead Status Change
A sales rep closes a deal. They tell their agent: 'Update Robert Smith's contact record.' The agent runs the `update_contact` tool, changing his status to 'Closed Won,' and then adds the tag 'Deal Closed' using `add_tag_to_contact`.

### Auditing Communication Flow
An ops engineer needs proof of a communication sequence. They ask the agent to monitor the system webhooks (`list_webhooks`) and check the message logs, confirming that both the SMS and WhatsApp attempts were logged correctly.

## Benefits

- Stop switching apps. You can send personalized WhatsApp messages (`send_whatsapp_message`) or SMS outreach (`send_sms_message`) without leaving your AI client interface, keeping all context in one place.
- Manage your entire audience lifecycle: Use `list_contacts` to pull a list of leads, then use `add_tag_to_contact` to mark them as 'Follow-Up Required'—all in two prompts.
- Maintain clean data. You can programmatically build new records (`create_contact`) or correct old ones using `update_contact`, ensuring your CRM is always current before a sales call.
- Centralized oversight means less guesswork. Use `list_webhooks` to see if any automation flows broke, and check message logs for proof of delivery.
- Speed up discovery. Instead of digging through menus, just ask the agent to 'find all contacts tagged as Enterprise' using tools like `list_contacts` and tagging logic.

## How It Works

The bottom line is that your AI client acts as a central command center for all customer interactions, handling data retrieval and communication execution in one go.

1. First, subscribe to this server and enter your specific SetSmart API Key in the client settings.
2. Next, your AI agent uses tools like `list_contacts` or `get_contact` to gather necessary lead information from the platform.
3. Finally, you instruct your agent to perform an action—like sending a WhatsApp message (`send_whatsapp_message`) or adding a tag—and it executes the tool call.

## Frequently Asked Questions

**How do I find all my contacts for messaging using list_contacts?**
Run `list_contacts` first. This gives you the master list, which lets your agent identify the correct IDs needed to run the message tools like `send_whatsapp_message`.

**Can I send a WhatsApp message only to contacts with specific tags?**
Yes. First, use `list_tags` and then instruct your agent to filter the list using those tags before running `send_whatsapp_message`. This keeps messages targeted.

**What if I need to change a contact's email address?**
Use the `update_contact` tool. You must provide the contact ID and specify the field you want to change (e.g., 'email') along with the new value.

**Is it possible to delete a contact using the MCP Server?**
Yes, the `delete_contact` tool handles this. You must provide the unique ID of the contact you want to remove entirely from the system.

**What steps do I take if my SetSmart API Key is invalid when running a command like `add_tag_to_contact`?**
You must verify your credentials in the SetSmart dashboard. The agent won't function until you update and re-save your key within Vinkius. This ensures your AI client can authenticate correctly.

**How do I check if my communication system is syncing data using `list_webhooks`?**
Run the `list_webhooks` tool to retrieve a list of all active endpoints. Checking this confirms your chat activity and contact changes are syncing correctly with your main business stack.

**I need to build a new campaign segment; how do I see every available category using `list_tags`?**
Use the `list_tags` tool to get a comprehensive list of all tags. This allows your agent to identify existing segments and build targeted campaigns without guessing names.

**If a message fails to send via `send_whatsapp_message`, where do I find out why?**
The AI client will return an error code or status description in the output. This tells you exactly what failed—like an invalid number format or API restriction.

**Can my AI automatically send a WhatsApp message to a contact by providing their phone number and the text?**
Yes! Use the `send_whatsapp_message` tool. Provide the destination phone number and the content, and your agent will deliver it instantly.

**How do I add a specific tag to a lead for better segmentation?**
Simply ask the agent to run the `add_tag_to_contact` action. You will need the Contact ID and the Tag ID to associate them correctly.

**How do I find my SetSmart API Key?**
Log in to your SetSmart dashboard, navigate to **Settings** > **API**, and you will find your unique secret API Key there.