View Categories

Choosing Snapshot or Dynamic Inputs

Every recurring feed has to answer one question: where do the values for each new submission come from?

The setting is Input mode: Snapshot (unchecked = Dynamic) in the feed’s submission options.


The Short Version #

Snapshot (checked) Dynamic (unchecked)
Values come from What was saved when the series started The parent entry as it is saved right now
Later edits to the parent Ignored Used
Populate Anything lookups Never re-evaluated Re-run on every attempt
Behaviour Predictable and frozen Current and responsive
Best for Records that must stay identical Data that should reflect today

Snapshot Mode #

When the series starts, the saved parent values are captured — ordinary fields and compound inputs alike — and reused for every future submission.

Choose Snapshot when:

  • The repeated submission is a fixed record, and drift would be wrong.
  • Someone may edit the parent entry for unrelated reasons and you don’t want that to leak into future children.
  • The form has no lookups worth refreshing.

What Snapshot does not freeze:

  • Date fields you selected under Update Date Field(s) — those still update at execution time.
  • Calculation and unique-ID fields — those are still generated by their Gravity Forms integrations on each child.
  • Feed settings — activation state and other live settings still apply. A snapshot is a snapshot of inputs, not of the whole feed.

Dynamic Mode #

On every attempt, the plugin reloads the current saved parent entry, seeds Populate Anything dependencies from those values, and evaluates populated fields in dependency order — including dependent and compound fields.

Choose Dynamic when:

  • The parent entry gets updated and the newest values should be used.
  • A lookup should produce today’s result: current price, current status, current assignee.
  • You want an empty lookup to stay empty so a blank-result notification or validation can react to it.

What Dynamic needs from you:

  • The lookup’s source value must be saved on the parent entry. If the reference identifier only ever existed in the browser, Dynamic mode has nothing to look up with.
  • If a Populate Anything dependency is unavailable, the attempt reports a specific issue rather than guessing. Ordinary forms without Populate Anything simply continue.

Important: an empty lookup result replaces the old value. That is deliberate — it lets a blank result trigger your notification or validation instead of silently reusing stale data.


A Decision Table #

Your situation Use
Monthly recurring donation record that must not change Snapshot
Daily check of a vehicle’s current mileage band Dynamic
Quarterly report where the contact person may change Dynamic
Compliance record that must match what was originally signed Snapshot
Form with no lookups and an entry nobody edits Either — Snapshot is the safer default

Things That Behave the Same Either Way #

Feature Behaviour
Update Date Field(s) Selected date fields update at execution, in the schedule’s timezone.
Calculations Recalculated by Gravity Forms on the child entry.
Unique ID fields A new value is generated per child.
Recurrence count field If a Number field supplies the end-condition count, it is set to zero on children so they can’t spawn their own schedules.
Notifications, feeds, workflows All fire, exactly as for a human submission.

Changing Your Mind Later #

The input mode is a feed setting, and it takes effect through the feed rather than through the schedule snapshot.

  • Changing it affects new series.
  • Existing series keep the execution choices recorded when they started — applying a saved schedule to existing series copies schedule settings, and deliberately leaves payload choices alone.

If an existing series must switch modes, the clean path is to cancel (or let it complete) and start a fresh series with the corrected feed.


Testing It Before You Commit #

  1. Create the feed with your chosen mode.
  2. Submit a parent entry.
  3. Click Run Next Submission Now.
  4. Open the child entry and compare it field by field with the parent.
  5. In Dynamic mode, edit the parent, run again, and confirm the change carried through.

Attempt context reports Populate Anything field IDs, whether the dependency was present, and how many results came back — without ever recording the values themselves.