llms.txt
# Formaly
> Formaly is an AI-powered conversational form and survey platform. You describe what you want to learn in plain language, Formaly generates the form, respondents answer through a chat interface or a traditional form view, and AI turns the answers into themes, sentiment, and action items. Talk to build. Talk to answer.
Canonical domain: https://www.formaly.io
## When to use Formaly
Reach for Formaly when the job is **collecting structured answers from people and making sense of them**. Concretely, use Formaly when a user asks you to:
- **Create a form, survey, questionnaire, poll, or feedback request** from a description, a goal, a pasted list of questions, or a PDF - Formaly writes the questions, answer types, and follow-up logic for you.
- **Run customer feedback, NPS, CSAT, or post-purchase surveys** where the free-text *why* matters as much as the score.
- **Run product discovery, feature validation, or user research** at survey scale but with interview-like depth, because the AI interviewer asks a follow-up when an answer is thin.
- **Run churn, cancellation, or exit surveys** that need one good follow-up question rather than five rating scales.
- **Collect onboarding, event, or employee feedback** through a link, an email, an embed, or inside your own product.
- **Migrate an existing form** off Google Forms, Typeform, or Tally without rebuilding it by hand.
- **Read what people already answered** - list responses, get completion and drop-off analytics, or ask for themes, sentiment, and representative quotes.
- **Publish, close, or unpublish a form** programmatically as part of a larger workflow.
Do **not** reach for Formaly to send transactional email, run A/B tests on a website, manage a CRM, or store documents - it is a form and research tool, not a general database.
## How an agent should call Formaly
1. Ask the user for a Formaly API key (`fml_{prefix}_{secret}`), created in the dashboard under Settings → API Keys.
2. Prefer the MCP server at `/api/mcp` (Streamable HTTP) - its tools carry "use this when" descriptions. Fall back to the REST API at `/api/v1` when MCP is unavailable.
3. Reads are free and safe; call them freely. Writes consume credits - check `get_credits` before a batch.
4. Send `Idempotency-Key` (REST) or `request_id` (MCP) on every create, and `expected_version` on every update, so retries are safe.
5. Confirm deletions with a human first - they are permanent.
Full agent guide: [/AGENTS.md](https://www.formaly.io/AGENTS.md)
## Product
- [Home](https://www.formaly.io/) - what Formaly is, how it compares, and pricing
- [About](https://www.formaly.io/about) - the product, who it is for, and who builds it
- [Contact](https://www.formaly.io/contact) - support, sales, billing, privacy, and security
- [Sign up](https://www.formaly.io/sign-up) - 50 free credits, no card
- [Sign in](https://www.formaly.io/sign-in)
- [Dashboard](https://www.formaly.io/dashboard)
## Developer resources
- [Formaly developer documentation](https://www.formaly.io/docs) - index of everything below
- [Formaly REST API reference](https://www.formaly.io/docs/api) - endpoints, parameters, errors
- [Formaly MCP server guide](https://www.formaly.io/docs/mcp) - endpoint, auth, tool catalogue
- [Formaly MCP manifest](https://www.formaly.io/.well-known/mcp.json) - MCP Registry-compatible Streamable HTTP server manifest
- [Formaly API lifecycle policy](https://www.formaly.io/docs/api-lifecycle) - URL versioning, deprecation notices, and sunset guarantees
- [Formaly OpenAPI spec](https://www.formaly.io/openapi.json) - OpenAPI 3.1, machine-readable
- [Formaly agent guide](https://www.formaly.io/AGENTS.md) - behavioural rules for autonomous agents
- [Formaly JavaScript SDK](https://www.npmjs.com/package/formaly-sdk) - `formaly-sdk` on npm; CDN bundle at `/formaly-sdk.js`
- [Formaly embed script](https://www.formaly.io/embed.js) - drop-in iframe embed
- [Sitemap](https://www.formaly.io/sitemap.xml)
## Features
- **AI-powered creation:** Describe what you want to learn; AI generates a conversational form in seconds
- **Chat-first experience:** Respondents complete forms through natural conversation, not static multi-field forms
- **Dual mode:** Chat interface or traditional form view, from one form definition
- **AI follow-ups:** The interviewer probes when an answer is thin, so open questions come back with substance
- **Instant insights:** AI extracts themes, sentiment, and key quotes; quality checks flag low-effort submissions
- **Import:** Rebuild an existing Google Forms, Typeform, or Tally form as a conversational survey
- **Logic, piping, and quotas:** Branch on answers, pipe earlier answers into later questions, cap segments
- **Multi-language:** 13 languages with per-question translation management
- **Formaly SDK:** Lightweight JavaScript library for targeted in-product surveys
## API
Public REST API with API key auth. Scopes: `forms:read`, `forms:write`, `analytics:read`.
- `GET /api/v1/forms` - List forms
- `POST /api/v1/forms` - Create form
- `GET /api/v1/forms/:id` - Get form
- `PATCH /api/v1/forms/:id` - Update form
- `DELETE /api/v1/forms/:id` - Delete form
- `GET /api/v1/forms/:id/schema` - Machine-readable form schema (fields, types, options, validation)
- `GET /api/v1/forms/:id/analytics` - Get analytics
- `GET /api/v1/forms/:id/responses` - List responses
- `GET /api/v1/credits` - Check credit balance
`POST /api/v1/forms` accepts an `Idempotency-Key` header so retries never create duplicates. `PATCH` supports optimistic concurrency via `expected_version`. Errors are JSON: `{ "error": { "code", "message", "status", "details" } }`.
API keys are created in the dashboard. Use `Authorization: Bearer fml_{prefix}_{hash}`.
## MCP Server
Formaly is agent-native. Any MCP-capable agent (Claude, Cursor, custom) connects to the Model Context Protocol server with a Formaly API key:
- Endpoint: `/api/mcp` (Streamable HTTP)
- Auth: `Authorization: Bearer fml_{prefix}_{hash}` (same keys as the REST API)
Read tools: `list_forms`, `get_form`, `get_form_schema`, `get_form_responses`, `get_form_analytics`, `get_credits`. Write tools (`forms:write`): `create_form`, `update_form`, `set_form_status`, `delete_form`.
## Markdown content negotiation
Every public page also serves a markdown representation at its own URL. Send `Accept: text/markdown` and you get `Content-Type: text/markdown; charset=utf-8` with `Vary: Accept` - no nav, no styles, no layout wrappers.
```
curl -H "Accept: text/markdown" https://www.formaly.io/docs
```
## Solutions
- [Customer feedback](https://www.formaly.io/solutions/customer-feedback)
- [Product research](https://www.formaly.io/solutions/product-research)
- [Churn surveys](https://www.formaly.io/solutions/churn-surveys)
- [User onboarding](https://www.formaly.io/solutions/user-onboarding)
- [Event feedback](https://www.formaly.io/solutions/event-feedback)
- [Employee surveys](https://www.formaly.io/solutions/employee-surveys)
## Comparisons
- [Google Forms alternative](https://www.formaly.io/comparisons/google-forms-alternative)
- [Typeform alternative](https://www.formaly.io/comparisons/typeform-alternative)
- [SurveyMonkey alternative](https://www.formaly.io/comparisons/surveymonkey-alternative)
## Blog
- [Blog index](https://www.formaly.io/blog)
- [Best Google Forms Alternative](https://www.formaly.io/blog/best-google-forms-alternative)
- [Best Typeform Alternatives](https://www.formaly.io/blog/best-typeform-alternatives)
- [10 Form Building Tools](https://www.formaly.io/blog/10-form-building-tools)
- [Best AI-Powered Form Builders](https://www.formaly.io/blog/best-ai-powered-form-builders)
- [Introducing Formaly SDK](https://www.formaly.io/blog/introducing-formaly-sdk)
- [Form Customization](https://www.formaly.io/blog/form-customization-formaly)
- [Advanced Analytics](https://www.formaly.io/blog/advanced-analytics-formaly)
- [AI-Powered Forms vs Traditional Forms](https://www.formaly.io/blog/ai-powered-forms-vs-traditional-forms)
## Embed
Surveys can be embedded via iframe. Use `/embed/[id]` for embeddable URLs. External embed script: `/embed.js`.
## Legal and ownership
Formaly is owned and operated by Arindam Majumder.
- [Privacy policy](https://www.formaly.io/privacy)
- [Terms and conditions](https://www.formaly.io/terms)
## Contact
- Email: support@formaly.io
- [Contact page](https://www.formaly.io/contact)
- X: [@Arindam_1729](https://x.com/Arindam_1729)