---
title: "Configure cron automations"
description: "Register a workflow automation that submits jobs on a cron schedule."
image: "https://tilebox.com/images/tilebox-docs-social-preview.png"
---

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

# Configure cron automations

import { CardGrid } from "@docs/components/ui/card-grid";
import { LinkCard } from "@docs/components/ui/link-card";

Use cron automations when a workflow should run on a schedule, such as hourly catalog checks, daily quality-control jobs, or recurring data processing.

Tilebox automations submit workflow jobs when their trigger condition matches. A runner on the target cluster still needs to execute the submitted tasks.

## Define the automation task

Create a task that can run from a scheduled trigger.

```python title="Python"
from tilebox.workflows import ExecutionContext
from tilebox.workflows.automations import CronTask


class DailyCatalogCheck(CronTask):
    def execute(self, context: ExecutionContext) -> None:
        context.logger.info("Running daily catalog check", trigger=str(self.trigger))
```

## Register the cron automation

Use the automation client to register a schedule and target cluster.

```python title="Python"
from tilebox.workflows import Client

client = Client()
automations = client.automations()

automations.create_cron_automation(
    "daily-catalog-check",
    DailyCatalogCheck(),
    cron_schedules=["0 6 * * *"],
)
```

## Keep a runner available

The automation submits jobs. It does not execute them by itself. Start a runner that can execute the task identifier.

```python title="Python"
runner = client.runner(tasks=[DailyCatalogCheck])
runner.run_forever()
```

## Next steps

    Read the full cron automation reference.

    Inspect jobs created by automations.

Source: https://tilebox.com/docs/guides/operations/configure-cron-automations/index.mdx
