---
title: "Getform Integration"
description: "Getform is a form backend for developers: a website form posts to a Getform endpoint and Getform stores, emails and forwards it. Agents submit entries, read stored submissions back out, verify webhook signatures, and react on every new submission."
url: https://flowrunner.ai/integrations/getform
date_modified: 2026-09-04T19:08:45-07:00
---

# Getform

[Forms](https://flowrunner.ai/integrations/category/documents-forms)

Getform is a form backend for developers: a website form posts to a Getform endpoint and Getform stores, emails and forwards it. Agents submit entries, read stored submissions back out, verify webhook signatures, and react on every new submission.

[Verified](https://flowrunner.ai/integrations/verified "What does verified mean?") · 1 trigger · 10 actions · API key · available

[Getform website](https://getform.io/) · [Platform Documentation](https://forminit.com/docs/list-submissions-api/) · [Platform Documentation](https://forminit.com/docs/webhooks/) · Capability data verified 2026-08-26

1.  New Submission reports the entries the poll has not seen before, oldest first
2.  Agent reads the answers, the sender details, and the tracking attribution from the stored record
3.  Verify Webhook Signature checks any delivery that arrived over the instant webhook path instead
4.  List Submission Files reports whether the entry carried uploads
5.  Download Submission File pulls each attachment into storage while its URL is still valid
6.  The lead is written into the CRM with source, medium, and campaign intact
7.  An operator rules on any delivery whose signature did not verify before anything downstream acts on it

## What This Integration Enables

Getform is a pipe. A website form posts to an endpoint, Getform stores the entry, emails it on, and forwards it to whatever the form's own settings point at. There is nothing to administer and nothing to model, which is exactly why teams choose it, and it is also why the only interesting risk in the product is silent loss. Getform answers HTTP 200 even when it discards a submission, and its whole management API is a single list endpoint, so a naive reader can be confidently wrong in two different directions at once.

FlowRunner's connector is built around those two facts. It reads the response envelope on every write and raises rather than reporting a false success, and it reconstructs the single-record read that the vendor does not publish by walking the list. Agents capture entries, page or drain the archive, pull attachments into storage before their URLs lapse, and check the signature on deliveries that arrive through the form's own webhooks. When a check comes back ambiguous, the agent stops rather than guessing, which is what the [human-in-the-loop](https://flowrunner.ai/concepts/human-in-the-loop) step is for.

### Without FlowRunner

**Silent drops**: A form backend that answers 200 to a rejected entry looks healthy while it is losing data

**Attribution lost at the handoff**: The source and campaign that produced a lead do not survive the trip into the CRM

**Attachments expire before anyone fetches them**: Resumes and screenshots sit behind time-limited URLs that a nightly job reaches too late

### With FlowRunner

**Refusals raised as errors**: The response envelope is read, and a discarded submission fails the step instead of passing it

**Attribution carried through**: Sender details and tracking travel with the record into whatever system stores the lead

**Files pulled in the same run**: Attachments are downloaded while the URL that named them is still live

## Use Case Scenarios

### Lead capture with attribution that survives

A marketing site's demo form posts to a Getform endpoint. The trigger reports each new entry oldest first, so leads reach the CRM in the order they were made rather than in reverse. The agent reads the sender details and the tracking attribution off the stored record, creates or updates the contact in [HubSpot](https://flowrunner.ai/integrations/hubspot) with the source and campaign intact, and posts a line to the demand-gen channel in [Slack](https://flowrunner.ai/integrations/slack) with the company name and the message. Because Getform validates as it stores, an entry with a malformed email or a phone that is not in E.164 never becomes a half-formed contact.

### Draining an archive into the warehouse

A quarterly reporting job calls List All Submissions with a Maximum Submissions ceiling so the drain stays inside an interactive run, Include Files turned on, and Timezone set so the dates arrive in the reporting zone rather than UTC. Each page appends to a table in [BigQuery](https://flowrunner.ai/integrations/bigquery), and Get Form Summary supplies the total Getform holds so the load can be reconciled against the source rather than trusted. On a busy form, Search Query narrows the walk to the segment the report actually needs.

### Applications with files attached

A careers form collects a resume alongside the answers. On each submission the agent calls List Submission Files, which normalizes Getform's habit of returning a single upload as an object and several as an array, then calls Download Submission File for each one and stores it in [S3](https://flowrunner.ai/integrations/s3) under the candidate's record. The download happens in the same run that read the URL, because those URLs are time limited. A relayed application that arrived by another route is pushed back into the same archive with Submit Form Entry With Files so it lands in one place.

## Human-in-Loop Highlight

The gate here is a failed signature check, and it exists because the failure is genuinely ambiguous. Getform signs a delivery with HMAC-SHA256 over a constructed string and sends the result as a Forminit-Webhook-Signature header. There are two reasons Verify Webhook Signature can return false, and they point in opposite directions. One is that somebody is posting forged submissions at your endpoint, in which case ignoring the delivery is correct. The other is that the secret was configured with a verifier borrowed from the Standard Webhooks scheme, which strips the whsec\_ prefix and Base64 decodes the key, neither of which applies here. In that case every genuine delivery fails, silently, forever. An agent cannot tell those apart from one delivery, so it does not try. It quarantines the payload, and asks: "Signature check failed on a delivery for the demo form at 09:14. This is the fourth in a row, and none have verified since the secret was rotated on Tuesday. Treat these as forged and drop them, or is the whsec\_ value being trimmed before it reaches the verifier?" A person answers, and either the attacker is ignored or the pipeline stops leaking.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via preferred channel

Human decides

Agent resumes with decision

## Agent Capabilities

10 actions

### Capturing Entries

3

-   **Submit Form Entry** Posts a new entry to a form endpoint, the same endpoint a website form posts to, so Getform stores it, emails it on, and forwards it to the form's own integrations. The response envelope is read so a discarded submission raises rather than passing.
-   **Submit Form Entry With Files** Posts an entry that carries attachments as multipart form data, downloading each file from the URL given for it. Used to relay an application, an expense claim, or a bug report with its evidence attached.
-   **Submit Raw Blocks** Posts a submission built entirely by the flow, sending the blocks array through unchanged. The escape hatch for a block shape the named actions do not model, or one that ships before this connector names it.

### Reading Stored Submissions

4

-   **List Submissions** Reads one page of a form's stored submissions, newest first, with optional keyword filtering, file metadata, and a local timezone for the dates.
-   **List All Submissions** Walks every page of a form automatically, with a Maximum Submissions ceiling for busy forms. Used for exports and warehouse loads.
-   **Get Submission** Retrieves one stored submission by its identifier. Getform publishes no single-record route, so this walks the list and selects the match, which Search Query can narrow.
-   **Get Form Summary** Reports the form identifier, the API version serving it, and the total number of stored submissions, at the cost of one request. Used as a reachability check and as the reconciliation figure for an export.

### Files

2

-   **List Submission Files** Collects every attachment across a form's submissions into one flat list with download URLs, original names, field names, sizes, and content types.
-   **Download Submission File** Downloads an uploaded file into storage and returns a URL later steps can use. Getform attachment URLs are time limited, so this belongs in the same run that read them.

### Delivery Integrity

1

-   **Verify Webhook Signature** Checks that a delivery arriving through the form's dashboard-configured webhooks really came from Getform and was not altered in transit. The operation this page's human gate exists for.

## Triggers

1 triggers

### Event Triggers

1

-   **New Submission** Starts a flow when a form receives a new submission, delivering the stored record with its answers, sender details, tracking attribution, and metadata. This polls, because Getform's own webhooks are configured in the form's dashboard and have no management API. Each cycle reports what it has not seen before, oldest first, and the first cycle records a baseline without firing.

## Frequently Asked Questions

### What can FlowRunner do with Getform?

FlowRunner agents can run Submit Form Entry, Submit Form Entry With Files, and Submit Raw Blocks in Getform, plus 7 more actions.

### Does connecting Getform to FlowRunner require OAuth?

No. Getform connects to FlowRunner with an API key, no OAuth flow required.

### Can Getform trigger a FlowRunner workflow automatically?

Yes. Getform supports 1 trigger that can start a FlowRunner workflow automatically.

**Work at Getform?** This integration exposes Getform to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/getform. Site index: https://flowrunner.ai/llms.txt
