# SleekFlow MCP

> SleekFlow connects your AI agent directly into WhatsApp, Instagram, Telegram, and WeChat. It lets you read real-time chat histories, check customer profiles, and send replies from a single terminal view. Stop switching apps; manage every conversation—from initial lead to final resolution—wherever it happens.

## Overview
- **Category:** marketing-automation
- **Price:** Free
- **Tags:** omnichannel-messaging, conversational-commerce, customer-support, chat-automation, lead-management

## Description

Yo. Listen up. If your customer conversations are spread out across WhatsApp, Instagram DMs, Telegram, and WeChat, you've got a mess on your hands. This server connects your AI agent directly into all those channels so you can stop switching apps. You manage every single lead—from the first sketchy message to the final resolution—right from one terminal view.

**Reading Every Conversation.** When you pull in chat logs, you're running `list_conversations`. This tool pulls real-time threads from every connected channel and feeds them straight into your agent's context. You don't just see a list of chats; you get the full conversation history for all ongoing threads across platforms like WhatsApp and Instagram. The agent reads it all, so you know exactly what’s been said.

**Sending Replies, Period.** Once the agent knows what to say, it hits `send_message`. This tool lets your AI client compose and dispatch a reply directly into an active conversation thread. You don't copy-paste anything; the message goes out immediately using the required chat ID and body. It keeps the whole interaction centralized.

**Deep Dive on Contacts.** You need to know who you’re talking to, right? First, you run `list_contacts` to get a full roster of every synchronized user managed by SleekFlow. But that's just names. To really figure out what they are, the agent uses `get_contact_details`. This fetches deep metadata for any single customer—think CRM ties and their whole history. It’s way more than just an email address.

To keep tabs on who needs attention, you run `list_contact_labels`. This shows all the pre-defined labels—like 'Hot Lead' or 'VIP Support'—so your agent can instantly segment your customer base and prioritize responses. You've got the full picture of their status right there.

**System Oversight.** Need to know what channels are even talking to us? Use `list_channels`. It spits out every single communication platform, like WhatsApp Business or Instagram, that’s currently connected to the server. If something looks weird, you check this list. You can also run `list_automation_flows` to see every chatbot tree or workflow that's running in the system—you know what your bots are doing at all times.

This setup lets your agent call these tools sequentially: it grabs the conversations with `list_conversations`, pulls the contact info using `get_contact_details`, and then fires off a response via `send_message`—all without you ever leaving the terminal. It’s clean, direct, and keeps everything centralized.

## Tools

### get_contact_details
Fetches all metadata for a specific contact ID, giving you deep profile information.

### list_automation_flows
Lists every configured workflow or chatbot tree currently running in the system.

### list_channels
Retrieves a list of all active and connected communication channels (e.g., WhatsApp, Instagram).

### list_contact_labels
Lists every categorization label applied to contacts, helping you segment your user base.

### list_contacts
Retrieves a full list of all synchronized contacts managed by SleekFlow.

### list_conversations
Lists all ongoing chat threads across every connected channel, providing IDs needed for subsequent actions.

### send_message
Sends a drafted message to a specific conversation ID on an active channel.

## Prompt Examples

**Prompt:** 
```
Show me all unread conversations from this weekend.
```

**Response:** 
```
You have 14 unread conversations since Saturday:
- 6 from WhatsApp (3 refund requests, 2 product inquiries, 1 complaint)
- 5 from Instagram DM (all product inquiries)
- 3 from Telegram (support questions)
Would you like me to draft responses for the refund requests first?
```

**Prompt:** 
```
Send a reply to conversation conv-xxxx saying 'Your refund has been processed. It will appear in 3-5 business days.'
```

**Response:** 
```
Reply sent to conversation conv-xxxx (WhatsApp).
- Contact: Maria Silva (+55 11 9xxxx-xxxx)
- Message: 'Your refund has been processed. It will appear in 3-5 business days.'
- Status: delivered ✓
```

## Capabilities

### Read and categorize all customer conversations
Use `list_conversations` to pull chat logs from every connected channel (WhatsApp, Instagram, etc.) into your agent's context.

### Send replies to specific leads
The `send_message` tool lets your agent compose and dispatch a reply into an active conversation thread using the required chat ID and message body.

### Retrieve detailed contact profiles
Use `get_contact_details` to fetch all metadata for a single customer, including their CRM ties and history.

### Audit channel connections
The `list_channels` tool shows you every communication platform (e.g., WhatsApp Business, Instagram) currently connected to the server.

### Identify customer groups and status
You can use `list_contact_labels` to see all pre-defined labels (like 'Hot Lead' or 'VIP Support') used to segment your customer base.

## Use Cases

### Handling a high volume of support tickets
A Support Specialist gets paged at 9 AM. They ask their agent: 'Show me all unread chats from the last three days.' The agent uses `list_conversations`, identifies five refund requests across WhatsApp and Instagram, and presents them, allowing the specialist to use `send_message` for a quick resolution.

### Targeting specific sales leads
An SDR needs to follow up with VIP clients. They ask their agent to run two tools: first, `list_contact_labels` and filter for 'VIP'; second, `get_contact_details` on those filtered IDs. The agent returns the full history for drafting a targeted proposal.

### Auditing system readiness
A CRM Manager wants to know if all channels are connected and if any workflows need updating. They call `list_channels` and then `list_automation_flows`. This quick check ensures the entire messaging pipeline is healthy before a major campaign launch.

### Reacting to abandoned carts
A marketing ops engineer needs to send a reminder. They use `list_contacts` to pull all contacts labeled 'Abandoned Cart.' Then, using the contact IDs, they call `send_message` with a specific promotional message.

## Benefits

- Stop losing leads by context switching. With `list_conversations`, your agent pulls every active chat thread—whether it's on WhatsApp or Telegram—into a single list for immediate review.
- Save time drafting replies. Instead of opening a client and copying text, use the `send_message` tool to have your AI agent formulate and dispatch replies directly from the terminal.
- Deep customer context is instant. Running `get_contact_details` gives you more than just a name; it pulls associated CRM data and status labels instantly for informed responses.
- Know exactly who you're talking to. Use `list_contact_labels` to filter contacts by their current status (e.g., 'Trial User,' 'VIP') before drafting any communication.
- See what’s running in the background. Calling `list_automation_flows` lets you audit your setup, checking which chatbot trees are active and how they respond to leads.

## How It Works

The bottom line is that your AI client treats every chat channel—WhatsApp, Telegram, Instagram—as one single, unified inbox accessed via structured tool calls.

1. Subscribe to the SleekFlow server and provide your API key.
2. Your AI client calls `list_channels` first. This confirms which platforms are connected for action.
3. The agent then uses tools like `list_conversations` or `get_contact_details` to gather necessary context before executing a final command, such as calling `send_message`.

## Frequently Asked Questions

**How do I list all connected messaging channels with SleekFlow?**
Call the `list_channels` tool. This provides a definitive, up-to-date roster of every communication platform (WhatsApp, Telegram, etc.) that your account is currently authorized to use.

**Can I find out what labels are on a contact using SleekFlow?**
Yes, first run `list_contact_labels` to see all available categories. Then, you can apply or check these against specific contacts.

**What is the process for sending a message with send_message?**
You must provide three things: the target conversation ID (from `list_conversations`), the channel name, and the text body. The system uses these to deliver the message.

**Does SleekFlow help me see all conversations across different platforms?**
Yes, running `list_conversations` aggregates chat logs from multiple channels—WhatsApp, Instagram, etc.—into one unified list for your agent to read.

**When I use get_contact_details, what type of deep profile data can my agent retrieve for a person?**
The tool retrieves comprehensive details beyond just the name. You pull full profile metadata, including direct CRM ties and any unique categorization labels assigned to that contact.

**If I use list_contacts, how do I ensure I see all my synchronized contacts in SleekFlow?**
The tool pulls a complete manifest of every active contact linked within your account. This lets your agent run audits or gather IDs for batch processing.

**What kind of information does list_automation_flows provide about the available chatbot trees?**
It returns a full listing of all configured automation workflows and active chatbot trees. Your AI client uses this to know exactly which automated processes are ready to deploy.

**What happens if I try to send too many messages using the send_message tool in quick succession?**
The system enforces rate limits for stability. If you exceed your allowed quota, your agent client will receive a specific error code detailing when you can safely retry sending.

**Can my AI automatically reply to an agitated customer on WhatsApp?**
Yes. If you point your AI to an active conversation ID, the agent can analyze the raw message history to gauge the emotion. It will draft a polite, perfectly-toned de-escalation message, and if you approve it, it'll trigger the `send_message` tool pointing directly to the customer's WhatsApp payload.

**Can I bulk analyze all incoming conversations over the weekend?**
Absolutely. You can request your agent to invoke the `list_conversations` command. Your agent can read the active, unassigned threads, categorize them by user intent (e.g., 'refund query', 'feature request'), and provide you a summary dashboard right inside your IDE or markdown interface.

**How does the AI know if a customer has an automation flow attached?**
Your agent can call `list_automation_flows` as well as query the specific `get_contact_details` tool. This cross-references whether the phone number currently triggers out of an existing flow ID, preventing your AI from interrupting an active bot onboarding session accidentally.