Reminders Without Nagging: The Rules Flowo's Notifications Follow
By Maksym Bardakh Ivko · Chief Executive Officer
In short
Flowo sends a notification only for something the person scheduled or asked for, such as a reminder before a planned block at an offset they chose. BBMM Technologies built the app with no remote push, so no server can message the phone, and nothing in the app creates a come-back notification. Only a reminder set to five minutes or less before a start uses the time-sensitive level.
What can trigger a notification
Every notification in Flowo starts from a value the person set. Two sources are active in the app today.
- A reminder before a scheduled block, at the offsets stored on that block's task.
- A single reminder 30 days after the person chooses to pause a subscription.
The code also holds an evening recap. It is scheduled only when a recap time is stored, and none is stored by default.
Flowo has no remote push. The push entitlement was removed from the iOS build, so a campaign sent from a server is something the app cannot receive. The constraint is part of the build, and no dashboard setting can undo it.
Offsets belong to the task
A Flowo reminder is set per task, with a first alert and an optional second alert. Each one is chosen from the same ten values: none, at the start, 5, 15 or 30 minutes before, 1 or 2 hours before, 1 or 2 days before, and 1 week before.
The defaults sit close to the start. A new task has one alert at its start time. A new habit has one alert 5 minutes before. A new event or subtask has two, 5 minutes before and at the start.
A task with both alerts set to none produces no reminders, and nothing else in the app sends one in its place. A block therefore has at most two reminders.
Which reminders are loud
Flowo marks a reminder as loud only when its offset is five minutes or less before the start. On iOS that reminder uses the time-sensitive interruption level, and every other reminder uses the ordinary active level.
A time-sensitive notification can appear during a Focus, so it spends more of a person's attention than an ordinary one. We allow it inside the last five minutes before a start and nowhere earlier. Every default offset falls inside that window, so a reminder left on its defaults is a loud one. An offset of 15 minutes or more arrives as an ordinary notification.
The person keeps the last word. iOS has a per-app switch for time-sensitive notifications, and Android lists each Flowo category as a separate channel. Flowo has no quiet-hours setting of its own, and the system's Focus and Do Not Disturb settings apply to it as they do to any app.
What a reminder says
The built-in text of a Flowo reminder is the task title and a statement of time. The body reads 'Starting now', 'In 15 min', 'In 1 hr' or the same in days or weeks, in each of the app's seven languages. It contains no instruction and no count of missed work.
While the app is open, it can ask our backend to write a warmer line for an upcoming reminder. The request carries the task title, the block's start time, the reminder's position, the app language and the time zone name. It is rate limited and is not charged to the person's daily AI allowance, because the person did not start it.
One rule in that backend prompt matters most to us. When a block starts within 15 minutes of a different task ending, the text may mention the earlier task, and it must never assume that task was completed. It may ask how it went. A line that congratulates someone on work they did not finish is worse than no line.
Tapping a reminder with written text opens the assistant with that text as its first message. A remote switch can turn the writing off or limit it to reminders that are close, and the built-in text is used then. The background worker always uses stored or built-in text.
What Flowo does not send
Several kinds of notification are absent from Flowo because the code has no path that creates them.
- A come-back notification. Nothing in the app creates a notification from the days since install or since the last open.
- A reminder for a block that is done, dismissed or skipped, or whose task is completed or archived.
- A notification about a streak.
- A notification with a full-screen takeover or an action button. A reminder can be tapped or dismissed.
- A repeat of the same reminder. Each alert fires once and is not re-sent when ignored.
The skipped case deserves a sentence. A future block marked skipped is the person taking it off the schedule, and a reminder for it would overrule that choice.
The pause reminder
The one notification in Flowo that concerns money exists to prevent a charge the person did not intend. In subscription settings a person can choose to pause in place of cancelling. The app then schedules one local notification for 30 days later and opens the subscription management screen.
The reminder is titled 'Your Flowo pause is up'. It uses the passive interruption level and sets no badge, the same quiet handling as the recap category. Choosing pause again replaces the earlier reminder, so only one is ever pending.
The reasoning we wrote down when we added it is short: a skipped month should not silently become a billed one.
Asking once and accepting the answer
Flowo asks for notification permission from one onboarding screen and from no background code. The scheduling path only reads the permission state. If the answer was no, reminders are not scheduled and the app does not raise the question again by itself.
A refusal changes what is delivered and leaves the rest of the app as it was. Onboarding continues with either answer, and the schedule, the planner and the focus timer work without notifications.
The system prompt appears once. Right after a refusal the app shows one dialog, titled 'Notifications are off', with a cancel button and a button that opens its page in system Settings. Reminders can be switched on there at any later time.
Key takeaways
- Flowo has no remote push entitlement, so every notification is created on the device from a value the person set.
- Each task carries a first and an optional second alert chosen from ten values, and a new task defaults to one alert at its start time.
- Only a reminder set to five minutes or less before a block uses the iOS time-sensitive level.
- The built-in reminder body is a statement of time such as 'In 15 min', localized in seven languages.
- Written reminder text must never assume the previous task was completed, and it is not charged to the daily AI allowance.
- Pausing a subscription schedules one passive reminder 30 days later so a skipped month is not billed unnoticed.
Frequently asked questions
- Does Flowo send notifications to bring people back to the app?
- No. Nothing in the app creates a notification from the days since install or since the last open. Flowo also has no remote push, so a server cannot send a campaign to the phone.
- How many reminders does Flowo send for one task?
- At most two per scheduled block, a first alert and an optional second alert. A new task starts with one alert at its start time and no second alert, and a new event gets both alerts by default. Setting both to none means the task sends nothing.
- Can Flowo reminders break through a Focus on iOS?
- Only a reminder set to five minutes or less before the start can, because it uses the time-sensitive interruption level. Earlier reminders use the ordinary level. iOS also has a per-app switch that turns time-sensitive notifications off.
- Who writes the text of a Flowo reminder?
- The built-in text is the task title with a line such as 'In 15 min'. While the app is open it can request a short written line from the Flowo backend, sending the task title and start time. When that is unavailable or switched off, the built-in text is used.
- What does Flowo do if I refuse notification permission?
- It continues without reminders. Onboarding goes on, the schedule and the timer work as before, and the app does not prompt again by itself. Reminders can be turned on later in the system Settings page for Flowo.
References
- Flowo
- Apple Human Interface Guidelines
- Apple Developer Documentation: UNNotificationInterruptionLevel
- Android Developers: create and manage notification channels
- Flowo client source: NotificationIntentFactory, NotificationCoordinator and the task, habit and event forms
- Flowo backend source: notification prefetch endpoint
About the author
Maksym Bardakh Ivko
Chief Executive Officer
Maksym leads product at BBMM Technologies. He designs Flowo’s scheduler and writes most of what ships in it.