# Feathery

Feathery is an AI-powered data intake workflow platform that enables users to build customizable forms with advanced logic and integrations.

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

## Tools

### Edit Feathery Account

**Slug:** `FEATHERY_ACCOUNT_EDIT`

Tool to edit an existing account’s role and permissions. Use when modifying account settings after confirming identity.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string ("admin" | "editor" | "viewer") | No | New role for the account. |
| `email` | string | No | The email of the account to edit. Required if account_id is not provided. |
| `account_id` | string | No | The UUID of the account to edit. Required if email is not provided. |
| `permission_edit_logic` | boolean | No | Allow editing custom logic rules. |
| `permission_edit_theme` | boolean | No | Allow editing form themes. |
| `permission_edit_form_results` | boolean | No | Allow editing form results. |
| `permission_invite_collaborators` | boolean | No | Allow inviting form collaborators. |
| `permission_edit_collaborator_template` | boolean | No | Allow editing collaborator settings. |

#### 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 Account Info

**Slug:** `FEATHERY_ACCOUNT_GET_INFO`

Tool to get your Feathery team name and list of accounts. Use when you need to fetch your team's account info.

#### 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 |

### Fill or sign document template

**Slug:** `FEATHERY_DOCUMENT_FILL_TEMPLATE`

Tool to fill or sign a Feathery document template. Use when you need to generate a completed or signed document file after mapping template fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | No | Associate an existing Feathery user with the generated document. |
| `document` | string | Yes | UUID of the document template to fill. |
| `field_values` | object | No | Mapping of field IDs to values to populate in the document. |
| `signer_email` | string | No | Email address to route the filled document for signature. |

#### 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 |

### List Document Envelopes

**Slug:** `FEATHERY_DOCUMENT_LIST_ENVELOPES`

Tool to list generated document envelopes by document or user ID. Use when you need to retrieve envelope records for auditing or tracking.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Document ID when type='document'; User ID when type='user'. |
| `type` | string ("document" | "user") | Yes | Lookup mode: 'document' to list envelopes by document ID; 'user' to list envelopes by user 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 |

### Create hidden field

**Slug:** `FEATHERY_FORM_CREATE_HIDDEN_FIELD`

Creates a new hidden field in the Feathery account. Hidden fields store non-visible data that can be populated via integrations, the API, embed SDK, or URL parameters. Use this to track metadata like UTM parameters, user IDs, or integration data. The field_id must be unique - use FEATHERY_FORM_LIST_HIDDEN_FIELDS first to check existing fields if unsure.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `field_id` | string | Yes | A unique identifier for the new hidden field. Must not already exist in the account. Returns a 400 error if the field_id already exists. |

#### 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

**Slug:** `FEATHERY_FORM_DELETE`

Permanently delete a form from your Feathery account. This action is irreversible. Use the 'List Forms' action first to get valid form IDs. The form_id corresponds to the 'id' field in the form list response.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `form_id` | string | Yes | The unique identifier of the form to delete. Get this from the 'List Forms' action. |
| `confirm_delete` | boolean | Yes | Safety confirmation flag. Must be set to true to proceed with deletion. |

#### 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 schema

**Slug:** `FEATHERY_FORM_GET_SCHEMA`

Retrieve the complete schema of a Feathery form including all steps, fields, rules, and translations. Use the List Forms action first to find the form_id. Returns detailed structure for understanding or manipulating form content.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `form_id` | string | Yes | The unique identifier of the Feathery form to retrieve. You can obtain this ID from the List Forms 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 |

### List Forms

**Slug:** `FEATHERY_FORM_LIST`

Tool to list all forms in your Feathery account. Use when you need to view or filter available forms.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | array | No | Only return forms that have all of these tags. |

#### 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 |

### List Hidden Fields

**Slug:** `FEATHERY_FORM_LIST_HIDDEN_FIELDS`

Tool to list all hidden form fields in the account. Use when you need to retrieve hidden field configuration before processing form submissions.

#### 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 |

### List API Connector Errors

**Slug:** `FEATHERY_LOG_LIST_API_CONNECTOR_ERRORS`

Tool to list recent API connector error logs for a form. Use after confirming the form ID to troubleshoot integration issues.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `form_id` | string | Yes | ID of the form to retrieve error logs for. |
| `end_time` | string | No | Only return errors before this ISO8601 timestamp. |
| `start_time` | string | No | Only return errors after this ISO8601 timestamp. |

#### 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 |

### List Email Issues

**Slug:** `FEATHERY_LOG_LIST_EMAIL_ISSUES`

Tool to list email bounce and complaint events. Use when you need to diagnose delivery issues for sent emails.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end_time` | string | No | Only return events occurring before this ISO 8601 timestamp. |
| `event_type` | string ("Bounce" | "Complaint") | No | Filter by event type. If omitted, returns both bounce and complaint events. |
| `start_time` | string | No | Only return events occurring at or after this ISO 8601 timestamp. |

#### 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 |

### List Email Logs

**Slug:** `FEATHERY_LOG_LIST_EMAILS`

Tool to list recently sent emails for a form. Use when you need to review email logs after sending form-based emails.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `form_id` | string | Yes | ID of the form to list email logs for |
| `end_time` | string | No | Only return emails sent before this time |
| `start_time` | string | No | Only return emails sent after this time |

#### 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 |

### List Quik Request Logs

**Slug:** `FEATHERY_LOG_LIST_QUICK_REQUESTS`

Tool to list recent Quik integration request logs for a form. Use when you need to review API requests sent to Quik for a specific form.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `form_id` | string | Yes | ID of the form whose Quik logs to retrieve |
| `end_time` | string | No | Only return requests made before this time (ISO 8601 format) |
| `start_time` | string | No | Only return requests made after this time (ISO 8601 format) |

#### 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 or Fetch User

**Slug:** `FEATHERY_USER_CREATE_OR_FETCH`

Tool to create a new user or fetch an existing one. Use when you need to ensure a user exists and get their SDK key.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Your unique user 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 User

**Slug:** `FEATHERY_USER_DELETE`

Tool to delete a specific user by ID. Use when you need to remove a user after confirming the user exists.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the user to delete. |

#### 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 All User Data

**Slug:** `FEATHERY_USER_GET_ALL_DATA`

Retrieve all stored data fields for a user or all field definitions in your Feathery account. Use this to fetch form field values submitted by users, or to list all available field definitions. Returns field metadata including type, value, timestamps, and whether it's a hidden field.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | User ID to filter fields for a specific user. If omitted, returns all field definitions in the account. |

#### 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 User Session

**Slug:** `FEATHERY_USER_GET_SESSION`

Tool to get a user's form session and progress. Use after authenticating and when you need to retrieve session data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | Unique user identifier to fetch session for. |

#### 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 |

### List Users

**Slug:** `FEATHERY_USER_LIST`

Tool to list all users in your Feathery account. Use when you need to retrieve users with optional creation time or field-based filters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `created_after` | string | No | ISO 8601 datetime to filter users created on or after this timestamp. |
| `created_before` | string | No | ISO 8601 datetime to filter users created on or before this timestamp. |
| `filter_field_id` | string | No | ID of a form field or hidden field to filter users by. Use with filter_field_value to find users that have a specific value for that field. |
| `filter_field_value` | string | No | Value to match for the specified filter_field_id. Required when filter_field_id is provided. |

#### 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 |

### Generate Workspace Login Token

**Slug:** `FEATHERY_WORKSPACE_GENERATE_LOGIN_TOKEN`

Generate a login JWT for a Feathery workspace. This is used for white-label integrations where users authenticate through your system and are automatically logged into Feathery. Prerequisites: - Obtain workspace_id from the list workspaces API or workspace creation - Obtain account_id from the 'Get Account Info' action The token is valid for 24 hours and can be refreshed by calling this endpoint again. Note: Returns empty token if workspaces feature is not enabled for the account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `account_id` | string | Yes | Unique identifier (UUID) of the account to authenticate. Obtain from the 'Get Account Info' action which returns account IDs. |
| `workspace_id` | string | Yes | Unique identifier (UUID) of the workspace. Obtain from the list workspaces endpoint or workspace creation response. |

#### 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 |
