# Surveypal MCP

> Surveypal connects your AI agent directly to structured survey data. It lets you list all surveys, pull detailed answers by date or response ID, and manage contacts. You can also send out invitations via email or SMS—all through natural conversation.

## Overview
- **Category:** customer-support
- **Price:** Free
- **Tags:** customer-feedback, employee-experience, survey-analytics, feedback-loops, data-visualization, actionable-insights

## Description

This server hooks your AI agent directly into **Surveypal**, letting you pull structured feedback data and manage entire research cycles without ever having to open a dashboard. You're talking about deep access, not just surface-level reports.

When your agent uses the tools here, it executes specific tasks across your survey accounts. It doesn't guess; it acts.

**Managing Survey Assets:**
You can get a complete picture of what surveys you have with **list_surveys**, which pulls every single survey name from your account. If your surveys are organized into folders, you can first check the top-level structure using **list_folders**, and then pull all the specific surveys contained in any given folder with **list_folder_surveys**. For detailed setup information on any one of those surveys—the full configuration or metadata—you'll call **get_survey**.

**Retrieving User Answers:**
The agent pulls lists of all collected answers using **list_survey_answers**, letting you filter results based on specific date ranges or custom criteria. If you need the actual text content and detailed metadata for just one response, you use **get_answer**. This allows your system to pinpoint sentiment or critical data points by ID without wading through thousands of records.

**Handling Contacts:**
You can list every person in your directory with **list_contacts**, getting a comprehensive view of who you've surveyed. To get specific personal details, like an email address or phone number for one individual, the agent calls **get_contact**. This gives it the accurate data points it needs to talk to people.

**Automating Invitations:**
Your AI client can initiate participation directly through your account. You send a survey invitation via email using **send_email_invitation**, or you send a quick reminder text message straight to a contact's phone number with **send_sms_invitation**. This means the agent handles the outreach part of the process, too.

**Verifying System Health:**
Before doing anything else, you can confirm everything is working right. You check the current API health status using **get_api_status**, and for general account details or system checks, you use **get_account_info**. This confirms your agent's connection to Surveypal is solid.

Essentially, this setup gives your AI client full read/write access across five key areas: listing all survey metadata (**list_surveys**), pulling specific answers based on criteria (**list_survey_answers**, **get_answer**), organizing the overall structure of your research folders and surveys (**list_folders**, **list_folder_surveys**, **get_survey**), managing contact information and sending outreach messages (**list_contacts**, **send_email_invitation**, **send_sms_invitation**), and confirming system operation (**get_api_status**, **get_account_info**). It's a full-spectrum data pipeline for research.

## Tools

### get_account_info
Retrieves general account information for system checks.

### get_answer
Fetches the full text and details of a single survey answer.

### get_contact
Retrieves specific contact details, like email or phone number.

### get_api_status
Checks the current API health status to confirm connectivity is working.

### get_survey
Gets the full configuration and metadata for a single survey by name or ID.

### list_survey_answers
Generates a list of all collected answers, allowing filtering by date range or criteria.

### list_contacts
Lists all contacts available in your account directory.

### list_folder_surveys
Retrieves a list of all surveys contained within a specific folder structure.

### list_folders
Lists the top-level survey folders available in your account.

### list_surveys
Lists every single survey that exists in your Surveypal account.

### send_email_invitation
Sends a participation invitation to a specified contact via email.

### send_sms_invitation
Sends a participation invitation to a specified contact via SMS text message.

## Prompt Examples

**Prompt:** 
```
List all active surveys in my Surveypal account.
```

**Response:** 
```
I've retrieved your surveys. You have 3 active surveys: 'Customer Satisfaction Q4', 'Product Beta Feedback', and 'Event Registration'. Which one would you like to see responses for?
```

**Prompt:** 
```
Show me the last 5 answers for the 'Customer Satisfaction' survey.
```

**Response:** 
```
I've fetched the latest answers. Most users provided positive feedback, highlighting the new checkout flow. However, two respondents mentioned slow load times. Shall I retrieve the full text for those specific answers?
```

**Prompt:** 
```
Send an email invitation for survey '10293' to 'user@example.com'.
```

**Response:** 
```
Invitation sent! I've triggered the email for survey 10293 to user@example.com. The recipient will receive the link to participate shortly.
```

## Capabilities

### Retrieve all survey metadata
List every survey in your account or within a specific folder, pulling configuration details for each one.

### Pull individual user answers
Fetch the text content and metadata for a single response based on its ID or related criteria.

### Automate contact outreach
Send survey invitations to specific contacts using either email or SMS protocols.

### Organize research assets
List and manage the structure of your surveys, including folders and individual contact directories.

### Monitor system health
Check the API status and account information to verify the connection is working correctly.

## Use Cases

### Need to audit old feedback for compliance.
The research team needs to prove what was said about 'Product X' in Q1. They prompt their agent: 'List survey answers from the last three months mentioning Product X.' The agent uses `list_survey_answers` with date and keyword filters, retrieving all relevant data points automatically.

### Launching a targeted campaign to beta users.
The CX Manager has 50 specific contacts. Instead of emailing them one by one, they ask the agent: 'Send the Customer Satisfaction survey via SMS to these 50 IDs.' The agent uses `list_contacts` to verify the list and then triggers `send_sms_invitation` for everyone.

### Quickly checking if a specific survey is active.
The Operations Lead needs to know the status of 'Q3 Employee Survey' before sending more emails. They ask the agent: 'What are the details for Q3 Employee Survey?' The agent runs `get_survey`, pulling up the full configuration metadata immediately.

### Debugging data loss or access issues.
When a report fails, the developer asks the agent to check system status. The agent replies with the result of `get_api_status` and potentially runs `get_account_info`, confirming if the credentials are valid before wasting time debugging application code.

## Benefits

- Automate outreach. Instead of manually logging into Surveypal to send invites, your agent runs `send_email_invitation` or `send_sms_invitation`. You just tell it who needs the survey link, and it sends it.
- Pinpoint feedback instantly. Need to know what people said last Tuesday? Use `list_survey_answers` to filter results by date and then `get_answer` to pull the exact text snippet for review.
- Keep data organized with AI commands. Never lose track of a survey again. Your agent handles listing all surveys (`list_surveys`) or showing which ones are inside a specific folder using `list_folder_surveys`.
- Verify connection status instantly. Before you run any large query, check the health by running `get_api_status`. It tells you immediately if the server is up and ready for work.
- Simplify contact management. You don't have to guess who you sent an invite to. Use `list_contacts` or `get_contact` to confirm names and emails before sending a follow-up.

## How It Works

The bottom line is, you connect the agent to your feedback data source and use plain language commands instead of clicking through web dashboards.

1. Subscribe to this server on Vinkius.
2. Input your Surveypal API Key and Secret (found in your integration settings).
3. Your AI client can now run commands like 'List all surveys' or 'Send an email invitation for survey X'.

## Frequently Asked Questions

**How do I list every survey available to me using list_surveys?**
You run the `list_surveys` tool. This will return a comprehensive list of all surveys in your account, giving you their names and IDs right away.

**Can I filter answers by date when listing survey answers using list_survey_answers?**
Yes. The `list_survey_answers` tool accepts parameters for date filtering. You can tell the agent, 'Give me all answers between January 1st and March 31st' to narrow your focus.

**What if I only want the email address of a contact?**
Use the `get_contact` tool. You provide the contact ID, and it returns structured data containing all associated details, including just the primary email or phone number you need.

**How do I automate sending invites? Do I use send_email_invitation?**
Yes, that's the right tool. Just tell your agent to 'Send an invitation for Survey X via email to Y.' The `send_email_invitation` tool takes care of the delivery.

**How do I check if my Surveypal API connection is working before querying data using get_api_status?**
Just use `get_api_status`. It returns the current status and any rate limit information for your account. This is a quick way to confirm the API is live and you haven't hit usage caps.

**What specific metadata does get_survey pull about an existing survey?**
The `get_survey` tool retrieves deep configuration details for one survey ID. You get access to question types, ownership info, and date ranges—metadata you can't find just by listing the surveys.

**How does list_folder_surveys help me organize my research efforts?**
It lists all surveys contained within a specific folder ID. This is much faster than searching your whole account, letting your agent scope down results to only the relevant project area.

**What information does send_sms_invitation require for a text message invite?**
You must provide the target phone number and the survey ID. This tool sends an immediate link via SMS, which is perfect when you need to reach people who don't check email often.

**Can I see all the answers for a specific survey via AI?**
Yes! Use the `list_survey_answers` tool and provide the Survey ID. Your agent will retrieve a list of all submissions, which you can then ask the AI to summarize or filter.

**How do I send a survey invitation via SMS using the agent?**
Use the `send_sms_invitation` action. Provide the Survey ID and a JSON array of phone numbers. The agent will trigger the SMS broadcast instantly via Surveypal.

**Is it possible to list surveys from a specific folder via AI?**
Absolutely. Use the `list_folder_surveys` query and provide the Folder ID. The agent will retrieve all surveys organized within that specific directory.