<https://www.loom.com/share/c6bc7b058da04dedaade5d2b4b0c40d9>

# Set Up Scheduled Jobs

Scheduled jobs let you run workflows automatically on a schedule. Instead of manually running enrichments, set them up once and let TexAu handle the rest. Run workflows once at a specific time or on a recurring basis.

## What Are Scheduled Jobs?

Scheduled jobs automate your enrichments:

* **Run once**: Execute your workflow at a specific date and time

* **Run repeatedly**: Execute on a schedule (daily, weekly, hourly, custom patterns)

Once set up, your scheduled job runs automatically without any action from you.

**Examples:**

* Enrich new leads every morning at 9am

* Update company data every Monday

* Refresh prospect information every 6 hours

* Distribute leads to your sales team every Friday at 2pm

## Two Scheduling Modes

### Mode 1: Once (One-Time Execution)

Runs your workflow at a specific date and time, then stops.

**Use for:**

* Enriching a batch of new leads on a specific date

* Processing a special dataset on a particular day

* Backfilling missing data for a particular quarter

### Mode 2: Interval (Recurring Schedule)

Runs your workflow repeatedly on a schedule.

**Use for:**

* Every day at 9am

* Every Monday at 2pm

* Every 6 hours

* Every day except weekends

## Set Up a Scheduled Job: Step by Step

### 1. Start a New Schedule

In your workflow, click **Scheduling** then **+ New Schedule**.

### 2. Choose Your Table and Rows

Decide what to process:

* **Table**: Which table in your workflow should run?

* **Rows to process**:

  * **All rows**: Process every row in the table every time

  * **Only rows marked for processing**: Process only rows flagged for enrichment

  * **Custom filter**: Process only rows matching specific criteria (for example, "status = 'new'" or "created_date = today")

> **Tip:** Use filters to process only relevant data. Processing just "status = new" is faster and uses fewer credits than processing everything.

### 3. Choose Scheduling Mode

#### One-time schedule:

1. Select **Once**

2. Pick a date using the calendar

3. Pick a time (hours and minutes)

4. Select your timezone

5. Click **Save Schedule**

#### Recurring schedule:

1. Select **Interval**

2. Choose frequency:

   * **Simple options**: Daily, Weekly, Monthly, Hourly

   * **Advanced options**: Cron expression (see below)

3. Set the specific timing (for example, "at 9am" for Daily)

4. Select your timezone

5. Click **Save Schedule**

## Select Your Timezone

Your scheduled jobs run in the timezone you select when setting up the schedule.

1. Find the **Timezone** dropdown in the scheduling form

2. Choose your timezone (for example, "America/Denver", "Europe/London", "Asia/Tokyo")

3. The time you enter is interpreted in that timezone

**Example:**

* You set a schedule for 9am

* You select "America/Denver" as your timezone

* The job runs at 9am Denver time every day

* During daylight saving time changes, TexAu adjusts automatically

> **Tip:** Double-check your timezone selection, especially for recurring schedules. A wrong timezone setting means your job runs at a different local time than expected.

## Schedule Status

Your scheduled jobs have different statuses:

| Status        | Meaning                                                    |
| ------------- | ---------------------------------------------------------- |
| **Active**    | Running on schedule                                        |
| **Paused**    | Temporarily stopped. Job will not run until you resume it. |
| **Completed** | One-time job has finished. It will not run again.          |
| **Failed**    | Job attempted but encountered an error. Check logs.        |
| **Pending**   | Waiting for next scheduled time. Everything looks good.    |

## Pause and Resume Schedules

### Pause a Schedule

Click the **Pause** button next to your schedule. The job stops running until you resume it.

**Use when:**

* You are troubleshooting an issue

* You want to stop processing temporarily

* You need to update your workflow

### Resume a Paused Schedule

Click **Resume** next to your paused schedule. It starts running at the next scheduled time.

**Note:** Resuming does not execute immediately. It waits for the next scheduled time.

## View Schedule History and Logs

### Check Your Schedule's History

Click on a schedule to see:

* **Last run time**: When it last executed

* **Next run time**: When it will run next

* **Total executions**: How many times it has run

* **Execution logs**: Details about each run (success, failures, number of rows processed)

### Review Execution Details

In the logs, you see:

* **Start time and end time**

* **Status**: Success or failed

* **Rows processed**: How many data rows were enriched

* **Time taken**: How long it took to run

* **Errors (if any)**: What went wrong

## Common Scheduling Patterns

### Daily Lead Enrichment

* **Mode**: Interval

* **Frequency**: Daily

* **Time**: 9am (before your sales team starts)

* **Rows**: Only new leads (using a "created_date = today" filter)

* **Why**: Sales team gets fresh data first thing in the morning

### Weekly Data Refresh

* **Mode**: Interval

* **Frequency**: Weekly (Mondays)

* **Time**: 8pm Sunday (overnight, does not block daytime work)

* **Rows**: All rows

* **Why**: Regular refresh, non-urgent

### Hourly Monitoring

* **Mode**: Interval

* **Frequency**: Hourly

* **Time**: Every hour on the hour

* **Rows**: Rows marked for monitoring

* **Why**: Near-real-time data freshness

### One-Time Backfill

* **Mode**: Once

* **Date/Time**: A specific date and time

* **Rows**: Historical data (custom filter)

* **Why**: One-time processing

## Advanced: Cron Expressions

If you are familiar with cron syntax, you can use cron expressions for more control.

**Basic cron pattern:** `minute hour day month day-of-week`

**Examples:**

| Cron Expression | Meaning                   |
| --------------- | ------------------------- |
| `0 9 * * *`     | Every day at 9am          |
| `0 9 * * 1`     | Every Monday at 9am       |
| `0 */6 * * *`   | Every 6 hours             |
| `0 8 1 * *`     | First day of month at 8am |
| `0 9,17 * * *`  | At 9am and 5pm daily      |
| `*/15 * * * *`  | Every 15 minutes          |

> **Tip:** Most users should stick with the simple frequency options. Only use cron if you need very specific scheduling.

## What Happens When a Scheduled Job Fails?

If your scheduled job encounters an error:

1. **Automatic retry**: TexAu automatically retries failed scheduled jobs

2. **Error notification**: You see an alert in your dashboard

3. **Execution logs**: Check the logs to see what went wrong

4. **Status**: The schedule shows as "Failed" until resolved

**Common failure reasons:**

* External API was temporarily unavailable

* Invalid data in a column caused a formula error

* Your workflow definition changed and became invalid

* Rate limits were hit

> **Tip:** Check your execution logs regularly to catch issues early.

## Tips for Efficient Scheduling

1. **Use filters**: Do not process all rows every time. Use filters to process only new or relevant data.

2. **Schedule during off-peak times**: Schedule large enrichments for nights or weekends so they do not compete with daytime work.

3. **Monitor first, then automate**: Before setting a recurring schedule, run your workflow manually once to make sure it works correctly.

4. **Plan for growth**: Start with conservative intervals (for example, daily). You can increase frequency later as you see results.

5. **Combine operations**: Use formulas and processing actions within your workflow, then schedule the whole thing. This way, one schedule does all the work.

6. **Document your schedules**: If you have multiple schedules, write down why each one exists.

## What's Next?

* Ready to manage active schedules? [**Managing Scheduled Jobs**](./managing-scheduled-jobs.md)

* Want to do more with data before scheduling? [**Formula Basics**](../formulas/formula-basics.md)

* Ready to learn about data cleanup? [**Built-in Processing Actions**](../processing-actions/built-in-processing-actions.md)


