# Fillout MCP connector

The Fillout connector brings your forms, submissions and webhooks into Elaichi, so Claude, ChatGPT, Cursor or the Elaichi Agent can look up form responses and record new ones inside each person's own Fillout access.

Source: https://elaichi.ai/connectors/fillout/

## Facts

| | |
| --- | --- |
| Application | Fillout |
| Category | Survey |
| AI tools | 8 |
| Authentication | Connects with an API key |
| Bring your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. Connected tools are never listed one by one, however few there are. The endpoint advertises `search_tools` and `execute_tool` instead |

## What you can ask once Fillout is connected

- Show me yesterday's submissions to the customer feedback form.
- Which of our Fillout forms got the most submissions this week?
- Pull the latest submission from the job application form.

## Connect Fillout in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Fillout.
2. Optionally set Share with, then press Connect.
3. Paste a Fillout API key. One person generates a token in Fillout and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Fillout tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Fillout MCP connector for Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Fillout MCP connector for ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Fillout MCP connector for Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Fillout to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Fillout tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Fillout through Elaichi

### Review this week's lead form submissions

Marketing. Ask which lead capture forms filled up this week and pull the newest submissions to hand to sales. The answer comes from live Fillout records, not a spreadsheet export.

### Read customer feedback without opening Fillout

Support. Pull the latest responses to your feedback survey and ask what customers keep mentioning. Every submission stays tied to the form it came from.

### Pull a job application on demand

People. Fetch a single application submission by its ID when a hiring manager asks about a candidate. No hunting through the Fillout dashboard.

### Log an intake request on someone's behalf

Operations. When a request arrives by phone or email, have the agent create the submission on the right Fillout intake form so nothing lives only in an inbox.

### Summarize research survey responses

Product. List every submission to a research survey and ask for the themes. Scan hundreds of open text answers in the time it takes to read one.

### Check registrations before the doors open

Events. Count how many people registered through the event form and pull the latest sign-ups. Remove a duplicate registration submission when someone registered twice.

## Frequently asked questions

### How do I connect Fillout to Claude?

Connect Fillout in Elaichi first: Fillout connects with an API key, so you copy the key from your Fillout settings and paste it into Elaichi. There is no OAuth application to register and no client ID or secret to generate. Then open Claude, go to Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp as the address. Sign in to Elaichi when Claude asks and Fillout is ready.

### Does Fillout work with ChatGPT and Cursor as well as Claude?

Yes. Once Fillout is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect Fillout once and every client picks it up.

### What can an AI agent actually do with my Fillout data?

With Fillout connected, an agent can list your forms, open a specific form, list the submissions it has received, pull a single submission, record a new submission on your behalf, or delete a submission. It can also set up or remove a webhook so other tools hear about new responses. Short, concrete asks such as "latest five submissions to the feedback form" work better than long paragraphs.

### Does connecting Fillout give the AI every form in my workspace?

An agent only sees the Fillout forms and submissions that the connected API key can already reach, because every call runs inside that person's own access. Elaichi can narrow that further, for example limiting a team to reading submissions and nothing else, but it never widens what Fillout itself allows.

### Can my team share one Fillout connection?

Yes. One person connects Fillout with an API key and shares the connection with a team in Elaichi, and nobody else ever handles the key. Each teammate still signs in to Elaichi as themselves, so the audit log names the person who pulled a submission, not the person who connected Fillout.

### Can I stop an agent from deleting or changing things in Fillout?

Yes. Restrictions in Elaichi work per action, so you can allow reading Fillout forms and submissions while blocking the ability to delete a submission or remove a webhook. A restricted action is never advertised to the AI client at all, so no prompt, however worded, can reach it.

### What happens to a Fillout connection when someone leaves?

Offboarding the person in Elaichi ends their access to Fillout through every client at once. If they had shared a Fillout connection with a team, it keeps working for everyone else. Disconnecting Fillout once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client together.

### Does the Fillout MCP connector work with Gemini, Codex, Claude Code or other MCP clients?

Yes. Fillout is reached over the same MCP endpoint every client uses, so anything that speaks MCP can call it — Gemini, Codex, Claude Code, Windsurf, Cline, Zed and OpenCode among them — alongside Claude, ChatGPT, Cursor, and the Elaichi Agent. The tools on offer and the access behind them are identical whichever client asks. Only the setup screen differs.

## All 8 Fillout tools

Every tool below is callable through https://api.elaichi.ai/mcp once Fillout is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Fillout forms** (List). List all forms in your Fillout account. Returns each form's id and formId (the form's public ID).
- **Get single Fillout form by ID** (Get). Get a single Fillout form's metadata by id, including all the questions in that form. Returns: id, name, questions, calculations, urlParameters, scheduling, payments, quiz, formId. Required: id.
- **Create a Fillout form submission** (Create). Create new submissions for a Fillout form. Returns the created submissions including their submissionId and, where applicable, an editLink, with form-specific content. Required: form_id, submissions.
- **Delete a Fillout form submission by ID** (Delete). Delete a submission of a Fillout form by id. Returns an empty 204 response on success. Required: id, form_id.
- **Get single Fillout form submission by ID** (Get). Get a single submission of a Fillout form by id. Returns the submission record including its submissionId and an editLink when includeEditLink is true, with form-specific content. Required: id, form_id.
- **List all Fillout form submissions** (List). List all submissions for a Fillout form. Returns each submission's submissionId, plus editLink when includeEditLink is true. By default, only finished submissions are returned. Required: form_id.
- **Create a Fillout webhook** (Create). Create a webhook for a Fillout form so it starts receiving form submission events. Returns the created webhook's id, which is the identifier to pass when removing the webhook. Requires a JSON request body; see Fillout's Create a Webhook reference for its exact fields. Required: formId, url.
- **Delete a Fillout webhook by ID** (Delete). Remove a webhook from Fillout by id. Returns a success object; Fillout documents no fields in the response body. Required: webhookId.
