Recurring audience & waves
Trigger journey runs for a segment based on a recurring schedule.
Early Access: this feature is available for a limited set of customers.
A journey with a recurring audience trigger runs on a schedule — every day, week, or month — without anyone exporting CSVs or manually sending campaigns. At each scheduled time, Bird creates a wave that enrolls everyone matching your segment at that moment.
Use a recurring journey when you want to reach the current members of an audience on a repeating cadence — a weekly digest to your active users, a monthly billing reminder, a quarterly NPS survey — without rebuilding the journey or launching a campaign each time.
How it works
When you publish a recurring journey, Bird schedules waves according to your cadence. At each scheduled time:
Bird resolves the audience — the contacts who match the segment right now, not when you configured the journey.
A wave is created and one journey run is launched per matched contact.
Each run flows through the journey steps independently, just like any other journey.
Membership is evaluated at wave time, so suppression changes, preference updates, and segment changes between waves are reflected automatically.
Setting up a recurring journey
Create a new journey and choose Recurring audience as the trigger.
Pick your segment.
Set the frequency, hour, minute, and timezone for the schedule. The trigger card shows a preview of the next few waves so you can confirm before publishing.
Configure re-entry behavior (see below).
Add the rest of your journey steps and publish.
Minimum cadence is once per day. You can't schedule waves more frequently than daily — for example, "daily at 9 AM" works, but "every hour" is not supported.
Re-entry and cooldown
A contact can match the same audience across multiple waves. The Allow Re-entry toggle and Re-entry cooldown control what happens when they do.
Re-entry off
A contact enters the journey at most once. Subsequent waves exclude contacts who have already started a run in this journey.
Re-entry on, cooldown = 0
Every wave starts a fresh run for every matched contact, even if they're still in an active run from a previous wave.
Re-entry on, cooldown = N days
A contact can re-enter only after N days have passed since their last entry. Subsequent waves exclude contacts within the cooldown window.
Pick re-entry settings based on the message. A monthly billing reminder usually wants re-entry on — every match is a new billing cycle. An onboarding-style sequence usually wants re-entry off — you only want each contact to receive it once.
Waves vs. runs
These two terms are easy to confuse:
A wave is one scheduled execution of the recurring trigger. One wave per scheduled time (plus any manual waves you start).
A run is one contact's path through the journey. A single wave launches one run per matched contact.
So a daily journey targeting a segment of 1000 contacts produces one wave per day, each kicking off 1000 runs.
Past waves, upcoming, and manual control
Once your journey is live, the trigger panel exposes three tabs:
Configuration — the audience, schedule, and re-entry settings. On a live journey you can pause or resume the schedule from here.
Entry Conditions aren't available for this trigger type. The segment is the filter.

Past waves — every wave that has fired, with its date, time, status, number of runs created, and a link to the journey runs it produced. Each wave also has a Show metrics drawer — the numbers are aggregated across runs from this wave.

Upcoming — the next scheduled wave times based on your cadence.

Start a wave manually
From the Past waves tab of a live journey, click Start wave to launch an out-of-schedule wave immediately. The manual wave behaves exactly like a scheduled one — it resolves the audience at click time, launches a run per matched contact, and shows up in the past-waves list alongside scheduled waves.
Use this for one-offs and tests: an ad-hoc send to the current segment without waiting for the next scheduled time.
Wave progress
While a wave is launching, the trigger panel shows a Progress counter. This counts how many runs have been created out of the resolved audience — it doesn't track whether those runs have moved through the journey. Once the counter reaches the audience size the wave is marked Completed, regardless of where the individual runs are.
To see what's happening to the runs themselves, open View journey runs.

Canceling a wave
While a wave is still launching runs, you can click Cancel wave to stop further launches. Runs that have already been created continue to execute — canceling only stops new runs from being created. To stop already-launched runs, you'd need to act on those individual runs in the journey runs view.
Pausing the schedule
On a live journey, you can Pause the schedule from the Configuration tab. Pausing:
Stops future scheduled waves from firing.
Does not affect runs from prior waves — they continue executing.
Does not prevent you from triggering a manual wave with Start wave.
Use pause for content refreshes or while debugging — no need to delete and recreate the journey. Click Resume to put the schedule back on track; the next wave will fire at the next scheduled time.
The schedule pause is separate from journey publication. A live journey with a paused schedule is still live — it just won't fire automatically.
Limits and considerations
Cadence minimum: once per day.
Audience size: large segments may take time to inject — runs are created progressively, not all at once.
Frequency caps still apply: sends inside each wave count toward your workspace's frequency caps. See Frequency Capping.
A/B testing: variants and confidence accumulate across all waves, not per wave.
Last updated
Was this helpful?

