Typeform
An InTouch Hub tool that talks to the official Typeform REST API
(https://api.typeform.com) to manage forms and pull their responses. Standard
library only — no external dependencies.
What it does
Authenticates with a Typeform personal access token (Authorization: Bearer <token>)
and performs one operation per run. The raw JSON the API returns is published as
result, and the HTTP status code as status.
Operations
| operation | API call | Purpose |
|---|---|---|
list_forms |
GET /forms |
List your forms (supports search, paging). |
retrieve_form |
GET /forms/{form_id} |
Get a single form's full definition. |
list_responses |
GET /forms/{form_id}/responses |
Retrieve submitted responses for a form. |
create_form |
POST /forms |
Create a new form (write). |
Inputs
apiKey(required) — Typeform personal access token.operation(required) — one of the operations above.formId— required forretrieve_formandlist_responses.search,workspaceId,page,pageSize— optional filters forlist_forms.since,until,pageSize— optional filters forlist_responses(ISO 8601 timestamps).title(required forcreate_form),fields— optional JSON array of field objects.
Outputs
result— the API response body as a JSON string.status— the HTTP status code as a string (e.g.200,201,401).
apiKey setup
- Sign in to Typeform and open Settings → Personal tokens
(
https://admin.typeform.com/account#/section/tokens). - Click Generate a new token, give it the scopes you need
(e.g.
forms:read,forms:write,responses:read), and copy the value. - Pass that token as the
apiKeyinput. It is sent asAuthorization: Bearer <token>on every request.
For EU-hosted accounts swap the base URL to https://api.eu.typeform.com.
Examples
List the first 50 forms whose title contains "feedback":
apiKey: tfp_xxxxxxxxxxxxxxxxxxxxxxxxx
operation: list_forms
search: feedback
pageSize: 50
Retrieve every response submitted to form u6nXL7 since June 1st:
apiKey: tfp_xxxxxxxxxxxxxxxxxxxxxxxxx
operation: list_responses
formId: u6nXL7
since: 2026-06-01T00:00:00Z
Publishes
The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.
errorresultstatus
Input Properties
Every property this tool accepts, from its own tool.iml.
| Property | Type | Required | Default | Description |
|---|---|---|---|---|
apiKey |
string | yes | — | DEPRECATED — bind an API Key credential to the task with credentialName instead. A key pasted here is stored in the workflow definition in clear and appears in every export of it. Still honoured for workflows built before the change. |
operation |
string | yes | — | One of: list_forms, retrieve_form, list_responses, create_form |
formId |
string | no | — | retrieve_form/list_responses: the form_id (e.g. the 'u6nXL7' in https://mysite.typeform.com/to/u6nXL7). |
search |
string | no | — | list_forms: optional substring to filter forms by title. |
workspaceId |
string | no | — | list_forms: optional workspace id to scope the listing. |
page |
string | no | 1 |
list_forms: page number to retrieve (default 1). |
pageSize |
string | no | 10 |
list_forms (max 200) / list_responses (max 1000): results per page. |
since |
string | no | — | list_responses: only responses submitted after this ISO 8601 timestamp (e.g. 2026-06-01T00:00:00Z). |
until |
string | no | — | list_responses: only responses submitted before this ISO 8601 timestamp. |
title |
string | no | — | create_form: the title for the new form (required for create_form). |
fields |
string | no | — | create_form: optional JSON array of field objects, e.g. [{"title":"Your name","type":"short_text"}]. |