Scheduled Messages
What are Scheduled Messages?
Scheduled messages in SuperFCM allow you to send notifications to a segment of users at a specific date and time. These one-time messages are perfect for announcements, promotions, or any time-sensitive communication that needs to be delivered at a particular moment in time.
Scheduled Message Status
Scheduled messages have both a lifecycle status and a delivery status that determine their behavior. Once a message is activated, only the delivery status will be displayed in the dashboard.
Lifecycle Status
Status | Dashboard Visibility | Available for Editing | Can Be Deleted | Description |
---|---|---|---|---|
Active | ✅ | depending on delivery status | ❌ | Message is active and delivery is managed by delivery status |
Draft | ✅ | ✅ | ✅ | Message is being prepared and won't be sent until activated |
Archived | ❌ (by default) | ❌ | ✅ | Message is no longer needed but preserved for reference |
Delivery Status
Status | Description |
---|---|
Pending | Message is ready and waiting for its scheduled send time |
Processing | Message is currently being prepared for delivery |
Scheduled | Deliveries have been scheduled and are being dispatched |
Completed | All deliveries have been completed |
Cancelled |
There may be a slight delay in reflecting the current delivery status on the dashboard due to caching.
Managing Scheduled Messages
Creating Messages
To create a scheduled message:
- In your dashboard, navigate to Scheduled in the Messages section.
- Click on New Message.
- Select if you want to start from scratch or apply a template. You can also apply (re-)apply a template at a later stage.
- Fill in the minimum required information:
- Name: Enter a descriptive name for your message
- Segment: Select the target segment that will receive the message
- Content: Select a template or enter message content directly
- Configure any additional delivery settings if needed.
- Save the message by clicking Save draft.
New messages are created as draft by default and need to be activated before they can be sent.
Activating Messages
To activate a message:
- In your dashboard, navigate to Scheduled in the Messages section.
- Find the draft message you wish to activate.
- Click the context menu (three dots) next to it.
- Select Activate.
A message can only be activated if its linked segment is active. If the segment has been deactivated since the message was drafted, you’ll need to reactivate it before activating the message.
You can edit an active message up until it begins scheduling — typically until 5 minutes before its scheduled send time. Messages without a scheduled time begin sending immediately and cannot be edited once activated.
Editing Messages
To edit a message:
- In your dashboard, navigate to Scheduled in the Messages section.
- Find the message you wish to edit.
- Tap it and make the changes in the dialog that opens.
- Save the changes by clicking Save (for active messages), respectively Save draft (for draft messages).
For active messages that haven’t started sending, most properties can still be edited. Once a message begins processing, it becomes read-only and can only be archived.
Archiving Messages
Once a message has been sent or is no longer needed:
- In your dashboard, navigate to Scheduled in the Messages section.
- Find the message you wish to archive.
- Click the context menu (three dots) next to it.
- Select Archive.
Archived messages are hidden from the dashboard view but can be accessed by filtering for archived status.
Deleting Messages
To permanently delete a message:
- In your dashboard, navigate to Scheduled in the Messages section.
- Ensure the message’s status is either
Draft
(for unsent messages) orArchived
(for messages already sent) before deletion is allowed. - Click the context menu (three dots) next to it.
- Choose Delete.
- Confirm the deletion.
Deleting a message does not remove its associated deliveries. This means your analytics remain unaffected, though you will no longer be able to view insights for that specific message.
Archived messages may still have pending deliveries in progress. These deliveries will continue to be sent, even if the message is deleted.
Cancelling Messages
Once a message has started sending, it cannot be cancelled.
To prevent delivery, revert the message to Draft
status before it begins processing. Archiving or deleting a message after sending has started will not stop any pending deliveries.
Message Options
Start Sending Date
The Start Sending Date determines when a message begins sending. If a start date is set, scheduling begins approximately 5 minutes before that time. If no date is specified, the message is treated as immediate and will start sending as soon as it is activated.
By default, no stop start date is set, meaning a message is treated as immediate by default.
Stop Sending Date
The Stop Sending Date is an optional setting that limits the timeframe during which a message can be sent. This date will override any delivery optimization settings. No subscriber will receive the message past this date, making it ideal for time-sensitive communication (e.g. sales promotions with fixed end dates).
By default, no stop sending date is set, meaning the message will continue sending until all deliveries are completed.
Delivery Optimization
Choose how you want your message to be delivered with the following options:
- Standard: Sends to all subscribers at the same time. (Default option)
- Timezone: Delivers at the same local time for each subscriber, based on the wallclock time relative to the start date (e.g., if the start date is set for 7 AM, the message will be sent at 7 AM in each subscriber's local time), but not before the start date.
- Last Seen: Sends at each subscriber's last active time, as recorded at the time of scheduling the message, but not before the start date.
When selecting Timezone or Last Seen, messages may be sent up to 24 hours after the set start date. They will be scheduled once the message starts sending.
Delivery Capping
Scheduled messages are sent only once and do not allow for a delivery cap. However, by default, the app-level delivery cap (if set) is applied. You can opt to ignore the global cap by selecting Ignore Global Cap.