> For the complete documentation index, see [llms.txt](https://docs.jetadmin.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.jetadmin.io/workflow/practical-guides/send-scheduled-reminders.md).

# Send scheduled reminders

Query eligible tickets on a schedule, send a reminder, and record that the reminder was sent.

## Prepare the data

This recipe assumes your test Tickets source has fields equivalent to:

| Field                              | Purpose                                   |
| ---------------------------------- | ----------------------------------------- |
| `id`                               | Stable record identifier                  |
| `status`                           | Distinguish open work from completed work |
| `due_at`                           | Decide whether the ticket is overdue      |
| `reminder_sent_at`                 | Exclude tickets already reminded          |
| Owner address or recipient mapping | Route the reminder                        |

These are example fields to create or map in your source, not fields automatically supplied by Jet Admin.

## Build the automation

1. Configure a [schedule](/workflow/start-a-workflow/run-on-a-schedule.md).
2. Query tickets whose due date is before the intended current time, whose status is open, and whose reminder marker is empty.
3. Add an iterator over the eligible records.
4. Configure an available email or messaging action for the current item's recipient. Set up the connector separately in [Data Sources](/user-guide/data-sources.md).
5. After the message action succeeds, update that ticket's reminder marker.
6. Test using a destination you control.

Use the date comparison and current-time functions supported by your source or formula editor. Confirm the relevant time zone.

## Verify four cases

* An overdue, open ticket without a marker receives a reminder.
* A completed ticket is excluded.
* A future-due ticket is excluded.
* A ticket already reminded is excluded.

This recipe sends one reminder per marker. If you need recurring reminders, define when the next reminder becomes eligible instead of leaving the marker permanently set.

If sending succeeds but saving the marker fails, a later run may send again. See [partial success and duplicate prevention](/workflow/handle-outcomes/handle-failures-and-prevent-duplicate-processing.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.jetadmin.io/workflow/practical-guides/send-scheduled-reminders.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
