Schedule Local Notifications On A Mobile Device

This guide explains how to configure and run the Local Notifications field in the Formyoula mobile app. It covers one-time and finite follow-up reminders, offsets, merge fields, JSON source data, notification tap actions, permissions, rescheduling, and troubleshooting.

In this example, the user selects a date and time in the “Reminder Date & Time” field and taps the “Set Notification” button. The notification is then scheduled locally on the device and displayed at the selected date and time.

We will use a Date and Time field to define when the notification should appear, a Local Notifications field to configure the notification, and a Field Update Button to schedule it.

1. Initial Setup:

  • Drag and drop a “Date and Time”, a “Field Update Button”, and a “Local Notifications” field onto your form.
  • Rename the fields as needed.
image

2. Configure The “Field Update Button” Field:

  • Click the pencil icon on the “Field Update Button” field.
  • Under “Field Updates”, configure:

Device Reminder | event | run

image

Note: This will run the “Device Reminder” Local Notifications field when the user taps the button.

⚠️

A trigger is required. The Local Notifications field waits for an event named run; selecting a source field by itself does not schedule anything.

Use either a Field Update Button for a user-controlled “Set Notification” action or a Field Update Workflow when the reminder should be scheduled automatically as part of a configured workflow. In either case, target the Local Notifications field with: Device Reminder | event | run.

  • Add the Button Label.
image

3. Configure The “Local Notifications” Field:

  • Click the pencil icon on the “Local Notifications” field.
  • Select the “Reminder Date & Time” field under the “Notification Source Field” option.
image

Note: This tells the Local Notifications field to use the value selected in the “Reminder Date & Time” field when scheduling the notification.

  • Add “Notification Title”: Enter the title that should appear in the device notification.
  • Add “Notification Body Template”: Enter the message that should appear in the notification.
image
  • Add “Notification Scheduled Success Message”: Enter the message that should be displayed after the notification has been scheduled successfully.
  • Add “Notification Scheduled Failure Message”: Enter the message that should be displayed if the notification cannot be scheduled.
image

4. Complete Local Notifications Field Reference:

Setting
Purpose and behavior
Label
Names the component and is used as the notification title when Notification Title is blank.
Notification Source Field
Supplies the date/time or source data. A Date and Time field is the simplest option. A JSON field can provide one object or an array of records.
Notification Source Data Path
Optional dot-notation path used to reach nested JSON data, such as response.tasks. Leave it blank for a direct date/time value or top-level data.
Notification Title
The device notification title. Supports form and source-record merge fields. If blank, the Local Notifications field label is used.
Notification Body Template
The message displayed below the title. It supports form and source-record merge fields. The full body is also displayed when the user taps the notification.
Notification Date and Time Template
Determines the scheduling date when the source is an object, when a form merge field is used, or when a fixed date is required. Leave it blank when the selected source field directly contains the date/time.
Notification Repeat Interval
Do Not Repeat, Daily, or Weekly. Repeats are finite follow-up notifications rather than an unlimited repeating alarm.
Notification Repeat Delivery Count
Number of follow-up deliveries, from 1 to 5. The total is the initial notification plus this count. It is ignored when Do Not Repeat is selected.
Open Form ID
Opens a new entry for the specified form when the notification is tapped. If both destinations are supplied, Open Form ID takes priority.
Redirect URL
Opens the configured URL with the Android system application when the notification is tapped and no Open Form ID is configured. The current implementation does not perform this redirect on non-Android platforms.
Offset Value, Unit, and Direction
Moves delivery before or after the resolved date/time. Units are minutes, hours, days, or weeks. A blank value applies no offset.
Scheduled Success Message
Displayed after successful scheduling. Supports form/source merge fields and the special {{notification_date_time}} placeholder.
Scheduled Failure Message
Displayed when permission, validation, cancellation, or scheduling fails. Supports form merge fields and the special {{error}} placeholder.

5. Choose How The Notification Date Is Resolved:

Option A — Direct Date and Time field

Select the Date and Time field as Notification Source Field and leave Notification Date and Time Template blank. This is the recommended configuration for a single reminder.

Option B — Another form field through a merge field

Enter a field token in Notification Date and Time Template, for example {{date_time_component_id}}. Formyoula replaces the token with the field’s live value when the run event is received.

Option C — Fixed date/time value

Enter a valid date/time value directly in Notification Date and Time Template. Use an unambiguous value and test it on every supported device platform.

Option D — JSON object or array

A source field may contain JSON. An object creates one notification; an array creates one notification for each record.

Example source value:

{
  "tasks": [
    {
      "subject": "Inspect generator",
      "dueAt": "2026-10-05T09:00:00"
    },
    {
      "subject": "Submit report",
      "dueAt": "2026-10-06T15:30:00"
    }
  ]
}

Configure:

  • Notification Source Data Path: tasks
  • Notification Date and Time Template: {{tasks.dueAt}}
  • Notification Title: {{tasks.subject}}
  • Notification Body Template: Reminder: {{tasks.subject}}

When a data path is configured, source-record tokens must begin with that path. Without a data path, concise tokens such as {{subject}} and {{dueAt}} can be used.

6. Configure Offsets

Offsets are applied after the notification date/time is resolved.

Examples:

  • 30 | Minutes | Before schedules 30 minutes early.
  • 2 | Hours | After schedules two hours after the resolved time.
  • Blank Offset Value means no offset; the selected unit and direction are then ignored.

Use a positive number. The Before or After selection determines the direction.

7. Configure Finite Follow-Up Reminders:

Choose Daily or Weekly, then select a repeat delivery count from 1 to 5.

For example, Daily + 2 creates three scheduled deliveries:

  1. One at the resolved date/time.
  2. One day later.
  3. Two days later.

When the user opens any notification in that group, Formyoula cancels the remaining future follow-ups for that reminder. Selecting Do Not Repeat creates only the initial notification, regardless of the displayed delivery count.

8. Configure What Happens When The Notification Is Tapped:

  • Formyoula displays the complete notification body.
  • If Open Form ID is configured, Formyoula opens a new entry for that form.
  • Otherwise, if an Android Redirect URL is configured, Formyoula opens that URL using the system application.
  • If neither destination is configured, the notification still opens the app and displays its body.

9. Merge Fields And Status Messages:

Notification titles, body text, destinations, and success messages can use live form-field merge tokens. JSON source-record tokens can also be used when a source object or array is configured.

Useful status-message examples:

  • Success: Reminder scheduled for {{notification_date_time}}.
  • Failure: The reminder could not be scheduled. {{error}}

For multiple source records or repeat deliveries, successful schedule messages are grouped into one in-app alert.

10. Permissions, Rescheduling, And Device Behavior:

📱

Local notifications are created and stored on the mobile device. They are not server push notifications and are not automatically transferred to another device.

  • The Formyoula mobile app checks notification permission and requests it when needed.
  • If the user denies permission, scheduling stops and the configured failure message is shown.
  • Running the same Local Notifications field again first cancels the notification IDs previously stored by that field, then schedules the latest values. This prevents duplicate reminders and allows a changed date/time to replace the earlier schedule.
  • Notifications require the mobile app’s Local Notifications capability. Browser-only environments without the mobile plugin cannot schedule them.
  • Delivery timing is ultimately controlled by the mobile operating system and the device’s notification, battery, and focus settings.

11. Download The Example Forms:

Choose the template that matches the scenario you want to demonstrate. Each template includes an explicit Field Update Button that sends event | run to its Local Notifications field.

Basic one-time reminder

Uses a required Date & Time field, one local notification, no offset, and no repeat.

01-basic-one-time-reminder.json4.77 KiB

Offset and follow-ups

Schedules the first notification 30 minutes before the selected time, followed by two daily repeat deliveries.

02-offset-and-follow-ups.json4.84 KiB

Notification tap actions

Demonstrates opening a Formyoula form or an Android redirect URL when the user taps the notification. When both are provided, Open Form ID takes precedence.

03-notification-actions.json6.25 KiB

Multiple reminders from JSON

Uses a tasks array and a Notification Source Data Path to schedule one notification per record. Change the sample dueAt values to future dates before testing.

04-json-multiple-notifications.json4.68 KiB
📱

Import and test one template at a time on a mobile device. Local notifications are scheduled on-device, and past date/time values will not produce a future notification.

12. Test The Notification On Your Mobile Device:

  • Open the form on your mobile device and test the setup.
image
  • Select a future date and time in “Reminder Date & Time”.
image
  • Tap “Set Notification”.
image
  • The following confirmation message should be displayed:
image
  • At the selected date and time, the configured notification should appear on the device.
image
Example Form.json4.5 KiB

13. Troubleshooting

Nothing happens when the button or workflow runs

  • Confirm the Field Update Button or Field Update Workflow targets the correct Local Notifications field.
  • Confirm the update is event with the value run.
  • Test in the Formyoula mobile app, not a browser-only environment.

The failure message is displayed

  • Add {{error}} to the failure-message template to expose the plugin error during testing.
  • Confirm notification permission is enabled in the device settings.
  • Confirm the resolved date/time is valid and in the future.
  • Confirm an offset has not moved the notification into the past.

The wrong date or time is used

  • Prefer a Formyoula Date and Time field instead of a manually formatted text date.
  • For JSON data, confirm the source data path and date token match the actual object structure.
  • Test around time-zone and daylight-saving transitions when the same form is used in multiple regions.

Duplicate or changed reminders

Running the field again replaces the schedule previously saved by that same Local Notifications field. Use a single deliberate trigger and avoid starting overlapping workflows. If several JSON records are supplied, multiple notifications are expected.

Repeat count appears off by one

The count represents follow-up deliveries, not total deliveries. Daily + 1 produces two notifications: the initial delivery and one follow-up.

For any questions, please contact us - [email protected] or the Formyoula in-app chat. 🙂