# Form Action

### Overview

The **Form Action Component** allows users to create web-based forms, collect form entries, and process submitted data dynamically. It provides a web link to the form and sends submitted data to an output port.

### Usage

This component is used to create forms with customizable fields and retrieve user responses for further processing in workflows.

#### Properties

| Property                      | Type      | Description                                                   |
| ----------------------------- | --------- | ------------------------------------------------------------- |
| `generateEntryOutPortOptions` | `boolean` | Enables dynamic generation of form entry output port options. |

#### Input Ports

| Port | Description                                                                  |
| ---- | ---------------------------------------------------------------------------- |
| `in` | Accepts form configurations such as title, fields, and CTA (Call-To-Action). |

#### Output Ports

| Port    | Description                             |
| ------- | --------------------------------------- |
| `form`  | Emits a web link to the generated form. |
| `entry` | Emits submitted form data.              |

#### Processing Logic

1. **Receives Form Configuration**:
   * Accepts form metadata including title, description, fields, and CTA button text.
2. **Generates Web Form**:
   * Creates a publicly accessible web link for the form.
3. **Handles Form Submissions**:
   * When a user submits the form, the entries are sent to the `entry` output port.
   * If JavaScript or CSS customization is included, it is applied to the form.
4. **Sends Response**:
   * Upon successful submission, the user is redirected to a thank-you message.

#### Output Data Schema

| Property        | Type     | Description                                       |
| --------------- | -------- | ------------------------------------------------- |
| `weblink`       | `string` | The URL of the generated web form.                |
| `title`         | `string` | The title of the form.                            |
| `description`   | `string` | The description of the form.                      |
| `fields`        | `object` | The defined input fields of the form.             |
| `cta`           | `string` | The label of the submit button.                   |
| `thanksMessage` | `string` | The thank-you message displayed after submission. |
| `entries`       | `object` | The form submission data.                         |

### Notes

* **Webhook-Based Execution**: Captures and processes form submissions in real-time.
* **Customizable Design**: Supports JavaScript and CSS customization.
* **Ideal for Data Collection**: Useful for surveys, feedback, and automation workflows.

This component is essential for workflows requiring automated form generation and user input processing.


---

# 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.appmixer.com/connector-configuration/utils/forms/form-action.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.
