> ## Documentation Index
> Fetch the complete documentation index at: https://veryfront.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Typeform

> Read forms and collect responses from Typeform

## At a glance

* **Availability**: Experimental ([how to enable](/cloud/integrations)).
* **Auth**: OAuth 2.0.
* **Connection**: A user authorizes the connection in the provider's consent screen.
* **Scopes**: `accounts:read`, `forms:read`, `responses:read`, `workspaces:read`, `offline`.
* **Docs**: [https://www.typeform.com/developers/get-started/applications/](https://www.typeform.com/developers/get-started/applications/)

## Credentials

Set these per environment. See [Connect an integration](/cloud/integrations).

With a managed OAuth app, Connect works without these variables; set them to use your own OAuth app instead.

| Variable                 | Required | Description                                                                                         |
| ------------------------ | -------- | --------------------------------------------------------------------------------------------------- |
| `TYPEFORM_CLIENT_ID`     | Yes      | Typeform OAuth Client ID [Docs](https://www.typeform.com/developers/get-started/applications/).     |
| `TYPEFORM_CLIENT_SECRET` | Yes      | Typeform OAuth Client Secret [Docs](https://www.typeform.com/developers/get-started/applications/). |

## Setup

1. **Create a Typeform developer app**: Sign in at [https://admin.typeform.com](https://admin.typeform.com), open your account settings, and register an OAuth application (free accounts can create apps for testing).
2. **Set the redirect URI**: Add your deployment's /api/auth/typeform/callback URL as the app's redirect URI.
3. **Set environment variables**: Copy the Client ID and Client Secret into TYPEFORM\_CLIENT\_ID and TYPEFORM\_CLIENT\_SECRET in your .env.
4. **Connect and verify**: Complete the OAuth consent flow, then run Get Me and List Forms to confirm access.

* The 'offline' scope is required to receive a refresh token; without it access expires and the user must reauthorize
* Token requests send client\_id and client\_secret as URL-encoded form fields in the POST body

Provider API reference: [https://www.typeform.com/developers/](https://www.typeform.com/developers/)

## Tools

| Tool            | Access | Description                                    |
| --------------- | ------ | ---------------------------------------------- |
| List Forms      | Read   | List forms in the account or a workspace       |
| Get Form        | Read   | Get a form definition including its fields     |
| List Responses  | Read   | List responses submitted to a form             |
| List Workspaces | Read   | List workspaces in the account                 |
| Get Me          | Read   | Get the authenticated Typeform account profile |

## Example prompts

* List my Typeform forms, then show the most recent responses for the one I pick and summarize the answers.
