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 #
- You create a feed on a form: how often, what time, which timezone, when to stop.
- Someone submits the form. If the feed’s conditional logic passes, a series starts for that entry.
- The plugin calculates one next target — a specific date, time and timezone.
- A background worker checks every 15 minutes for targets that are due.
- When one is due, it submits the form again, creating a child entry with your chosen values.
- The result is recorded — success or failure, the child entry ID, and how late the run was.
- 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.