Skip to main content
Typeform logo

Overview

Add Typeform to any ModuleX agent or workflow. Online form builder for surveys, quizzes, and interactive forms via the Typeform REST API (api.typeform.com).
Categories: Productivity & Collaboration · Forms · Surveys · Auth: OAuth2 · Actions: 12

Authentication

OAuth2 Authentication

Connect using Typeform OAuth (recommended)

Required Credentials

FieldDescriptionRequiredFormat
Client IDTypeform OAuth App Client IDYesxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Client SecretTypeform OAuth App Client SecretYesxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

OAuth Configuration

  • Authorization URL: https://api.typeform.com/oauth/authorize
  • Token URL: https://api.typeform.com/oauth/token
  • Scopes: forms:read, forms:write, images:read, images:write, responses:read, accounts:read, workspaces:read

Available Actions

Parameters

Returns items that contain the specified string
page
integer
The page of results to retrieve. Default 1 is the first page of results (Default: 1)
page_size
integer
Number of results to retrieve per page. Default is 10. Maximum is 200 (Default: 10)
workspace_id
string
Retrieve typeforms for the specified workspace ID

Response

{
  "$defs": {
    "FormSummary": {
      "additionalProperties": false,
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "title": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Title"
        },
        "type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Type"
        },
        "last_updated_at": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Last Updated At"
        },
        "self_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Self Url"
        }
      },
      "title": "FormSummary",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "forms": {
      "items": {
        "$ref": "#/$defs/FormSummary"
      },
      "title": "Forms",
      "type": "array"
    },
    "total_items": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Total Items"
    },
    "page_count": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Page Count"
    }
  },
  "required": [
    "success"
  ],
  "title": "ListFormsOutput",
  "type": "object"
}

Parameters

title
string
required
Title to use for the typeform
workspace_href
string
URL of the workspace to use for the typeform. If not specified, the form is saved in the default workspace

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Id"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Title"
    },
    "type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Type"
    },
    "self_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Self Url"
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateFormOutput",
  "type": "object"
}

Parameters

form_id
string
required
Unique ID for the form to duplicate

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Id"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Title"
    },
    "type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Type"
    },
    "self_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Self Url"
    }
  },
  "required": [
    "success"
  ],
  "title": "DuplicateFormOutput",
  "type": "object"
}

Parameters

form_id
string
required
Unique ID for the form to delete

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Id"
    }
  },
  "required": [
    "success"
  ],
  "title": "DeleteFormOutput",
  "type": "object"
}

Response

{
  "$defs": {
    "ImageItem": {
      "additionalProperties": false,
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "src": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Src"
        },
        "file_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "File Name"
        },
        "width": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Width"
        },
        "height": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Height"
        }
      },
      "title": "ImageItem",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "images": {
      "items": {
        "$ref": "#/$defs/ImageItem"
      },
      "title": "Images",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "ListImagesOutput",
  "type": "object"
}

Parameters

form_id
string
required
Unique ID for the form to retrieve

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Id"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Title"
    },
    "type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Type"
    },
    "fields": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Fields",
      "type": "array"
    },
    "self_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Self Url"
    }
  },
  "required": [
    "success"
  ],
  "title": "GetFormOutput",
  "type": "object"
}

Parameters

form_id
string
required
Unique ID for the form
query
string
required
Limit request to only responses that include the specified string. Matched against all answers, hidden fields, and variable values
page_size
integer
Maximum number of responses. Maximum value is 1000. Default is 25 (Default: 25)
since
string
Limit to responses submitted since this date/time (ISO 8601 UTC or timestamp in seconds)
until
string
Limit to responses submitted until this date/time (ISO 8601 UTC or timestamp in seconds)
after
string
Limit to responses submitted after the specified token. Cannot be used with sort
before
string
Limit to responses submitted before the specified token. Cannot be used with sort

Response

{
  "$defs": {
    "ResponseItem": {
      "additionalProperties": false,
      "properties": {
        "response_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Response Id"
        },
        "landed_at": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Landed At"
        },
        "submitted_at": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Submitted At"
        },
        "answers": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "title": "Answers",
          "type": "array"
        }
      },
      "title": "ResponseItem",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "items": {
      "items": {
        "$ref": "#/$defs/ResponseItem"
      },
      "title": "Items",
      "type": "array"
    },
    "total_items": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Total Items"
    },
    "page_count": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Page Count"
    }
  },
  "required": [
    "success"
  ],
  "title": "LookupResponsesOutput",
  "type": "object"
}

Parameters

form_id
string
required
Unique ID for the form
page_size
integer
Maximum number of responses. Maximum value is 1000. Default is 25 (Default: 25)
since
string
Limit to responses submitted since this date/time (ISO 8601 UTC or timestamp in seconds)
until
string
Limit to responses submitted until this date/time (ISO 8601 UTC or timestamp in seconds)
after
string
Limit to responses submitted after the specified token. Cannot be used with sort
before
string
Limit to responses submitted before the specified token. Cannot be used with sort
included_response_ids
string
Comma-separated list of response_ids to include. Cannot be combined with excluded_response_ids
excluded_response_ids
string
Comma-separated list of response_ids to exclude. Cannot be combined with included_response_ids
completed
boolean
Limit responses only to those which were submitted. If true, filters by submitted_at; otherwise by landed_at
sort
string
Responses order in {fieldID},{asc|desc} format. Default is submitted_at,desc (Default: submitted_at,desc)
query
string
Limit request to only responses that include the specified string
fields
string
Comma-separated list of field IDs to show in answers section
answered_fields
string
Comma-separated list of field IDs that must have answers in the response

Response

{
  "$defs": {
    "ResponseItem": {
      "additionalProperties": false,
      "properties": {
        "response_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Response Id"
        },
        "landed_at": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Landed At"
        },
        "submitted_at": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Submitted At"
        },
        "answers": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "title": "Answers",
          "type": "array"
        }
      },
      "title": "ResponseItem",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "items": {
      "items": {
        "$ref": "#/$defs/ResponseItem"
      },
      "title": "Items",
      "type": "array"
    },
    "total_items": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Total Items"
    },
    "page_count": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Page Count"
    }
  },
  "required": [
    "success"
  ],
  "title": "ListResponsesOutput",
  "type": "object"
}

Parameters

form_id
string
required
Unique ID for the form to update
title
string
required
New title for the typeform
workspace_href
string
URL of the workspace to move the form to

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Id"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Title"
    }
  },
  "required": [
    "success"
  ],
  "title": "UpdateFormTitleOutput",
  "type": "object"
}

Parameters

image_id
string
required
Unique ID for the image to delete

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Id"
    }
  },
  "required": [
    "success"
  ],
  "title": "DeleteImageOutput",
  "type": "object"
}

Parameters

file_name
string
required
File name for the image
image
string
Base64 code for the image (without data URI prefix). Either image or url must be provided
url
string
URL of the image to add. Either image or url must be provided

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Id"
    },
    "src": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Src"
    },
    "file_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "File Name"
    },
    "width": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Width"
    },
    "height": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Height"
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateImageOutput",
  "type": "object"
}

Parameters

form_id
string
required
Unique ID for the form
field_id
string
required
Unique ID for the dropdown, multiple choice, or ranking field
choice
string
required
The new choice label to add to the end of the existing choices

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Id"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Title"
    },
    "fields": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Fields",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "UpdateDropdownMultipleChoiceRankingOutput",
  "type": "object"
}

Limits & Quotas

  • Rate limit: Typeform API allows up to 2 requests per second per OAuth token.
  • Responses endpoint: Maximum 1000 responses per request (page_size cap).
  • Error model: Non-2xx responses are caught and returned as success=False + error rather than raising.

Cal.com

Canva

ConvertAPI