Relay365Multi-model API relay desk
← All desk bulletins
Field notes from the deskEN3 desk reads

02:00 Shift Note: AI Reports Queued for Morning

At 02:00, a scheduled task collects yesterday’s support tickets, asks an AI model to summarize recurring problems, and saves a draft for the morning team. Nobody needs to keep a chat window open. The work runs because a scheduler starts a program with a defined task.

That is night-shift AI automation: ordinary scheduled software with an AI call inside it. The useful part is not making a model work while people sleep. It is arranging a small, repeatable job that can finish safely without someone answering questions.

The scheduler starts the job, not the model

A scheduler is a clock-driven launcher. It might be cron on a server, a scheduled workflow in a code-hosting service, or a cloud scheduling service. At the chosen time, it starts your script or application.

The application gathers inputs, sends a request to a model, checks the response, and stores the result. The model does not independently wake up each night or remember what your business needs. Your program supplies the instructions and relevant data on every run.

Choose the time zone explicitly. If a task must run at a fixed interval, consider UTC; if it must follow local office hours, account for daylight-saving changes. Also decide whether a new run should wait or stop when the previous run is still active.

A ticket digest makes a sensible first overnight job

Start with work whose output can wait for review. A daily ticket digest is easier to control than an agent that changes production settings or sends customer replies.

  • The job reads tickets from a defined reporting window and records which records it included.
  • The prompt asks for recurring themes, unresolved issues, and references to the original tickets.
  • The application checks that the expected sections exist and that referenced ticket identifiers came from the input.
  • The result is saved as a draft, with a completion status for the morning team.

For an initial trial, you might test Gemini 2.5 Flash against a small set of past tickets. Compare its summaries with human-reviewed examples before scheduling unattended runs. A plausible summary is not necessarily an accurate one.

Unattended work needs narrower permissions

Give the job access only to the data and actions it actually needs. A report generator usually needs read access to its source and write access to a draft destination, not administrator credentials.

Store API keys in a secret manager or your runtime’s protected secret storage. Avoid putting them in prompts or logs. Remove sensitive information that the task does not require before sending data to a model.

Treat text from tickets, documents, and websites as untrusted input. It may contain instructions that try to redirect the model. Keep permitted actions enforced in application code, and require human approval before sending messages, deleting records, or changing live systems.

Retries must not create duplicate morning reports

Network requests can fail, and a model response can arrive in an unexpected format. Set request timeouts, limit retries, and leave enough time between attempts. Do not keep retrying indefinitely.

Give each scheduled run a stable identifier, such as its reporting date. Before publishing a result, check whether that run already produced one. This makes reruns less likely to create duplicate reports or notifications.

Limit input size, output length, and the number of model calls in your code. Check provider usage records as well. An instruction telling the model to spend less is not a spending control.

A relay fits at the model-call boundary

If you want access to multiple model families through one integration, Relay365 is a pay-as-you-go relay desk worth considering. It works with Claude Code, Codex, Gemini CLI, and any OpenAI SDK. Its API base is https://api.api365relay.com; OpenAI clients add /v1.

Near the end of your local trial, create a Relay365 account if that setup fits your workflow. Keep scheduling, permissions, validation, and spending controls in your application rather than assuming a relay supplies them.

The morning handoff should show evidence

Record when the job ran, its reporting window, the model used, and whether validation passed. Alert someone when it fails or produces no usable output. A reliable overnight routine leaves either a reviewable draft or a clear failure notice—not silence that looks like success.

Further desk bulletins

Curious how it runs on your own code? Sign up →