# Feathery

```json
{
  "name": "Feathery",
  "slug": "feathery",
  "url": "https://composio.dev/toolkits/feathery",
  "markdown_url": "https://composio.dev/toolkits/feathery.md",
  "logo_url": "https://logos.composio.dev/api/feathery",
  "categories": [
    "workflow automation"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-09-24T11:06:57.307Z"
}
```

![Feathery logo](https://logos.composio.dev/api/feathery)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Feathery MCP or direct API to submit forms, fetch responses, update workflow data, and trigger custom automations through natural language.

## Summary

Feathery is an AI-powered platform for building dynamic data intake forms with advanced logic. It helps teams automate complex workflows and collect structured data with ease.

## Categories

- workflow automation

## Toolkit Details

- Tools: 19

## Images

- Logo: https://logos.composio.dev/api/feathery

## Authentication

- **Api Key**
  - Type: `api_key`
  - Description: Api Key authentication for Feathery.
  - Setup:
    - Configure Api Key credentials for Feathery.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- List all forms created this month
- Get schema for user registration form
- Fill document template with client details
- Show recent API connector errors for onboarding form

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `FEATHERY_ACCOUNT_EDIT` | Edit Feathery Account | Tool to edit an existing account’s role and permissions. Use when modifying account settings after confirming identity. |
| `FEATHERY_ACCOUNT_GET_INFO` | Get Account Info | Tool to get your Feathery team name and list of accounts. Use when you need to fetch your team's account info. |
| `FEATHERY_DOCUMENT_FILL_TEMPLATE` | Fill or sign document 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. |
| `FEATHERY_DOCUMENT_LIST_ENVELOPES` | List Document Envelopes | Tool to list generated document envelopes by document or user ID. Use when you need to retrieve envelope records for auditing or tracking. |
| `FEATHERY_FORM_CREATE_HIDDEN_FIELD` | 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. |
| `FEATHERY_FORM_DELETE` | Delete Form | 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. |
| `FEATHERY_FORM_GET_SCHEMA` | Get form 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. |
| `FEATHERY_FORM_LIST` | List Forms | Tool to list all forms in your Feathery account. Use when you need to view or filter available forms. |
| `FEATHERY_FORM_LIST_HIDDEN_FIELDS` | 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. |
| `FEATHERY_LOG_LIST_API_CONNECTOR_ERRORS` | 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. |
| `FEATHERY_LOG_LIST_EMAIL_ISSUES` | List Email Issues | Tool to list email bounce and complaint events. Use when you need to diagnose delivery issues for sent emails. |
| `FEATHERY_LOG_LIST_EMAILS` | List Email Logs | Tool to list recently sent emails for a form. Use when you need to review email logs after sending form-based emails. |
| `FEATHERY_LOG_LIST_QUICK_REQUESTS` | List Quik Request Logs | 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. |
| `FEATHERY_USER_CREATE_OR_FETCH` | Create or Fetch User | 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. |
| `FEATHERY_USER_DELETE` | Delete User | Tool to delete a specific user by ID. Use when you need to remove a user after confirming the user exists. |
| `FEATHERY_USER_GET_ALL_DATA` | Get All User 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. |
| `FEATHERY_USER_GET_SESSION` | Get User Session | Tool to get a user's form session and progress. Use after authenticating and when you need to retrieve session data. |
| `FEATHERY_USER_LIST` | List Users | Tool to list all users in your Feathery account. Use when you need to retrieve users with optional creation time or field-based filters. |
| `FEATHERY_WORKSPACE_GENERATE_LOGIN_TOKEN` | Generate Workspace 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. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK, the OpenAI provider, and the OpenAI SDK
```python
pip install composio composio_openai openai
```

```typescript
npm install @composio/core @composio/openai openai
```

#### Path 1, Step 2: Create a Composio session

Initialize Composio with the OpenAI Responses provider and create a session scoped to Feathery
```python
import json
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
client = OpenAI()

session = composio.create(user_id="your-user-id", toolkits=["feathery"])
tools = session.tools()
```

```typescript
import OpenAI from "openai";
import { Composio } from "@composio/core";
import { OpenAIResponsesProvider } from "@composio/openai";

const composio = new Composio({ provider: new OpenAIResponsesProvider() });
const client = new OpenAI();

const session = await composio.create("your-user-id", { toolkits: ["feathery"] });
const tools = await session.tools();
```

#### Path 1, Step 3: Run Feathery tools with your agent

Send a request, execute the Feathery tool calls through the session, and print the final answer
```python
response = client.responses.create(
    model="gpt-5.6-sol",
    tools=tools,
    input=[{"role": "user", "content": "List all forms created this month"}],
)

while True:
    tool_calls = [o for o in response.output if o.type == "function_call"]
    if not tool_calls:
        break
    results = composio.provider.handle_tool_calls(response=response, session=session)
    response = client.responses.create(
        model="gpt-5.6-sol",
        tools=tools,
        previous_response_id=response.id,
        input=[
            {"type": "function_call_output", "call_id": call.call_id, "output": json.dumps(results[i])}
            for i, call in enumerate(tool_calls)
        ],
    )

print(response.output_text)
```

```typescript
let response = await client.responses.create({
  model: "gpt-5.6-sol",
  tools,
  input: [{ role: "user", content: "List all forms created this month" }],
});

while (response.output.some((o) => o.type === "function_call")) {
  const outputs = await composio.provider.handleToolCalls(session, response.output);
  response = await client.responses.create({
    model: "gpt-5.6-sol",
    tools,
    previous_response_id: response.id,
    input: outputs,
  });
}

console.log(response.output_text);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK and your agent framework
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/mcp @ai-sdk/openai
```

#### Path 2, Step 2: Create a session with MCP enabled

Create a session scoped to Feathery and read its MCP URL and headers
```python
from composio import Composio

composio = Composio()
session = composio.create(user_id="your-user-id", toolkits=["feathery"], mcp=True)
```

```typescript
import { Composio } from "@composio/core";

const composio = new Composio();
const { mcp } = await composio.create("your-user-id", {
  toolkits: ["feathery"],
  mcp: true,
});
```

#### Path 2, Step 3: Connect your agent to the MCP server

Pass the session's MCP URL and headers to your agent and run a Feathery request
```python
import asyncio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions, AssistantMessage, TextBlock

options = ClaudeAgentOptions(
    mcp_servers={
        "composio": {
            "type": "http",
            "url": session.mcp.url,
            "headers": session.mcp.headers,
        }
    },
    system_prompt="You are a helpful assistant with access to Feathery tools.",
    tools=[],
    allowed_tools=["mcp__composio__*"],
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query("List all forms created this month")
        async for message in client.receive_response():
            if isinstance(message, AssistantMessage):
                for block in message.content:
                    if isinstance(block, TextBlock):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { createMCPClient } from "@ai-sdk/mcp";
import { openai } from "@ai-sdk/openai";
import { generateText, stepCountIs } from "ai";

const client = await createMCPClient({
  transport: { type: "http", url: mcp.url, headers: mcp.headers },
});

const { text } = await generateText({
  model: openai("gpt-5.6-sol"),
  tools: await client.tools(),
  prompt: "List all forms created this month",
  stopWhen: stepCountIs(10),
});

console.log(text);
await client.close();
```

## Why Use Composio?

### 1. AI Native Feathery Integration

- Supports both Feathery MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable tool execution
- Rich coverage for reading, writing, and querying your Feathery data

### 2. Managed Auth

- Built-in OAuth handling with automatic token refresh and rotation
- Central place to manage, scope, and revoke Feathery access
- Per user and per environment credentials instead of hard-coded keys

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Feathery
- Scoped, least privilege access to Feathery resources
- Full audit trail of agent actions to support review and compliance

## Use Feathery with any AI Agent Framework

Choose a framework you want to connect Feathery with:

- [Claude Code](https://composio.dev/toolkits/feathery/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/feathery/framework/claude-cowork)
- [OpenAI Agents SDK](https://composio.dev/toolkits/feathery/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/feathery/framework/claude-agents-sdk)
- [Codex](https://composio.dev/toolkits/feathery/framework/codex)
- [OpenClaw](https://composio.dev/toolkits/feathery/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/feathery/framework/hermes-agent)
- [Atomic Agent](https://composio.dev/toolkits/feathery/framework/atomic-agent)
- [Google ADK](https://composio.dev/toolkits/feathery/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/feathery/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/feathery/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/feathery/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/feathery/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/feathery/framework/crew-ai)
- [Pydantic AI](https://composio.dev/toolkits/feathery/framework/pydantic-ai)
- [AutoGen](https://composio.dev/toolkits/feathery/framework/autogen)

## Related Toolkits

- [0CodeKit](https://composio.dev/toolkits/0codekit) - 0CodeKit is a utility API platform for AI, document, image, and data workflows. Use it to convert, validate, generate, store, and automate data without custom backend code.
- [Airtop](https://composio.dev/toolkits/airtop) - Airtop is a cloud browser platform for AI-powered web automation. Use it to navigate sites, extract data, and run reusable browser workflows.
- [Apify MCP](https://composio.dev/toolkits/apify_mcp) - Apify MCP is the official MCP server for Apify's web scraping and browser automation platform. Use it to run actors, collect structured web data, and automate crawling workflows.
- [Apilio](https://composio.dev/toolkits/apilio) - Apilio is a home automation platform that lets you connect and control smart devices from different brands. It helps you build flexible automations with complex conditions, schedules, and integrations.
- [Basin](https://composio.dev/toolkits/basin) - Basin is a no-code form backend for quickly setting up reliable contact forms. It lets you collect and manage form submissions without writing any server-side code.
- [Bika.ai](https://composio.dev/toolkits/bika) - Bika.ai is an AI automation database platform for managing spaces, teams, records, automations, and outgoing webhooks. It helps teams organize structured data and automate database-driven workflows in one place.
- [Botster](https://composio.dev/toolkits/botster) - Botster is a web automation service for running configurable data collection bots. Use it to collect structured web data without building and maintaining scrapers yourself.
- [Bouncer](https://composio.dev/toolkits/bouncer) - Bouncer is an email validation platform that verifies the authenticity of email addresses in real-time and batch. It helps boost deliverability and reduce bounce rates for your communications.
- [BrowserAct](https://composio.dev/toolkits/browseract) - BrowserAct is a hosted browser-automation service for running web workflows. Use it to execute repeatable browser tasks with templates, proxies, and APIs.
- [Celigo](https://composio.dev/toolkits/celigo) - Celigo is an integration platform as a service for connecting apps, data, and business workflows. It helps teams automate cross-system processes without building every integration from scratch.
- [CheckFlow](https://composio.dev/toolkits/checkflow) - CheckFlow is a workflow and checklist platform for repeatable processes, tasks, templates, teams, data sets, and automation. Use it to standardize operations, track process execution, and keep teams aligned.
- [Conveyor](https://composio.dev/toolkits/conveyor) - Conveyor is a platform that automates security reviews with a Trust Center and AI-driven questionnaire automation. It streamlines compliance and vendor security processes for faster, hassle-free reviews.
- [CrewAI](https://composio.dev/toolkits/crew_ai) - CrewAI is a platform for running deployed automations and managing AMP control-plane resources. Use it to automate workflows and centrally control SaaS automation resources.
- [Cronfree Time Scheduler](https://composio.dev/toolkits/cronfree_time_scheduler) - Cronfree Time Scheduler is an API-based scheduler for recurring webhook calls. Use it to create and remove timezone-aware schedules without running cron.
- [Crowdin](https://composio.dev/toolkits/crowdin) - Crowdin is a localization management platform that streamlines translation workflows and collaboration. It helps teams centralize multilingual content, boost productivity, and automate translation processes.
- [Databox](https://composio.dev/toolkits/databox) - Databox is a business analytics platform that connects your data from any tool and device. It helps you track KPIs, build dashboards, and discover actionable insights.
- [Detrack](https://composio.dev/toolkits/detrack) - Detrack is a delivery management platform for real-time tracking and proof of delivery. It helps businesses automate notifications and keep customers updated every step of the way.
- [Dify](https://composio.dev/toolkits/dify) - Dify is a platform for running and managing published workflow apps via a Service API. Use it to execute workflows and inspect configuration and run history quickly.
- [Digital Humani](https://composio.dev/toolkits/digital_humani) - Digital Humani is a reforestation API for browsing planting projects, submitting tree requests, and tracking planted trees. It helps teams connect climate action directly to products, campaigns, and customer experiences.
- [Dnsfilter](https://composio.dev/toolkits/dnsfilter) - Dnsfilter is a cloud-based DNS security and content filtering solution. It helps organizations block online threats and manage safe internet access with ease.

## Frequently Asked Questions

### Do I need my own developer credentials to use Feathery with Composio?

Yes, Feathery requires you to configure your own API key. Once set up, Composio handles secure credential storage and API request handling for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
