Typeform
Manage Typeform forms, responses, themes, workspaces, and webhooks from chat via the Typeform API.
This skill uses ClawLink for hosted connection flows and credentials so you do not need to configure Typeform API access yourself.
Setup in 3 Steps
| Step 1: Install | Step 2: Pair Account | Step 3: Connect Typeform |
|:---:|:---:|:---:|
|
|
| App-specific connection GIF coming soon |
| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Typeform |
How It Works
┌─────────────────┐ ┌──────────────┐ ┌──────────────────┐
│ OpenClaw │────▶│ ClawLink │────▶│ Typeform API │
│ (User Chat) │ │ (OAuth) │ │ │
└─────────────────┘ └──────────────┘ └──────────────────┘
│ │ │
│ 1. Install Plugin │ │
│ 2. Pair Device │ │
│ 3. Connect Typeform │ │
│ │ 4. Secure Token │
│ │ 5. Proxy Requests │
│ │ │
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ SKILL │ │ Dashboard│ │ Typeform │
│ File │ │ Auth │ │ Account │
└──────────┘ └──────────┘ └──────────┘
Install
Install the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.
openclaw plugins install clawhub:clawlink-plugin
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart
Then tell the user: "OpenClaw has been restarted. Send /new as a standalone message to start a fresh chat, then ask for Typeform again."
Quick Start
# List all forms
clawlink_call_tool --tool "typeform_list_forms" --params '{}'
# Get form details
clawlink_call_tool --tool "typeform_get_form" --params '{"form_id": "FORM_ID"}'
# List responses
clawlink_call_tool --tool "typeform_list_responses" --params '{"form_id": "FORM_ID"}'
Authentication
All Typeform tool calls are authenticated automatically by ClawLink using the user's connected Typeform account OAuth token.
No API token is required in chat. ClawLink stores the OAuth token securely and injects it into every Typeform API request on the user's behalf.
Getting Connected
- Install the ClawLink plugin (see Install above).
- Pair the plugin with
clawlink_begin_pairingif it is not configured yet. - Open https://claw-link.dev/dashboard?add=typeform and connect Typeform.
- Call
clawlink_list_integrationsto verify the connection is active.
Connection Management
List Connections
clawlink_list_integrations
Response: Returns all connected integrations. Look for typeform in the list.
Verify Connection
clawlink_list_tools --integration typeform
Response: Returns the live tool catalog for Typeform.
Reconnect
If Typeform tools are missing or the connection shows an error:
- Direct the user to https://claw-link.dev/dashboard?add=typeform
- After they confirm, call
clawlink_list_integrationsto verify - Then call
clawlink_list_tools --integration typeform
Security & Permissions
- Access is scoped to forms and data accessible to the connected Typeform account.
- Write operations (create form, update settings, delete responses) require explicit user confirmation.
- Response data may contain personal information — handle in accordance with privacy best practices.
- Workspace operations may be restricted by Typeform plan level.
Tool Reference
Forms
| Tool | Description | Mode |
|------|-------------|------|
| typeform_list_forms | List all forms accessible to the account | Read |
| typeform_get_form | Get form details including fields and settings | Read |
| typeform_create_form | Create a new form | Write |
| typeform_update_form | Update a form's title, fields, or settings | Write |
| typeform_delete_form | Permanently delete a form | Write |
| typeform_archive_form | Archive a form | Write |
Responses
| Tool | Description | Mode |
|------|-------------|------|
| typeform_list_responses | List responses for a form with pagination | Read |
| typeform_get_response | Get a specific response with all answers | Read |
| typeform_delete_response | Permanently delete a single response | Write |
| typeform_delete_responses | Delete multiple responses by ID | Write |
| typeform_get_response_count | Get the number of responses for a form | Read |
Questions & Fields
| Tool | Description | Mode |
|------|-------------|------|
| typeform_list_form_fields | List all fields/questions in a form | Read |
| typeform_create_form_field | Add a new field to a form | Write |
| typeform_update_form_field | Update a field's label, type, or options | Write |
| typeform_delete_form_field | Remove a field from a form | Write |
| typeform_reorder_form_fields | Reorder fields in a form | Write |
Logic & Settings
| Tool | Description | Mode |
|------|-------------|------|
| typeform_get_form_logic | Get the logic rules configured for a form | Read |
| typeform_update_form_logic | Add or update logic rules for a form | Write |
| typeform_get_form_settings | Get form settings (language, progress bar, etc.) | Read |
| typeform_update_form_settings | Update form settings | Write |
Themes
| Tool | Description | Mode |
|------|-------------|------|
| typeform_list_themes | List all themes | Read |
| typeform_get_theme | Get a specific theme's design settings | Read |
| typeform_create_theme | Create a new theme | Write |
| typeform_update_theme | Update a theme's colors, fonts, or background | Write |
| typeform_delete_theme | Delete a theme | Write |
Workspaces
| Tool | Description | Mode |
|------|-------------|------|
| typeform_list_workspaces | List all workspaces | Read |
| typeform_get_workspace | Get a workspace's details | Read |
| typeform_create_workspace | Create a new workspace | Write |
| typeform_update_workspace | Update a workspace's name | Write |
| typeform_delete_workspace | Delete an empty workspace | Write |
Webhooks
| Tool | Description | Mode |
|------|-------------|------|
| typeform_list_webhooks | List all webhooks for a form | Read |
| typeform_register_webhook | Register a new webhook for a form | Write |
| typeform_delete_webhook | Remove a webhook from a form | Write |
| typeform_get_webhook | Get webhook details and recent deliveries | Read |
Code Examples
List all forms
clawlink_call_tool --tool "typeform_list_forms" \
--params '{
"page_size": 20
}'
Get form with fields
clawlink_call_tool --tool "typeform_get_form" \
--params '{
"form_id": "FORM_ID"
}'
List responses for a form
clawlink_call_tool --tool "typeform_list_responses" \
--params '{
"form_id": "FORM_ID",
"page_size": 20,
"completed": true
}'
Get a specific response
clawlink_call_tool --tool "typeform_get_response" \
--params '{
"form_id": "FORM_ID",
"response_id": "RESPONSE_ID"
}'
Register a webhook
clawlink_call_tool --tool "typeform_register_webhook" \
--params '{
"form_id": "FORM_ID",
"url": "https://example.com/webhook/typeform",
"enabled": true
}'
Create a new workspace
clawlink_call_tool --tool "typeform_create_workspace" \
--params '{
"name": "Research Team"
}'
Discovery Workflow
- Call
clawlink_list_integrationsto confirm Typeform is connected. - Call
clawlink_list_tools --integration typeformto see the live catalog. - Treat the returned list as the source of truth. Do not guess or assume what tools exist.
- If the user describes a capability but the exact tool is unclear, call
clawlink_search_toolswith a short query and integrationtypeform. - If no Typeform tools appear, direct the user to https://claw-link.dev/dashboard?add=typeform.
Execution Workflow
┌─────────────────────────────────────────────────────────────┐
│ READ OPERATIONS (Safe) │
│ list → get → describe │
│ │
│ Example: List forms → Get form fields → Review responses │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ WRITE OPERATIONS (Require Confirmation) │
│ describe → preview → confirm → call │
│ │
│ Example: Preview form creation → User approves → Create │
└─────────────────────────────────────────────────────────────┘
- For unfamiliar tools, ambiguous requests, or any write action, call
clawlink_describe_toolfirst. - Use the returned guidance, schema,
whenToUse,askBefore,safeDefaults,examples, andfollowupsto shape the call. - Prefer read, list, and get operations before writes when that reduces ambiguity.
- For writes or anything marked as requiring confirmation, call
clawlink_preview_toolfirst. - Execute with
clawlink_call_tool. Pass confirmation only after the preview matches the user's intent. - If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.
Notes
- Form IDs are required for most operations — use
typeform_list_formsto discover form IDs. - Response IDs and field IDs are different — use
typeform_list_responsesandtypeform_list_form_fieldsrespectively. - Deleted forms and responses cannot be recovered — always confirm before deleting.
- Webhooks require a publicly accessible HTTPS URL — they will not work with localhost.
- Typeform API has rate limits — the tool response will indicate if backoff is needed.
- Workspace operations (create, delete) may be restricted by the Typeform plan.
Error Handling
| Status / Error | Meaning |
|----------------|---------|
| Tool not found | The tool name does not exist in the current catalog. Verify with clawlink_list_tools --integration typeform. |
| Missing connection | Typeform is not connected. Direct the user to https://claw-link.dev/dashboard?add=typeform. |
| Form not found | The form ID does not exist or is not accessible. |
| Response not found | The response ID does not exist for this form. |
| Field not found | The field ID does not exist in the form. |
| Webhook not found | The webhook ID does not exist for this form. |
| Workspace not found | The workspace ID does not exist or is inaccessible. |
| not_enough_permissions | The connected account lacks permission for this operation. |
| Write rejected | User did not confirm a write action. Always confirm before executing writes. |
Troubleshooting: Tools Not Visible
- Check that the ClawLink plugin is installed:
openclaw plugins list - If the plugin is installed but tools are missing, tell the user to send
/newas a standalone message to reload the catalog. - If a fresh chat does not help, run:
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json openclaw gateway restart - After restart, tell the user to send
/newagain and retry.
Resources
- Typeform Developer Documentation
- Typeform API Reference
- ClawLink: https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=typeform-surveys
- ClawLink Docs: https://docs.claw-link.dev/openclaw
- ClawLink Verification: https://claw-link.dev/verify
Powered by ClawLink — an integration hub for OpenClaw

微信扫一扫