# Paperform MCP

> Paperform manages online forms and submissions directly from your AI agent. You can list, retrieve configurations, and track all form data without leaving your chat client. Use this server to manage webhooks for integration or analyze specific submission details using natural conversation.

## Overview
- **Category:** business-operations
- **Price:** Free
- **Tags:** form-builder, data-collection, webhook-management, survey-management, lead-generation

## Description

This server gives your AI agent full control over everything Paperform does. You can manage all your forms and track every submission without ever leaving your chat window. It’s how you finally get a complete picture of your data collection workflows.

### Managing Your Forms Library

You gotta know what forms you've got running, right? Use the `list_forms` tool to pull an inventory list of every single form currently active in your Paperform account. If you need specific structural details on just one of those forms—say, checking out its fields or settings—you can call `get_form`. This pulls all the configuration data for a single selected form ID.

Beyond just listing them, you can audit your entire setup's structure. The `list_custom_domains` tool shows every custom domain name pointing to Paperform forms, so you know exactly where people are submitting data from. Need help organizing? Use `list_folders` to see the directory of all folders used across different form types in your account. You can also run `list_tags` to pull a list of every tag used across your forms; this helps you verify how data is being categorized company-wide.

### Tracking Submissions and Data Audits

When it comes to submissions, you want the full story. First, call `list_submissions`. This gives you a summary list, showing all the form submissions that happened for a specific form ID over time—you get a quick count and date range of activity. If you need the deep dive, use `get_submission` to retrieve every single piece of information submitted by a user in one instance. It pulls the full, granular data set for that record.

### Automation and Connectivity

You don't want to manually copy-paste data into your CRM or Slack, do you? The webhook tools handle that automatically. Use `list_webhooks` to see a list of all webhooks already configured for a specific form. When it’s time to hook up a new service, run `create_webhook`. This sets up an automatic data push—a webhook—from the moment any form receives a new submission, sending that raw data directly to another system you specify.

### Account Overview and Setup

Finally, for general account oversight, the `get_account_info` tool retrieves basic authentication details about your linked Paperform account. This lets your agent verify connection status or pull fundamental account metrics when you need them.

## Tools

### create_webhook
Sets up an automatic data push (a webhook) from any form when it receives a new submission.

### get_account_info
Retrieves basic authentication details about the Paperform account linked to the server.

### get_form
Pulls all specific settings and structure data for one particular form.

### get_submission
Retrieves every piece of information submitted by a user in a single instance.

### list_custom_domains
Lists all custom domain names that are configured to point to Paperform forms.

### list_folders
Shows a directory of all the folders used to organize your different form types.

### list_forms
Gives you an inventory list of every single form currently active in the account.

### list_submissions
Pulls a summary list of all submissions that occurred for a specific form ID.

### list_tags
Lists every tag used across your forms, helping you see how data is categorized.

### list_webhooks
Provides a list of all webhooks that have been configured for a specific form.

## Prompt Examples

**Prompt:** 
```
List all forms in my Paperform account.
```

**Response:** 
```
I've retrieved 8 forms, including 'Contact Us', 'Product Feedback', and 'Event Registration'. Which one would you like to see submissions for?
```

**Prompt:** 
```
Show me the last 5 submissions for the 'Event Registration' form.
```

**Response:** 
```
I've fetched the latest 5 submissions. They include responses from 'John Doe', 'Jane Smith', and 3 others. Would you like the full details for any of these?
```

**Prompt:** 
```
List all webhooks configured for form 'form_12345'.
```

**Response:** 
```
There are 2 webhooks for this form: one pointing to Zapier and another to a custom endpoint (https://api.example.com/webhook).
```

## Capabilities

### List All Forms
Gets a list of every form you have created in the Paperform account.

### Get Form Details
Retrieves specific configuration details for one selected form ID.

### List Submissions
Pulls a list of all submissions that happened for a given form over time.

### Get Submission Details
Retrieves the full, granular data set from one specific submission record.

### Manage Webhooks
Creates or lists webhooks to automatically send form data to external systems.

### Audit Account Structure
Lists organizational elements like custom domains and folders used across your forms.

## Use Cases

### Auditing a New Campaign Setup
A Marketing Ops Specialist needs to know if the new 'Beta User Feedback' form is ready for launch. Instead of clicking through settings, they ask their agent to run `list_forms` and then use `get_form` on the specific ID. The agent confirms the correct fields are present and that no critical webhooks are missing.

### Analyzing a Spike in Submissions
After running an ad campaign, a Customer Researcher needs to know what users complained about. They use their agent to run `list_submissions` for the 'Product Feedback' form, identifying 50 submissions. They then request the full details of three specific records using `get_submission` to quickly analyze the pain points.

### Debugging a Broken Integration
A DevOps Engineer notices that new lead data isn't hitting Salesforce. They ask their agent to run `list_webhooks` for the 'Contact Us' form, verify the webhook URL is correct, and then use `create_webhook` to re-test the connection point.

### Verifying Account Scope
A System Admin needs to make sure all departmental forms are correctly categorized. They prompt their agent to run `list_tags` across the whole account, confirming that 'Q3 2024' and 'HR Policy' tags exist and are available for use.

## Benefits

- Stop exporting data. Instead of manually downloading CSVs, you can ask the agent to run `list_submissions` or `get_submission`, pulling detailed form responses right into your conversation for instant analysis.
- Automate integrations without touching Zapier's UI. Use `create_webhook` and `list_webhooks` to test and set up data pushes to CRMs or internal APIs directly through the chat interface.
- Get a full view of your asset library instantly. Run `list_forms` to see every survey you own, and use `get_form` to check its specific settings—all in one prompt.
- Clear out data clutter by seeing exactly how things are organized. Running `list_folders` or `list_tags` gives you a quick audit of your form structure without navigating multiple menus.
- Connect this server to any AI client (Claude, Cursor, etc.) and handle all your form administration—from checking account info (`get_account_info`) to auditing custom domains (`list_custom_domains`).
- Audit data flow paths. You can check which forms are pointed at custom domains using `list_custom_domains`, ensuring that every public-facing link is correctly configured.

## How It Works

The bottom line is that your AI client talks directly to Paperform, so you never have to leave the chat window to check form status or pull data.

1. Subscribe to the server and enter your Paperform Access Token (from API settings).
2. Tell your AI client what you need—for example, 'List all my product feedback forms' or 'Show me submissions for form XYZ'.
3. The agent runs the necessary tools (`list_forms` or `list_submissions`) and gives you the data back in plain text.

## Frequently Asked Questions

**How do I list all my forms using Paperform MCP Server?**
Run `list_forms`. This tool will give you an inventory list of every form currently active in your account so you know what IDs to work with.

**What is the difference between `list_submissions` and `get_submission`?**
`list_submissions` gives you a summary count (e.g., 50 submissions happened). `get_submission` pulls all the actual data from one specific submission record.

**How do I check which webhooks are active for a form?**
Use `list_webhooks`. You just need to specify the form ID, and the agent returns a list of every webhook configured for it.

**Can Paperform MCP Server help me find custom domains?**
Yes. The `list_custom_domains` tool shows all domain names that point to your forms, helping you audit your public URLs.

**What information do I pass when calling the `get_account_info` tool?**
You need a valid Paperform Access Token to run `get_account_info`. This token authenticates your agent and gives it read access to your core account data.

**How do I check the available tags across my forms using `list_tags`?**
The `list_tags` tool pulls a directory of every tag used in your account. Use this list to enforce consistent categorization when setting up new forms or analyzing data.

**What details do I provide when running the `get_form` tool?**
You must supply the unique ID for the form you want details on. This returns the full configuration, including field types and validation rules, so your agent knows exactly what data to expect.

**What parameters are required when I use `create_webhook`?**
You need two things: the specific Form ID and the external URL endpoint. Providing these allows the agent to set up a functional webhook that routes submitted data elsewhere.

**How do I find my Paperform Access Token?**
In your Paperform account, go to **Account Settings** > **API**. There you can create and manage your API access tokens.

**Can I see individual form responses?**
Yes! Use the `list_submissions` tool to see a list of responses for a specific form, and `get_submission` to retrieve the full data for a particular entry.

**Does this support webhook management?**
Absolutely. You can use the `list_webhooks` and `create_webhook` tools to monitor and configure integrations for any of your forms.