Fillout

App · Forms & Surveys · 8 actions · 2 triggers

Read Fillout forms and their submissions, record and delete submissions, and manage the webhooks that announce new responses.

Triggers

Start a workflow when something happens in Fillout. See how triggers work.

New submission

Runs when a Fillout form receives a completed response.

Filters

Narrow which events start a run.

form_idRequired
search

Event fields

What a run starts with. Later steps read each field with an @ reference.

form_idtext
submission_idtext
submitted_attext
last_updated_attext
edit_linktext
answersobject
questionslist
calculationslist
url_parameterslist
schedulinglist
paymentslist
quiz_scorenumber
quiz_max_scorenumber
login_emailtext

Submission updated

Runs when a response to a Fillout form is edited.

Filters

Narrow which events start a run.

form_idRequired
search

Event fields

What a run starts with. Later steps read each field with an @ reference.

form_idtext
submission_idtext
submitted_attext
last_updated_attext
edit_linktext
answersobject
questionslist
calculationslist
url_parameterslist
schedulinglist
paymentslist
quiz_scorenumber
quiz_max_scorenumber
login_emailtext

Actions

ActionWhat it does
Create a submissionRecord a submission against a form without going through the form itself: useful for importing responses collected elsewhere.
Create a webhookSubscribe a URL to a form's new submissions.
Delete a submissionPermanently delete one submission from a form.
Get a formFetch one form's structure (its questions, calculations, URL parameters, scheduling and payment fields), so you know which IDs to send when creating a submission.
Get a submissionFetch one submission and all of its answers.
List formsList the forms on your Fillout account.
List submissionsList the submissions a form has received, newest first.
Remove a webhookStop a webhook from receiving submissions, using the ID Create a webhook returned.

Create a submission

Record a submission against a form without going through the form itself: useful for importing responses collected elsewhere.

Inputs

Form IDform_idtextRequired
The ID of the form, as returned by List forms. It's also the last part of the form's public URL.
AnswersanswersobjectRequired
The answers to record, keyed by question ID -- for example {"kj4Q": "Ada Lovelace"}. Use Get a form to look up the question IDs.
URL parametersurl_parametersobject
Optional. Tracking values to record alongside the answers, keyed by URL parameter ID -- for example {"utm_source": "newsletter"}. Use Get a form to look up the IDs.
Submitted atsubmitted_atdate and time
Optional. When the response was originally collected. Defaults to now.
Last updated atlast_updated_atdate and time
Optional. When the response was last changed. Defaults to the submitted time.

Outputs

answersobject
The answers keyed by question text -- for example {'Email': 'ada@example.com'}. The quickest way to read one known answer.
calculationslist
What the form's calculations worked out for this submission
edit_linktext
A link that reopens this submission for editing. Empty unless the action was asked to include it.
last_updated_attext
When the submission was last changed
login_emailtext
The verified email address, when the form is behind a login page
paymentslist
Payments taken through the form's Fillout Payments fields
questionslist
Every answer in form order, with the question IDs needed to write a submission back
quiz_max_scorenumber
The highest score the quiz can award
quiz_scorenumber
The score this submission earned, when the form is a quiz
schedulinglist
Meetings booked through the form's Fillout Scheduling fields
submission_idtext
Submission ID. Use with Get a submission.
submitted_attext
When the submission was completed
url_parameterslist
The URL parameters the form was opened with -- where a tracking code such as utm_source arrives
Example output
{
  "answers": {
    "Email": "ada@example.com",
    "Name": "Ada Lovelace"
  },
  "calculations": [
    {
      "calculation_id": "c1Xz",
      "name": "Lead score",
      "type": "number",
      "value": "42"
    }
  ],
  "edit_link": "https://forms.fillout.com/t/vf1JqPvhSGus?fillout_submission=abc123",
  "last_updated_at": "2026-07-29T17:04:11.000Z",
  "login_email": "ada@example.com",
  "payments": [
    {
      "currency": "usd",
      "discount_code": "EARLYBIRD",
      "email": "ada@example.com",
      "name": "Ticket",
      "payment_field_id": "p3Kd",
      "payment_id": "pi_3PkQ2xHs",
      "payment_status": "succeeded",
      "stripe_customer_id": "cus_Qf8s1Yb",
      "stripe_customer_url": "https://dashboard.stripe.com/customers/cus_Qf8s1Yb",
      "stripe_payment_url": "https://dashboard.stripe.com/payments/pi_3PkQ2xHs",
      "stripe_subscription_id": "",
      "total_amount": 4900
    }
  ],
  "questions": [
    {
      "name": "Name",
      "question_id": "kj4Q",
      "type": "ShortAnswer",
      "value": "Ada Lovelace"
    },
    {
      "name": "Email",
      "question_id": "9Fk2",
      "type": "EmailInput",
      "value": "ada@example.com"
    }
  ],
  "quiz_max_score": 10,
  "quiz_score": 8,
  "scheduling": [
    {
      "email": "ada@example.com",
      "event_end_time": "2026-08-04T15:30:00.000Z",
      "event_id": "evt_9c2f",
      "event_start_time": "2026-08-04T15:00:00.000Z",
      "event_url": "https://calendar.google.com/calendar/event?eid=evt_9c2f",
      "full_name": "Ada Lovelace",
      "meeting_notes": "Wants a demo of the reporting tab.",
      "name": "Pick a time",
      "reschedule_or_cancel_url": "https://forms.fillout.com/scheduling/evt_9c2f",
      "scheduled_user_email": "sales@example.com",
      "scheduling_id": "s7Bq",
      "timezone": "America/New_York"
    }
  ],
  "submission_id": "abc123",
  "submitted_at": "2026-07-29T17:04:11.000Z",
  "url_parameters": [
    {
      "name": "utm_source",
      "parameter_id": "utm_source",
      "value": "newsletter"
    }
  ]
}

Create a webhook

Subscribe a URL to a form's new submissions. Fillout POSTs each new response to it in the same shape List submissions returns.

Inputs

Form IDform_idtextRequired
The ID of the form, as returned by List forms. It's also the last part of the form's public URL.
Endpoint URLurltextRequired
The HTTPS endpoint Fillout should POST each new submission to.

Outputs

form_idtext
The form the webhook listens to
urltext
The endpoint submissions are sent to
webhook_idtext
Webhook ID. Use with Remove a webhook.
Example output
{
  "form_id": "vf1JqPvhSGus",
  "url": "https://example.com/hooks/fillout",
  "webhook_id": "84213"
}

Delete a submission

Permanently delete one submission from a form. This cannot be undone, and the response stops counting toward the form's results.

Inputs

Form IDform_idtextRequired
The ID of the form, as returned by List forms. It's also the last part of the form's public URL.
Submission IDsubmission_idtextRequired
The ID of the submission, as returned by List submissions or Create a submission.

Outputs

deletedtrue/false
True once Fillout has removed the submission
form_idtext
The form the submission was deleted from
submission_idtext
The submission that was deleted
Example output
{
  "deleted": true,
  "form_id": "vf1JqPvhSGus",
  "submission_id": "abc123"
}

Get a form

Fetch one form's structure (its questions, calculations, URL parameters, scheduling and payment fields), so you know which IDs to send when creating a submission.

Inputs

Form IDform_idtextRequired
The ID of the form, as returned by List forms. It's also the last part of the form's public URL.

Outputs

calculationslist
The form's calculations
form_idtext
The form's ID
nametext
The form's name
paymentslist
The form's Fillout Payments fields
questionslist
The form's questions, in the order they appear
quiz_enabledtrue/false
Whether the form is scored as a quiz
schedulinglist
The form's Fillout Scheduling fields
url_parameterslist
The URL parameters the form accepts
Example output
{
  "calculations": [
    {
      "calculation_id": "c1Xz",
      "name": "Lead score",
      "type": "number"
    }
  ],
  "form_id": "vf1JqPvhSGus",
  "name": "Customer feedback",
  "payments": [
    {
      "name": "Ticket",
      "payment_field_id": "p3Kd"
    }
  ],
  "questions": [
    {
      "name": "Name",
      "question_id": "kj4Q",
      "type": "ShortAnswer"
    },
    {
      "name": "Email",
      "question_id": "9Fk2",
      "type": "EmailInput"
    }
  ],
  "quiz_enabled": false,
  "scheduling": [
    {
      "name": "Pick a time",
      "scheduling_id": "s7Bq"
    }
  ],
  "url_parameters": [
    {
      "name": "utm_source",
      "parameter_id": "utm_source"
    }
  ]
}

Get a submission

Fetch one submission and all of its answers.

Inputs

Form IDform_idtextRequired
The ID of the form, as returned by List forms. It's also the last part of the form's public URL.
Submission IDsubmission_idtextRequired
The ID of the submission, as returned by List submissions or Create a submission.
Include edit linkinclude_edit_linktrue/false
Optional. Also return a link that reopens each submission for editing.Default: false.

Outputs

answersobject
The answers keyed by question text -- for example {'Email': 'ada@example.com'}. The quickest way to read one known answer.
calculationslist
What the form's calculations worked out for this submission
edit_linktext
A link that reopens this submission for editing. Empty unless the action was asked to include it.
last_updated_attext
When the submission was last changed
login_emailtext
The verified email address, when the form is behind a login page
paymentslist
Payments taken through the form's Fillout Payments fields
questionslist
Every answer in form order, with the question IDs needed to write a submission back
quiz_max_scorenumber
The highest score the quiz can award
quiz_scorenumber
The score this submission earned, when the form is a quiz
schedulinglist
Meetings booked through the form's Fillout Scheduling fields
submission_idtext
Submission ID. Use with Get a submission.
submitted_attext
When the submission was completed
url_parameterslist
The URL parameters the form was opened with -- where a tracking code such as utm_source arrives
Example output
{
  "answers": {
    "Email": "ada@example.com",
    "Name": "Ada Lovelace"
  },
  "calculations": [
    {
      "calculation_id": "c1Xz",
      "name": "Lead score",
      "type": "number",
      "value": "42"
    }
  ],
  "edit_link": "https://forms.fillout.com/t/vf1JqPvhSGus?fillout_submission=abc123",
  "last_updated_at": "2026-07-29T17:04:11.000Z",
  "login_email": "ada@example.com",
  "payments": [
    {
      "currency": "usd",
      "discount_code": "EARLYBIRD",
      "email": "ada@example.com",
      "name": "Ticket",
      "payment_field_id": "p3Kd",
      "payment_id": "pi_3PkQ2xHs",
      "payment_status": "succeeded",
      "stripe_customer_id": "cus_Qf8s1Yb",
      "stripe_customer_url": "https://dashboard.stripe.com/customers/cus_Qf8s1Yb",
      "stripe_payment_url": "https://dashboard.stripe.com/payments/pi_3PkQ2xHs",
      "stripe_subscription_id": "",
      "total_amount": 4900
    }
  ],
  "questions": [
    {
      "name": "Name",
      "question_id": "kj4Q",
      "type": "ShortAnswer",
      "value": "Ada Lovelace"
    },
    {
      "name": "Email",
      "question_id": "9Fk2",
      "type": "EmailInput",
      "value": "ada@example.com"
    }
  ],
  "quiz_max_score": 10,
  "quiz_score": 8,
  "scheduling": [
    {
      "email": "ada@example.com",
      "event_end_time": "2026-08-04T15:30:00.000Z",
      "event_id": "evt_9c2f",
      "event_start_time": "2026-08-04T15:00:00.000Z",
      "event_url": "https://calendar.google.com/calendar/event?eid=evt_9c2f",
      "full_name": "Ada Lovelace",
      "meeting_notes": "Wants a demo of the reporting tab.",
      "name": "Pick a time",
      "reschedule_or_cancel_url": "https://forms.fillout.com/scheduling/evt_9c2f",
      "scheduled_user_email": "sales@example.com",
      "scheduling_id": "s7Bq",
      "timezone": "America/New_York"
    }
  ],
  "submission_id": "abc123",
  "submitted_at": "2026-07-29T17:04:11.000Z",
  "url_parameters": [
    {
      "name": "utm_source",
      "parameter_id": "utm_source",
      "value": "newsletter"
    }
  ]
}

List forms

List the forms on your Fillout account.

Inputs

None.

Outputs

formslist
The forms on the account
Example output
{
  "forms": [
    {
      "form_id": "vf1JqPvhSGus",
      "name": "Customer feedback"
    },
    {
      "form_id": "kR7mTnQbXe2p",
      "name": "Event signup"
    }
  ]
}

List submissions

List the submissions a form has received, newest first.

Inputs

Form IDform_idtextRequired
The ID of the form, as returned by List forms. It's also the last part of the form's public URL.
Maximum submissionslimitnumber
How many submissions to return (1-150).From 1 to 150. Default: 50.
Skipoffsetnumber
Optional. Skip this many submissions before returning any -- page two of a 50-per-page list starts at 50.At least 0. Default: 0.
Statusstatustext
Optional. Return only completed submissions, or only ones still in progress. Defaults to completed.One of: finished (Completed), in_progress (In progress).
Search termsearchtext
Optional. Only return submissions containing this text.
Submitted afterafter_datedate and time
Optional. Only return submissions made after this moment.
Submitted beforebefore_datedate and time
Optional. Only return submissions made before this moment.
Ordersorttext
Which end of the list to start from.One of: desc (Newest first), asc (Oldest first). Default: desc.
Include edit linkinclude_edit_linktrue/false
Optional. Also return a link that reopens each submission for editing.Default: false.
Include test responsesinclude_previewtrue/false
Optional. Also return the responses submitted while previewing the form.Default: false.

Outputs

page_countnumber
How many pages those submissions fill at this page size. Walk them with Skip.
submissionslist
The matching submissions
total_responsesnumber
How many submissions match in total
Example output
{
  "page_count": 3,
  "submissions": [
    {
      "answers": {
        "Email": "ada@example.com",
        "Name": "Ada Lovelace"
      },
      "calculations": [
        {
          "calculation_id": "c1Xz",
          "name": "Lead score",
          "type": "number",
          "value": "42"
        }
      ],
      "edit_link": "https://forms.fillout.com/t/vf1JqPvhSGus?fillout_submission=abc123",
      "last_updated_at": "2026-07-29T17:04:11.000Z",
      "login_email": "ada@example.com",
      "payments": [
        {
          "currency": "usd",
          "discount_code": "EARLYBIRD",
          "email": "ada@example.com",
          "name": "Ticket",
          "payment_field_id": "p3Kd",
          "payment_id": "pi_3PkQ2xHs",
          "payment_status": "succeeded",
          "stripe_customer_id": "cus_Qf8s1Yb",
          "stripe_customer_url": "https://dashboard.stripe.com/customers/cus_Qf8s1Yb",
          "stripe_payment_url": "https://dashboard.stripe.com/payments/pi_3PkQ2xHs",
          "stripe_subscription_id": "",
          "total_amount": 4900
        }
      ],
      "questions": [
        {
          "name": "Name",
          "question_id": "kj4Q",
          "type": "ShortAnswer",
          "value": "Ada Lovelace"
        },
        {
          "name": "Email",
          "question_id": "9Fk2",
          "type": "EmailInput",
          "value": "ada@example.com"
        }
      ],
      "quiz_max_score": 10,
      "quiz_score": 8,
      "scheduling": [
        {
          "email": "ada@example.com",
          "event_end_time": "2026-08-04T15:30:00.000Z",
          "event_id": "evt_9c2f",
          "event_start_time": "2026-08-04T15:00:00.000Z",
          "event_url": "https://calendar.google.com/calendar/event?eid=evt_9c2f",
          "full_name": "Ada Lovelace",
          "meeting_notes": "Wants a demo of the reporting tab.",
          "name": "Pick a time",
          "reschedule_or_cancel_url": "https://forms.fillout.com/scheduling/evt_9c2f",
          "scheduled_user_email": "sales@example.com",
          "scheduling_id": "s7Bq",
          "timezone": "America/New_York"
        }
      ],
      "submission_id": "abc123",
      "submitted_at": "2026-07-29T17:04:11.000Z",
      "url_parameters": [
        {
          "name": "utm_source",
          "parameter_id": "utm_source",
          "value": "newsletter"
        }
      ]
    }
  ],
  "total_responses": 128
}

Remove a webhook

Stop a webhook from receiving submissions, using the ID Create a webhook returned.

Inputs

Webhook IDwebhook_idtextRequired
The ID of the webhook to remove, as returned by Create a webhook.

Outputs

deletedtrue/false
True once Fillout has removed the webhook
webhook_idtext
The webhook that was removed
Example output
{
  "deleted": true,
  "webhook_id": "84213"
}

On this page