# Platform.ly MCP

> Platformly MCP Server connects your AI agent directly to your marketing automation and CRM backend. It lets you manage contacts, update sales deals, apply tags, and monitor pipelines—all through natural chat conversation. Use it to keep your customer data current without ever leaving your messaging client.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** multi-channel-marketing, sales-tracking, crm-automation, revenue-analytics, lead-nurturing

## Description

You connect your agent directly to your marketing automation and CRM backend using the **Platformly MCP Server**. This lets you handle everything—contact data, sales deals, tags, notes—right from your chat window. You keep customer records accurate without ever having to switch tabs or leave your messaging client.

We grouped all the necessary tools into one place for your AI agent. It knows exactly which function to run when you ask it to do something. Here’s what you can get done:

### Getting Contact Info and Lists

Need to find someone? You don't have to guess their ID. Use **`search_contact_by_email`**; your agent finds the profile ID just from an email address. If you're building a list, **`list_crm_contacts`** generates every contact in a specific project for you to review. For full details on any person, **`get_contact_details`** pulls up their entire metadata profile. You can also get an overview of everything configured by calling **`list_project_segments`** or **`list_project_tags`**, which gives you lists of all active tags and segments for the current project.

### Creating and Modifying Records

If a lead walks in, you can spin up a new record instantly using **`create_new_contact`**. You just need to provide their email and the project ID. When you have an existing contact, you don't have to manually click through pages: **`update_existing_contact`** lets you modify specific fields of that person’s profile using their unique ID. Need to log something important? Use **`add_note_to_contact`** to attach a plain text note right to the contact record for internal reference. Remember, if data gets messy or stale, you can clean it up by calling **`remove_tag_from_contact`** to strip tags from an account.

### Handling Deals and Pipelines

When you spot a sales opportunity, you don't wait until Monday. First, run **`list_sales_pipelines`** so your agent shows you every pipeline set up in the system. Once you know where it belongs, use **`create_new_sales_deal`** to initialize an entirely new deal right from the chat. You’ll manage and track those deals without ever leaving this conversation.

### Tagging and Segmentation Control

Targeting is key, and your AI agent manages that for you. To mark up a contact, **`apply_tag_to_contact`** attaches one or more defined tags to their profile. It keeps your data clean and segmented so the right people see the right things.

Basically, this server lets your AI client act like you're sitting in front of every tab—the contact list, the deal board, the note section—all at once. You just talk to it, and it runs the necessary functions using tools like **`list_project_segments`**, **`search_contact_by_email`**, or **`create_new_sales_deal`** to get the job done.

## Tools

### create_new_contact
Creates an entirely new contact record using the provided email and project ID.

### add_note_to_contact
Adds a plain text note to an existing contact record.

### apply_tag_to_contact
Applies one or more defined tags to a specific contact profile.

### create_new_sales_deal
Initializes a brand new deal within one of your defined sales pipelines.

### get_contact_details
Retrieves the complete, full metadata profile for any given contact ID.

### list_crm_contacts
Generates a list of all contacts within a specified project ID.

### list_sales_pipelines
Displays a list of all sales pipelines configured in the system.

### list_project_segments
Returns a list of every defined segment available in the current project.

### list_project_tags
Shows all currently active tags and categories within your project.

### remove_tag_from_contact
Removes one or more tags from an existing contact record, cleaning up stale data.

### search_contact_by_email
Finds and returns the profile ID for a contact based only on their email address.

### update_existing_contact
Modifies specific fields of an existing contact record using its unique ID.

## Prompt Examples

**Prompt:** 
```
List all active contacts in project ID 1234.
```

**Response:** 
```
I've retrieved your contacts for project 1234. You have 50 active profiles. Notable recent additions include 'Alice Miller' and 'Sarah Chen'. Which one would you like to see pipeline details for?
```

**Prompt:** 
```
Show me the performance of my active email automation sequences and their conversion funnels.
```

**Response:** 
```
You have 5 active automation sequences. "Welcome Series" (4 emails) has 68% open rate and 12% click-through, converting 340 of 2,800 new subscribers to trial users. "Re-engagement Campaign" recovered 89 inactive users this month (15% reactivation rate). "Upgrade Nudge" drives $4,200/mo in upsells with 8% conversion. "Onboarding Drip" has the highest completion rate at 74%. Total automation-driven revenue this month: $18,400.
```

**Prompt:** 
```
Create a new contact segment for users who signed up in the last 14 days but have not completed onboarding.
```

**Response:** 
```
Segment created: "New Users - Onboarding Incomplete" (ID: seg_4821). Matching contacts: 127 users. Criteria: signup date within 14 days AND onboarding_completed equals false. Demographics: 62% from organic search, 24% from paid ads, 14% from referrals. Average time since signup: 8.3 days. This segment is now available for targeting in automation sequences and broadcast campaigns.
```

## Capabilities

### Retrieve Contact Data
Fetch full details on a contact, list all contacts in a project, or search for profiles using an email address.

### Manage Contact Records
Create new leads with required metadata, modify existing profile information, and add internal notes to any contact record.

### Update Contact Segmentation
Apply or remove tags from contacts and list available segments and tags within a project for precise targeting.

### Track Sales Deals
View all defined sales pipelines and create new deals immediately when you identify an opportunity.

### Monitor System Status
List available segments, tags, and project metadata to verify your current automation setup.

## Use Cases

### The Hot Lead Follow-Up
A BDR just finished a call with 'Jane Doe.' Instead of opening the CRM, they tell their agent: 'Find Jane's profile and add notes about our pricing discussion.' The agent uses `search_contact_by_email` to find her ID, then runs `add_note_to_contact`. Jane's record is updated instantly with all the context needed for the next step.

### The Quarterly Audit
The Marketing Ops Manager needs to know which contacts are in a specific segment but haven't been active in 90 days. They tell their agent: 'List contacts who have the tag 'Q3-Lead' but whose last activity date is before YYYY.' The agent uses `list_crm_contacts` combined with metadata filtering.

### Closing a Deal from Chat
A Sales Director confirms an agreement in Slack. They prompt their agent: 'Create a new deal for Acme Corp, value $50k.' The agent uses `create_new_sales_deal`, ensuring the revenue tracking is live and accurate without any manual form filling.

### Cleaning Up Old Tags
The team decides to retire the '2023-Webinar' tag. Instead of manually finding every contact, they instruct their agent: 'Remove the '2023-Webinar' tag from all contacts in Project Alpha.' The agent executes `remove_tag_from_contact` across the entire list.

## Benefits

- You can instantly update contact records (e.g., adding a key meeting note via `add_note_to_contact`) without leaving your messaging client or opening the CRM UI.
- When an opportunity comes up, use `create_new_sales_deal` to launch a deal in the pipeline immediately. You track revenue growth right where you're talking.
- Instead of guessing which segment to target, run `list_project_segments` and see every available list name in one command. Targeted marketing is instant.
- Forget manually searching for contacts. Use `search_contact_by_email` to find a profile ID instantly, even if you don't know the contact’s internal record name.
- Maintain clean data hygiene by running `remove_tag_from_contact`. This lets you systematically strip out stale tags across hundreds of profiles.
- Track all your lead sources and segment criteria. By using `list_project_tags` and `list_crm_contacts`, you verify exactly who is in scope for a campaign.

## How It Works

The bottom line is, your AI agent acts as a dedicated marketing operations manager that lives inside your chat window.

1. Subscribe to the server on Vinkius and input your Platform.ly API Key into your client settings.
2. Tell your AI agent what you need, referencing a specific action (e.g., 'Find all contacts in project X who lack tag Y').
3. The agent invokes the necessary tools (like `list_crm_contacts` then `apply_tag_to_contact`) and presents the resulting data directly back to you.

## Frequently Asked Questions

**How do I find a contact ID using the `search_contact_by_email` tool?**
The agent uses your email address to look up the unique identifier. It returns the profile ID in plain text, which you then use for all subsequent actions like updating notes or changing tags.

**`list_crm_contacts` vs `search_contact_by_email`: when should I use both?**
Use `list_crm_contacts` when you want to see a whole group of people (e.g., 'all contacts in Project ID 123'). Use `search_contact_by_email` when you know the exact email and need one single profile.

**Can I update multiple tags at once using `apply_tag_to_contact`?**
Yes. You specify all the desired tags in your prompt, and the agent sends them to the API to apply simultaneously. It handles adding or overwriting existing tags.

**Which tool do I use if a contact changes their company email?**
First, run `search_contact_by_email` with the old email to get the ID. Then, use `update_existing_contact`, passing the correct ID and the new email address in the update payload.

**When I use `create_new_contact`, what specific project ID or metadata must I provide?**
You must supply a valid Project ID and the contact's email address. These parameters are required to correctly link the new record into your existing CRM structure.

**How does `add_note_to_contact` differ from modifying details using `update_existing_contact`?**
Adding a note logs an activity comment without altering core data. Use notes for quick updates or follow-up reminders, while `update_existing_contact` changes permanent fields like titles or company names.

**If I want to track potential revenue, what steps are involved when using `create_new_sales_deal`?**
You must provide the associated contact ID and define the deal value. This action initiates a new record in your sales pipeline, allowing immediate tracking of projected revenue growth.

**Is there a way to use `list_project_segments` to build a targeted list for an automation campaign?**
Yes, listing segments provides the necessary IDs and criteria for targeting. You then pass these segment identifiers directly into your marketing automation tools for deployment.

**Can my AI automatically find the details for a specific contact just by providing their email?**
Yes! Use the `get_contact` tool. Provide the contact email or ID, and your agent will respond with complete metadata, including tags, custom fields, and pipeline status in seconds.

**How do I find my Platform.ly API Key?**
Log in to your Platform.ly account, click on your profile name at the top right, navigate to **API Docs & Keys**, and generate your unique secret key.

**Can I use the AI to trigger a specific automation?**
Yes, by using the `apply_tag_to_contact` or `fire_event` tools, you can trigger any automated workflow you have configured in your account.