Survey
Fillout
API integration
Ship Survey features without building the integration. Full Fillout API access via Proxy and 8 MCP-ready tools for AI agents — extend models and mappings to fit your product.
Talk to usUse Cases
Why integrate with Fillout
Common scenarios for SaaS companies building Fillout integrations for their customers.
Capture leads from Fillout into your CRM in real time
CRM and sales platforms can let users route Fillout submissions directly into contact and lead records the moment a form is submitted, eliminating the need for third-party automation tools.
Ingest survey responses into customer success workflows
Customer success and health-scoring platforms can pull NPS, QBR, and feedback responses from Fillout to update account health, trigger alerts, and surface customer sentiment natively.
Pull candidate submissions into your ATS
Applicant tracking systems can display Fillout-based screening forms, code challenges, and scheduling preferences on candidate profiles without recruiters leaving the ATS.
Push enriched data back into Fillout as the source of truth
Marketing automation and data enrichment tools can programmatically create Fillout submissions from their own capture channels, keeping Fillout as the canonical form database for ops teams.
Backfill historical form data on connection
Analytics, BI, and reporting platforms can pull all past Fillout submissions when a user first connects their account, ensuring dashboards reflect complete historical context from day one.
What You Can Build
Ship these features with Truto + Fillout
Concrete product features your team can ship faster by leveraging Truto’s Fillout integration instead of building from scratch.
Form picker with live schema preview
Use list_all_fillout_forms and get_single_fillout_form_by_id to let users browse their forms and preview question structure before connecting.
Dynamic field mapping UI
Read a form's questions and types via get_single_fillout_form_by_id to let users map Fillout fields to your internal schema with dropdowns instead of code.
Real-time submission streaming via webhooks
Programmatically install listeners with create_a_fillout_webhook so new submissions flow into your product the instant they're captured, with clean teardown via delete_a_fillout_webhook_by_id.
Historical submission backfill
Use list_all_fillout_form_submissions to ingest every past response on initial connection so your product has full history, not just forward-looking data.
Native submission detail view with edit deep-link
Render individual responses via get_single_fillout_form_submission_by_id and expose the editLink so users can jump back into Fillout to amend a submission in one click.
Programmatic form pre-fill and record push
Use create_a_fillout_form_submission to seed Fillout with known data from your platform, enabling pre-filled forms or synchronized record creation from external capture points.
SuperAI
Fillout AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_fillout_forms
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 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 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 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 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 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 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
Remove a webhook from Fillout by id. Returns a success object; Fillout documents no fields in the response body. Required: webhookId.
Why Truto
Why use Truto’s MCP server for Fillout
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 800+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Go live with Fillout in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Fillout account
Use Truto’s frontend SDK to connect your customer’s Fillout account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Fillout
Truto’s Proxy API is a 1-to-1 mapping of the Fillout API. You call us, we call Fillout, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Fillout’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Fillout on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
How do end users authenticate their Fillout account?
Truto handles the full Fillout auth flow for you — your users connect their account through a managed connection experience, and Truto manages token storage and refresh so you never touch credentials.
Can we receive Fillout submissions in real time?
Yes. You can programmatically register webhooks on any form a user has connected using create_a_fillout_webhook, and Truto will relay submission events to your endpoint. Webhooks can be removed cleanly via delete_a_fillout_webhook_by_id.
Can we read the structure of a form to build field mapping?
Yes. get_single_fillout_form_by_id returns the form's full schema including questions and their types, which is what you need to render a mapping UI between Fillout fields and your product's internal schema.
Can we backfill historical submissions when a user first connects?
Yes. list_all_fillout_form_submissions lets you page through all existing submissions for a given form, so you can seed your database with historical data before switching to webhooks for live events.
Can we push data into Fillout, not just read from it?
Yes. create_a_fillout_form_submission lets you programmatically create submissions in a user's Fillout form, which is useful for pre-fill flows, migrations, or pushing data captured elsewhere into Fillout as the source of truth.
Can users edit or delete submissions from inside our product?
You can fetch a submission with get_single_fillout_form_submission_by_id and expose the editLink it returns to let users jump directly into Fillout to edit. For removals, delete_a_fillout_form_submission_by_id lets you delete a submission on the user's behalf.
Fillout
Get Fillout integrated into your app
Our team understands what it takes to make a Fillout integration successful. A short, crisp 30 minute call with folks who understand the problem.