View Categories

Welcome to Recurring Form Submissions

Recurring Form Submissions for Gravity Forms turns a single form entry into a schedule.

Submit the form once, and the plugin keeps creating new entries for you — every day, every other week, on the first of the month, until a date you choose or a number of submissions you set.

Nothing is exported, nothing runs outside WordPress, and every submission goes through Gravity Forms exactly as if a person had pressed Submit.


What It Does #

  • Repeats a form entry on a calendar schedule — days, weeks, months or years.
  • Runs at a time you choose, in a timezone you choose, on the weekdays you allow.
  • Stops when you say so — after N successful submissions, on an end date, or based on a number field on the form.
  • Keeps values current, or freezes them — reuse the values saved today, or pull fresh values (including GP Populate Anything lookups) on every run.
  • Shows you exactly what will happen next, before it happens, with a preview of the next five occurrences.
  • Tells you when something breaks — email alerts, a dashboard notice and a full attempt history.

Who It’s For #

  • Nonprofits and membership organizations collecting the same information on a rhythm.
  • Operations teams creating recurring tasks, checklists or status updates from a form.
  • Schools and clinics generating periodic records without re-keying them.
  • Agencies who need a repeat submission to behave like a real submission — notifications, feeds, workflows and all.

If you can set up a Gravity Forms feed, you can set up a recurring schedule.


The Vocabulary in One Table #

These five words appear everywhere in this documentation and in the plugin’s screens.

Term What it means
Parent entry The entry a person submitted. It is the template and the anchor for the schedule.
Feed Your configuration: how often to repeat, when to stop, which values to use.
Series One running schedule — one parent entry paired with one feed.
Child entry A new entry the plugin created on schedule.
Attempt One run of the schedule, successful or not, recorded with its timing and outcome.

A parent entry can run several series at once if the form has several active recurring feeds.


How It Works #

  1. You create a feed on a form: how often, what time, which timezone, when to stop.
  2. Someone submits the form. If the feed’s conditional logic passes, a series starts for that entry.
  3. The plugin calculates one next target — a specific date, time and timezone.
  4. A background worker checks every 15 minutes for targets that are due.
  5. When one is due, it submits the form again, creating a child entry with your chosen values.
  6. The result is recorded — success or failure, the child entry ID, and how late the run was.
  7. The next target is calculated, and the cycle repeats until the series ends.

Important: a series only ever holds one next target — never a backlog. If your site is down for a week, you get one submission on recovery (or none, if you tell the feed to skip), never seven.


What Makes It Reliable #

  • Nothing runs silently. Every attempt writes a record and a note on the parent entry.
  • Failures are bounded. After three consecutive failures (by default) the series stops automatically instead of retrying forever.
  • Lateness is explained. Each attempt records whether it started inside the normal polling window, waited on a delayed cron dispatch, or ran manually.
  • Nothing changes behind your back. Editing a feed sets defaults for new series; existing schedules only change when you explicitly apply the change or edit them.
  • You can always see the worker. Queue reports whether WordPress actually ran the background check — not just whether it was scheduled.

What You’ll Find in This Documentation #

Section What’s in it
Getting Started Orientation — where everything lives, the vocabulary, and what your site needs before you rely on a schedule.
Setup Step-by-step: your first feed, choosing how values are filled in, and confirming the worker really runs.
Settings Reference Every screen and every setting, field by field.
How-To Guides Short task recipes — move one date, change many schedules, pause for a holiday, put controls on a front-end page.
Explanations & Concepts The reasoning: calendar math, DST, missed runs, lifecycle states, retention and permissions.
Troubleshooting Symptom-first pages — nothing runs, runs are late, a submission failed, values look wrong.
Developer Reference Actions, filters and their parameters.
Changelog / Roadmap What shipped, and what’s being considered next.

Where to Go Next #

  • New to the plugin? Read Finding the Plugin in Your Dashboard, then Creating Your First Recurring Feed.
  • Already have feeds running? The Queue Screen is where day-to-day operations happen.
  • Something isn’t submitting? Start at Troubleshooting Basics.