Skip to main content

Typeform Component

Typeform is an online form builder that enables users to create interactive and engaging surveys, forms, and quizzes.

Component key: typeform ·
· Changelog ↓

Description

Typeform is an online form builder that enables users to create interactive and engaging surveys, forms, and quizzes.

Use the component to deploy forms and manage the responses in real time.

API Documentation

The component was built using the Typeform API References

Connections

OAuth 2.0

key: typeform-oauth2

To Generate an OAuth App:

  1. Log in to your account at Typeform.
  2. In the upper-left corner, click icon drop-down menu next to your organization name.
  3. Under Organization section, click Developer Apps.
  4. Click Register a new app.
  5. In the App Name field, type the name for your new app.
  6. In the App website field, type the complete URL for your app's homepage.
  7. In the Redirect URI(s) field, enter https://oauth2.prismatic.io/callback
  8. Click Register app.
  9. Enter the following into the connection configuration of your integration
    1. Scopes (Recommended): offline accounts:read forms:write forms:read images:write images:write images:read themes:write themes:read responses:read responses:write webhooks:read webhooks:write workspaces:read workspaces:write
    2. Client ID
    3. Client Secret
InputNotesExample
Authorize URL

The OAuth 2.0 Authorization URL for Typeform

https://api.typeform.com/oauth/authorize
Client ID
Client Secret
Scopes

A comma-delimited set of one or more scopes to get the user's permission to access. Refer to https://www.typeform.com/developers/get-started/scopes/

offline accounts:read forms:write forms:read images:write images:write images:read themes:write themes:read responses:read responses:write webhooks:read webhooks:write workspaces:read workspaces:write
Token URL

The OAuth 2.0 Token URL for Typeform

https://api.typeform.com/oauth/token

Personal Token

key: typeform-personal-token

To Generate a Personal Access Token:

  1. Log in to your account at Typeform.
  2. In the upper-left corner, in the drop-down menu next to your username, click Account.
  3. In the left menu, click Personal tokens or here.
  4. Click Generate a new token.
  5. In the Token name field, type a name for the token to help you identify it.
  6. Choose needed scopes (API actions this token can perform - or permissions it has). See here for more details on scopes.
  7. Click Generate token.
  8. Enter the token value into the Personal Token field of the connection in your integration.
InputNotesExample
Personal Token

Personal Token for Typeform

Triggers

Typeform Webhook Trigger

Get notified when a project is created, updated, or deleted in a workspace. | key: formTrigger

InputNotesExample
Connection
Form Id

Unique ID for the form.

u6nXL7
Form Response

True if you want to send full responses to the webhook. Otherwise, false.

Form Response Partial

True if you want to send partial responses to the webhook. Otherwise, false.

Secret

Will be used to sign the webhook payload with HMAC SHA256, so that you can verify that it came from Typeform.

phoenix

The Typeform Webhook Trigger receives Typeform webhook notifications when form responses are submitted. This trigger automatically manages webhook subscriptions, handling the entire lifecycle without manual configuration in the Typeform dashboard.

How It Works

When this trigger is used in a flow:

  • On Instance Deploy: The trigger automatically creates a webhook subscription on the specified Typeform form, pointing to the instance's unique webhook URL. The webhook is configured with the specified event types and signing secret.
  • On Instance Deletion: The trigger automatically removes the webhook subscription from the Typeform form.

All incoming webhook payloads are verified using HMAC SHA-256 signature validation. The trigger compares the Typeform-Signature header against a computed hash of the payload using the configured secret. If the signature is invalid, the trigger rejects the request.

Configuration

Configure the following inputs:

  • Connection: A Typeform OAuth 2.0 or Personal Token connection.
  • Form Id: The unique identifier of the Typeform form to monitor for responses.
  • Secret: A signing secret used to verify webhook payloads via HMAC SHA-256. This ensures incoming requests originate from Typeform.
  • Form Response: Set to True to receive notifications for completed form submissions.
  • Form Response Partial: Set to True to receive notifications for partially completed form submissions.

Event Types

The trigger supports two event types configured at the webhook level:

Event TypeDescription
form_responseFires when a respondent completes and submits the form
form_response_partialFires when a respondent partially completes the form without submitting

Refer to the Typeform Webhooks documentation for additional details on event behavior and delivery policies.

Returned Data

Example Payload
{
"event_id": "LtWXD3crgy",
"event_type": "form_response",
"form_response": {
"form_id": "lT4Z3j",
"token": "a3a12ec67a1365927098a606107fac15",
"submitted_at": "2018-01-18T18:17:02Z",
"landed_at": "2018-01-18T18:07:02Z",
"definition": {
"id": "lT4Z3j",
"title": "Webhooks are fun"
},
"answers": [
{
"type": "text",
"text": "It's cold right now! I live in the North Pole.",
"field": {
"id": "DlXFaesGBpoF",
"type": "long_text"
}
}
]
}
}

Notes

  • Typeform enforces a 30-second timeout for webhook responses. If a response is not received within this window, the delivery is considered failed.
  • Webhooks are automatically disabled by Typeform if they accumulate over 100 failed delivery attempts within 24 hours, or 100 attempts within 5 minutes.
  • The webhook endpoint must use HTTPS. Self-signed certificates are not supported.

Data Sources

Select Account Workspaces

Allow a user to select one of their account workspaces | key: selectAccountWorkspaces | type: picklist

InputNotesExample
Account Id

The unique identifier of the item to retrieve.

123
Connection
Example Payload for Select Account Workspaces
Loading…

Select Form

Allow a user to select one of their forms | key: selectForm | type: picklist

InputNotesExample
Connection
Example Payload for Select Form
Loading…

Select Response

A picklist of form responses from the selected form. | key: selectResponse | type: picklist

InputNotesExample
Connection
Form Id

Unique ID for the form.

u6nXL7
Example Payload for Select Response
Loading…

Select Workspaces

Allow a user to select one of their workspaces | key: selectWorkspaces | type: picklist

InputNotesExample
Connection
Example Payload for Select Workspaces
Loading…

Actions

Create Account Workspace

Create a workspace in a specific account. | key: createAccountWorkspace

InputNotesExample
Account Id

The unique identifier of the item to retrieve.

123
Connection
Workspace Name

The name of the workspace account to create.

My Workspace
Example Payload for Create Account Workspace
Loading…

Create Form

Create a form | key: createForm

InputNotesExample
Connection
CUI Settings

The CUI settings for the form.

{ "avatar": "https://images.typeform.com/images/4BKUhw8A9cSM" }
Fields

The fields for the form.

[ { "attachment": { "href": "https://www.youtube.com/watch?v=Uui3oT-XBxs", "properties": { "description": "Typeform Home documentary" }, "scale": 0.8, "type": "video" }, "properties": { "description": "Cool description for the date", "separator": "-", "structure": "DDMMYYYY" }, "ref": "nice_readable_date_reference", "title": "Date Title", "type": "date", "validations": { "required": false } }, { "layout": { "attachment": { "href": "https://images.typeform.com/images/4BKUhw8A9cSM", "type": "image" }, "placement": "right", "type": "float" }, "properties": { "alphabetical_order": false, "choices": [ { "label": "Foo" }, { "label": "Bar" } ], "description": "Cool description for the dropdown", "randomize": false }, "ref": "nice_readable_dropdown_reference", "title": "Dropdown Title", "type": "dropdown", "validations": { "required": false } } ]
Hidden

The hidden fields for the form.

[ "id", "created_at", "last_updated_at" ]
Logic

The logic for the form.

[ { "actions": [ { "action": "jump", "condition": { "op": "equal", "vars": [ { "type": "field", "value": "nice_readable_number_reference" }, { "type": "constant", "value": 5 } ] }, "details": { "to": { "type": "field", "value": "nice_readable_rating_reference" } } }, { "action": "add", "condition": { "op": "is", "vars": [ { "type": "field", "value": "nice_readable_yes_no_reference" }, { "type": "constant", "value": true } ] }, "details": { "target": { "type": "variable", "value": "score" }, "value": { "type": "constant", "value": 5 } } } ], "ref": "nice_readable_yes_no_reference", "type": "field" } ]
Settings

The settings for the form.

{ "autosave_progress": true, "facebook_pixel": "4347295725729872", "free_form_navigation": false, "google_analytics": "UA-1111-22", "google_tag_manager": "GTM-43959999", "hide_navigation": false, "is_public": false, "language": "en", "meta": { "allow_indexing": true, "canva_design_id": "DAElrx6aq-A", "description": "Cool meta description", "image": { "href": "https://images.typeform.com/images/4BKUhw8A9cSM" }, "title": "Meta title" }, "progress_bar": "percentage", "redirect_after_submit_url": "https://www.redirecttohere.com", "show_cookie_consent": false, "show_key_hint_on_choices": true, "show_number_of_submissions": false, "show_progress_bar": true, "show_question_number": true, "show_time_to_complete": true, "show_typeform_branding": false }
Thank You Screens

The thank you screens for the form.

[ { "attachment": { "href": "https://images.typeform.com/images/4BKUhw8A9cSM", "type": "image" }, "properties": { "button_mode": "redirect", "button_text": "start", "redirect_url": "https://www.typeform.com", "share_icons": false, "show_button": true }, "ref": "nice-readable-thank-you-ref", "title": "Thank you Title" } ]
Theme

URL of the workspace to use for the typeform. If you don't specify a URL for the workspace, Typeform saves the form in the default workspace.

https://api.typeform.com/themes/qHWOQ7
Title

Title to use for the typeform.

My Title
Type

Type of the form.

Variables

The variables for the form.

{ "age": 28, "name": "typeform", "price": 10.59, "score": 0 }
Welcome Screens

The welcome screens for the form.

[ { "layout": { "attachment": { "href": "https://images.typeform.com/images/4BKUhw8A9cSM", "properties": { "decorative": true }, "type": "image" }, "placement": "left", "type": "split", "viewport_overrides": { "small": { "type": "wallpaper" } } }, "properties": { "button_text": "start", "description": "Cool description for the welcome", "show_button": true }, "ref": "nice-readable-welcome-ref", "title": "Welcome Title" } ]
Workspace URL

URL of the workspace to use for the typeform. If you don't specify a URL for the workspace, Typeform saves the form in the default workspace.

https://api.typeform.com/workspaces/Aw33bz
Example Payload for Create Form
Loading…

Create or Update Webhook

Create or Update a Webhook | key: createWebhook

InputNotesExample
Connection
Enabled

True if you want to send responses to the webhook immediately. Otherwise, false.

phoenix
Form Id

Unique ID for the form.

u6nXL7
Form Response

True if you want to send full responses to the webhook. Otherwise, false.

Form Response Partial

True if you want to send partial responses to the webhook. Otherwise, false.

Secret

Will be used to sign the webhook payload with HMAC SHA256, so that you can verify that it came from Typeform.

phoenix
Tag

Unique name you want to use for the webhook.

phoenix
URL

Webhook URL.

https://test.com
Example Payload for Create or Update Webhook
Loading…

Create Workspace

Create a workspace. | key: createWorkspace

InputNotesExample
Connection
Workspace Name

The name of the workspace.

My Workspace
Example Payload for Create Workspace
Loading…

Delete Form

Delete a form. | key: deleteForm

InputNotesExample
Connection
Form Id

Unique ID for the form.

u6nXL7
Example Payload for Delete Form
Loading…

Delete Instance Webhooks

Delete all webhooks from a form for the instance url provided. | key: deleteAllInstanceWebhooks

InputNotesExample
Connection
Form Id

Unique ID for the form.

u6nXL7
Instance URL

The instance URL to delete all webhooks from, if not provided, all webhooks from the current flow will be deleted.

https://test.com
Example Payload for Delete Instance Webhooks
Loading…

Delete Response

Delete responses to a form. | key: deleteResponses

InputNotesExample
Connection
Form Id

Unique ID for the form.

u6nXL7
Included Response Ids

Comma-separated list of response_id values of the responses to delete. You can list up to 1000 tokens and choose to do so either in the request URL, or in its body.

123
Example Payload for Delete Response
Loading…

Delete Webhook

Delete a webhook. | key: deleteWebhook

InputNotesExample
Connection
Form Id

Unique ID for the form.

u6nXL7
Tag

Unique name you want to use for the webhook.

phoenix
Example Payload for Delete Webhook
Loading…

Delete Workspace

Delete a workspace. | key: deleteWorkspace

InputNotesExample
Connection
Workspace Id

The workspace Id to delete.

123
Example Payload for Delete Workspace
Loading…

Get All Response Files

Download a zip archive containing all files uploaded by respondents for the specified form ID. | key: getAllResponseFiles

InputNotesExample
Connection
Form Id

Unique ID for the form.

u6nXL7
Example Payload for Get All Response Files
Loading…

Get File from Response

Download an uploaded file knowing its form, response, field and name. | key: getFileFromResponse

InputNotesExample
Connection
Field Id

Unique ID for the file upload field

u6nXL7
Filename

Filename for the uploaded file

u6nXL7
Form Id

Unique ID for the form.

u6nXL7
Response Id

Unique ID for the response.

u6nXL7
Example Payload for Get File from Response
Loading…

Get Form

Retrieve a form. | key: getForm

InputNotesExample
Connection
Form Id

Unique ID for the form.

u6nXL7
Example Payload for Get Form
Loading…

Get Webhook

Retrieve a single webhook. | key: getWebhook

InputNotesExample
Connection
Form Id

Unique ID for the form.

u6nXL7
Tag

Unique name you want to use for the webhook.

phoenix
Example Payload for Get Webhook
Loading…

Get Workspace

Retrieve a workspace. | key: getWorkspace

InputNotesExample
Connection
Workspace Id

The workspace Id to retrieve.

123
Example Payload for Get Workspace
Loading…

List Account Workspaces

Retrieve all workspaces you have access to within the specific account. | key: listAccountWorkspaces

InputNotesExample
Account Id

The unique identifier of the item to retrieve.

123
Connection
Fetch All

If true, it will fetch all the records ignoring the rest of the parameters.

false
Page

The page of results to retrieve.

1
Page Size

Number of results to retrieve per page. Default is 10. Maximum is 200.

50
Search

Returns items that contain the specified string.

My Search
Example Payload for List Account Workspaces
Loading…

List Forms

Retrieves a list of JSON descriptions for all forms in your Typeform account (public and private). | key: listForms

InputNotesExample
Connection
Fetch All

If true, it will fetch all the records ignoring the rest of the parameters.

false
Order By

Order type.

Page

The page of results to retrieve.

1
Page Size

Number of results to retrieve per page. Default is 10. Maximum is 200.

50
Search

Returns items that contain the specified string.

My Search
Sort By

Field to sort the results by.

Workspace Id

Retrieve typeforms for the specified workspace.

123
Example Payload for List Forms
Loading…

List Responses

Returns form responses and date and time of form landing and submission. | key: listResponses

InputNotesExample
Connection
Custom Query Params

Custom fields filter

key1=value1
Fetch All

If true, it will fetch all the records ignoring the rest of the parameters.

false
Form Id

Unique ID for the form.

u6nXL7
Page

The page of results to retrieve.

1
Page Size

Number of results to retrieve per page. Default is 10. Maximum is 200.

50
Search

Returns items that contain the specified string.

My Search
Example Payload for List Responses
Loading…

List Webhooks

Retrieve all webhooks for the specified Typeform. | key: listWebhooks

InputNotesExample
Connection
Form Id

Unique ID for the form.

u6nXL7
Example Payload for List Webhooks
Loading…

List Workspaces

Retrieve all workspaces the user has access to. | key: listWorkspaces

InputNotesExample
Connection
Fetch All

If true, it will fetch all the records ignoring the rest of the parameters.

false
Page

The page of results to retrieve.

1
Page Size

Number of results to retrieve per page. Default is 10. Maximum is 200.

50
Search

Returns items that contain the specified string.

My Search
Example Payload for List Workspaces
Loading…

Raw Request

Send raw HTTP request to Typeform API | key: rawRequest

InputNotesExample
Connection
Data

The HTTP body payload to send to the URL.

{"exampleKey": "Example Data"}
File Data

File Data to be sent as a multipart form upload.

[{key: "example.txt", value: "My File Contents"}]
File Data File Names

File names to apply to the file data inputs. Keys must match the file data keys above.

Form Data

The Form Data to be sent as a multipart form upload.

[{"key": "Example Key", "value": new Buffer("Hello World")}]
Header

A list of headers to send with the request.

User-Agent: curl/7.64.1
Max Retry Count

The maximum number of retries to attempt. Specify 0 for no retries.

0
Method

The HTTP method to use.

Query Parameter

A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2.

Response Type

The type of data you expect in the response. You can request json, text, or binary data.

json
Retry On All Errors

If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors.

false
Retry Delay (ms)

The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.

0
Timeout

The maximum time that a client will await a response to its request

2000
URL

Input the path only (/forms), The base URL is already included (https://api.typeform.com). For example, to connect to https://api.typeform.com/api/v3/forms, only /forms is entered in this field. e.g. /forms

/forms
Use Exponential Backoff

Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.

false

Update Form

Update a form. | key: updateForm

InputNotesExample
Connection
Form Id

Unique ID for the form.

u6nXL7
Operations

Operations to perform on the data.

[
  {
    "op": "replace",
    "path": "/title",
    "value": "foo"
  },
  {
    "op": "replace",
    "path": "/settings/is_public",
    "value": false
  },
  {
    "op": "replace",
    "path": "/settings/meta",
    "value": {
      "allow_indexing": true,
      "canva_design_id": "DAElrx6aq-A",
      "description": "meta description",
      "image": {
        "href": "https://images.typeform.com/images/4bcd3"
      },
      "title": "meta title"
    }
  },
  {
    "op": "replace",
    "path": "/cui_settings",
    "value": {
      "avatar": "https://images.typeform.com/images/4bcd3",
      "is_typing_emulation_disabled": false,
      "typing_emulation_speed": "fast"
    }
  },
  {
    "op": "replace",
    "path": "/workspace",
    "value": {
      "href": "https://api.typeform.com/workspaces/123"
    }
  },
  {
    "op": "replace",
    "path": "/theme",
    "value": {
      "href": "https://api.typeform.com/themes/123"
    }
  }
]
Example Payload for Update Form
Loading…

Update Workspace

Update a workspace. | key: updateWorkspace

InputNotesExample
Connection
Workspace Id

The workspace Id to update.

123
Operations

Operations to perform on the data.

[
  {
    "op": "replace",
    "path": "/name",
    "value": "marketing workspace"
  },
  {
    "op": "add",
    "path": "/members",
    "value": {
      "email": "test@test.com",
      "role": "owner"
    }
  },
  {
    "op": "remove",
    "path": "/members",
    "value": {
      "email": "test@test.com"
    }
  }
]
Example Payload for Update Workspace
Loading…

Changelog

2026-04-30

Updated spectral version

2026-04-07

Various modernizations and documentation updates

2026-02-26

Added inline data source for responses to enable dynamic dropdown selection

2025-10-02

Added inline data sources for forms, workspaces, and account workspaces to enhance data selection capabilities