Skip to content
← Help center

Messages & staff work

Workflows and the dry-run gate

Build automated steps, preview their effects, activate them, and inspect run history.

Club staff · 9 min read · Last reviewed October 24, 2026

Follow these steps at your club’s own website. Available screens and actions depend on your account’s role and the programs your club has enabled.

Overview

Use Workflows to automate routine membership, billing, or message work. Build the workflow, review what it will do, then run a dry run before activating it.

Create a workflow

Choose the trigger, add the steps, and set the audience or conditions. Use Dry run to review the actions and messages without making real changes. Fix anything unexpected, then activate the workflow.

A few triggers that nothing in Swim Ops records any more, such as a facility blackout date being added or removed, aren't offered. A workflow can't be saved with one, because it would never start. A workflow saved with one before this change still opens, so you can rename it or change its trigger.

A step set to run on or after a date runs on that date at your club: it starts just after midnight in the time zone set in Settings, not the evening before. If the workflow starts on that date itself, the step runs that day.

A step can carry a condition, Stop the workflow here unless. It is checked when the step is due, after any wait, so a tag added during the wait counts. If it isn't true then, the workflow ends for that household: that step and every step after it are skipped. Put steps that everyone should get before any step with a condition.

Conditions that name your club's things

A workflow can carry two kinds of condition: Only enroll a household if (checked once, when the trigger fires) and Stop the workflow here unless (on a step). They pick from the same list of conditions as an email audience. If your club uses Programming, that list includes People registered for a program: choose the program from the list, which shows each program's name and dates. The condition is true for a household with someone registered for that program. People whose registration was canceled, and people only on a waitlist, don't count. While Programming is turned off the list is empty and the condition isn't offered.

When you save, each condition you added or changed is checked against your club. A condition that names a program, membership tier or camp week your club doesn't have is refused, with a sentence that says which condition it is and what to fix. Without that check, a condition like "not registered for" a mistyped program would quietly be true for everyone. A condition you didn't change is left alone, so you can still edit another step of an older workflow whose condition names a tier the club has since retired. Changing that condition is what makes it checked.

If you open an older workflow whose condition names a program that was canceled or is no longer in the list, the program box says A canceled program, or one not in this list (pick another). Pick another program, or remove the condition. A condition the visual editor can't show as a row, such as an either-or, stays as written under Advanced: condition JSON until you edit it there.

If Programming is turned off after a workflow was built, a condition that names a program is false for everyone, whether or not it says "not": the workflow starts for no one, or stops each household at that step, until Programming is turned back on.

In a Send an email step, the Intro follows "Hi" and the person's first name in the email, so start it in lowercase: "your offer is still open", not "Your offer is still open".

A Send a text step's message always starts with your club's name, because every club's texts come from the same phone number, and always ends with "Reply STOP to unsubscribe." so members can turn texts off. We add both for you, unless your message already starts with the club's name or already tells people to reply STOP. The message box's length limit leaves room for both.

In a workflow that starts when a waitlist offer is sent (like the Waitlist offer follow-through starter), each email or text step checks the offer first. If the household already accepted or declined it, or its deadline has passed, the step sends nothing and the workflow carries on to its next step. An email about an offer that is still open shows the offer's deadline. One sent at least a day after the household's latest accept link (the offer email, a Resend offer email, or an earlier reminder) also has a View your offer button with a new accept link, and that link replaces the old one. The new link only replaces the old one when everyone in the household who got the old link also got the reminder. If anyone's copy couldn't be sent, nothing is replaced and the link they already have keeps working. An email without a button tells people to use the link in their offer email or contact the club. That includes one sent less than a day after a new link, and one sent after you used Replace accept link.

A workflow that starts when a program waitlist offer is sent (a camp week, event or lap swim spot) checks the offer the same way: once the household has accepted or declined it, the offer was withdrawn, or its deadline has passed, each email or text step sends nothing and the workflow carries on to its next step. These reminders don't carry an accept button; the offer email has the link.

Starter workflows and the emails the club already sends

Some messages go out without any workflow: the email a household gets when it gives notice it is leaving, and the email an applicant gets once their application is in. The Notice to leave (called Relinquishment handling in clubs that set it up earlier; your copy keeps the name it was created with) and Waitlist application received starter workflows therefore only create a task for your team; they do not send those emails again.

If your club turned one of these on before this change, it may still have its own "received" email step, and the household gets two emails. Open the workflow and delete that step, then dry run and enable it again.

Editing a workflow that is already running

Changing a running workflow's steps (its trigger, its conditions or any step) puts it back to draft and stops it. This is deliberate: a workflow is only ever enabled against the exact steps a dry run tested. It also ends every run that is part-way through. Those households don't get the remaining steps, and enabling the workflow again doesn't bring those runs back: only households its trigger starts afterwards go through the new steps. The message after you save says how many runs that was. (A workflow that lets a household go through it again can have more than one run for the same household.)

Changing who can go through it again (on the Settings tab) also puts it back to draft, but households already part-way through carry on once you enable it again.

A new name or description is saved straight away and changes nothing else.

After a change that puts the workflow back to draft, do a dry run and enable it again, or it will not fire. The tab warns you before you save, and the message after you save says whether the workflow went back to draft.

The workflow screens

Workflows is a tab under Messages. Each card shows the workflow's name, what starts it, and how many times it ran in the last 30 days. An enabled workflow has a Pause button; any other has Review & dry-run.

New workflow offers templates, and Start from a blank workflow instead. Every template creates a draft, so nothing runs until you review it, do a dry run, and turn it on from its own page.

A workflow's own page has four tabs:

  • Steps: the trigger, the steps and the conditions. Where a workflow only starts for certain households, a line shows how many households match today.

  • Preview: the dry run. It says "Preview only: nothing was sent" and lists what would have happened. Enabling stays locked until a dry run has been done on the exact steps you have now.

  • Runs: every time the workflow has run. Open a row to see the household it ran for and what each step did, including why a step failed.

  • Settings: name, description and whether the same household can go through it again.

At the top, Pause stops an enabled workflow. A draft that has never run can be deleted with Delete draft. If a workflow stops itself because of an error, a red notice at the top says why. Pausing stops new households from starting it and freezes every run already part-way through (a run being sent at that moment finishes its current step first). Enabling the workflow again picks those runs up where they stopped. To end them for good, use Cancel waiting runs: those households get none of the remaining steps, and whatever already happened stays.

Check what ran

Use run history to check completed, delayed, or failed steps. An email step that couldn't reach the email service tries again by itself, twice, and only sends to the people who haven't had it yet; a text step is never tried again. If the email service refuses one person's copy for good (a mistyped address, for example), the step still emails the rest of the household and the workflow carries on to its next steps; trying that copy again would fail the same way, so it isn't. If nobody in the household could be emailed, the step fails and says why. A failed step still lists the emails that did go out, so you can see who got it before you send anything by hand. See Member says an automated email or text never arrived. Turning off a workflow stops future runs; it does not undo actions already completed. See Messages and Approving an action.

Asking Claude to do it

If your club lets connected tools make changes, Claude or another connected tool can list your workflows, read one in full (including whether its last dry run still matches its steps), and do the following after you confirm it in the chat:

  • create a draft workflow, from a starter template or from steps you describe. A draft never runs or messages anyone;

  • edit a workflow's name, description, re-entry rule or steps. As on the website, changing the steps or the re-entry rule sends a running workflow back to draft, and changing the steps ends the runs already part-way through. What you confirm says how many runs that is;

  • cancel waiting runs, which ends the runs still part-way through, so those households get none of the remaining steps. It cannot be undone;

  • pause a workflow, or delete a draft that never ran.

Turning a workflow on is different. A tool can ask to enable one, and that waits for approval on the website, from the person who asked. But a workflow only turns on after a dry run of its exact current steps, and a connected tool cannot do the dry run. Open the workflow's Preview tab on the website and run it yourself first. If the steps change afterwards, you will need to dry run again. There is no way around this, so a tool can write a workflow but cannot also approve its own test. See Approving an action.