Skip to main content

Automations

Build flows that run on their own. Welcome new golfers, reward the fifth visit, nudge low balances, win back lapsed golfers, and send golfers to other systems with webhooks. Waits, if/else branches, testing and per-golfer history included.

Updated 11/5/2026

An automation is a flow that runs on its own. Something happens, like a golfer joining, visiting or topping up. The golfer then goes through the steps you've set up: waits, checks and actions. You build and manage them on the Automations page.

Start from a template

    1. Go to Automations and click New automation.
    2. Pick a template, like 5th visit reward or Win-back ladder, or Start from scratch.
    3. It opens in the builder switched off, so nothing is sent until you activate it.

The builder

The builder shows your flow from top to bottom. The trigger is at the top, then each step in order.

  • Click + between any two steps to add a step there.
  • Click a step to change its settings in the panel on the right.
  • Hover over a step to duplicate it, move it up or down, or delete it.
  • Changes save automatically. Undo and Redo are in the top bar, or use Ctrl/⌘+Z.
  • Steps with a problem show a red mark. The to fix button in the top bar lists every problem; click one to jump to it.

Steps you can add

StepWhat it does
Send wallet messageA lock-screen message on the golfer's wallet pass. Golfers without the pass in Apple or Google Wallet skip it.
Give creditAdds money to their house account, optionally expiring after a number of days.
Add tag / Remove tagMarks a golfer, so you can target them in segments or trigger another automation.
Set golfer fieldSaves a value on their profile, like membership_level. You can use it in segments and messages.
Add noteLeaves a note on their profile for your team.
Send webhookSends the golfer's details to another system, like your CRM.
Wait for…Pauses for minutes, hours, days or weeks (up to 90 days).
Wait until…Pauses until a time of day, like 9
AM on a weekday, in your club's timezone.
If / elseSplits the flow. Golfers who match go down Yes; everyone else goes down No.

Triggers

TriggerWhen it fires
Golfer joinsThe first time a golfer is added, from any source.
Pass added to walletWhen their pass is saved to Apple or Google Wallet.
First purchaseTheir first house-account purchase.
Visit or purchaseEvery check-in or POS sale. Narrow it to a specific visit (their 5th), every Nth visit, or a minimum spend.
House-account balance changesTop-ups, purchases, adjustments and expiries. Narrow it to a balance that drops below or rises above an amount.
Tag added / Tag removedWhen a tag is put on or taken off a golfer, by your team or another automation.
Enters a segmentWhen a golfer starts matching a saved segment. Checked every 15 minutes.
BirthdayThe morning of their birthday, in your club's timezone.
Stops coming inOnce they've gone a number of days without a visit.
Credit about to expireA set number of days before a house-account credit expires.

Only events that happen after you activate an automation start it. Nothing that already happened is replayed.

Who can enter

On the trigger step, choose All golfers or a saved segment. The live count shows how many golfers match right now.

How often someone can enter

  • Every time. Each event starts the automation again.
  • Only once. Each golfer goes through it at most once, ever.
  • Cooldown. At most once every so many days.

By default, a golfer who is already part-way through isn't entered again. That stops someone who visits every day from getting the same message every day. Tick Let a golfer enter again while they're still part-way through to change this.

If / else

An if/else can check two kinds of rule:

  • About the golfer. Anything you can filter on in a segment: visits, spend, tags, customer type, purchases, golfer fields and more. Checked when the golfer reaches the step.
  • About this event. The amount of this visit, the visit number, or the balance before and after. These are only offered when the trigger knows them.

You can also check whether the golfer is in a saved segment. If an if/else can't be decided (for example, its segment was deleted), the golfer stops there and it shows on the Activity tab. They are never sent down a side by guesswork.

When you delete an if/else, you choose which side to keep.

Personalising messages

Click Insert field to add a merge field such as {first_name}, {club}, {balance} or {event.amount}. Add a fallback for empty values with a bar: {first_name|there} reads "Hi there" when a golfer has no first name. Fields that the current trigger can't fill are marked in the list.

Webhooks

The Send webhook step sends a request to a URL you choose:

  • Standard payload sends the golfer, the event and the automation. Custom JSON lets you shape the body with merge fields. Values are escaped automatically.
  • Requests are signed with a Golfpass-Signature header, the same scheme as the API webhooks. Admins can show and rotate the signing secret on the step.
  • Add headers like Authorization. Mark a header Secret and its value is stored separately and never shown again.
  • Only public https:// addresses are allowed, and redirects aren't followed.
  • A failed request is tried up to 5 times over about 3 hours. Every attempt has the same Golfpass-Delivery id, so your system can ignore repeats.
  • Click Send test request to send one real request with a sample golfer and see the response.

Test before you turn it on

Click Test, pick a golfer, and adjust the event details (like the visit amount). PocketPass shows what would happen to that golfer, using what's on screen now, including unsaved changes:

  • which side of each if/else they'd go down, and why
  • when each wait would end
  • the exact message, note or webhook body they'd get

The path lights up on the flow. Nothing is sent, posted or changed.

Settings

Click Settings for:

  • Goal. Stop early, counted as a success, when the golfer visits or tops up. Ideal for win-backs: once they come back, the rest of the flow stops.
  • Quiet hours. Hold wallet messages overnight. A message due in quiet hours waits until they end.
  • Re-check the audience after each wait. If a golfer leaves "Who can enter" while waiting, they leave the automation.

Activating, publishing and pausing

  • Activate turns a new automation on. Fix anything marked in red first.
  • Editing a live automation saves your changes as a draft. They take effect when you click Publish changes. Golfers already part-way through keep the version they started, unless you choose to stop them.
  • Pause stops new golfers entering. You choose whether golfers already part-way through stop too or finish.
  • Delete stops anyone waiting and keeps the history. Click Undo on the message that appears to bring it back.

Team members with view-only access can see automations but not change them. Only admins can delete an automation or see a webhook signing secret.

Activity and history

Open an automation and click Activity to see:

  • how many golfers entered, are in progress, completed, reached the goal or failed, over 7, 30 or 90 days
  • the flow with numbers on each step: how many passed, which side of each if/else they took, and how many are waiting there now. Click a number to see those golfers.
  • every golfer who went through it. Search by name, filter by status, and click one for their step-by-step timeline, including the message they got and every webhook response.

If a step failed, open the golfer and click Retry from the failed step, or use Retry all failed. You can also stop an automation for one golfer.

Good to know

  • Waits are accurate to about a minute.
  • Wallet messages are never retried, so a golfer never gets the same message twice. Credit, tags, fields and notes are retried up to 3 times; webhooks up to 5.
  • A golfer can enter at most 3 automations in a chain, for example tag → automation → tag → automation. This stops two automations triggering each other forever. The builder also warns you if an automation would trigger itself.
  • Step-by-step history is kept for 180 days. The totals are kept for good.

More in Engage