Create Reminder Items
A reminder item represents a single scheduled notification for one recipient. Each item specifies who to notify, what template to use, and when to deliver the message.
Navigate to Actions → Plugins, open the Reminder plugin, and go to the Items section to manage reminder items from the admin UI.
Reminder Item Fields
| Field | Description |
|---|---|
| Country Code | The international dialing code for the recipient's phone number, e.g. +62 for Indonesia. |
| Phone Number | The recipient's phone number without the country code. |
| Recipient Name | Optional. The recipient's display name, used in logging and history. |
| Notification Template Name | The identifier of the notification template to use for the message. Must match a template configured in your messaging account. |
| Template Parameters | A list of values that fill in the template placeholders, e.g. {{1}}, {{2}}. The order must match the template's parameter order. |
| Send Times | One or more scheduled timestamps when the reminder should be delivered. At least one is required. |
| Timezone | The timezone used to interpret Send Times, e.g. Asia/Jakarta, America/New_York. Defaults to UTC. |
Send Times and Recurrence
The Send Times field accepts a list of timestamps. The processor delivers the message at each scheduled time in order:
- When the first send time arrives, the message is sent and the item advances to the next send time.
- When all send times are exhausted, the status changes to
completed. - If a send time passes without successful delivery after five attempts, the processor skips it and moves to the next scheduled time.
Example — three-day follow-up sequence:
{
"sendTimes": [
"2025-06-01T09:00:00+07:00",
"2025-06-02T09:00:00+07:00",
"2025-06-03T09:00:00+07:00"
],
"timezone": "Asia/Jakarta"
}
Reminder Status Lifecycle
| Status | Description |
|---|---|
active | The reminder is scheduled and waiting for its next send time. |
completed | All send times have been successfully processed. |
expired | The reminder was not sent within the expected window and is no longer actionable. |
cancelled | The reminder was manually cancelled before delivery. |
Status transitions happen automatically during processing. You can also manually change status via bulk operations.
Creating a Reminder via the API
POST /api/reminder/item/create
Request body:
{
"id": "unique-reminder-id",
"countryCode": "+62",
"phoneNumber": "81234567890",
"recipientName": "Budi Santoso",
"notificationTemplateName": "appointment_reminder",
"templateParameters": ["Dr. Sari", "Senin, 2 Juni", "09:00"],
"sendTimes": ["2025-06-01T18:00:00+07:00", "2025-06-02T07:00:00+07:00"],
"timezone": "Asia/Jakarta"
}
The id field is set by the caller. Use a UUID or any unique string to identify the reminder later.
Updating a Reminder
PUT /api/reminder/item/update
You can update all fields including sendTimes and status. Updating a completed or cancelled reminder back to active will re-schedule it from the next undelivered send time.
Deleting a Reminder
DELETE /api/reminder/item/{reminderId}
Deleted reminders are permanently removed. For non-destructive cancellation, update the status to cancelled instead.
Retrieving a Reminder
GET /api/reminder/item/{reminderId}
GET /api/reminder/item/list?status=active&pageSize=20&skip=0
The list endpoint supports filters:
| Parameter | Description |
|---|---|
status | Filter by reminder status (active, completed, expired, cancelled). |
phoneNumber | Filter by recipient phone number. |
dateFrom | Include only reminders created on or after this date. |
dateTo | Include only reminders created on or before this date. |
pageSize | Number of results per page. |
skip | Number of results to skip for pagination. |
Reminder History
Every action on a reminder is logged in its history:
| Action | Triggered when |
|---|---|
Created | The reminder item is first saved. |
Sent | The message is successfully delivered. |
SendFailed | A delivery attempt fails. Increments the attempt counter. |
SendError | An unexpected error occurs during delivery. |
The history is visible in the item detail view and useful for diagnosing delivery issues.
Related Pages
- Processing and Delivery
- Integration API — create reminders from external systems.
- AI Function Tool — let the AI create reminders during conversations.
- Reminder Overview