Skip to content
BrightLeaf Digital
BrightLeaf Digital
  • About
  • Plugins
    • GravityOps Bundle
    • Integrate Asana with Gravity Forms
    • Mass Email Notifications for Gravity Forms
    • Recurring Form Submissions
    • Kanban View for GravityView
    • Global Variables
    • Folders4Gravity (free!)
    • GravityOps Search (free!)
  • Snippets
  • Agencies
  • Contact
  • 👤
BrightLeaf Digital
  • About
  • Plugins
    • GravityOps Bundle
    • Integrate Asana with Gravity Forms
    • Mass Email Notifications for Gravity Forms
    • Recurring Form Submissions
    • Kanban View for GravityView
    • Global Variables
    • Folders4Gravity (free!)
    • GravityOps Search (free!)
  • Snippets
  • Agencies
  • Contact
  • 👤

BL Digital Guidelines & Policies

2
  • Using the Plugin on a Client Site
  • BrightLeaf Digital Refund Policy

Integrate Asana with Gravity Forms

30
  • Getting Started
    • Integrate Asana with Gravity Forms — Welcome & Overview
    • Finding the Plugin in Your Dashboard
  • Setup
    • Connect Asana (OAuth)
    • Create Your First Feed (5-Minute Quickstart)
  • Settings Reference
    • Feed Settings — Name, Conditional Logic & Trigger
    • Asana Task Settings Reference
    • Feed Triggers
    • Mapping Custom Fields
    • Workflow Steps — Create Task
    • Workflow Steps — Update Task
  • How-to Guides
    • Use Conditional Logic to Route Tasks
    • Choosing the Right Feed Trigger
    • Attach File Uploads to Tasks
    • Use Asana Custom Fields as Automation Signals
    • Workflow Steps: Create Task
    • Workflow Steps: Update Task
  • Troubleshooting
    • Known Limitations
    • Basics
    • Reconnecting / Resetting Credentials
    • Task Creation Failed → Backup Task Behavior
    • Items Not Showing in Drop-downs
    • Feed Page Unavailable
    • Task Description Caused Errors
    • Duplicate Tasks
  • Explanations & Concepts
    • OAuth and Scopes
    • Permissions & Workspaces
    • How Feeds Run
    • Performance Considerations
  • Changelog/Roadmap
    • Changelog
    • Roadmap

Mass Email Notifications for Gravity Forms

48
  • Getting Started
    • Mass Email Notifications — Welcome & Overview
    • Finding the Plugin in Your Dashboard
    • Before You Begin: Email Limits & SMTP
    • How Batches Are Created & Sent (5-Minute Delay)
    • Recommended Setup Pattern — Master Control Notification Form
  • Setup
    • Configure Global Send Limits (Throttling)
    • Create Your First Feed (5‑Minute Quickstart)
    • Using a GF Notification as Your Email Template
    • Schedule Batches for a Future Date
  • Settings Reference
    • Workflow Step
    • Global Settings — Limits Reset Rules, Old Batch Cleanup, Cron Toggle & Next Run
    • Unsubscribe Settings (Free Version)
    • Unsubscribe & Preferences Settings (Premium Version)
    • Double Opt-In Settings (Premium Version)
    • Feed Settings — Name, Label, Dedupe, Completion Email
    • Choose Target Form & Email Field
    • Email Settings — From, Reply-To, Subject, Message, Merge Tags
    • Unsubscribe & Preferences Merge Tags Reference
    • Merge Tag Fallbacks & CSV Column Mapping
    • Schedule Based on Date Field
    • Conditional Logic — Feed Form vs. Target Form
    • CSV Ingestion
  • How‑to Guides
  • Troubleshooting
    • Basics
    • Batches Not Sending / Cron Not Running
    • Preview Shows 0 Recipients with Target-Form Filters (Premium)
    • Troubleshooting Unsubscribe & Preferences Issues
    • Hitting Rate Limits
    • Emails Going to Spam
    • Entries/Batches Missing After Deletions
  • Explanations & Concepts
    • Understanding Double Opt-In
    • Understanding the Unsubscribe and Preferences System
    • How Batching & Cron Work
    • Throttling Models Explained
    • Deduplication Strategy
    • Batch Statuses & Actions
    • What Gets Logged
    • Limitations & Design Trade‑offs
    • Security & Permissions Considerations
  • Changelog / Roadmap
    • Changelog
    • Roadmap

GravityOps Search

6
  • Nesting Shortcodes
  • Using Search Operators
  • Multi-Input Field Support
  • General Notes
  • The Display Attribute
  • Changelog

Kanban View for GravityView

7
  • Getting  Started
    • Kanban View for GravityView
    • How KV4GV Complements GravityView & Gravity Flow
  • Setup & Configuration
    • Quick Start & Setup
    • Board & Card Configuration
  • How‑to Guides / Use Cases
  • Changelog & Roadmap
    • Changelog
    • Roadmap

Recurring Form Submissions for Gravity Forms

10
  • Getting Started
    • Welcome & Overview
    • Finding the Plugin in Your Dashboard
  • Setup
    • Creating Your First Recurring Feed (Quickstart)
  • Settings Reference
    • Plugin Settings Page
    • Feed Settings
    • Entry Page
    • Notifications, Alerts & Shortcodes
  • Explanations & Concepts
    • Lifecycle, Scheduling, Deletion & Edge Cases
  • Changelog/Roadmap
    • Roadmap
    • Changelog

Global Variables

7
  • Getting Started
  • Creating and Using Variables
  • Nesting Variables
  • Using Variables in Conditional Logic
  • Developer Notes
  • Roadmap
  • Changelog

Folders4Gravity

7
  • Getting Started with Folders4Gravity
  • Getting Started with Folders
  • Folder Management
  • Inside a Folder
  • Admin Dashboard Widgets
  • Frequently Asked Questions
  • Changelog
View Categories
  • Home
  • GravityOps Documentation
  • Recurring Form Submissions for Gravity Forms
  • Explanations & Concepts
  • Lifecycle, Scheduling, Deletion & Edge Cases

Lifecycle, Scheduling, Deletion & Edge Cases

This set of explanations provides the mental model behind Recurring Form Submissions for Gravity Forms. It covers how a series progresses, how time and catch‑up work, what happens on deletes/deactivations, how data persists, and which practical limitations to expect.


Series Lifecycle (Conceptual) #

  • Start: A form submission occurs on a form with an active Recurring Submissions feed. The feed evaluates conditional logic on the parent submission only. If conditions pass, a series is created for that entry.
  • Cadence: The series defines a cadence (every N days/weeks/months/years) plus an end condition (resubmission count or end date).
  • Run: On eligible days, the plugin generates a new child entry (a normal GF submission), runs all enabled feeds/notifications for that form, and logs the outcome.
  • Track: Parent/child entries maintain bi‑directional links and notes. The series accumulates progress until the end condition is met or the series is canceled.
  • Complete: When the final resubmission succeeds, the series is marked complete.

Scheduling, Time Storage & Catch‑Up #

  • Time model: All times are stored in UTC and displayed in the site’s configured time zone.
  • Daily scan: The plugin’s daily process looks for series with occurrences due that day or earlier.
  • Missed days: If the site was down or cron didn’t run, missed occurrences are picked up on the next run.
  • Manual run semantics: Manually processing the next submission does not change the long‑term cadence; the following occurrence remains scheduled relative to its original plan.

Deletion, Deactivation & Uninstall #

  • Delete vs. Trash:
    • If the source entry or form is deleted permanently (not just trashed), the series stops.
    • If either is trashed, nothing changes; the series continues.
  • Feed deactivation: If the feed is deactivated after a series has started, that series continues and must be manually canceled if you want it to stop.
  • Feed deletion: Deleting the feed cancels any active series associated with that feed.
  • Plugin deactivation: While deactivated, no submissions are processed. Upon reactivation, overdue occurrences are picked up on the first run (data remains intact in the database).
  • Plugin uninstall: Removes plugin data and tables; the system is cleaned as if the plugin was never installed (aside from the entries it created!).

Data Model & Persistence #

  • Storage: Series and state are stored in custom database tables managed by the plugin.
  • Parent/Child linkage: Parent entries record series metadata; each child is linked back to its parent. Links are visible via entry notes and used internally for auditing and progress computation.
  • Form duplication: Duplicating a form duplicates feeds but not existing series. New series begin only on new submissions that meet the feed’s conditions.

Custom Entry Meta Fields #

The plugin exposes the following entry meta fields for search, filtering, and merge tags.

Parent Entries #

  1. rfsfgf_is_parent_submission
    Label: Is Parent Submission
    Values: 'true' or 'false'
    Filterable: is, isnot
  2. total_resubmissions
    Label: Total Resubmissions
    Type: Numeric
    Filterable: is, isnot, >, <, contains

Child / Auto‑submitted Entries #

  1. is_auto_submission
    Label: Is Auto Submission
    Values: 'true' or 'false'
    Filterable: is, isnot
  2. resubmission_progress
    Label: Resubmissions Progress
    Format: e.g., 3 of 10 or 5 until Dec 31, 2025
    Filterable: is, isnot, contains

Both Parent and Child #

  1. rfsfgf_feed_label
    Label: Feed Label
    Behavior: Entry‑specific; supports merge tags
    Filterable: is, isnot, contains

Availability:

  • Searchable/filterable in the Gravity Forms entry list
  • Usable via custom merge tags in notifications/confirmations
  • Accessible via GFAPI and GF entry‑meta functions or our GravityOps Search plugin
  • Optional columns in the entry list view

Interaction With Gravity Forms Features (Concepts) #

  • Conditional Logic: Evaluated on the parent submission only to determine whether a series starts.
  • Calculation Fields: Recomputed on each submission.
  • Unique ID & GPPA: Unique ID fields produce a new unique value per resubmission; GPPA re‑hydrates in dynamic mode; Snapshot mode copies stored values, but Unique ID still remains unique for resubmissions.
  • Notifications & Feeds: Each resubmission is a normal GF submission, so all active feeds/notifications execute accordingly.

Limitations & Edge Cases #

  • No pause state: Series can be canceled, not paused.
  • Manual next run: Manually processing a run does not shift the schedule anchor; the next occurrence follows the original cadence.
  • No backfills: The system never creates retroactive runs for dates in the past.
  • Feed edits: Changes to feed settings affect future occurrences only.
  • Parent deletion impact: Deleting the parent stops the series and leaves child entries intact for audit history.
  • Validation failures: A failed resubmission does not create an entry; payment (or other) feeds do not run; failure is logged and must be retried or marked fixed before the series can be considered complete.

Design Rationale (Why It Works This Way) #

  • Reliability first: Using a daily scan with catch‑up ensures missed days (downtime, cron hiccups) are accounted for on the next run.
  • Auditability: Parent/child linkage, entry notes, and explicit failure states guarantee traceability across the series lifecycle.
  • Operational safety: Deactivation preserves data and catches up later; uninstall removes all traces for clean hand‑offs.
Updated on November 12, 2025

What are your Feelings

  • Happy
  • Normal
  • Sad

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest
Table of Contents
  • Series Lifecycle (Conceptual)
  • Scheduling, Time Storage & Catch‑Up
  • Deletion, Deactivation & Uninstall
  • Data Model & Persistence
  • Custom Entry Meta Fields
    • Parent Entries
    • Child / Auto‑submitted Entries
    • Both Parent and Child
  • Interaction With Gravity Forms Features (Concepts)
  • Limitations & Edge Cases
  • Design Rationale (Why It Works This Way)

Stay Updated

Unlock weekly tools and insights that help you run your business on WordPress - faster and smarter.

This field is hidden when viewing the form
Name
This field is hidden when viewing the form
You've already subscribed with that email address!

Run your business operations on WordPress — without SaaS. Own your stack, own your data.

Support

Login

Request Support

Ask The Community

Read Our Documentation

Company

Join Our Agency Program

Become An Affiliate

Contact BrightLeaf Digital

Check Out Our Blog

Follow Us

2026 BrightLeaf Digital

Privacy Policy

Terms of Service

  • About
  • Plugins
    • GravityOps Bundle
    • Integrate Asana with Gravity Forms
    • Mass Email Notifications for Gravity Forms
    • Recurring Form Submissions
    • Kanban View for GravityView
    • Global Variables
    • Folders4Gravity (free!)
    • GravityOps Search (free!)
  • Snippets
  • Agencies
  • Contact
  • 👤