> For the complete documentation index, see [llms.txt](https://docs.feathery.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.feathery.io/develop.md).

# Developers

- [React SDK](https://docs.feathery.io/develop/react.md): @feathery/react is a React library that allows you to embed Feathery forms, access form state, and modify form behavior.
- [API Guide](https://docs.feathery.io/develop/react/api-guide.md): @feathery/react's API guide
- [init()](https://docs.feathery.io/develop/react/api-guide/init.md): Async function that initializes Feathery
- [\<Form>](https://docs.feathery.io/develop/react/api-guide/form.md): React component that renders a Feathery form
- [contextRef](https://docs.feathery.io/develop/react/api-guide/form/contextref.md): ref object that can be used to access the context of a form
- [Event Handlers](https://docs.feathery.io/develop/react/api-guide/form/event-handlers.md): Pass event handlers as props to the \<Form> component to get access to the form at specific interaction points, including submission, errors, and more.
- [onSubmit()](https://docs.feathery.io/develop/react/api-guide/form/event-handlers/onsubmit.md): This event handler runs when a step of the form is submitted.
- [onLoad()](https://docs.feathery.io/develop/react/api-guide/form/event-handlers/onload.md): This event handler runs when a step of the form is loaded.
- [onChange()](https://docs.feathery.io/develop/react/api-guide/form/event-handlers/onchange.md): This event handler runs when a field value is changed.
- [onAction()](https://docs.feathery.io/develop/react/api-guide/form/event-handlers/onaction.md): This event handler runs when any form action is triggered.
- [onError()](https://docs.feathery.io/develop/react/api-guide/form/event-handlers/onerror.md): This event handler runs when the form runs into a validation error.
- [onFormComplete()](https://docs.feathery.io/develop/react/api-guide/form/event-handlers/onformcomplete.md): This event handler runs when a user completes the entire form.
- [onView()](https://docs.feathery.io/develop/react/api-guide/form/event-handlers/onview.md): This event handler runs when a specific element becomes visible on the page.
- [Custom JSX Components](https://docs.feathery.io/develop/react/api-guide/form/custom-jsx-components.md): Embed custom JSX components into your Feathery form.
- [PopupOptions](https://docs.feathery.io/develop/react/api-guide/form/popupoptions.md): Configure your form to display above the rest of your site as a popup.
- [initialLoader](https://docs.feathery.io/develop/react/api-guide/form/initialloader.md): Options for a loader while your form initializes
- [getFieldValues()](https://docs.feathery.io/develop/react/api-guide/getfieldvalues.md): Function that fetches all of the field values of the current user of your form.
- [setFieldValues()](https://docs.feathery.io/develop/react/api-guide/setfieldvalues.md): setFieldValues allows you to set custom values for the current user of your form on specific form and hidden fields.
- [updateUserId()](https://docs.feathery.io/develop/react/api-guide/updateuserid.md): Change to a new user in your Feathery session or update the existing user's ID
- [Login API](https://docs.feathery.io/develop/react/api-guide/login-api.md): @feathery/react's login API guide
- [\<LoginForm>](https://docs.feathery.io/develop/react/api-guide/login-api/login-form.md): Similar to the \<Form> component but optimized to easily introduce login, signup, and onboarding functionality into your custom app.
- [useAuthClient()](https://docs.feathery.io/develop/react/api-guide/login-api/useauthclient.md): A React hook that returns the auth library corresponding to your chosen auth integration.
- [Inline vs Popup Form](https://docs.feathery.io/develop/react/inline-vs-popup-form.md): Your Feathery form can be shown inline with the rest of the document or above the rest of the document as a popup.
- [Javascript SDK](https://docs.feathery.io/develop/javascript.md): Feathery's Javascript library allows you to embed Feathery forms, access form state, and modify form behavior.
- [Context API](https://docs.feathery.io/develop/context-api.md): Common API functionality across advanced logic, event handlers, and the context ref.
- [Field Object](https://docs.feathery.io/develop/context-api/field-object.md)
- [field.setStyles()](https://docs.feathery.io/develop/context-api/field.setstyles.md): The API for setting field styles
- [Deprecated Context API](https://docs.feathery.io/develop/context-api/deprecated-context-api.md): Context functions that have been deprecated and will be fully removed in a future SDK release
- [MCP Server](https://docs.feathery.io/develop/mcp-server.md): Connect AI assistants like Claude and ChatGPT to Feathery to work with your forms, submissions, document extractions, meetings, and more.
- [Connect to the MCP Server](https://docs.feathery.io/develop/mcp-server/connect-to-the-mcp-server.md): Connect Claude, ChatGPT, Claude Code, Cursor, VS Code, Codex, and other AI tools to Feathery by signing in with your Feathery account or using an API key.
- [Supported Tools](https://docs.feathery.io/develop/mcp-server/supported-tools.md): Every tool Feathery MCP gives your AI assistant, what each one does, and which ones change data.
- [Security, Limits and Troubleshooting](https://docs.feathery.io/develop/mcp-server/security-limits-and-troubleshooting.md): How Feathery MCP access works, how to keep API keys safe, and how to fix common connection issues.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.feathery.io/develop.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
