Integrations / Google Forms
Google Forms
Create Google Forms and read their responses.
4 actions
OAuth 2
3 read1 write
Calls forms.googleapis.com
Connect
const conn = await setu.connections.initiate({ userId: "user_1", toolkit: "googleforms" });
console.log(conn.connectUrl); // show this to your user
await conn.waitUntilActive();Permissions requested
| Scope | Why it is requested |
|---|---|
https://www.googleapis.com/auth/userinfo.email | See which Google account you connected |
https://www.googleapis.com/auth/forms.body | See, create and edit your Google Forms |
https://www.googleapis.com/auth/forms.responses.readonly | See responses to your Google Forms |
Actions
Create formwritegoogleforms.create_formCreate a new, empty Google Form with a title (questions must be added afterwards in Google Forms).
Needs scope: https://www.googleapis.com/auth/forms.body
| Input | Type | Description | |
|---|---|---|---|
title | string | Required | Title shown to respondents |
document_title | string | Optional | File name in Drive (defaults to the title) |
await setu.execute({
userId: "user_1",
action: "googleforms.create_form",
input: {
"title": "<title>"
},
});Get formreadgoogleforms.get_formGet a form's title, public responder link and its questions.
Needs scope: https://www.googleapis.com/auth/forms.body
| Input | Type | Description | |
|---|---|---|---|
form_id | string | Required | The form ID from the form's edit address |
await setu.execute({
userId: "user_1",
action: "googleforms.get_form",
input: {
"form_id": "<form_id>"
},
});Get form responsereadgoogleforms.get_responseGet one response to a form by its response ID, with every answer.
Needs scope: https://www.googleapis.com/auth/forms.responses.readonly
| Input | Type | Description | |
|---|---|---|---|
form_id | string | Required | Form ID |
response_id | string | Required | Response ID from list_responses |
await setu.execute({
userId: "user_1",
action: "googleforms.get_response",
input: {
"form_id": "<form_id>",
"response_id": "<response_id>"
},
});List form responsesreadgoogleforms.list_responsesList the responses submitted to a form, optionally only those after a timestamp.
Needs scope: https://www.googleapis.com/auth/forms.responses.readonly
| Input | Type | Description | |
|---|---|---|---|
form_id | string | Required | Form ID |
after | string | Optional | Only responses submitted after this RFC 3339 UTC time, e.g. 2026-10-01T00:00:00Z |
page_size | integer | Optional | Responses per page (default up to 5000) |
page_token | string | Optional | nextPageToken from an earlier call |
await setu.execute({
userId: "user_1",
action: "googleforms.list_responses",
input: {
"form_id": "<form_id>"
},
});