# Formdesk

Formdesk is an online form builder that allows users to create and manage professional online forms with flexible features and integrations.

- **Category:** forms & surveys
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 22
- **Triggers:** 0
- **Slug:** `FORMDESK`
- **Version:** 20260312_00

## Tools

### Validate Formdesk Authentication

**Slug:** `FORMDESK_AUTOMATIC_LOGIN`

Validates the Formdesk API bearer token and returns authentication details. This action confirms that your connected Formdesk account credentials are valid by making a test API call to the /forms endpoint. It returns the bearer token information that can be used for subsequent authenticated requests. **Important**: This does NOT perform username/password login. Formdesk uses API keys (bearer tokens) for authentication, which are obtained from your Formdesk account's User Management section. The username/password parameters are placeholders for API compatibility and are not used. **Use this action to**: - Verify that your Formdesk API credentials are valid - Retrieve the bearer token from your connected account - Confirm API connectivity before performing other operations **How it works**: 1. Uses the bearer token from your connected account metadata 2. Validates the token by calling the Formdesk /forms endpoint 3. Returns token details if validation succeeds

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `password` | string | No | Placeholder field (not used for authentication). The action validates the existing bearer token from metadata. |
| `username` | string | No | Placeholder field (not used for authentication). The action validates the existing bearer token from metadata. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Formdesk Entry

**Slug:** `FORMDESK_CREATE_ENTRY`

Submit a new entry (result) to a Formdesk form. This action creates a new form submission with the provided field values. Before using this action: 1. Use FORMDESK_GET_FORM_LIST to find the form ID 2. Use FORMDESK_GET_FORM_FIELDS to understand which fields the form expects 3. Prepare field values that match the form's schema The action returns the ID of the newly created entry, which can be used with FORMDESK_GET_ENTRY_DETAILS to retrieve the full entry data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fields` | object | Yes | Dictionary mapping field names to their values. Field names must match the form's field definitions (use FORMDESK_GET_FORM_FIELDS to retrieve field names for a form). Values should match the expected field types. At least one field is required. |
| `formId` | string | Yes | The unique identifier of the Formdesk form to submit an entry to. Use FORMDESK_GET_FORM_LIST to retrieve available forms and their IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Field

**Slug:** `FORMDESK_CREATE_FIELD`

Creates a new field in a Formdesk form. Use this action to add fields like text inputs, email fields, textareas, checkboxes, date pickers, etc. to an existing form. You must have the form ID from FORMDESK_GET_FORM_LIST or FORMDESK_GET_FORM_DETAILS before creating fields. The field definition should specify at minimum the field name, type, and label. Additional properties like 'required', 'placeholder', 'description', and 'default' can be included.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `field` | object | Yes | Field definition object containing the field properties. Common properties include: 'name' (field identifier, string), 'type' (field type like 'text', 'email', 'number', 'date', 'textarea', 'checkbox', etc.), 'label' (display label, string), 'required' (whether field is mandatory, boolean), 'placeholder' (placeholder text, string, optional), 'description' (help text, string, optional), 'default' (default value, optional). The exact structure and available types depend on Formdesk API specifications. |
| `formId` | string | Yes | Unique identifier of the form to add the field to |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Visitor

**Slug:** `FORMDESK_CREATE_VISITOR`

Tool to add a new visitor to a specific Formdesk form. Use when you need to register a visitor's metadata before submitting entries.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `formId` | string | Yes | Unique identifier of the form to which the visitor will be added |
| `visitor` | object | Yes | Key/value pairs of visitor attributes as defined in your Formdesk form. Common keys: 'name', 'email', 'firstName', 'lastName', etc. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Formdesk Entry

**Slug:** `FORMDESK_DELETE_ENTRY`

Deletes a specific entry (form submission/result) from a Formdesk form. This action is idempotent - it will succeed even if the entry doesn't exist (404), making it safe to call multiple times. Use this when you need to remove a form submission permanently. The entry can be obtained from GET_FORM_ENTRIES or GET_ENTRY_DETAILS actions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `formId` | string | Yes | Unique identifier of the form containing the entry to delete. Can be numeric or alphanumeric string. |
| `entryId` | string | Yes | Unique identifier of the specific entry/result to delete from the form. Can be numeric or alphanumeric string. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Field in Formdesk

**Slug:** `FORMDESK_DELETE_FIELD`

Tool to delete a specific field in a Formdesk form. Use after confirming formId and fieldId.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `form_id` | string | Yes | The unique identifier of the form containing the field to delete. |
| `field_id` | string | Yes | The unique identifier of the field to delete from the form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Form in Formdesk

**Slug:** `FORMDESK_DELETE_FORM`

Delete a specific form from Formdesk. This action permanently removes a form from the Formdesk account. Use with caution as this operation is destructive and cannot be undone. If the form ID does not exist, the action returns success=False with an appropriate message rather than raising an error. Returns success=True if the form was deleted, or success=False if the form was not found.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `form_id` | string | Yes | The unique identifier of the form to delete. Can be a UUID-format string or numeric ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Visitor in Formdesk

**Slug:** `FORMDESK_DELETE_VISITOR`

Deletes a specific visitor from a Formdesk form. This action is idempotent - it will succeed even if the visitor doesn't exist (404), making it safe to call multiple times. Use this to remove a visitor from a form's visitor list. Obtain valid form_id from GET_FORM_LIST and visitor_id from GET_FORM_VISITORS actions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `form_id` | string | Yes | The unique identifier of the form containing the visitor to delete. |
| `visitor_id` | string | Yes | The unique identifier of the visitor to delete from the form. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Field Details

**Slug:** `FORMDESK_GET_FIELD_DETAILS`

Retrieves comprehensive details about a specific field in a Formdesk form. Returns structured information including field ID, name, type (e.g., text, email, number), label, validation rules, and whether the field is required. Use this after obtaining formId from Get Form List and fieldId from Get Form Fields to inspect specific field properties, validation rules, or configuration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `formId` | string | Yes | Unique identifier of the form containing the field. Obtain this from Get Form List or Get Form Details actions. |
| `fieldId` | string | Yes | Unique identifier of the field to retrieve. Obtain this from Get Form Fields action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Form Details

**Slug:** `FORMDESK_GET_FORM_DETAILS`

Retrieves comprehensive details about a specific Formdesk form by its ID. Returns form metadata including name, description, active status, timestamps, public URL, and configuration settings. Use this when you need to inspect form properties or verify form existence before performing other operations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `formId` | string | Yes | Unique identifier of the form to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Form Fields

**Slug:** `FORMDESK_GET_FORM_FIELDS`

Tool to retrieve all fields of a specific form. Use after obtaining the formId to inspect its field definitions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `formId` | string | Yes | Unique identifier of the form whose fields are to be retrieved. Obtain this from FORMDESK_GET_FORM_LIST action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Form List

**Slug:** `FORMDESK_GET_FORM_LIST`

Retrieve a list of all forms in the Formdesk account. This action returns basic information about each form including its ID and name. Use the form ID with other actions (like Get Form Details, Get Form Fields, Get Form Entries) to access more detailed information about a specific form. No parameters are required - this action lists all forms accessible with the current authentication credentials.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Form Visitors

**Slug:** `FORMDESK_GET_FORM_VISITORS`

Retrieves all visitors registered to access a specific Formdesk form. Visitors are users who have been granted access to view or complete a form. This action returns visitor details including their credentials, permissions, and registration information. Use this when you need to list all visitors for a form or check visitor access rights. Note: First use 'Get Form List' to obtain valid form IDs if you don't have one.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `form_id` | string | Yes | The unique identifier of the form. Use Get Form List action to retrieve available form IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Visitor Details

**Slug:** `FORMDESK_GET_VISITOR_DETAILS`

Retrieve complete details of a specific visitor in a Formdesk form. A visitor represents a unique person or entity who can submit entries to a form. Visitors have attributes (name, email, custom fields) and can be associated with multiple form entries. Use this action to get full visitor information including all custom attributes defined in your form. Prerequisites: You must have both the form_id and visitor_id. Obtain these from: - form_id: Use 'Get Form List' action - visitor_id: Use 'Get Form Visitors' or 'Create Visitor' actions

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `form_id` | string | Yes | The unique numeric ID of the form that contains the visitor. Obtain this from Get Form List or Get Form Visitors actions. |
| `visitor_id` | string | Yes | The unique numeric ID of the visitor whose details you want to retrieve. Obtain this from Get Form Visitors or Create Visitor actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### KVK Handelsregister Lookup

**Slug:** `FORMDESK_KVK_HANDELSREGISTER_LOOKUP`

Tool to lookup company details from the Dutch KVK Handelsregister. Use when auto-filling company address fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `street` | string | No | Street name of the company's address |
| `kvkNumber` | string | No | KVK (Chamber of Commerce) number of the company |
| `postalCode` | string | No | Postal code of the company's address |
| `companyName` | string | No | Official registered company name |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Manage Visitor Entries

**Slug:** `FORMDESK_MANAGE_VISITOR_ENTRIES`

Retrieve form entries (submissions) from a Formdesk form. This action fetches submission data from a form's results database. You can: - List all entries in a form - Filter entries by visitor ID - Retrieve a specific entry by its ID Use cases: - View all form submissions - Track entries submitted by specific visitors - Retrieve detailed information about a specific submission Note: The form must exist and be accessible with your API credentials.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `form_id` | string | Yes | The unique identifier of the form. Form IDs can be obtained using the 'Get Form List' action. |
| `entry_id` | string | No | Optional: The unique identifier of a specific entry to retrieve. When provided, returns only that entry. Entry IDs can be obtained from the list of entries. |
| `visitor_id` | string | No | Optional: Filter entries to show only those submitted by a specific visitor. Visitor IDs can be obtained using the 'Get Form Visitors' action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Multi-Page Form

**Slug:** `FORMDESK_MULTIPLE_PAGES_FORM`

Tool to create a multi-page Formdesk form. Use when you need forms split into multiple pages for better user experience.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `form` | object | Yes | JSON payload representing the multi-page form structure according to Formdesk's schema |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Field

**Slug:** `FORMDESK_UPDATE_FIELD`

Updates properties of an existing field in a Formdesk form. This action modifies field configuration such as labels, types, validation rules, required status, placeholder text, help text, and default values. Only the properties specified in the request are updated; other properties remain unchanged (partial update). Use this when you need to: - Change a field's display label or help text - Modify field validation requirements - Update placeholder or default values - Change field type or options for select/radio fields - Toggle required/optional status Note: Requires valid form_id and field_id from existing Formdesk resources.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `formId` | string | Yes | Unique identifier of the form containing the field |
| `fieldId` | string | Yes | Unique identifier of the field to update |
| `properties` | object | Yes | Dictionary of field properties to update. Common updatable properties include: 'label' (field display label), 'type' (field type: text, email, number, etc.), 'required' (boolean for whether field is mandatory), 'placeholder' (placeholder text), 'helpText' (help text shown to users), 'defaultValue' (default field value), 'validation' (validation rules object), 'options' (array of options for select/radio fields). Pass only the properties you want to update - unspecified properties remain unchanged. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Form

**Slug:** `FORMDESK_UPDATE_FORM`

Updates properties of an existing form in Formdesk. Use this action to: - Rename a form - Activate or deactivate a form (control whether it accepts responses) - Update other form metadata At least one of 'name' or 'isActive' must be provided. Only specified fields will be updated; other properties will remain unchanged. Use GET_FORM_LIST to retrieve valid form IDs first.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | New name for the form. If not provided, the current name will be retained. |
| `formId` | string | Yes | Unique identifier of the form to update. Use GET_FORM_LIST to retrieve valid form IDs. |
| `isActive` | boolean | No | Whether the form should be active (visible and accepting responses) or inactive. If not provided, the current status will be retained. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Visitor

**Slug:** `FORMDESK_UPDATE_VISITOR`

Update an existing visitor's attributes in a Formdesk form. A visitor represents a unique person or entity who can submit entries to a form. This action modifies visitor attributes such as name, email, or custom fields. Only the attributes you specify will be updated; other attributes remain unchanged. Prerequisites: You must have both the form_id and visitor_id. Obtain these from: - form_id: Use 'Get Form List' action - visitor_id: Use 'Get Form Visitors', 'Create Visitor', or 'Get Visitor Details' actions Use Cases: - Update visitor contact information (email, phone, address) - Correct visitor name or other profile details - Modify custom visitor attributes defined in your form - Keep visitor records synchronized with external systems

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `formId` | string | Yes | The unique numeric ID of the form that contains the visitor. Obtain this from Get Form List or Get Form Visitors actions. |
| `visitor` | object | Yes | Dictionary of visitor attributes to update. Only include fields you want to change. Common attributes: 'firstName', 'lastName', 'email', 'name', plus any custom fields defined in your form. Field names must match the field identifiers in your Formdesk form configuration. |
| `visitorId` | string | Yes | The unique numeric ID of the visitor to update. Obtain this from Get Form Visitors, Create Visitor, or Get Visitor Details actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Webhook Integration

**Slug:** `FORMDESK_WEBHOOK_INTEGRATION`

Tool to send form submission data to external webhooks. Use after retrieving entry details to push data to a custom endpoint. Note: This action calls external webhooks directly, not Formdesk API, so it doesn't need the FormdeskBaseAction preprocessing.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `method` | string ("get" | "post" | "put" | "patch" | "delete") | No | HTTP method to use for the webhook call |
| `headers` | object | No | Optional HTTP headers to include in the webhook request |
| `payload` | object | Yes | JSON payload to send to the webhook endpoint |
| `webhook_url` | string | Yes | Destination webhook URL (must be a valid URI) |
| `query_params` | object | No | Optional query parameters for the webhook request |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
