# Features Summary

**FM BetterForms** is a high-performance single-page web application (SPA) platform that allows FileMaker developers it easily build highly scalable responsive modern web apps.

## Features

* **Fully responsive UI**
  * allowing desktop, tablet and phone-compatible UX
  * Build installable progressive web apps (PWA's)
* **Multi-Mode Authentication System**
  * Authenticate via URL hash, or cookie
  * OAuth authentication with Auth0, Google and OKTA
  * Authenticate via username (email) and password
  * Enable web sign up, account creation
  * Developer Hooks for password reset and forgot password and email verification
* **Forms Processing and workflow engine**
  * Multiple page types including *plain* and *multi-step wizard* and *Master-Detail* base layouts.
  * Wizard form type supports multiple pages
  * In-browser client JS validation for common needs
  * Optional server-side validation on page / tab change of form via dev hooks (in FileMaker)
* **Action Scripts Processing Engine**&#x20;
  * Allows script-like workflow execution
  * Actions can automate nearly all aspects of the web application
  * Actions can be initiated from both the client browser and the FileMaker Server application.
* **Reactive JavaScript Calculation Engine**
  * Perform on-the-fly reactive calculations for nearly any element or parameter anywhere
  * Write full JS functions that can be called from any action
* Place layouts within modal card windows
* Multiple payment gateways for monetizing your app
* Hook scripts run local to the existing developer's app keeping all business logic together.
* **No Installation and Deployment**

  * Cloud-hosted SAAS application
  * Development, Staging and Production Environments
  * Code versioning and rollback apps easily
  * Single FileMaker Helper file for easy integration


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.klai.studio/v1/introduction.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
