Skip to Content
Custom RoutinesConceptsHow Routines Remember Progress

How Routines Remember Progress

When a routine run is executed in steps, each step’s result is remembered. If the routine pauses — for example, to wait for your approval — it picks up exactly where it left off without redoing work.

How it works

When a routine runs:

  1. It starts from the beginning
  2. For each step, it checks: “Have I done this before?”
  3. If yes, it skips ahead using the saved result
  4. If no, it runs the step and saves the result
  5. If a step needs your approval, the routine pauses
  6. When you approve, the routine resumes — skipping all the steps it already completed

This means your routines are efficient (they never redo work) and resumable (approvals don’t lose progress).

A visual walkthrough

Why this matters

Your routines are reliable. If something interrupts a routine — an approval pause, a temporary error — it doesn’t start over from scratch. It picks up right where it left off.

Approvals don’t slow things down. If your routine has 5 steps and step 3 needs approval, steps 1 and 2 won’t re-run after you approve. The routine jumps straight to step 3.

Each run is independent. The saved progress is specific to each individual run. The next time the routine triggers, it starts fresh.

Progress is saved per-run. Each time a routine is triggered (by a new email, on a schedule, etc.), it starts fresh with no saved progress from previous runs.

Best practices

Keep steps focused. Each step should do one thing. This makes the saving and resuming more efficient — if step 3 fails, only step 3 needs to re-run, not a giant combined step.

Handle “nothing to do” cases. Always account for the possibility that there’s no data to process. For example, if your routine searches for emails and finds none, it should handle that gracefully rather than failing.

Use descriptive step names. Steps are identified by name, so use names that describe what they do — like “gather emails,” “format summary,” and “send report.”

Last updated on