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

# typeform

> Typeform - create and manage forms, retrieve responses, and configure webhooks

**Server path:** `/typeform` | **Type:** Application | **PCID required:** Yes

## Tools

| Tool                                                                      | Description                  |
| ------------------------------------------------------------------------- | ---------------------------- |
| [`typeform_create_form`](#typeform_create_form)                           | Create a form                |
| [`typeform_create_or_update_webhook`](#typeform_create_or_update_webhook) | Create or update a webhook   |
| [`typeform_delete_form`](#typeform_delete_form)                           | Delete a form                |
| [`typeform_delete_responses`](#typeform_delete_responses)                 | Delete form responses        |
| [`typeform_delete_webhook`](#typeform_delete_webhook)                     | Delete a webhook             |
| [`typeform_get_form`](#typeform_get_form)                                 | Retrieve a form              |
| [`typeform_get_theme`](#typeform_get_theme)                               | Retrieve a theme             |
| [`typeform_get_webhook`](#typeform_get_webhook)                           | Retrieve a webhook           |
| [`typeform_list_forms`](#typeform_list_forms)                             | List forms                   |
| [`typeform_list_responses`](#typeform_list_responses)                     | List form responses          |
| [`typeform_list_themes`](#typeform_list_themes)                           | List themes                  |
| [`typeform_list_webhooks`](#typeform_list_webhooks)                       | List webhooks for a form     |
| [`typeform_list_workspaces`](#typeform_list_workspaces)                   | List workspaces              |
| [`typeform_patch_form`](#typeform_patch_form)                             | Update a form (partial)      |
| [`typeform_update_form`](#typeform_update_form)                           | Update a form (full replace) |

***

## typeform\_create\_form

Create a form

**Parameters:**

| Parameter          | Type      | Required | Default | Description                              |
| ------------------ | --------- | -------- | ------- | ---------------------------------------- |
| `fields`           | object\[] | No       | —       | Array of form fields/questions           |
| `hidden`           | string\[] | No       | —       | Hidden fields to include in the form URL |
| `settings`         | object    | No       | —       | Form settings                            |
| `thankyou_screens` | object\[] | No       | —       | Thank you screen configurations          |
| `theme`            | object    | No       | —       | Theme to apply to the form               |
| `title`            | string    | Yes      | —       | Title of the form                        |
| `type`             | string    | No       | —       | Form type                                |
| `welcome_screens`  | object\[] | No       | —       | Welcome screen configurations            |
| `workspace`        | object    | No       | —       | Workspace to create the form in          |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "fields": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "description": "Question text"
            },
            "type": {
              "type": "string",
              "enum": [
                "short_text",
                "long_text",
                "email",
                "number",
                "date",
                "dropdown",
                "multiple_choice",
                "picture_choice",
                "ranking",
                "rating",
                "opinion_scale",
                "yes_no",
                "website",
                "phone_number",
                "legal",
                "file_upload",
                "payment",
                "statement",
                "contact_info",
                "group",
                "matrix"
              ],
              "description": "Field type"
            },
            "ref": {
              "type": "string",
              "description": "Custom reference ID for the field"
            },
            "properties": {
              "type": "object",
              "description": "Field-specific properties (e.g. choices, description, allow_multiple_selection)"
            },
            "validations": {
              "type": "object",
              "description": "Validation rules for the field"
            }
          },
          "required": [
            "title",
            "type"
          ]
        },
        "description": "Array of form fields/questions"
      },
      "hidden": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Hidden fields to include in the form URL"
      },
      "settings": {
        "type": "object",
        "description": "Form settings",
        "properties": {
          "language": {
            "type": "string",
            "description": "Language code (default en)"
          },
          "is_public": {
            "type": "boolean",
            "description": "Whether the form is publicly accessible"
          },
          "progress_bar": {
            "type": "string",
            "description": "Progress bar display type",
            "enum": [
              "percentage",
              "proportion"
            ]
          },
          "show_progress_bar": {
            "type": "boolean",
            "description": "Show Progress Bar"
          },
          "meta": {
            "type": "object",
            "description": "The meta value"
          }
        }
      },
      "thankyou_screens": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "description": "The title value"
            },
            "properties": {
              "type": "object",
              "description": "The properties value"
            }
          }
        },
        "description": "Thank you screen configurations"
      },
      "theme": {
        "type": "object",
        "description": "Theme to apply to the form",
        "properties": {
          "href": {
            "type": "string",
            "description": "Theme URL (e.g. https://api.typeform.com/themes/{theme_id})"
          }
        }
      },
      "title": {
        "type": "string",
        "description": "Title of the form"
      },
      "type": {
        "type": "string",
        "description": "Form type",
        "enum": [
          "quiz",
          "classification",
          "score",
          "branching",
          "classification_branching",
          "score_branching"
        ]
      },
      "welcome_screens": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "description": "The title value"
            },
            "properties": {
              "type": "object",
              "description": "The properties value"
            }
          }
        },
        "description": "Welcome screen configurations"
      },
      "workspace": {
        "type": "object",
        "description": "Workspace to create the form in",
        "properties": {
          "href": {
            "type": "string",
            "description": "Workspace URL (e.g. https://api.typeform.com/workspaces/{workspace_id})"
          }
        }
      }
    },
    "required": [
      "PCID",
      "title"
    ]
  }
  ```
</Expandable>

***

## typeform\_create\_or\_update\_webhook

Create or update a webhook

**Parameters:**

| Parameter     | Type    | Required | Default | Description                                                                                                                                                              |
| ------------- | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `form_id`     | string  | Yes      | —       | Unique ID for the form                                                                                                                                                   |
| `tag`         | string  | Yes      | —       | Unique name/tag for the webhook                                                                                                                                          |
| `enabled`     | boolean | Yes      | —       | Whether the webhook should send responses immediately                                                                                                                    |
| `event_types` | object  | No       | —       | Event types to subscribe to (e.g. form\_response, form\_response\_partial)                                                                                               |
| `secret`      | string  | No       | —       | Secret key for HMAC SHA256 payload signing                                                                                                                               |
| `url`         | string  | Yes      | —       | URL to send webhook payloads to. New webhook URLs must use HTTPS. Legacy HTTP webhooks may continue to work, but the URL cannot be changed to a different HTTP endpoint. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "form_id": {
        "type": "string",
        "description": "Unique ID for the form"
      },
      "tag": {
        "type": "string",
        "description": "Unique name/tag for the webhook"
      },
      "enabled": {
        "type": "boolean",
        "description": "Whether the webhook should send responses immediately"
      },
      "event_types": {
        "type": "object",
        "description": "Event types to subscribe to (e.g. form_response, form_response_partial)"
      },
      "secret": {
        "type": "string",
        "description": "Secret key for HMAC SHA256 payload signing"
      },
      "url": {
        "type": "string",
        "description": "URL to send webhook payloads to. New webhook URLs must use HTTPS. Legacy HTTP webhooks may continue to work, but the URL cannot be changed to a different HTTP endpoint."
      }
    },
    "required": [
      "PCID",
      "form_id",
      "tag",
      "enabled",
      "url"
    ]
  }
  ```
</Expandable>

***

## typeform\_delete\_form

Delete a form

**Parameters:**

| Parameter | Type   | Required | Default | Description            |
| --------- | ------ | -------- | ------- | ---------------------- |
| `form_id` | string | Yes      | —       | Unique ID for the form |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "form_id": {
        "type": "string",
        "description": "Unique ID for the form"
      }
    },
    "required": [
      "PCID",
      "form_id"
    ]
  }
  ```
</Expandable>

***

## typeform\_delete\_responses

Delete form responses

**Parameters:**

| Parameter               | Type   | Required | Default | Description                                                 |
| ----------------------- | ------ | -------- | ------- | ----------------------------------------------------------- |
| `form_id`               | string | Yes      | —       | Unique ID for the form                                      |
| `included_response_ids` | string | Yes      | —       | Comma-separated list of response IDs to delete (up to 1000) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "form_id": {
        "type": "string",
        "description": "Unique ID for the form"
      },
      "included_response_ids": {
        "type": "string",
        "description": "Comma-separated list of response IDs to delete (up to 1000)"
      }
    },
    "required": [
      "PCID",
      "form_id",
      "included_response_ids"
    ]
  }
  ```
</Expandable>

***

## typeform\_delete\_webhook

Delete a webhook

**Parameters:**

| Parameter | Type   | Required | Default | Description                              |
| --------- | ------ | -------- | ------- | ---------------------------------------- |
| `form_id` | string | Yes      | —       | Unique ID for the form                   |
| `tag`     | string | Yes      | —       | Unique name/tag of the webhook to delete |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "form_id": {
        "type": "string",
        "description": "Unique ID for the form"
      },
      "tag": {
        "type": "string",
        "description": "Unique name/tag of the webhook to delete"
      }
    },
    "required": [
      "PCID",
      "form_id",
      "tag"
    ]
  }
  ```
</Expandable>

***

## typeform\_get\_form

Retrieve a form

**Parameters:**

| Parameter | Type   | Required | Default | Description                                    |
| --------- | ------ | -------- | ------- | ---------------------------------------------- |
| `form_id` | string | Yes      | —       | Unique ID for the form (found in the form URL) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "form_id": {
        "type": "string",
        "description": "Unique ID for the form (found in the form URL)"
      }
    },
    "required": [
      "PCID",
      "form_id"
    ]
  }
  ```
</Expandable>

***

## typeform\_get\_theme

Retrieve a theme

**Parameters:**

| Parameter  | Type   | Required | Default | Description             |
| ---------- | ------ | -------- | ------- | ----------------------- |
| `theme_id` | string | Yes      | —       | Unique ID for the theme |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "theme_id": {
        "type": "string",
        "description": "Unique ID for the theme"
      }
    },
    "required": [
      "PCID",
      "theme_id"
    ]
  }
  ```
</Expandable>

***

## typeform\_get\_webhook

Retrieve a webhook

**Parameters:**

| Parameter | Type   | Required | Default | Description                    |
| --------- | ------ | -------- | ------- | ------------------------------ |
| `form_id` | string | Yes      | —       | Unique ID for the form         |
| `tag`     | string | Yes      | —       | Unique name/tag of the webhook |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "form_id": {
        "type": "string",
        "description": "Unique ID for the form"
      },
      "tag": {
        "type": "string",
        "description": "Unique name/tag of the webhook"
      }
    },
    "required": [
      "PCID",
      "form_id",
      "tag"
    ]
  }
  ```
</Expandable>

***

## typeform\_list\_forms

List forms

**Parameters:**

| Parameter      | Type    | Required | Default | Description                                                 |
| -------------- | ------- | -------- | ------- | ----------------------------------------------------------- |
| `search`       | string  | No       | —       | Filter results to forms containing this string in the title |
| `page`         | integer | No       | —       | Page number to retrieve (default 1)                         |
| `page_size`    | integer | No       | —       | Number of results per page (default 10, max 200)            |
| `workspace_id` | string  | No       | —       | Filter forms by workspace ID                                |
| `sort_by`      | string  | No       | —       | Field to sort by                                            |
| `order_by`     | string  | No       | —       | Sort order                                                  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "search": {
        "type": "string",
        "description": "Filter results to forms containing this string in the title"
      },
      "page": {
        "type": "integer",
        "description": "Page number to retrieve (default 1)"
      },
      "page_size": {
        "type": "integer",
        "description": "Number of results per page (default 10, max 200)"
      },
      "workspace_id": {
        "type": "string",
        "description": "Filter forms by workspace ID"
      },
      "sort_by": {
        "type": "string",
        "description": "Field to sort by",
        "enum": [
          "created_at",
          "last_updated_at"
        ]
      },
      "order_by": {
        "type": "string",
        "description": "Sort order",
        "enum": [
          "asc",
          "desc"
        ]
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## typeform\_list\_responses

List form responses

**Parameters:**

| Parameter               | Type    | Required | Default | Description                                                                             |
| ----------------------- | ------- | -------- | ------- | --------------------------------------------------------------------------------------- |
| `form_id`               | string  | Yes      | —       | Unique ID for the form                                                                  |
| `page_size`             | integer | No       | —       | Maximum number of responses to retrieve (default 25, max 1000)                          |
| `since`                 | string  | No       | —       | Filter responses submitted after this date (ISO 8601 or Unix timestamp)                 |
| `until`                 | string  | No       | —       | Filter responses submitted before this date (ISO 8601 or Unix timestamp)                |
| `after`                 | string  | No       | —       | Pagination cursor — retrieve responses after this token (mutually exclusive with sort)  |
| `before`                | string  | No       | —       | Pagination cursor — retrieve responses before this token (mutually exclusive with sort) |
| `included_response_ids` | string  | No       | —       | Comma-separated list of response IDs to include                                         |
| `excluded_response_ids` | string  | No       | —       | Comma-separated list of response IDs to exclude                                         |
| `response_type`         | string  | No       | —       | Filter by response type: started, partial, or completed                                 |
| `sort`                  | string  | No       | —       | Sort responses in format: \{fieldID},\{asc\|desc}                                       |
| `query`                 | string  | No       | —       | Search string to filter across all answers and fields                                   |
| `fields`                | string  | No       | —       | Comma-separated field IDs — only show answers for these fields                          |
| `answered_fields`       | string  | No       | —       | Comma-separated field IDs — only return responses that answered these fields            |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "form_id": {
        "type": "string",
        "description": "Unique ID for the form"
      },
      "page_size": {
        "type": "integer",
        "description": "Maximum number of responses to retrieve (default 25, max 1000)"
      },
      "since": {
        "type": "string",
        "description": "Filter responses submitted after this date (ISO 8601 or Unix timestamp)"
      },
      "until": {
        "type": "string",
        "description": "Filter responses submitted before this date (ISO 8601 or Unix timestamp)"
      },
      "after": {
        "type": "string",
        "description": "Pagination cursor — retrieve responses after this token (mutually exclusive with sort)"
      },
      "before": {
        "type": "string",
        "description": "Pagination cursor — retrieve responses before this token (mutually exclusive with sort)"
      },
      "included_response_ids": {
        "type": "string",
        "description": "Comma-separated list of response IDs to include"
      },
      "excluded_response_ids": {
        "type": "string",
        "description": "Comma-separated list of response IDs to exclude"
      },
      "response_type": {
        "type": "string",
        "description": "Filter by response type: started, partial, or completed",
        "enum": [
          "started",
          "partial",
          "completed"
        ]
      },
      "sort": {
        "type": "string",
        "description": "Sort responses in format: {fieldID},{asc|desc}"
      },
      "query": {
        "type": "string",
        "description": "Search string to filter across all answers and fields"
      },
      "fields": {
        "type": "string",
        "description": "Comma-separated field IDs — only show answers for these fields"
      },
      "answered_fields": {
        "type": "string",
        "description": "Comma-separated field IDs — only return responses that answered these fields"
      }
    },
    "required": [
      "PCID",
      "form_id"
    ]
  }
  ```
</Expandable>

***

## typeform\_list\_themes

List themes

**Parameters:**

| Parameter   | Type    | Required | Default | Description                                      |
| ----------- | ------- | -------- | ------- | ------------------------------------------------ |
| `page`      | integer | No       | —       | Page number to retrieve (default 1)              |
| `page_size` | integer | No       | —       | Number of results per page (default 10, max 200) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "page": {
        "type": "integer",
        "description": "Page number to retrieve (default 1)"
      },
      "page_size": {
        "type": "integer",
        "description": "Number of results per page (default 10, max 200)"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## typeform\_list\_webhooks

List webhooks for a form

**Parameters:**

| Parameter | Type   | Required | Default | Description            |
| --------- | ------ | -------- | ------- | ---------------------- |
| `form_id` | string | Yes      | —       | Unique ID for the form |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "form_id": {
        "type": "string",
        "description": "Unique ID for the form"
      }
    },
    "required": [
      "PCID",
      "form_id"
    ]
  }
  ```
</Expandable>

***

## typeform\_list\_workspaces

List workspaces

**Parameters:**

| Parameter   | Type    | Required | Default | Description                                      |
| ----------- | ------- | -------- | ------- | ------------------------------------------------ |
| `search`    | string  | No       | —       | Filter workspaces containing this string         |
| `page`      | integer | No       | —       | Page number to retrieve (default 1)              |
| `page_size` | integer | No       | —       | Number of results per page (default 10, max 200) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "search": {
        "type": "string",
        "description": "Filter workspaces containing this string"
      },
      "page": {
        "type": "integer",
        "description": "Page number to retrieve (default 1)"
      },
      "page_size": {
        "type": "integer",
        "description": "Number of results per page (default 10, max 200)"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## typeform\_patch\_form

Update a form (partial)

**Parameters:**

| Parameter | Type      | Required | Default | Description                    |
| --------- | --------- | -------- | ------- | ------------------------------ |
| `form_id` | string    | Yes      | —       | Unique ID for the form         |
| `body`    | object\[] | Yes      | —       | Array of JSON Patch operations |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "form_id": {
        "type": "string",
        "description": "Unique ID for the form"
      },
      "body": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "op": {
              "type": "string",
              "enum": [
                "replace"
              ],
              "description": "Patch operation"
            },
            "path": {
              "type": "string",
              "description": "Path to the field to update (e.g. /title, /theme, /settings/is_public, /workspace)"
            },
            "value": {
              "description": "New value for the field"
            }
          },
          "required": [
            "op",
            "path"
          ]
        },
        "description": "Array of JSON Patch operations"
      }
    },
    "required": [
      "PCID",
      "form_id",
      "body"
    ]
  }
  ```
</Expandable>

***

## typeform\_update\_form

Update a form (full replace)

**Parameters:**

| Parameter          | Type      | Required | Default | Description                                                           |
| ------------------ | --------- | -------- | ------- | --------------------------------------------------------------------- |
| `form_id`          | string    | Yes      | —       | Unique ID for the form                                                |
| `fields`           | object\[] | Yes      | —       | All fields for the form (include existing field IDs to preserve them) |
| `hidden`           | string\[] | No       | —       | The hidden value                                                      |
| `logic`            | object\[] | No       | —       | The logic value                                                       |
| `settings`         | object    | No       | —       | The settings value                                                    |
| `thankyou_screens` | object\[] | No       | —       | Thankyou Screens                                                      |
| `theme`            | object    | No       | —       | The theme value                                                       |
| `title`            | string    | Yes      | —       | Title of the form                                                     |
| `type`             | string    | No       | —       | Form type                                                             |
| `welcome_screens`  | object\[] | No       | —       | Welcome Screens                                                       |
| `workspace`        | object    | No       | —       | The workspace value                                                   |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "form_id": {
        "type": "string",
        "description": "Unique ID for the form"
      },
      "fields": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "Existing field ID (required to preserve the field and its responses)"
            },
            "title": {
              "type": "string",
              "description": "The title value"
            },
            "type": {
              "type": "string",
              "description": "The type value"
            },
            "ref": {
              "type": "string",
              "description": "The ref value"
            },
            "properties": {
              "type": "object",
              "description": "The properties value"
            },
            "validations": {
              "type": "object",
              "description": "The validations value"
            }
          }
        },
        "description": "All fields for the form (include existing field IDs to preserve them)"
      },
      "hidden": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "The hidden value"
      },
      "logic": {
        "type": "array",
        "items": {
          "type": "object"
        },
        "description": "The logic value"
      },
      "settings": {
        "type": "object",
        "description": "The settings value"
      },
      "thankyou_screens": {
        "type": "array",
        "items": {
          "type": "object"
        },
        "description": "Thankyou Screens"
      },
      "theme": {
        "type": "object",
        "description": "The theme value",
        "properties": {
          "href": {
            "type": "string",
            "description": "The href value"
          }
        }
      },
      "title": {
        "type": "string",
        "description": "Title of the form"
      },
      "type": {
        "type": "string",
        "description": "Form type"
      },
      "welcome_screens": {
        "type": "array",
        "items": {
          "type": "object"
        },
        "description": "Welcome Screens"
      },
      "workspace": {
        "type": "object",
        "description": "The workspace value",
        "properties": {
          "href": {
            "type": "string",
            "description": "The href value"
          }
        }
      }
    },
    "required": [
      "PCID",
      "form_id",
      "fields",
      "title"
    ]
  }
  ```
</Expandable>
