# Configuring Source Freshness

Monitor the freshness of your source data by configuring the `dbt source freshness` command in your Bolt schedules. This helps ensure your data meets defined SLAs and maintains quality standards.

### Overview

When you include the `dbt source freshness` command in your schedule, Bolt tracks and reports the last update time of your source tables. This information appears in the Source Freshness section of your run details.

### Configuration Steps: <a href="#how-to-configure-source-freshness" id="how-to-configure-source-freshness"></a>

#### 1. Add Required Fields

To enable source freshness checking, add these elements to your source configuration:

* A `freshness` block to define timing thresholds
* A `loaded_at_field` to specify the timestamp column

{% hint style="info" %}
The `loaded_at_field` is required for freshness checking. Without it, dbt will skip freshness calculations for that table.
{% endhint %}

#### 2. Define Freshness Rules

In your `freshness` block, specify one or both timing thresholds:

* `warn_after`: Triggers a warning when data exceeds this age
* `error_after`: Marks data as error state when exceeding this age

{% hint style="info" %}
👉 See also: [freshness definition and configurations.](https://docs.getdbt.com/reference/resource-properties/freshness#definition)
{% endhint %}

### **Configuration Example**

{% code title="models/sources.yml" lineNumbers="true" %}

```yaml
sources:
  - name: analytics_raw
    freshness: # default freshness
      warn_after: {count: 12, period: hour}
      error_after: {count: 24, period: hour}
    loaded_at_field: fivetran_loaded_at

    tables:
      - name: orders
        freshness: # make this a little more strict
          warn_after: {count: 6, period: hour}
          error_after: {count: 12, period: hour}

      - name: customers # this will use the freshness defined above

      - name: product_skus
        freshness: null # do not check freshness for this table
```

{% endcode %}


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.paradime.io/app-help/documentation/bolt/managing-schedules/analyzing-run-details/configuring-source-freshness.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
