How-to
Article MarkdownReport an error

How to receive Google Forms responses in a scenario?

The Google Forms trigger (the Apps card in the trigger list) turns every Google Form response into an Operator Line ticket: the client is identified by email, answers go into ticket fields, and files become attachments. Google Forms has no webhook of its own, so a Google Apps Script on the form side sends responses to the platform address.

When you need it

  • Requests, complaints, or surveys are collected via Google Forms but must be handled in Operator Line.
  • Every form response should become a separate ticket with pre-filled fields.
  • Responses from the same client should be linked so the operator sees the history.

What to know first

  • Two operating modes. Auto — the platform creates the client (by email) and the ticket itself; the scenario runs afterwards as optional post-processing. Scenario only — the platform creates nothing: your scenario creates the ticket with the create-ticket action. Without an assembled scenario, responses in this mode are not saved.
  • Repeated deliveries do not create duplicates. If Apps Script sends the same response twice (for example, on retry), the ticket is not duplicated.
  • Field catalog. The trigger panel shows a Form fields block — the fields that actually arrived from the form (ID, question name, type). The catalog fills up after the first submitted response.
  • Up to 10 mapped fields. Form answers can be mapped to custom fields of the selected subject — at most 10 mappings.

Before you start

Step-by-step

1. Select the Google Forms trigger

  1. Select the Start node on the canvas.
  2. In the Trigger type field click Change and select the Apps card.
  3. In the settings block the Application field shows Google Forms — the only available application. To view the list, click Change on the application card.

2. Copy the webhook address and token

In the trigger panel:

  1. Copy the Webhook URL with the Copy URL button — Apps Script will send form responses to this address.
  2. Copy the Authorization token with the Copy token button. Apps Script must send it in the Authorization: Bearer <token> header. The token is generated automatically the first time the panel opens.

3. Set up Apps Script on the form

The script on the Google Form side is configured once during implementation: it gets the Webhook URL and token from step 2, after which every submitted response is sent to the platform automatically. If the script is not set up yet, contact your implementation team.

4. Specify the form ID

  • Form ID (form_id) — the identifier of a specific form. Fill it in if the trigger should accept only one form.
  • Empty value — the trigger accepts responses from all forms of this bot. If some form has its own trigger with an exact ID, that trigger takes priority.

5. Choose the mode

In the Mode field:

  • Auto (default) — the platform creates the client and the ticket itself; continue with steps 6–8.
  • Scenario only — everything is created by your scenario; go to step 9.

6. (Auto) Configure the subject and field mapping

  1. In the Subject field select the ticket subject.
  2. In the Field mapping block click Add mapping (up to 10 rows):
    • Form field ID — pick from the field catalog or enter manually.
    • Custom field key — the key of the selected subject's field (Settings → Subjects).
  3. Unmapped fields are not lost — they go into the ticket text as a "question: answer" list.

7. (Auto) Ticket title and description

  • Ticket title — a title template with placeholders (for example, Request {{respondent_email}} #{{response_id}}). Available placeholders are listed under the field.
  • Description source — pick the form question whose answer becomes the ticket description (for example, "Problem description"). If not selected or the answer is empty, the description is the full list of answers.

8. (Auto) Choose the ticket channel

In the Ticket channel field:

  • Email — the operator's reply from the ticket is emailed to the respondent. The bot needs an email account, otherwise the ticket is created as Custom channel. For the client's email replies to come back into the ticket, the bot scenario must include the standard email-channel branch: a section with the Channels → Email trigger and a connect-to-operator node.
  • Custom channel — the ticket is inbound only; you cannot reply from it.

9. (Scenario only) Build the processing scenario

In this mode the webhook starts the scenario and passes form data as constants — the list is shown in the Available variables block of the trigger panel (respondent email, form ID, field answers).

  1. Add a create-ticket action to the scenario and fill its fields from the constants.
  2. Pass the external_id variable into the external_id parameter of the create-ticket action — this protects against duplicates on repeated deliveries.
  3. Assemble and save the scenario before enabling the form: without an assembled scenario, form responses are not saved.

10. Check the field catalog

  1. Submit a test response through the form.
  2. The Form fields block shows the fields with ID, name, and type — use them in the mapping and in the Description source field.
  3. If the form changed significantly, click Clear field catalog and submit a new test response.

What happens next

Every form response becomes a separate ticket. Tickets of the same client (by email) are linked together — the operator sees all responses in one place. Repeated deliveries of the same response do not create duplicates.

How to verify it works

  • Submit a test response through the form — a ticket with filled fields appears in Operator Line.
  • Check that the Form fields block in the trigger panel has filled up.
  • Submit the same response again — no new ticket is created.

Common issues

Problem Solution
Form responses do not arrive Check the Webhook URL and token in Apps Script; the token must be sent in the Authorization: Bearer <token> header.
The response arrived but no ticket is created Check the Form ID — it must match the form or be empty. In Scenario only mode — check that the scenario is assembled.
A file from the form is missing in the ticket The file link must be downloadable; the ticket itself is still created without the file.
Email channel selected but the ticket was created as Custom channel The bot has no email account — connect the bot's mailbox or keep Custom channel.
Client email replies do not reach the ticket Add a section with the Channels → Email trigger and a connect-to-operator node to the scenario.
Using your own AI agent?Install the open skill so your AI agent can work with current official ConnectiveOne documentation.Get the skillNeed support?Couldn’t find the answer or need help from the ConnectiveOne team? Create a request in Client Portal.Create a request