> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mangrovesystems.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Schedule recurring data requests

> Set up a data request to send automatically on a recurring cadence — weekly or monthly — instead of creating a new request each cycle.

If you collect the same data from a partner on a regular cadence — monthly meter readings, weekly fuel deliveries — schedule a recurring data request instead of building and sending a new one each cycle.

A schedule pairs a **template** (the inputs, recipients, and message you want repeated) with a **cadence**. At each interval Mangrove generates a new data request from the template and sends it to your recipients automatically.

## Create a scheduled request

Open the request form from **Data Inputs > Request Data** the same way you would for a one-off. At the bottom of the form, find **Delivery schedule** — a toggle with three options:

* **Send now** — send immediately (one-off)
* **Schedule once** — send a single request at a specific date and time
* **Recurring** — send on a recurring cadence

Pick **Recurring** to reveal the schedule fields.

<Steps>
  <Step title="Pick the Scheduled send">
    Set the date and time of the first send. Subsequent sends are calculated from this point.
  </Step>

  <Step title="Set the cadence">
    Choose **weeks** or **months** and an interval from 1 to 52 — for example, *Every 1 weeks* (weekly) or *Every 2 months* (every other month).

    Each generated request covers the window from the scheduled send forward by one cadence — e.g. a weekly schedule firing Monday at 9 AM produces a request asking for **Monday 9 AM – next Monday 9 AM**.
  </Step>

  <Step title="Choose an end condition">
    Pick when the schedule should stop:

    * **Never** — runs indefinitely until you pause or end it
    * **On** *\[date]* — stops after the specified date
    * **After** *\[N]* **occurrences** — stops after a fixed number of sends
  </Step>

  <Step title="Save the schedule">
    The schedule appears in the Data Requests list with a **Recurring** tag (blue). At each scheduled time, Mangrove spawns a new data request from the template and sends it to your recipients automatically.
  </Step>
</Steps>

## Track scheduled sends

In the Data Requests list, expand a scheduled request to see the sends that have already gone out — each spawned request appears as a child row with its own `N/M events` status, just like a one-off.

Open the detail drawer for the scheduled request to see the **schedule status card**, which shows:

* The current status — **Active**, **Paused**, or **Completed**
* The cadence and end condition
* **Next send** — when the next request will go out
* **Last send** — when the most recent request was sent

Each spawned send is a normal data request that you and your partners can submit to and review like any other — see [Request data from external partners](/data-collection/request-data) for the submission and review flow.

## Pause, resume, or end a schedule

From the schedule status card in the detail drawer:

* **Pause** an active schedule. Paused schedules stop generating new requests but keep their settings — the list-view tag changes to **Paused** (orange).
* **Resume** a paused schedule to pick back up at the next interval.

Once a schedule reaches its end condition (date passed or occurrence count hit), its status becomes **Completed** (green tag) and it stops sending. Create a new schedule to start again.

<Note>
  Edits to the template — recipients, message, requested inputs — apply only to *future* sends. Already-sent requests stay as they were when the partner received them.
</Note>

## Limits and behaviors to know

* **One active schedule per data request.** A request can have at most one active or paused schedule at a time.
* **You can't send a scheduled template manually.** While a schedule is active, the template itself can't be sent ad-hoc — pause or end the schedule first if you need to send a one-off in between.
* **Custom cron isn't supported.** Cadences are limited to weekly and monthly with an integer interval (1–52).
* **Failed sends skip; they don't retry.** If a send fails, the error is logged and the schedule advances to the next window. To backfill a missed period, send a one-off [data request](/data-collection/request-data) covering that window.
