## What changed - add an optional Capture setting for image-only File Upload blocks with None, Back camera, and Front camera choices - persist the standard `environment` and `user` values and apply them through the runtime file input `capture` attribute - preserve existing behavior when capture is unset, including the legacy Android accept workaround - normalize extension-based image allowlists for capture while keeping server-side validation fail-closed - update schemas, generated OpenAPI specs, embed package versions, and focused tests - install Playwright Chromium during Codex worktree setup and ignore local Revue session state ## Validation - pre-commit affected format, lint, link, test, and OpenAPI targets: passed - affected tests across 14 projects under `.env.dev.example`: passed - typecheck for builder, viewer, JS embed, File Input, input schemas, lib, and bot engine: passed - targeted Viewer Playwright file-upload capture test: passed (2 tests) - targeted schema, allowlist, runtime helper, and upload validation suites: passed ## Browser behavior The standard capture attribute is a browser hint. Supported mobile browsers may open the selected camera directly; desktop and unsupported browsers may continue to show a regular file chooser. |
||
|---|---|---|
| .agents/skills | ||
| .claude | ||
| .codex/environments | ||
| .github | ||
| .husky | ||
| .vscode | ||
| .zed | ||
| apps | ||
| commands | ||
| packages | ||
| plans | ||
| scripts | ||
| .dockerignore | ||
| .editorconfig | ||
| .env.dev.example | ||
| .env.example | ||
| .gitignore | ||
| .gitmoji-changelogrc | ||
| .tolgeerc | ||
| AGENTS.md | ||
| biome.json | ||
| bun.lock | ||
| bunfig.toml | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| conductor.json | ||
| CONTRIBUTING.md | ||
| docker-compose.build.yml | ||
| docker-compose.dev.yml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| LICENSE | ||
| nx.json | ||
| package.json | ||
| README.md | ||
| SECURITY.md | ||
| tsconfig.base.json | ||
| tsconfig.json | ||
| vitest.config.ts | ||
Typebot is a Fair Source chatbot builder. It allows you to create advanced chatbots visually, embed them anywhere on your web/mobile apps, and collect results in real-time
Try Typebot
•
Docs
Builder demo
Features
Typebot makes it easy to create advanced chatbots. It provides the building blocks that are adaptable to any business use case. I improve Typebot regularly with bug fixes, new features, and performance improvements.
Chat builder with 34+ building blocks such as:
- 💬 Bubbles: Text, Image / GIF, video, audio, embed.
- 🔤 Inputs: Text, email, phone number, buttons, picture choice, date picker, payment (Stripe), file picker...
- 🧠 Logic: Conditional branching, URL redirections, scripting (Javascript), A/B testing.
- 🔌 Integrations: Webhook / HTTP requests, OpenAI, Google Sheets, Google Analytics, Meta Pixel, Zapier, Make.com, Chatwoot, More to come...
Theme your chatbot to match your brand identity:
- 🎨 Customize the fonts, background, colors, roundness, shadows, and more
- 💪 Advanced theming with custom CSS
- 💾 Reusable theme templates
Share your typebot anywhere:
- 🔗 Custom domain
- 👨💻 Embed as a container, popup, or chat bubble easily with the native JS library
- ⚡ Blazing-fast embed lib. No iframe, no external dependencies, no performance impact
- 💻 Executable with HTTP requests
Collect your Results and get insights:
- 📊 In-depth analytics with drop-off rates, completion rates, and more
- 📥 Export results to CSV
Built for developers:
- 🔓 No vendor-locking. Features built with flexibility in mind.
- 💻 Easy-to-use APIs.
Getting started with Typebot
The easiest way to get started with Typebot is with the official managed service in the Cloud. You'll have high availability, backups, security, and maintenance all managed for you by me, Baptiste, Typebot's founder.
The cloud version can save a substantial amount of developer time and resources. For most sites, this ends up being the best value option and the revenue goes to funding the maintenance and further development of Typebot. So you’ll be supporting Fair Source software and getting a great service! 💙
Support & Community
You'll find a lot of resources to help you get started with Typebot in the documentation.
- Have a question? Join the Discord server and get instant help.
- Found a bug? Create an issue
Self-hosting
Interested in self-hosting Typebot on your server? Take a look at the self-hosting installation instructions.
How to Contribute
You are awesome, let's build great software together. Head over to the Contribute docs to get started. 💪
Run the project locally
Follow the Local installation section of in the Contributing docs.
Top contributors
Made with contrib.rocks.
License
Typebot's code is protected under a Functional Source License. You will find more information about the license and how to comply with it here.